mirror of
https://github.com/dograh-hq/dograh.git
synced 2026-06-07 07:55:16 +02:00
60 lines
2.6 KiB
Text
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.
|