microsoft / microsoft/agentsleague

Project: Enterprise Agents - ReportMind

Open
#54 4 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

💼 Enterprise Agents
Dominant language
No language data
Stars
286
Forks
92
Avg merge
12h 44m
Merged PRs (30d)
1

Description

Track

Enterprise Agents (M365 Agents Toolkit)

Project Name

ReportMind

GitHub Username

@jcrmovired

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.user
    • env/.env.local.user
  • Install dependencies:
    • npm install
    • pip 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

johanna.capote@movired.com

Country/Region

Spain

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

This issue is a project submission rather than a defined change. Start with README.md and the setup references to env/.env.playground.user, env/.env.local.user, and Python-api/requirements.txt; no specific implementation task or completion criterion is stated.

Written by the indexing model from the issue text.

Assessment

Tech stack
azure, javascript, node.js, python, typescript
Domain
ai, backend, cloud, data
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.