Key concepts and terms

Learn the terms used in these docs and in Voiceflow.

Industry terms

Dialog Management

A design system that offers a flexible way to design customer-centric, conversational experiences. This system involves designing and managing the state of the dialog between your Agent and customer.


An utterance is a phrase that a user might say (or type) to interact with an agent.

The following are all examples of utterances for an order_food intent.

INTENT: "order_food"
	- "i am feeling hungry"
	- "i want takeout"
	- "i would like {food}"


An intent represents an action that a user might want to take. Each intent includes a collection of associated utterances. These utterances will be analyzed to determine whether a user triggers the associated intent with any of their interactions.

In the following example, the user has used one of the utterances of an order_food intent and the system responds accordingly.

USER: "i want takeout"
* SYSTEM has recognized this utterance as part of the "order_food" intent *
SYSTEM: "what kind of food would you like?"


Used to builds an utterance that can resolve a dynamic value. Entities represent a value that can be provided by the user during their interaction with the system.

In the following example, the entity {food} is being matched from the order_food intent with what the user said. This value can be extracted for the system to user later during the interaction, such as when responding.

USER: "i would like a burrito"
* SYSTEM has recognized "burrito" as a valid value for the "food" entity *
SYSTEM: "what do you want in your burrito?"

Interaction Model

This represents the overall model for all paths that can be taken for designed conversation. It contains the definitions for all intents, utterances, and entities.

In essence, this is a large state diagram that can be executed to drive a conversational experience.

Voiceflow specific terms


A collection of agents shared between multiple collaborators. Each collaborator has their own role within a Workspace which applies to all contained agents.


Refers to one project in your Workspace. Also used interchangeably with the term “assistant” and “project”. A “codebase” for a Voiceflow application. Each Project is made up of NLU training, response and logic data. Response and logic data are represented by flows, topics, and components.


The technical word for the flows that your agent contains. Each Diagram can contain references to multiple Blocks, Steps, Links, and Ports. This graph structure is used as the basis for more concrete concepts, such as Topics and Components. Diagrams can be referenced by the Steps that appear within them or other Diagrams in the same Project.


Workflows are the non-technical word for Diagram.

Workflows are used for organizing agents as well as for encapsulation. Every Workflow other than the “Home” Workflow has its own separate set of variables. The “Home” workflow must contain a start Block which is the entry point for the conversation.


Components are a type of Diagram.

Components are used for creating reusable logic and functionality. A single Component can be referenced multiple times throughout a Project.

Diagrams vs. Programs

Diagrams can be thought of as the source code of a Project. A Project is visually represented in the Canvas as linked Blocks and Steps. A Diagram is the data structure behind this view and is stored in MongoDB.

Programs can be thought of as the “compiled” code of a Project, which gets executed by our runtime services. As an analogy, in C++, Diagrams are like .cc source code files and Programs are the compiled .exe executables.


Used to store any runtime information for the connected agent. It can be accessed from the code Step for direct manipulation, or through the set and condition Steps for simpler operations.


The container that renders all the Blocks, Steps, Links, and Ports. It allows panning and zooming and many more advanced interactions.


A container for one or more Steps. Each Step is implicitly linked to the next one to form a sequence of operations.


The smallest unit of user-defined functionality in the platform. Each Step along a path will be executed sequentially during a conversation.


The starting point for drawing Links between Steps. Some Steps have a configurable number of Ports while others have no Ports at all.


Used to connect a Port to another Step or Block. Links allows Steps that are not in the same Block to be executed in sequence. Some Steps have logic that allow for multiple Links to be defined, each with its own target Step.