feat: add google stt and tts. add folders to organize agents

This commit is contained in:
Abhishek Kumar 2026-05-22 14:36:50 +05:30
parent 21951eca18
commit ad2fa07058
52 changed files with 3412 additions and 621 deletions

View file

@ -5,11 +5,37 @@ description: "Initiate outbound calls and trigger agents via the API"
| Method | Endpoint | Quick Link |
|---|---|---|
| `POST` | `/public/agent/{uuid}` | [Trigger an outbound call](/api-reference/calls/trigger) |
| `POST` | `/public/agent/{uuid}` | [Trigger an outbound call by API Trigger node](/api-reference/calls/trigger) |
| `POST` | `/public/agent/workflow/{workflow_uuid}` | [Trigger an outbound call by workflow UUID](/api-reference/calls/trigger-workflow) |
| `GET` | `/workflow/{workflow_id}/runs/{run_id}` | [Retrieve call details](/api-reference/calls/get-run) |
| `GET` | `/public/download/workflow/{token}/{artifact_type}` | [Download recordings and transcripts](/api-reference/calls/download) |
| `POST` | `/telephony/inbound/{workflow_id}` | [Inbound call webhook](/api-reference/calls/inbound) |
## Choose the right public call route
Dograh exposes two public outbound call route families. They are **not**
interchangeable, even though both path parameters look like UUIDs.
| Use this when | Production route | Test route | Identifier you pass |
|---|---|---|---|
| You added an **[API Trigger node](/voice-agent/api-trigger)** to the workflow and want to call that trigger | `/public/agent/{uuid}` | `/public/agent/test/{uuid}` | The trigger UUID (`trigger_path`) from the API Trigger node |
| You want to execute the workflow by its stable **Agent UUID** instead of a trigger node | `/public/agent/workflow/{workflow_uuid}` | `/public/agent/test/workflow/{workflow_uuid}` | The workflow UUID from the agent's **[Agent UUID](/configurations/agent-uuid)** field |
<Note>
Do not pass a workflow UUID to `/public/agent/{uuid}` and do not pass a trigger UUID
to `/public/agent/workflow/{workflow_uuid}`. Dograh treats these as different
identifier types and the request will fail if you mix them up.
</Note>
Once Dograh resolves the target agent, both route families behave the same:
- They accept the same request body
- They return the same response shape
- They validate the same `X-API-Key` organization boundary
- They use the same telephony configuration selection rules
If you specifically need the API Trigger route, see [Trigger an outbound call by API Trigger node](/api-reference/calls/trigger). To execute by workflow UUID, see [Trigger an outbound call by workflow UUID](/api-reference/calls/trigger-workflow).
## Using initial context
`initial_context` passes runtime data into the agent at call time. Values are available as template variables in your agent's prompt using double-brace syntax.

View file

@ -0,0 +1,25 @@
---
title: "Trigger an Outbound Call by Workflow UUID"
description: "Initiate an outbound call using a workflow's stable Agent UUID"
openapi: "POST /api/v1/public/agent/workflow/{workflow_uuid}"
---
Use this endpoint when you want to execute a workflow directly by its stable Agent UUID instead of through an API Trigger node.
The `workflow_uuid` is the workflow's Agent UUID. It is different from an API Trigger node's `trigger_path`.
To find and copy the Agent UUID in the UI, see [Agent UUID](/configurations/agent-uuid).
Use `workflow_run_id` from the response to later [retrieve call details](/api-reference/calls/get-run), recordings, and transcripts.
Pass `initial_context` to inject runtime data as template variables into the agent's prompt. See [Using initial context](/api-reference/calls#using-initial-context).
Pass `telephony_configuration_id` to route the call through a specific telephony configuration instead of your organization's default. The id is shown on each row in **Telephony configurations** (`https://app.dograh.com/telephony-configurations` for hosted or `http://localhost:3010/telephony-configurations` for local).
<Note>
This route expects a workflow UUID. Do not pass an API Trigger node UUID here. If you want to execute via an API Trigger node, use [Trigger an outbound call](/api-reference/calls/trigger) instead.
</Note>
<Note>
Your telephony provider must be configured before outbound calls will connect. See [Telephony](/integrations/telephony/overview) for setup instructions.
</Note>

View file

@ -1,10 +1,12 @@
---
title: "Trigger an Outbound Call"
description: "Initiate an outbound call using an agent's public UUID"
title: "Trigger an Outbound Call by API Trigger Node"
description: "Initiate an outbound call using an API Trigger node UUID"
openapi: "POST /api/v1/public/agent/{uuid}"
---
The simplest way to initiate a call programmatically. The `uuid` comes from the [API Trigger node](/voice-agent/api-trigger) in your agent — add the node to your workflow and copy its auto-generated `trigger_path`.
Use this endpoint when you want to execute a workflow through an [API Trigger node](/voice-agent/api-trigger).
The `uuid` comes from the API Trigger node in your agent. Add the node to your workflow and copy its auto-generated `trigger_path`.
Use `workflow_run_id` from the response to later [retrieve call details](/api-reference/calls/get-run), recordings, and transcripts.
@ -12,6 +14,10 @@ Pass `initial_context` to inject runtime data as template variables into the age
Pass `telephony_configuration_id` to route the call through a specific telephony configuration instead of your organization's default. The id is shown on each row in **Telephony configurations** (`https://app.dograh.com/telephony-configurations` for hosted or `http://localhost:3010/telephony-configurations` for local).
<Note>
This route expects an API Trigger node UUID (`trigger_path`). Do not pass a workflow UUID here. If you want to execute by workflow UUID, use [Trigger an outbound call by workflow UUID](/api-reference/calls/trigger-workflow) instead.
</Note>
<Note>
Your telephony provider must be configured before outbound calls will connect. See [Telephony](/integrations/telephony/overview) for setup instructions.
</Note>

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1,43 @@
---
title: "Agent UUID"
description: "Find and use your workflow's stable Agent UUID"
---
The **Agent UUID** is the workflow's stable identifier. In API routes and payloads you may also see it called `workflow_uuid`.
Unlike numeric workflow IDs, the Agent UUID is portable across environments and does not change when you publish new versions of the same workflow.
## Where to find it
You can copy the Agent UUID from two places in the dashboard.
### From the workflow editor
1. Open your agent in the workflow editor
2. Click the **⋮** menu in the top-right of the header
3. Click **Copy Agent UUID**
### From the agent's Settings page
1. Open the agent and go to **Settings**
2. Scroll to the **Agent UUID** section
3. Click the UUID code block, or use **Copy UUID**
## Where you use it
Use the Agent UUID for workflow-level routes such as:
- `POST /api/v1/public/agent/workflow/{workflow_uuid}`
- `POST /api/v1/public/agent/test/workflow/{workflow_uuid}`
- `wss://<your-host>/api/v1/agent-stream/{agent_uuid}`
<Note>
Do not confuse the Agent UUID with an API Trigger node UUID (`trigger_path`).
- Use the Agent UUID for workflow-level routes like `/public/agent/workflow/{workflow_uuid}`
- Use the API Trigger node UUID for trigger routes like `/public/agent/{uuid}`
- The API Trigger node path can be edited if you want something more descriptive
- The Agent UUID is generated by Dograh and cannot be changed
See [API Trigger](/voice-agent/api-trigger) for trigger-node URLs.
</Note>

View file

@ -45,6 +45,7 @@
"configurations/voice",
"configurations/transcriber",
"configurations/api-keys",
"configurations/agent-uuid",
"configurations/interruption",
"configurations/tracing"
]
@ -204,6 +205,7 @@
"pages": [
"api-reference/calls",
"api-reference/calls/trigger",
"api-reference/calls/trigger-workflow",
"api-reference/calls/get-run",
"api-reference/calls/list-runs",
"api-reference/calls/download",

View file

@ -35,19 +35,9 @@ wss://app.dograh.com/api/v1/agent-stream/{agent_uuid}
## Get the Agent UUID
The Agent UUID is the workflow's stable identifier — it doesn't change when versions are published. You can copy it from two places in the dashboard:
The Agent UUID is the workflow's stable identifier — it doesn't change when versions are published.
**From the workflow editor**
1. Open your agent in the workflow editor
2. Click the **⋮** (more options) menu in the top-right of the header
3. Click **Copy Agent UUID** — the toast confirms the copy
**From the agent's Settings page**
1. Open the agent and go to **Settings**
2. Scroll to the **Agent UUID** section (also linked in the right-side nav)
3. Click the UUID code block, or use the **Copy UUID** button
To find and copy it in the UI, see [Agent UUID](/configurations/agent-uuid).
## Connect to the WebSocket

View file

@ -14,7 +14,12 @@ This is useful when you want to trigger calls from your own backend, a CRM, or w
## Finding your trigger URL
When you add an API Trigger node to your workflow, Dograh assigns it a unique UUID. The trigger node exposes two URLs that share this UUID — one for the published agent and one for the latest draft. You can copy either URL from the trigger node's settings dialog.
When you add an API Trigger node to your workflow, Dograh assigns it a unique UUID. The trigger node exposes two URLs that share this UUID:
- A **production URL** for the published workflow
- A **test URL** for the latest draft
You can copy either URL from the trigger node's settings dialog.
```
POST https://your-dograh-instance/api/v1/public/agent/{uuid} # Production
@ -30,7 +35,15 @@ If you are using the hosted version, replace `your-dograh-instance` with `api.do
| Production | `/api/v1/public/agent/{uuid}` | The published version of the agent. |
| Test | `/api/v1/public/agent/test/{uuid}` | The latest draft. Falls back to the published version if no draft exists. |
Use the test URL while iterating on changes so production traffic continues to hit the published version. Once you publish your draft, both URLs run the same definition.
Use the test URL while iterating on changes so production traffic continues to hit the published version.
The production URL only executes a **published** workflow. If you update the workflow but do not publish it, the production trigger will continue to run the older published version.
Once you publish your draft, both URLs run the same definition.
<Warning>
A common pitfall is editing the workflow, saving the draft, and then calling the production trigger URL expecting the new behavior. That will not work until you publish the workflow. Use the test URL to verify draft changes before publishing.
</Warning>
The request body, headers, and response shape are identical for both URLs.
@ -38,7 +51,8 @@ The request body, headers, and response shape are identical for both URLs.
Authenticate by passing your API key in the `X-API-Key` header. The request body requires a `phone_number` and accepts optional `initial_context` and `telephony_configuration_id` fields.
```bash
<CodeGroup>
```bash Production URL
curl -X POST https://your-dograh-instance/api/v1/public/agent/{uuid} \
-H "Content-Type: application/json" \
-H "X-API-Key: dg_your_api_key" \
@ -51,6 +65,22 @@ curl -X POST https://your-dograh-instance/api/v1/public/agent/{uuid} \
}'
```
```bash Test URL
curl -X POST https://your-dograh-instance/api/v1/public/agent/test/{uuid} \
-H "Content-Type: application/json" \
-H "X-API-Key: dg_your_api_key" \
-d '{
"phone_number": "+14155550100",
"initial_context": {
"customer_name": "Jane",
"appointment_date": "March 15"
}
}'
```
</CodeGroup>
Use the test URL when you want to verify draft changes before publishing.
### Response
A successful request returns a `workflow_run_id` that you can use to [retrieve call details](/api-reference/calls/get-run), recordings, and transcripts.
@ -107,4 +137,4 @@ The id is shown on each row in **Telephony configurations** (`https://app.dograh
<Note>
For full endpoint details including all parameters and response fields, see the [API reference](/api-reference/calls/trigger).
</Note>
</Note>