chore: add and improve documentation

This commit is contained in:
Abhishek Kumar 2025-12-23 12:59:49 +05:30
parent 96f8aaf325
commit 8b820c6d8a
23 changed files with 395 additions and 54 deletions

View file

@ -0,0 +1,6 @@
---
title: "Agent Node"
description: "Agent node contains the prompts that drives the conversation with the Voice Agent"
---
The Edges connected with Agent Nodes are pathways that the LLMs can take depending on how the conversation has been going so far.

View file

@ -0,0 +1,23 @@
---
title: "API Trigger"
description: "API Trigger helps you trigger your Voice Agent using external systems, like N8n or Zapier"
---
### API Payload
The API Trigger is a POST request, which requires an [API Key](configurations/api-keys). It expects a valid JSON with `phone_number` and `initial_context`.
### Initial Context
`initial_context` is a valid JSON object, which contains any contextual information that you would want your voice agent to access. You can refer to these values in your prompts using **Handle Bars**, which are values enclosed in `{{` and `}}`.
Example: If you have below JSON as your `initial_context`
```
{
"initial_context": {
"user": {
"name": "John"
}
}
}
```
you can refer to the user name in your prompts as `{{initial_context.user.name}}`.

View file

@ -0,0 +1,7 @@
---
title: "End Call"
description: "You can use End Call node to configure how the Agent says its final message right before the call is terminated"
---
<Note>
You should have only one End Call node per Voice Agent.
</Note>

View file

@ -0,0 +1,12 @@
---
title: "Global Node"
description: "Global Node contain the common prompt that is appended to the prompt of every node, in which `Add Global Prompt` is turned on."
---
<Note>
You should have only one Global node per Voice Agent.
</Note>
![Add Global Prompt Selector](../images/global-node.png)
This node typically contains common instructions, that the Voice Agent should always follow, like tone of the conversation, any objection handling etc.

View file

@ -0,0 +1,10 @@
---
title: "Voice Agent Builder"
description: "Dograh provides UI components to build a voice Agent. The voice agent can be created by going to https://app.dograh.com/workflow and then Creating a new Agent."
---
![Create a Voice Agent](../images/create-a-voice-agent.png)
We provide an Agent which quickly helps you get started by creating a voice agent with default prompts and pathways. You can provide inputs like whether you need an "Inbound" or "Outbound" voice agent. You can also provide your use case, and description of what the voice agent should be doing. Your inputs will be sent to an LLM to generate the voice agent, so the better you can describe your use case, the better the starting agent will be created for you.
Once you create your Voice Agent using our Agent builder, you would be taken to the Agent, where you would have an option to test the agent using "Web Call" or "Phone Call". You can also modify the prompts of the Agent to suit it to your use case better.

View file

@ -0,0 +1,7 @@
---
title: "Start Call"
description: "You can use Start Call node to Start the call and configure how Agent greets the user when the conversation starts."
---
<Note>
You should have only one Start Call node per Voice Agent.
</Note>

View file

@ -0,0 +1,28 @@
---
title: "Template Variables"
description: "You can use Template Variables in your prompts for your Agent nodes, or when constructing the payload for the Webhook Node"
---
### Template Rendering
You can reference template variables which is passed as `initial_context` either using the API Trigger or when uploading a Sheet for a campaign. You can also use any extracted variable as `gathered_context`
The template rendering can take nested values.
Example: If the initial context is
```
{
"initial_context": {
"user": {
"name": "John"
}
}
}
```
You can write your prompt to access the user's name as below
Prompt: `You are Alice, who is talking to {{initial_context.user.name}}.`
### Nodes
Dograh Voice Agents are composed of various nodes. These nodes can provide instructions to the voice agent, help you setup a trigger where you can trigger the voice agent to call someone, or help you setup a webhook, where you can update the results of the call in your CRM or trigger a downstream workflow in n8n. In the next steps, we will be documenting the nodes that you can use in building the voice agent.

View file

@ -0,0 +1,33 @@
---
title: "Webhook"
description: "Webhook node allow you to sync the result of Voice Agent runs to your external systems, like CRM or to other workflow orchestrator like Zapier or n8n."
---
<Note>
You can have multiple Webhook Nodes for a single Voice Agent, if you want to sync the result of the call at multiple places.
</Note>
### Creating the Webhook Payload
The payload can contain a valid JSON, and you can reference variables while constructing that payload. You can reference below variables while constructing the payload.
- `{{workflow_run_id}}` Unique ID of the Agent run
- `{{workflow_id}}` ID of the Agent
- `{{workflow_name}}` Name of the workflow
- `{{initial_context.*}}` Initial context variables
- `{{gathered_context.*}}` Extracted variables
- `{{cost_info.call_duration_seconds}}` Call duration
- `{{recording_url}}` Call recording URL
- `{{transcript_url}}` Transcript URL
An example of the payload is given below
```
{
"call_id": "{{workflow_run_id}}",
"first_name": "{{initial_context.first_name}}",
"rsvp": "{{gathered_context.rsvp}}",
"duration": "{{cost_info.call_duration_seconds}}",
"recording_url": "{{recording_url}}",
"transcript_url": "{{transcript_url}}"
}
```