This repository contains quickstarts and samples demonstrating how to build durable AI agents using the Durable Task extension for Microsoft Agent Framework.
- Quickstarts — Focused, minimal examples that demonstrate a single concept
- Samples — Complete applications with frontend and backend
All projects include Azure Developer CLI (azd) and Bicep infrastructure for one-command deployment to Azure.
# Navigate to any quickstart or sample
cd quickstarts/python/azure-functions/01_single_agent
# Deploy to Azure
azd auth login
azd upMinimal examples focused on specific patterns and capabilities.
| Quickstart | Description |
|---|---|
| 01_single_agent | Basic single agent with Azure OpenAI |
| 02_multi_agent | Multiple agents working together |
| 03_reliable_streaming | Redis-backed streaming with disconnect/resume support |
| 04_single_agent_orchestration_chaining | Durable orchestration with sequential agent chaining |
| 05_multi_agent_orchestration_concurrency | Parallel agent execution with fan-out/fan-in |
| 06_multi_agent_orchestration_conditionals | Conditional routing between agents |
| 07_single_agent_orchestration_hitl | Human-in-the-loop approval workflows |
| 08_mcp_server | Model Context Protocol (MCP) server integration |
Complete applications showcasing end-to-end scenarios with UI and backend.
| Sample | Language | Hosting | Description |
|---|---|---|---|
| Agentic Travel Planner | Python | Azure Functions | Multi-agent travel planning app with React frontend, human-in-the-loop approval, and blob storage |
| Agentic Travel Planner | Python | Azure Container Apps | Same travel planner deployed to Container Apps for containerized workloads |
| Agentic Travel Planner with Reliable Streaming | .NET 9 | Azure Functions | Multi-agent travel planner with Redis-backed reliable streaming and React frontend |
Each sample uses:
- Azure Functions (Flex Consumption) - Serverless compute with Python 3.11
- Durable Task Scheduler (DTS) - Reliable orchestration and state management
- Azure OpenAI - LLM capabilities (GPT-4o-mini)
- Managed Identity - Secure, keyless authentication
- Application Insights - Monitoring and observability
- Azure Developer CLI (azd)
- Azure Functions Core Tools 4.x
- Python 3.11+
- An Azure subscription
For local development, you'll also need:
Each sample follows a consistent structure:
sample_name/
├── function_app.py # Main Azure Functions app
├── host.json # Functions host configuration (DTS enabled)
├── requirements.txt # Python dependencies
├── local.settings.json.template # Local settings template
├── demo.http # HTTP test requests
├── azure.yaml # Azure Developer CLI configuration
├── README.md # Sample-specific documentation
└── infra/ # Bicep infrastructure
├── main.bicep # Main infrastructure template
├── main.parameters.json # Parameters file
├── abbreviations.json # Resource naming conventions
└── app/ # App-specific modules
└── dts.bicep # Durable Task Scheduler
All samples use Managed Identity for authentication:
- No API keys or connection strings in code
- Azure RBAC for resource access
- Entra ID authentication for Redis (where applicable)
- Microsoft Agent Framework Documentation
- Durable Agents
- Azure Functions Documentation
- Durable Task Scheduler
- Azure Developer CLI
See CONTRIBUTING.md for guidelines.
See LICENSE.md for details.