Quickstart: Multi-Agent Workflow
This quickstart shows how to run a customer support system built with Dapr Agents and Catalyst Cloud. A Dapr Workflow orchestrates two durable agents — a triage agent and an expert agent — as child workflows to handle support tickets end-to-end.
You will learn how to:
- Provision a Catalyst project and related resources using the Diagrid CLI.
- Run a deterministic multi-agent workflow that calls durable agents as child workflows.
- Monitor sequential agent execution in the Catalyst web console.
1. Prerequisites
Before you proceed, ensure you have the following prerequisites installed:
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/dapr-agents/multi-agent-workflow
cd catalyst-quickstarts\dapr-agents\multi-agent-workflow
4. Configure OpenAI API Key
Add your OpenAI API key to resources/agent-llm-provider.yaml:
metadata:
- name: key
value: "YOUR_OPENAI_API_KEY"
- name: model
value: gpt-4.1-2025-04-14
5. Install Dependencies
Install dependencies with uv:
uv sync
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 dapr.yaml --project multi-agent-workflow-quickstart --approve
This starts three apps:
customer-support-systemon port 8001 — the workflow app that exposes the REST endpointtriage-agenton port 8002 — checks customer entitlement and assesses urgencyexpert-agenton port 8003 — retrieves environment info and proposes a resolution
Wait for the log output to confirm all three apps are running before proceeding.
7. Trigger the Workflow
Open a new terminal and trigger the workflow via REST API:
- macOS/Linux
- Windows
curl -i -X POST http://localhost:8001/workflow/start \
-H "Content-Type: application/json" \
-d '{"customer": "Alice", "issue": "My Dapr system fails to start in production."}'
Invoke-RestMethod -Method Post -Uri "http://localhost:8001/workflow/start" -ContentType "application/json" -Body '{"customer": "Alice", "issue": "My Dapr system fails to start in production."}'
The workflow will:
- Call the Triage Agent as a child workflow to check Alice's entitlement and assess urgency.
- If Alice is entitled, call the Expert Agent as a child workflow to retrieve environment info and generate a resolution.
- Return a customer-ready response with the proposed fix.
Try a customer other than Alice to see the entitlement check reject the request:
curl -i -X POST http://localhost:8001/workflow/start \
-H "Content-Type: application/json" \
-d '{"customer": "Bob", "issue": "Same production outage."}'
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 request.
The workflow visualizer shows the parent workflow and the child agent workflows, with inputs and outputs at each step — including LLM prompts, generated responses, and tool call parameters.
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 multi-agent-workflow-quickstart
Summary
In this quickstart, you:
- Ran a multi-agent workflow based on Dapr Agents and Dapr Workflows, connected to Catalyst Cloud for durable execution.
- Observed a workflow orchestrating two durable agents as child workflows with a deterministic triage-then-expert sequence.
- Inspected parent and child workflow executions in the Catalyst web console.
Next steps
- Try the Multi-Agent Orchestrator quickstart to see an LLM-driven orchestrator delegate to the same triage and expert agents dynamically.
- Explore the Dapr Agents documentation for more agent development patterns.
- Learn about AI Agent use cases and how Catalyst supports agentic workflows.
- Browse available conversation components for different LLM providers.