Skip to content

Conversation

@yaron2
Copy link
Member

@yaron2 yaron2 commented Dec 10, 2025

This PR adds documentation that shows users how CrewAI agents can be made reliable with durable execution using Dapr Workflows.

Signed-off-by: yaron2 <schneider.yaron@live.com>
@yaron2 yaron2 requested review from a team as code owners December 10, 2025 19:19
@yaron2 yaron2 changed the title Add crewAI and workflow documentation Add CrewAI and workflow documentation Dec 10, 2025
@github-actions
Copy link

Azure Static Web Apps: Your stage site is ready! Visit it here: https://green-bush-04c343a1e-4973.westus2.4.azurestaticapps.net

@github-actions
Copy link

Azure Static Web Apps: Your stage site is ready! Visit it here: https://kind-hill-063ba6c1e-4973.westus2.5.azurestaticapps.net

Signed-off-by: yaron2 <schneider.yaron@live.com>
@github-actions
Copy link

Azure Static Web Apps: Your stage site is ready! Visit it here: https://kind-hill-063ba6c1e-4973.westus2.5.azurestaticapps.net

@github-actions
Copy link

Azure Static Web Apps: Your stage site is ready! Visit it here: https://green-bush-04c343a1e-4973.westus2.4.azurestaticapps.net

---
type: docs
title: "CrewAI"
linkTitle: "CrewAI"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@yaron2 would it make sense to make a new section in the documentation tree that aligns with Dapr Agents & Dapr for Agents?

Developing applications/
| - AI Agents/
|   | - Dapr Agents/
|       | - Introduction/
|       | - ../
|   | - Dapr for Agents/
|       | - CrewAI/
|       | - ../
|       | - LangGraph/
|       | - ../
|       | - Strands Agents/
|       | - ../

This would also align with the storyline of dapr agents + dapr for agents

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes. How would prefer to make agents more visible at a higher level section called AI

Developing applications/
AI/
| - AI Agents/
|   | - Dapr Agents/
|       | - Introduction/
|       | - ../
|   | - Dapr for Agents/
|       | - CrewAI/
|       | - ../
|       | - LangGraph/
|       | - ../
|       | - Strands Agents/
|       | - ../

Copy link
Member

@msfussell msfussell left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Comments

---
type: docs
title: "CrewAI"
linkTitle: "CrewAI"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes. How would prefer to make agents more visible at a higher level section called AI

Developing applications/
AI/
| - AI Agents/
|   | - Dapr Agents/
|       | - Introduction/
|       | - ../
|   | - Dapr for Agents/
|       | - CrewAI/
|       | - ../
|       | - LangGraph/
|       | - ../
|       | - Strands Agents/
|       | - ../

Dapr Workflows make it possible to run CrewAI agents **reliably**, **durably**, and **with built-in resiliency**.
By orchestrating CrewAI tasks with the Dapr Workflow engine, developers can:

- Ensure long-running CrewAI work survives crashes and restarts
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- Ensure long-running CrewAI work survives crashes and restarts
- Ensure long-running CrewAI work survives crashes and restarts.

By orchestrating CrewAI tasks with the Dapr Workflow engine, developers can:

- Ensure long-running CrewAI work survives crashes and restarts
- Get automatic checkpoints, retries, and state recovery
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- Get automatic checkpoints, retries, and state recovery
- Get automatic checkpoints, retries, and state recovery.


- Ensure long-running CrewAI work survives crashes and restarts
- Get automatic checkpoints, retries, and state recovery
- Run each CrewAI task as a durable activity
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- Run each CrewAI task as a durable activity
- Run each CrewAI task as a durable activity.

- Ensure long-running CrewAI work survives crashes and restarts
- Get automatic checkpoints, retries, and state recovery
- Run each CrewAI task as a durable activity
- Observe execution through tracing, metrics, and structured logs
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- Observe execution through tracing, metrics, and structured logs
- Observe execution through tracing, metrics, and structured logs.


### Create a Workflow to Run CrewAI Tasks

Create a file named crewai_workflow.py and paste the following:
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Provide an overview explanation of what this application does, to prepare reading the code


This component stores:

* Checkpoints
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
* Checkpoints
* Code execution checkpoints

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Put periods at the end of these sentences

* Final output data

### Set a CrewAI LLM Provider

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Provide little more guidance here, always good to be explicit, best with an example.
It looks like the minimum for openAI would be this. Is this correct?

MODEL=model-id # e.g. gpt-5o
OPENAI_API_KEY=sk-...

```

As the workflow runs, each CrewAI task is executed as a durable activity.
If the process crashes, the workflow resumes exactly where it left off.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
If the process crashes, the workflow resumes exactly where it left off.
If the process crashes, the workflow resumes exactly where it left off. You can try this by killing the process after the first activity and then rerunning that command line above with the same application ID.

Does that work (this comment above) or do you need to also provide the instance ID? It would be good to show how someone can try this out and see it in action.


```
http://localhost:9411
```
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I could not get this code to work, first due to the component discovery. Let's check the steps.

@github-actions
Copy link

Azure Static Web Apps: Your stage site is ready! Visit it here: https://green-bush-04c343a1e-4973.westus2.4.azurestaticapps.net

@github-actions
Copy link

Azure Static Web Apps: Your stage site is ready! Visit it here: https://kind-hill-063ba6c1e-4973.westus2.5.azurestaticapps.net

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants