Skip to content

Azure-Samples/durable-task-extension-for-agent-framework

Durable Agents - Quickstarts & Samples

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.

🚀 Quick Start

# Navigate to any quickstart or sample
cd quickstarts/python/azure-functions/01_single_agent

# Deploy to Azure
azd auth login
azd up

📁 Quickstarts

Minimal 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

🎯 Samples

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

🏗️ Architecture

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

📋 Prerequisites

Local Development

For local development, you'll also need:

  • Azurite - Local Azure Storage emulator
  • Docker - For running the DTS emulator locally

🛠️ Sample Structure

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

🔐 Security

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)

📚 Learn More

🤝 Contributing

See CONTRIBUTING.md for guidelines.

📄 License

See LICENSE.md for details.

About

No description, website, or topics provided.

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published