Quickstarts

Get started with Dapr Agents through practical step-by-step examples

The Dapr Agents quickstarts demonstrate how to use Dapr Agents to build applications with LLM-powered autonomous agents and event-driven workflows. The quickstarts are a single progressive tutorial that builds from basic LLM calls up through durable agents, workflows, multi-agent orchestration, and observability.

Before you begin

Dapr Agents Fundamentals

The Dapr Agents Fundamentals quickstart covers the entire Dapr Agents programming model in a single directory of numbered Python scripts. Each step builds on the previous one.

StepFileWhat You’ll Learn
101_llm_client.pyCall an LLM via the Dapr Conversation API using DaprChatClient
202_durable_agent_http.pyRun a durable agent backed by Dapr Workflows, exposed over HTTP
303_durable_agent_pubsub.pyTrigger a durable agent via pub/sub instead of HTTP
404_workflow_llm.pyBuild a deterministic Dapr Workflow that calls LLMs as activities
505_workflow_agents.pyOrchestrate multiple specialized agents as child workflows
606_durable_agent_tracing.pyEnable distributed tracing for agents and workflows with Zipkin
707_durable_agent_hot_reload.pyHot-reload agent configuration at runtime via Dapr Configuration Store

See the quickstarts README for full setup instructions including LLM configuration and prerequisites.

Examples

The Dapr Agents examples directory contains more advanced and feature-specific scenarios that complement the quickstarts:

ExampleWhat You’ll Learn
LLM Call – Dapr Chat ClientText generation, LLM provider swapping, resilience, and PII obfuscation via DaprChatClient
LLM Call – OpenAI ClientChat completion, structured outputs, audio, and embeddings using the native OpenAI client. Also available for ElevenLabs, Hugging Face, and NVIDIA.
Standalone Agent Tool CallBuild conversational agents with tools using DurableAgent with AgentRunner.run
Durable Agent Tool CallUpgrade to durable workflow-backed agents with AgentRunner.run/subscribe/serve
LLM-Based WorkflowsDeterministic multi-step workflows using LLM activities (chaining, parallelization, routing)
Agent-Based WorkflowsOrchestrate agent activities inside a Dapr Workflow
Message Router WorkflowUse @message_router to bind a workflow to a Dapr pub/sub topic
Multi-Agent WorkflowsLord of the Rings themed event-driven multi-agent system with LLM, random, and round-robin orchestration strategies
Multi-Agent Workflows on KubernetesDeploy and orchestrate multi-agent systems in Kubernetes
Document Agent with ChainlitConversational agent that uploads and learns unstructured documents with long-term memory
MCP Client – SSEConnect to a remote MCP server over Server-Sent Events
MCP Client – stdioConnect to a local MCP server over stdio
MCP Client – Streamable HTTPConnect to an MCP server via the Streamable HTTP transport
Data Agent with MCP and ChainlitNatural language queries over a Postgres database using MCP with a ChatGPT-like UI
Agents as Activities with ObservabilityTrace agent activities end-to-end with OpenTelemetry and Zipkin
Agents as ToolsInvoke other DurableAgent instances—and agents from other frameworks—as child workflow tools
Durable Agent Hot-ReloadHot-reload agent persona and LLM settings at runtime without restarting