Skip to content

Commit 8f169f0

Browse files
authored
docs: resolve merge conflicts in workflows docs (#461)
workflow docs
1 parent 517552c commit 8f169f0

23 files changed

+111
-70
lines changed

fern/docs.yml

Lines changed: 25 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -123,30 +123,6 @@ navigation:
123123
path: examples/docs-agent.mdx
124124
icon: fa-light fa-microphone
125125

126-
- section: Workflows
127-
contents:
128-
- page: Quickstart
129-
path: workflows/quickstart.mdx
130-
icon: fa-light fa-bolt-lightning
131-
- page: Overview
132-
path: workflows/overview.mdx
133-
icon: fa-light fa-book
134-
- section: Examples
135-
icon: fa-light fa-code
136-
contents:
137-
- page: Appointment scheduling
138-
path: workflows/examples/appointment-scheduling.mdx
139-
icon: fa-light fa-calendar-check
140-
- page: Outbound sales
141-
path: workflows/examples/outbound-sales.mdx
142-
icon: fa-light fa-money-bill-wave
143-
- page: Medical triage
144-
path: workflows/examples/clinic-triage-scheduling.mdx
145-
icon: fa-light fa-stethoscope
146-
- page: Order management
147-
path: workflows/examples/ecommerce-order-management.mdx
148-
icon: fa-light fa-shopping-cart
149-
150126
- section: Assistant customization
151127
contents:
152128
- section: Conversation behaviour
@@ -236,6 +212,31 @@ navigation:
236212
- page: Tool calling integration
237213
path: customization/custom-llm/tool-calling-integration.mdx
238214

215+
- section: Workflows
216+
icon: fa-light fa-diagram-project
217+
contents:
218+
- page: Quickstart
219+
path: workflows/quickstart.mdx
220+
icon: fa-light fa-bolt-lightning
221+
- page: Overview
222+
path: workflows/overview.mdx
223+
icon: fa-light fa-eye
224+
- section: Examples
225+
icon: fa-light fa-code
226+
contents:
227+
- page: Appointment scheduling
228+
path: workflows/examples/appointment-scheduling.mdx
229+
icon: fa-light fa-calendar-check
230+
- page: Outbound sales
231+
path: workflows/examples/outbound-sales.mdx
232+
icon: fa-light fa-money-bill-wave
233+
- page: Medical triage
234+
path: workflows/examples/clinic-triage-scheduling.mdx
235+
icon: fa-light fa-stethoscope
236+
- page: Order management
237+
path: workflows/examples/ecommerce-order-management.mdx
238+
icon: fa-light fa-shopping-cart
239+
239240
- section: Best practices
240241
contents:
241242
- page: Prompting guide
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading

fern/workflows/overview.mdx

Lines changed: 86 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -1,95 +1,134 @@
11
---
22
title: Workflows overview
3-
subtitle: Learn about Vapi's visual builder for creating robust, deterministic conversation flows.
4-
slug: workflows/overview
5-
description: Learn about Vapi's visual builder for creating robust, deterministic conversation flows.
3+
subtitle: Learn to create robust, deterministic conversation flows with a visual builder.
64
---
75

86
## Introduction
97

108
Workflows is a visual builder designed for creating robust, deterministic conversation flows. It empowers developers and low-code builders to design agents through an intuitive interface representing interactions via nodes and edges.
119

12-
## Key benefits
10+
<Frame>
11+
<img src="../static/images/workflows/workflows-overview.png" alt="Vapi Workflows" />
12+
</Frame>
1313

14-
* **Visual conversation builder** - Easily prototype and demonstrate conversation flows visually
15-
* **Complex flow management** - Ideal for scenarios with numerous interaction paths, such as call centers, customer support, appointment scheduling, and onboarding processes
16-
* **Reliable determinism** - Offers stronger control compared to single-prompt Assistants, ensuring predictable conversational paths even in highly complex flows
17-
* **Developer-focused flexibility** - Fully configurable via API, enabling selection of models, transcribers, and voices available throughout the Vapi platform
14+
## Key Benefits
1815

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

21-
* **User intent manager** - Route user interactions based on specific intents
22-
* **Human escalation paths** - Allow users to transfer to human agents at any workflow stage
23-
* **Customer-specific flows** - Differentiate workflows based on user profiles, such as new versus existing customers
22+
## Common Use Patterns
2423

25-
## Workflows structure
24+
- **User Intent Manager:** Route user interactions based on specific intents.
25+
- **Human Escalation Paths:** Allow users to transfer to human agents at any workflow stage.
26+
- **Multilingual Flows:** Create dedicated conversation branches for different languages.
27+
- **Customer-Specific Flows:** Differentiate workflows based on user profiles, such as new versus existing customers.
2628

27-
Workflows consist of nodes and edges. There are multiple types of nodes and a Workflow must have a start node, which is the main entry point for the conversation flow.
29+
## Workflow structure
2830

29-
By default a Conversation Node is the start node, but it can be changed to a different type of node. Start nodes cannot be deleted and a Workflow must have exactly one.
31+
Workflows consists of node and edges. There are multiple types of nodes and a Workflow must have a start node, which is the main entry point for the conversation flow.
3032

31-
---
33+
By default a Conversation Node is the start node, but it can be changed to a different type of note. Start nodes cannot be deleted and a Workflow must have exactly one.
3234

33-
## Node types
35+
## Node Types and Configuration
3436

35-
### Conversation Node
37+
## Conversation Node
3638

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

39-
#### Configuration options
41+
<Frame>
42+
<img src="../static/images/workflows/workflows-conversation-node.png" alt="Create workflow interface" />
43+
</Frame>
44+
45+
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.
51+
52+
#### Prompt
53+
54+
Provide detailed instructions guiding agent responses and conversation direction, including response style and content.
55+
56+
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.
57+
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.
4061

41-
* **First Message** - Specify the initial spoken message when entering the node
42-
* **Prompt** - Provide detailed instructions guiding agent responses and conversation direction
43-
* **Global Node** - Allows routing to this node from any point in the workflow
44-
* **Model/Voice/Transcriber Settings** - Individually configure AI model, voice, and transcription services per node
45-
* **Extract Variables** - Gather variables from conversation using liquid syntax `{{ variable_name }}`
62+
#### Model/Voice/Transcriber Settings
4663

47-
#### Variable extraction
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+
68+
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 }}`.
4869

4970
Variables can be configured by:
50-
* Defining variable name and data type (String, Number, Boolean, Integer)
51-
* Writing a clear extraction prompt describing what data to extract
52-
* Setting enums for String-type variables to constrain values to a specific set
5371

54-
### API Request Node
72+
- Defining variable name and data type (String, Number, Boolean, Integer)
73+
- Writing a clear extraction prompt (a description of the variable to help determine how/what data to extract)
74+
- Setting enums for String-type variables to constrain values (to map to a specific set)
75+
76+
<Frame>
77+
<img src="../static/images/workflows/workflows-extract-node.png" alt="Create workflow interface" width="250" />
78+
</Frame>
5579

56-
The API Request Node allows developers to make HTTP requests to their API, custom endpoints, or automation services like Make, n8n, or Zapier.
80+
## API Request Node
5781

58-
* Configure GET and POST requests
59-
* Request bodies must be formatted in [JSON Schema](https://json-schema.org/)
60-
* Body UI builder automatically handles JSON Schema formatting
82+
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).
6183

62-
### Transfer Call Node
84+
<Frame>
85+
<img src="../static/images/workflows/workflows-api-node.png" alt="Create workflow interface" />
86+
</Frame>
87+
88+
## Transfer Call Node
6389

6490
Transfer calls to another phone number, including human agents or specialized voice agents.
6591

66-
* Specify a phone number destination
67-
* Configure a [transfer plan](/call-forwarding#call-transfers-mode) to provide context to the receiving party
68-
* Include a message or summary of the call before connecting
92+
Developers can specify a phone number destination and a [transfer plan](https://docs.vapi.ai/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 call.
93+
94+
<Frame>
95+
<img src="../static/images/workflows/workflows-transfer-node.png" alt="Create workflow interface" />
96+
</Frame>
6997

70-
### End Call Node
98+
## End Call Node
7199

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

102+
<Frame>
103+
<img src="../static/images/workflows/workflows-end-call-node.png" alt="Create workflow interface" />
104+
</Frame>
105+
74106
<Warning>
75107
Workflows without a defined End Call Node risk unintended minutes usage. Ensure all workflows have clear termination points to ensure the call eventually ends.
76108
</Warning>
77109

78-
### Tool Node
110+
## Tool Node
79111

80-
Integrate existing Tools library functionalities. Select tools previously created for use within Workflows, maintaining consistency with Assistant configurations.
112+
Integrate existing Tools library functionalities. Select tools previously created for use within Workflows, maintaining consistency with Assistant configurations.
81113

82-
---
114+
<Frame>
115+
<img src="../static/images/workflows/workflows-tools-node.png" alt="Create workflow interface" />
116+
</Frame>
117+
118+
## Edges
83119

84-
## Edges and conditions
120+
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.
121+
122+
<Frame>
123+
<img src="../static/images/workflows/workflows-ai-edge.png" alt="Create workflow interface" />
124+
</Frame>
85125

86-
A node is connected to another node via an edge. Developers can specify a condition (within the edge) that must be true for the conversation to flow from one node to the next.
87126

88127
### Types of conditions
89128

90129
**AI-based conditions** - Written in plain language and evaluated by LLMs:
91130
```txt
92-
User wants to talk about voice agents
131+
User wanted to talk about voice agents
93132
```
94133

95134
**Logical conditions** - For precise control using variables:
@@ -105,11 +144,12 @@ User wants to talk about voice agents
105144
### Best practices for conditions
106145

107146
* Use descriptive, natural language for AI-based conditions
147+
* Format conditions as: "User [verb] [rest of condition]"
108148
* Extract variables as enums to enable reliable branching
109149
* Test all conditional paths thoroughly
110150
* Keep conditions simple and specific
111151

112-
---
152+
A useful combination of features is to extract variables as enums and use them to branch conversation flows based on a specific set of tasks that the agent can help users with.
113153

114154
## Best practices
115155

@@ -140,4 +180,4 @@ Ready to start building? Check out these resources:
140180
* [**Workflows quickstart**](/workflows/quickstart) - Build your first workflow step-by-step
141181
* [**Workflow examples**](/workflows/examples) - Explore pre-built workflows for common use cases
142182
* [**Custom Tools**](/tools/custom-tools) - Integrate external APIs and services into your workflows
143-
* [**Dynamic Variables**](/assistants/dynamic-variables) - Advanced variable usage and personalization techniques
183+
* [**Dynamic Variables**](/assistants/dynamic-variables) - Advanced variable usage and personalization techniques

0 commit comments

Comments
 (0)