spec-to-agents icon indicating copy to clipboard operation
spec-to-agents copied to clipboard

A multi-agent event planning workflow built with Microsoft Agent Framework - combining Semantic Kernel's enterprise orchestration with AutoGen's multi-agent patterns.

Spec-to-Agents Logo

Event Planning Multi-Agent System

Open in GitHub Codespaces

A multi-agent event planning workflow built with Microsoft Agent Framework - combining Semantic Kernel's enterprise orchestration with AutoGen's multi-agent patterns.

[!NOTE] Ignite 2025 Lab: LAB513 - Build A2A and MCP Systems Using SWE Agents and Agent Framework

๐ŸŽฏ What This Demonstrates

This sample shows you how to build a production-ready multi-agent system with:

  • Multi-Agent Orchestration: 5 specialized agents coordinating event planning
  • Human-in-the-Loop: Interactive approval and feedback during workflow execution
  • Tool Integration: Web search, weather APIs, calendar management, and code interpreter
  • Azure Deployment: One-click deployment with Azure Developer CLI (azd)

๐Ÿ—๏ธ Architecture

Multi-Agent Workflow Design

The system uses a coordinator-centric star topology where the Event Coordinator routes tasks to specialized agents and synthesizes their outputs into a comprehensive event plan:

Event Planning Agent Design

Agent Tools & Capabilities

Each specialist agent has access to domain-specific tools for their area of expertise:

Agent Tools

Tool Integration:

  • Venue Specialist: Web Search (Bing Grounding)
  • Budget Analyst: Code Interpreter (Python REPL)
  • Catering Coordinator: Web Search (Bing Grounding)
  • Logistics Manager: Weather API (Open-Meteo) + Calendar Tools (iCalendar)
  • All Agents: MCP Sequential Thinking (Model Context Protocol for complex reasoning)

๐Ÿš€ Quick Start

Prerequisites

Deploy to Azure

# Clone and navigate to the repository
git clone https://github.com/microsoft/spec-to-agents.git
cd spec-to-agents

# Login to Azure
az login
azd auth login

# Deploy everything (provisions resources, generates .env, installs dependencies)
azd up

What happens:

  • โœ… Provisions Microsoft Foundry + OpenAI models
  • โœ… Generates .env with connection details
  • โœ… Installs Python dependencies via uv sync

Run Locally

Interactive Console (Recommended):

uv run console

DevUI (Visual Interface):

uv run app

Then navigate to the URL shown (by default http://localhost:8080)

Example Input

Try this event planning request:

Plan a corporate holiday party for 50 people on December 6th, 2025 in Seattle 
with a budget of $5,000. Include venue options, catering for dietary restrictions, 
and check the weather forecast.

The agents will collaborate to:

  1. Search for suitable venues
  2. Calculate budget breakdown
  3. Recommend catering options
  4. Check weather and create calendar event
  5. Synthesize a comprehensive plan

๐Ÿ› ๏ธ Project Structure

spec-to-agents/
โ”œโ”€โ”€ src/spec_to_agents/
โ”‚   โ”œโ”€โ”€ main.py          # DevUI entry point (uv run app)
โ”‚   โ”œโ”€โ”€ console.py       # Interactive CLI entry point (uv run console)
โ”‚   โ”œโ”€โ”€ agents/          # Agent definitions (budget_analyst, venue_specialist, etc.)
โ”‚   โ”œโ”€โ”€ prompts/         # System prompts for each agent
โ”‚   โ”œโ”€โ”€ tools/           # Tool implementations (web search, weather, calendar, mcp)
โ”‚   โ”œโ”€โ”€ workflow/        # Workflow orchestration logic
โ”‚   โ””โ”€โ”€ utils/           # Shared utilities and clients
โ”œโ”€โ”€ tests/               # Unit and integration tests
โ”œโ”€โ”€ infra/               # Azure infrastructure (Bicep templates)
โ””โ”€โ”€ scripts/             # Post-provisioning hooks

๐Ÿ”‘ Key Features

Service-Managed Threads

All agents use store=True for automatic conversation history management via Azure AI Service - no manual message tracking required.

Human-in-the-Loop

Framework-native ctx.request_info() enables pausing workflows for user input with automatic state preservation.

Structured Output Routing

Agents return Pydantic models with explicit routing decisions (next_agent field), enabling dynamic workflow orchestration.

๐Ÿงช Development

Run Tests:

uv run pytest

Detailed Setup: See DEV_SETUP.md for debugging instructions and manual configuration.

๐Ÿ“ฆ Azure Resources

Provisioned automatically by azd up:

  • Microsoft Foundry: AIServices resource and Project for service managed agents
  • Azure OpenAI: gpt-5-mini (primary) and gpt-4.1-mini (web search)
  • Bing Search: Grounding API for web searches
  • Container Registry & App: For deployment (optional)
  • Application Insights: Telemetry and monitoring

๐Ÿค Contributing

This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA).

๐Ÿ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.