microsoft / microsoft/agentsleague

Project: [Enterprise Agents] - Enterprise Support Agent

Open
#129 2 comments 1 reaction 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 - Build with M365 Agents Toolkit

Project Name

Enterprise Support Agent

GitHub Username

@ANcpLua

Repository URL

https://github.com/ANcpLua/agentsleague-starter-kits/tree/main/track-3-enterprise-agents

Project Description

Enterprise Support Agent is an AI-powered IT helpdesk that runs inside Microsoft 365 Copilot Chat. Three connected agents collaborate to handle support tickets, search enterprise knowledge, and send team notifications — all through rich Adaptive Cards.

What it does:

  • TicketAgent creates, updates, and tracks IT support tickets through natural language
  • KnowledgeAgent searches 25 embedded enterprise knowledge documents (150+ KB) and queries live telemetry via MCP
  • NotifyAgent sends team notifications with human-in-the-loop approval workflows

Problem it solves: Enterprise IT support is fragmented across ticketing portals, wikis, and chat channels. This agent unifies everything into one conversational interface inside M365 Copilot Chat.

Key features:

  • Connected 3-agent architecture with LLM-based intent routing
  • External MCP server with real read/write ticket operations (CreateTicket, UpdateTicket, GetTicket)
  • MCP observability integration for live telemetry queries (mcp.qyl.info)
  • Adaptive Cards for structured output and approval workflows
  • Microsoft Entra ID + Graph SSO authentication
  • OpenTelemetry instrumentation with Azure Monitor
Demo Video or Screenshots

Screenshots will be provided in the repository README.

Primary Programming Language

C#

Key Technologies Used
  • .NET 10.0 (LTS)
  • Microsoft Agents SDK v1.4
  • ModelContextProtocol v0.7.0-preview.1 (C# MCP SDK)
  • GitHub Models (gpt-4.1-mini) / Azure OpenAI
  • Microsoft Entra ID + MSAL
  • Azure Blob Storage
  • OpenTelemetry + Azure Monitor
  • M365 Agents Toolkit (ATK)
  • Adaptive Cards
  • Bot Framework
Submission Type

Individual

Team Members

N/A — Individual submission

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
  1. Clone the repo: git clone https://github.com/ANcpLua/agentsleague-starter-kits.git
  2. Navigate: cd agentsleague-starter-kits/track-3-enterprise-agents
  3. Copy environment config: cp src/EnterpriseSupportAgent/.env.example src/EnterpriseSupportAgent/.env
  4. Edit .env with your GitHub Models API key and Azure credentials
  5. Build: dotnet build src/EnterpriseSupportAgent/EnterpriseSupportAgent.csproj
  6. Run with ATK: Open in Visual Studio, press F5 to provision and launch in Copilot Chat
Technical Highlights
  • Connected Agents Architecture (15 pts): Three specialized agents (TicketAgent, KnowledgeAgent, NotifyAgent) orchestrated by an LLM intent classifier in Bot.cs. Each agent operates independently with its own system prompt and response format.
  • Dual MCP Integration (8 pts): Standalone SupportMcpServer with ticket CRUD tools (stdio transport) + remote MCP observability service connecting to mcp.qyl.info for live telemetry queries with LLM-driven tool selection.
  • Adaptive Cards (5 pts): Template binding engine with ResultCard for structured output and ConfirmationCard for approval workflows. Three additional card templates ready for escalation and input flows.
  • Only C# submission in the Enterprise track — built with .NET 10 because that is what enterprise shops actually use.
  • 150+ KB enterprise knowledge base across 9 domains (HR, IT, operations, management) loaded as embedded resources.
  • Human-in-the-loop: NotifyAgent requires explicit approval before sending notifications. No irreversible actions without user confirmation.
Challenges & Learnings
  • MCP SDK API evolution: The ModelContextProtocol C# SDK (v0.7.0-preview.1) renamed several types from earlier versions (IMcpClient -> McpClient, SseClientTransport -> HttpClientTransport). Required careful API migration.
  • Raw string literals with JSON: C# interpolated raw string literals conflict with JSON brace syntax. Solved by separating interpolated and non-interpolated portions.
  • Adaptive Card template binding: Built a custom regex-based template engine to bind data to card JSON templates, supporting both simple key replacement and array indexing.
  • Connected agent routing: Balancing intent classification accuracy with response latency — the LLM classifier adds one round-trip but enables clean separation of concerns.
Contact Information

anfh22@outlook.com — Alexander Nachtmann

Country/Region

Austria

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

The submission repository is track-3-enterprise-agents; start with its README.md and the setup steps, then run dotnet build on src/EnterpriseSupportAgent/EnterpriseSupportAgent.csproj. The issue describes a completed project rather than a requested change, so no concrete acceptance criteria or definition of done is provided.

Written by the indexing model from the issue text.

Assessment

Tech stack
azure, csharp, github
Domain
ai, authentication, backend, cloud, observability
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.