Quickstart: Multi-Agent Orchestration
This quickstart shows how to run a multi-agent orchestration system where eight specialist agents — each built with a different AI framework — coordinate through Dapr pub/sub to plan events end-to-end. An orchestrator agent discovers available specialists via a shared registry and delegates tasks to plan a complete event.
You will learn how to:
- Run 8 agents built with different AI frameworks (CrewAI, OpenAI Agents, ADK, Strands, LangGraph, Pydantic AI, and Dapr Agents) in a single orchestration
- Use Dapr pub/sub for inter-agent communication and task delegation
- Use a shared agent registry for dynamic agent discovery
- Monitor multi-agent execution in the Catalyst web console
1. Prerequisites
Before you proceed, ensure you have the following prerequisites installed:
- Diagrid Catalyst account
- Diagrid CLI
- Git
- Python 3.11+ & uv
- An OpenAI API key
- A Google API key (for the ADK agent)
2. Log in to Catalyst
Authenticate to Diagrid Catalyst using the following command:
diagrid login
This command opens a new browser window where you log into Catalyst. Once logged in, you'll be shown a confirmation code (matching the code in your terminal) that you need to confirm.
Confirm your user details are correct using the following command:
diagrid whoami
The expected output contains the name of the organization, your user name, and the Catalyst API endpoint.
3. Clone Quickstart Code
Clone the quickstart code from GitHub:
git clone https://github.com/diagridio/catalyst-quickstarts.git
Navigate to the quickstart directory:
- macOS/Linux
- Windows
cd catalyst-quickstarts/agents/dapr-agents/orchestrator
cd catalyst-quickstarts\agents\dapr-agents\orchestrator
4. Configure API Keys
Update dev-multi-agent-orchestration.yaml with your API keys. Replace the placeholder values for each agent's environment variables:
OPENAI_API_KEY— used by most agents (CrewAI, Dapr Agents, LangGraph, OpenAI Agents, Pydantic AI, Strands, and the orchestrator)GOOGLE_API_KEY— used by the ADK agent
Also update resources/llm-provider.yaml with your OpenAI API key for the Dapr Agents conversation component:
metadata:
- name: key
value: "YOUR_OPENAI_API_KEY"
5. Install Dependencies
Each agent has its own requirements.txt. Install them all:
- macOS/Linux
- Windows
cd ../../ # Navigate to agents/ root
for dir in adk crewai dapr-agents/durable-agent dapr-agents/orchestrator langgraph openai-agents pydantic-ai strands; do
(cd $dir && uv venv && source .venv/bin/activate && uv pip install -r requirements.txt)
done
cd dapr-agents/orchestrator # Return to orchestrator directory
cd ..\.. # Navigate to agents\ root
foreach ($dir in @("adk", "crewai", "dapr-agents\durable-agent", "dapr-agents\orchestrator", "langgraph", "openai-agents", "pydantic-ai", "strands")) {
Push-Location $dir; uv venv; .venv\Scripts\activate; uv pip install -r requirements.txt; deactivate; Pop-Location
}
cd dapr-agents\orchestrator # Return to orchestrator directory
6. Run with Catalyst Cloud
The diagrid dev run command creates your Catalyst Cloud project (if needed), provisions resources (App IDs, Components, managed state stores and pubsub), configures environment variables, and sets up the connection between your local environment and Catalyst Cloud.
diagrid dev run -f dev-multi-agent-orchestration.yaml
Wait for all 8 agents to start. You should see log output for each agent confirming it is running before proceeding.
This starts all agents on ports 8001-8008:
| Port | App ID | Agent | Framework |
|---|---|---|---|
| 8001 | adk-agent | Entertainment Planner | ADK |
| 8002 | crew-agent | Venue Scout | CrewAI |
| 8003 | dapr-agent | Invitations Manager | Dapr Agents |
| 8004 | agent-orchestration-agent | Event Coordinator | Dapr Agents |
| 8005 | langgraph-agent | Schedule Planner | LangGraph |
| 8006 | openai-agent | Catering Coordinator | OpenAI Agents |
| 8007 | pydanticai-agent | Decoration Planner | Pydantic AI |
| 8008 | strands-agent | Budget Analyst | Strands |
7. Trigger an Orchestration
Once all agents are running, send an event planning request to the orchestrator:
- macOS/Linux
- Windows
curl -i -X POST http://localhost:8004/run \
-H "Content-Type: application/json" \
-d '{"task": "Plan a corporate gala in San Francisco for 200 guests on March 15, 2026"}'
Invoke-RestMethod -Method Post -Uri "http://localhost:8004/run" -ContentType "application/json" -Body '{"task": "Plan a corporate gala in San Francisco for 200 guests on March 15, 2026"}'
The orchestrator will:
- Discover all registered agents in the shared registry
- Create an execution plan with tasks for each specialist
- Delegate entertainment to the Entertainment Planner (ADK)
- Delegate venue search to the Venue Scout (CrewAI)
- Delegate invitations to the Invitations Manager (Dapr Agents)
- Delegate scheduling to the Schedule Planner (LangGraph)
- Delegate catering to the Catering Coordinator (OpenAI Agents)
- Delegate decorations to the Decoration Planner (Pydantic AI)
- Delegate budgeting to the Budget Analyst (Strands)
- Synthesize all results into a comprehensive event plan
The response will include a complete event plan with venue, catering, entertainment, decorations, scheduling, budget, and invitation details.
8. View in the Catalyst web console
Open the Workflow viewer in the Catalyst Cloud web console and navigate to the Workflows section. Select the workflow instance that corresponds to your orchestration execution.
The Catalyst workflow visualizer shows the orchestrator delegating tasks to specialist agents. You can inspect every step with its inputs and outputs — including the LLM's delegation decisions, agent responses, and the final synthesized event plan.
9. Clean Up
Stop the running application by pressing Ctrl+C in the terminal where diagrid dev run is running.
Delete the Catalyst Cloud project to clean up all provisioned resources:
diagrid project delete <your-project-name>
Summary
In this quickstart, you:
- Ran 8 specialist agents built with 7 different AI frameworks in a single orchestration
- Used Dapr pub/sub for inter-agent communication and a shared registry for agent discovery
- Observed multi-agent orchestration and workflow visualization in the Catalyst console
Next steps
- Try the Durable Agent quickstart to build a single durable agent with tool-calling capabilities.
- Explore the Dapr Agents documentation for more agent development patterns.
- Browse available conversation components for different LLM providers.