Skip to main content
A workflow is a conversation graph plus configuration that applies around the conversation. Open an agent from Voice Agents to edit its canvas. Start with one complete path before adding branches.

Create the conversation path

  1. Open the node picker and keep exactly one Start Call node. Set Greeting Type and, for text, Greeting Text. Set Prompt to tell the agent what to accomplish in its opening turn. A greeting is optional; the prompt still defines its behavior.
  2. Add an Agent Node for each focused stage, such as understanding the request or confirming an appointment. Give it a meaningful name and instructions for the information it must collect before moving on.
  3. Connect conversation nodes and describe the condition for each transition. For example, route confirmed appointments to a confirmation step and requests for a person to a transfer step. Make alternative conditions distinct enough for the model to choose.
  4. Add an End Call node for a planned end to the conversation. This node is different from an End Call tool, which the model can invoke during a conversation node.
  5. Add at most one Global Node for shared persona, tone, and instructions. It is not a conversation step and has no edges. A prompted node includes it when Add Global Prompt is enabled.
  6. Save the draft, validate it, and resolve graph errors before testing. Follow Publishing to release the tested definition.
Example node prompt:
For a non-interruptible disclosure, turn off Allow Interruption on that node. For ordinary conversation, set it deliberately alongside the workflow’s interruption strategy.

Attach tools and documents

Create a tool in Tools or process a file in Files, then edit the Start Call or Agent node that needs it. Select it under Tools or Knowledge Base Documents. Repeat for other nodes that need the same capability. Creating the resource alone does not attach it to the graph. Describe when the agent should use the selected tool, which inputs it must collect, and what to say if the action fails. Test a path that actually enters that node and inspect the run’s tool activity. See Tools, Knowledge files, and Transfers.

Extract structured values

  1. Edit a node that supports extraction and enable Enable Variable Extraction.
  2. Set Extraction Prompt to describe what should be captured from that stage.
  3. Under Variables to Extract, add a snake_case Variable Name, a Type of String, Number, or Boolean, and an Extraction Hint for each value.
  4. Use a small example such as appointment_day (String) and wants_callback (Boolean). Specify that unknown values must not be invented.
  5. Save and test a completed path through the node. Inspect the run’s gathered context, including the extracted_variables object, to confirm the actual keys and types before referring to them in a template or integration.
Extraction runs as part of node processing; declaring a variable does not mean it exists before the caller has supplied it. Use Context and variables for template syntax. Call-disposition classification is configured separately in Outcomes and reports.

Add workflow integrations

Check the finished graph

Test the normal path, each branch, unavailable tool results, missing context, and a caller who changes their mind. In the run, compare visited nodes, extracted values, tool results, and the final outcome with your expectations. Test greetings that use prerecorded audio on a supported cascade call path; the native realtime path does not provide equivalent library-clip playback.