-
Notifications
You must be signed in to change notification settings - Fork 79
Description
Track
Enterprise Agents (M365 Agents Toolkit)
Project Name
ReportMind
GitHub Username
Repository URL
https://github.com/jcrmovired/reportmind-agents-league
Project Description
ReportMind is an enterprise AI agent that makes complex Excel reports instantly queryable through natural language. Instead of requiring SQL, dashboards, or manual data exploration, the agent ingests real multi-sheet spreadsheets, transforms them into structured semantic datasets, and uses retrieval-augmented generation (RAG) to deliver accurate, grounded answers directly from company data.
The solution addresses one of the biggest unsolved challenges in enterprise AI: understanding tabular data at scale. Large, messy spreadsheets are automatically split, chunked, embedded, and indexed in a vector knowledge base, enabling the agent to locate KPIs, explain results, and generate visualizations in a single conversational turn. Answers are always based on retrieved data — never on model hallucinations.
Built with the Microsoft 365 Agents Toolkit and designed for Microsoft Teams, ReportMind allows users to upload Excel files in chat, ask business questions in plain language, and receive trustworthy insights and on-demand charts without leaving the conversation.
By turning static reports into a conversational analytical experience, ReportMind dramatically reduces the time spent searching for numbers, eliminates fragile data pipelines for ad-hoc analysis, and brings LLM-powered intelligence to the real source of truth in most enterprises: spreadsheets.
Demo Video or Screenshots
Demo Video: https://youtu.be/ZjXh1TUnp78
Screenshots: https://github.com/jcrmovired/reportmind-agents-league/tree/main/Images
Primary Programming Language
TypeScript/JavaScript
Key Technologies Used
- Microsoft 365 Agents Toolkit (Node.js) for the agent runtime and orchestration
- Azure OpenAI (GPT-4o) for reasoning, tool calling, and grounded response generation
- Azure OpenAI Embeddings for semantic search
- ChromaDB as the vector store for RAG over tabular data
- Python for the data processing and tool layer
- openpyxl + LangChain for Excel ingestion, transformation, and chunking
- Model Context Protocol (MCP) with a custom matplotlib server for on-demand chart generation
- Azure Bot Service + Azure App Service for deployment and hosting
- Microsoft Teams as the primary conversational interface
Submission Type
Team (2-4 members)
Team Members
- @jcrmovired - AI & BI Manager
- @nathaniel-mv - AI Engineer
- @LoretoMovired - Data Analytics
- @JaviMartinLuque - Software Developer
Submission Requirements
- My project meets the track-specific challenge requirements
- My repository includes a comprehensive README.md with setup instructions
- My code does not contain hardcoded API keys or secrets
- I have included demo materials (video or screenshots)
- My project is my own work with proper attribution for any third-party code
- I agree to the Code of Conduct
- I have read and agree to the Disclaimer
- My submission does NOT contain any confidential, proprietary, or sensitive information
- I confirm I have the rights to submit this content and grant the necessary licenses
Quick Setup Summary
Setup for Microsoft Teams (from VS Code)
- Install prerequisites (node.js, Python, Microsoft 365 Agents Toolkit VS Code extensión
- Configure environment variables:
env/.env.playground.userenv/.env.local.user
- Install dependencies:
npm installpip install -r Python-api/requirements.txt
- Open the project in VS Code
- Press F5
- Select “Debug in Teams”
- Sign in to Microsoft 365 when prompted
- Wait for the toolkit to set up everything
- Start chatting with the agent in Teams
- Upload an .xlsx file in the conversation to trigger ingestion and enable queries and chart generation
Technical Highlights
- RAG for complex Excel
Multi-sheet ingestion with semantic chunking for accurate retrieval. - Tabular → semantic transformation
Preserves business context instead of flattening tables. - Two-phase tool reasoning loop
Tool decision → execution → grounded response in one turn. - In-chat Excel ingestion
Upload, process, and query files directly in Teams. - On-demand charts via MCP
LLM-generated specs converted into ready-to-use visualizations. - Auto-summarizing conversational memory
Long sessions without token overflow or context loss. - Microsoft 365 native architecture
Built for Teams with Azure-hosted, enterprise-ready deployment. - Modular polyglot design
Node.js orchestration + Python data and visualization tools.
Challenges & Learnings
-
Rapidly adopting the Microsoft 365 Agents Toolkit
Built a production-ready agent while learning a new SDK, its architecture, and its cloud deployment model. -
Deep integration with Microsoft Teams
Enabled file upload, conversational workflows, and in-chat visualization as a native user experience. -
Overcoming LLM context window limits for tabular data
Implemented a preprocessing, chunking, and RAG pipeline to make large Excel reports queryable. -
Working with unstructured, real-world spreadsheets
Designed a strategy to extract and reconstruct business meaning from messy and layout-driven Excel files. -
Orchestrating a polyglot agent architecture
Seamlessly combined Node.js for agent orchestration with Python for data processing, retrieval, and chart generation.
Contact Information
Country/Region
Spain