Skip to content

Commit ba4e39d

Browse files
authored
Update workflows overview (#470)
* chore: rename "Web integration" to "Web calls" * feat(workflows/overview): new title hierarchy, new slug
1 parent cdc7afc commit ba4e39d

File tree

1 file changed

+40
-43
lines changed

1 file changed

+40
-43
lines changed

fern/workflows/overview.mdx

Lines changed: 40 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
---
22
title: Workflows overview
33
subtitle: Learn to create robust, deterministic conversation flows with a visual builder.
4+
slug: workflows/overview
45
---
56

67
## Introduction
@@ -11,16 +12,14 @@ Workflows is a visual builder designed for creating robust, deterministic conver
1112
<img src="../static/images/workflows/workflows-overview.png" alt="Vapi Workflows" />
1213
</Frame>
1314

14-
## Key Benefits
15-
15+
**Key Benefits:**
1616
- **Visual Conversation Builder:** Easily prototype and demonstrate conversation flows visually.
1717
- **Complex Flow Management:** Ideal for scenarios with numerous interaction paths, such as call centers, customer support, appointment scheduling, and onboarding processes.
1818
- **Reliable Determinism:** Offers stronger control compared to single-prompt Assistants, ensuring predictable conversational paths even in highly complex flows.
1919
- **Developer-Focused Flexibility:** Fully configurable via API, enabling selection of models, transcribers, and voices available throughout the Vapi platform.
2020
- **Multilingual Support:** Seamlessly build multilingual conversation flows with language-specific nodes and prompts.
2121

22-
## Common Use Patterns
23-
22+
**Common Use Patterns:**
2423
- **User Intent Manager:** Route user interactions based on specific intents.
2524
- **Human Escalation Paths:** Allow users to transfer to human agents at any workflow stage.
2625
- **Multilingual Flows:** Create dedicated conversation branches for different languages.
@@ -34,41 +33,35 @@ By default a Conversation Node is the start node, but it can be changed to a dif
3433

3534
## Node Types and Configuration
3635

37-
## Conversation Node
36+
### Conversation Node
3837

3938
The Conversation Node is the default type of node. It's highly configurable and it's the main building block for conversation flows.
4039

4140
<Frame>
4241
<img src="../static/images/workflows/workflows-conversation-node.png" alt="Create workflow interface" />
4342
</Frame>
4443

44+
```yaml title="First Message"
45+
Specify the initial spoken message when entering the node
46+
```
4547

46-
### Configuration options
47-
48-
#### First Message
49-
50-
Specify the initial spoken message when entering the node. This configuration is helpful if developers want the agent to speak first without waiting for user to say something.
48+
```yaml title="Prompt"
49+
Detailed instructions guiding agent responses and conversation direction
50+
```
5151

52-
#### Prompt
52+
```yaml title="Model/Voice/Transcriber"
53+
Individual AI model, voice, and transcription configuration
54+
```
5355

54-
Provide detailed instructions guiding agent responses and conversation direction, including response style and content.
56+
```yaml title="Extract Variables"
57+
Gather variables from conversation using liquid syntax {{ variable_name }}
58+
```
5559

5660
The prompt is the most important part of the Conversation Node. Building reliable and high-quality voice agents heavily depend on the quality of the prompt supplied.
5761

58-
#### Global Node
59-
60-
Allows routing to this node from any point in the workflow, commonly used for escalation purposes e.g. when user wants to jump from the pre-determined conversation flow to speaking to a human to address specific needs. This feature can be enabled via the Global toggle; developers must specify an Enter Condition that defines the condition for routing to the Global Node.
61-
62-
#### Model/Voice/Transcriber Settings
63-
64-
Individually configure the AI model, voice, and transcription services per node. This is similar to configuring Single Prompt Assistants.
65-
66-
#### Extract Variables
67-
6862
Extract Variables lets users gather/extract variables from a conversation. These variables can be used as dynamic variables for the rest of the workflow via liquid syntax `{{ variable_name }}`.
6963

7064
Variables can be configured by:
71-
7265
- Defining variable name and data type (String, Number, Boolean, Integer)
7366
- Writing a clear extraction prompt (a description of the variable to help determine how/what data to extract)
7467
- Setting enums for String-type variables to constrain values (to map to a specific set)
@@ -77,44 +70,48 @@ Variables can be configured by:
7770
<img src="../static/images/workflows/workflows-extract-node.png" alt="Create workflow interface" width="250" />
7871
</Frame>
7972

80-
## API Request Node
73+
### API Request Node
8174

8275
The API Request Node allows developers to make HTTP Requests to their API, custom endpoints, or automation services like Make, n8n, or Zapier. Developers can configure it to perform GET and POST requests. Request bodies must be formatted in [JSON Schema](https://json-schema.org/) (the body UI builder automatically does this).
8376

8477
<Frame>
85-
<img src="../static/images/workflows/workflows-api-node.png" alt="Create workflow interface" />
78+
<img src="../static/images/workflows/workflows-api-node.png" alt="API Request Node interface" />
8679
</Frame>
8780

88-
## Transfer Call Node
81+
### Transfer Call Node
8982

9083
Transfer calls to another phone number, including human agents or specialized voice agents.
9184

9285
Developers can specify a phone number destination and a [transfer plan](/call-forwarding#call-transfers-mode), which lets them specify a message or a summary of the call to the person or agent picking up in the destination number before actually connecting the caller.
9386

94-
<Frame>
95-
<img src="../static/images/workflows/workflows-transfer-node.png" alt="Create workflow interface" />
87+
<Frame>
88+
<img src="../static/images/workflows/workflows-transfer-node.png" alt="Transfer Call Node interface" />
9689
</Frame>
9790

98-
## End Call Node
91+
### End Call Node
9992

10093
Terminal node to end calls explicitly. Configure with an optional closing message (via the first message field) to users before termination.
10194

102-
<Frame>
103-
<img src="../static/images/workflows/workflows-end-call-node.png" alt="Create workflow interface" />
95+
<Frame>
96+
<img src="../static/images/workflows/workflows-end-call-node.png" alt="End Call Node interface" />
10497
</Frame>
10598

10699
<Warning>
107100
Workflows without a defined End Call Node risk unintended minutes usage. Ensure all workflows have clear termination points to ensure the call eventually ends.
108101
</Warning>
109102

110-
## Tool Node
103+
### Tool Node
111104

112105
Integrate existing Tools library functionalities. Select tools previously created for use within Workflows, maintaining consistency with Assistant configurations.
113106

114-
<Frame>
115-
<img src="../static/images/workflows/workflows-tools-node.png" alt="Create workflow interface" />
107+
<Frame>
108+
<img src="../static/images/workflows/workflows-tools-node.png" alt="Tool Node interface" />
116109
</Frame>
117110

111+
### Global Node
112+
113+
Allows routing to this node from any point in the workflow, commonly used for escalation purposes e.g. when user wants to jump from the pre-determined conversation flow to speaking to a human to address specific needs. This feature can be enabled via the Global toggle; developers must specify an Enter Condition that defines the condition for routing to the Global Node.
114+
118115
## Edges
119116

120117
A node is connected to another node via an edge. Developers can specify a condition (within the edge) that must be true (satisfied) for the conversation to flow from one node to the next.
@@ -123,26 +120,28 @@ A node is connected to another node via an edge. Developers can specify a condit
123120
<img src="../static/images/workflows/workflows-ai-edge.png" alt="Create workflow interface" />
124121
</Frame>
125122

123+
#### AI-based conditions
126124

127-
### Types of conditions
128-
129-
**AI-based conditions** - Written in plain language and evaluated by LLMs:
125+
Written in plain language and evaluated by LLMs:
130126
```txt
131127
User wanted to talk about voice agents
132128
```
133129

134-
**Logical conditions** - For precise control using variables:
130+
#### Logical conditions
131+
132+
For precise control using variables:
135133
```txt
136134
{{ city == "San Francisco" }}
137135
```
138136

139-
**Combined conditions** - Mix logical operators with variables:
137+
#### Combined conditions
138+
139+
Mix logical operators with variables:
140140
```txt
141141
{{ customer_tier == "VIP" or total_orders > 50 }}
142142
```
143143

144-
### Best practices for conditions
145-
144+
**Best practices for conditions:**
146145
* Use descriptive, natural language for AI-based conditions
147146
* Format conditions as: "User [verb] [rest of condition]"
148147
* Extract variables as enums to enable reliable branching
@@ -171,8 +170,6 @@ A useful combination of features is to extract variables as enums and use them t
171170
* **Plan for scale** - Consider how workflows will perform with high call volumes
172171
* **Version control** - Keep track of workflow changes and test before deploying
173172

174-
---
175-
176173
## Next steps
177174

178175
Ready to start building? Check out these resources:

0 commit comments

Comments
 (0)