# HolmesGPT + Dapr Workflow

[HolmesGPT](https://github.com/robusta-dev/holmesgpt) is an open-source agent for SRE and on-call work — alert triage, log analysis, and incident investigation across your Kubernetes and observability stack. Make your HolmesGPT investigations production-ready by running them as durable Dapr workflows on Catalyst, so a long-running investigation survives process crashes, deploys, and tool-call timeouts.

HolmesGPT is supported through the same [`diagridio/python-ai`](https://github.com/diagridio/python-ai) durable-execution package as the other Python frameworks. Like every agent framework on Catalyst, it requires a [workflow state store](https://docs.diagrid.io/develop/agents#framework-requirements); the [Conversation API](https://docs.diagrid.io/concepts/dapr-apis) is optional.

- [Durable Workflows](https://docs.diagrid.io/getting-started/quickstarts/ai-agents?agentframework=holmesgpt#1-log-in-to-catalyst) — Make HolmesGPT investigations resistant to failures with automatic recovery and replay.

---

## Why Dapr Workflow for HolmesGPT?

| Challenge | Dapr Solution |
|-----------|---------------|
| Long investigations lost when a process crashes | **Durable workflows** checkpoint every step |
| Chat memory lost on restart | **State store** persists agent memory across restarts |
| Custom retry logic for flaky tool calls | **Built-in retries** with exponential backoff |
| No visibility into what the agent did | **Built-in observability** traces every tool call |

## Get started

Install the HolmesGPT extra in its own environment. It ships strict dependency pins that conflict with the other agent extras, so it is intentionally not part of `diagrid[all]`:

```bash
pip install "diagrid[holmesgpt]"
```

Then follow the runnable HolmesGPT example in the `python-ai` repository, which wraps a HolmesGPT investigation in a Dapr workflow and runs it on Catalyst:

- [`python-ai` HolmesGPT example](https://github.com/diagridio/python-ai/tree/main/examples/holmesgpt)

## See also

- [Develop AI agents](https://docs.diagrid.io/develop/agents) — framework requirements table and the other supported frameworks
- [AI agents](https://docs.diagrid.io/concepts/ai-agents) — the durable execution and identity model agents run under
- [Durable workflows](https://docs.diagrid.io/develop/workflows) — the underlying primitive agents are built on
