dograh/docs/core-concepts/workflows-and-agents.mdx
Sabiha Khan f075bcb623
docs: add developer and api reference tabs (#190)
* docs: add developer and api reference tabs

* fix: remove duplicate image
2026-03-14 16:30:02 +05:30

60 lines
2.6 KiB
Text

---
title: "Workflows & Agents"
description: "How conversation flows are defined in Dograh"
---
In Dograh, what you see as an **agent** in the dashboard is called a **workflow** in the API. They are the same thing — a workflow is the underlying definition, agent is the product name for it.
<Note>
Anywhere the API says `workflow`, think "agent". Anywhere the API says `workflow_definition`, think "the conversation logic inside your agent".
</Note>
## The graph model
A workflow is a **directed graph** — a set of nodes connected by edges.
```mermaid
graph LR
A[Start Call] -->|Caller greets| B[Qualify Intent]
B -->|Wants support| C[Support Agent]
B -->|Wants sales| D[Sales Agent]
C -->|Issue resolved| E[End Call]
D -->|Demo booked| E
```
**Nodes** are the steps in the conversation. Each node has a prompt that tells the LLM what to say and do at that point.
**Edges** are the transitions between nodes. Each edge has a condition — a natural language description of when to move on. The LLM evaluates whether the condition has been met based on the conversation so far.
## Node types
| Type | What it does |
|---|---|
| `startCall` | Entry point for telephony calls. The first thing the agent says when a call connects |
| `agentNode` | An LLM-powered conversation step. The core building block |
| `globalNode` | Defines instructions that apply across all agent nodes (e.g. tone, language, fallback behaviour) |
| `endCall` | Terminates the call |
| `trigger` | Entry point for API-triggered runs (non-telephony) |
| `webhook` | Fires an HTTP request when reached — use for CRM updates, notifications, etc. |
| `qa` | Runs automated quality analysis on the completed call |
## Edges and transitions
An edge connects two nodes and fires when its condition is satisfied:
<img src="../images/edge.png" alt="Edge configuration" style={{border: "1px solid #d1d5db", borderRadius: "8px", maxWidth: "100%"}} />
`transition_speech` is optional — if set, the agent speaks it before moving to the next node.
## Versioning
Every time you update a workflow's `workflow_definition`, Dograh saves a new version while keeping the history. The current version is always what runs. Old versions are retained for auditing.
## Creating workflows
There are two ways to create a workflow via the API:
- **From a definition** — provide the full node/edge graph yourself. Best for programmatic generation.
- **From a template** — describe the use case in natural language and Dograh generates the initial graph using an LLM. Best for getting started quickly.
See the [Workflow Definition Schema](/developer/workflow-schema) for the full field reference.