Each intent has its own flow, called its action, which runs when the intent matches. This article covers designing that flow. It is part of Virtual Agent.
How an action runs
- The Virtual Agent node matches the customer's message to the intent, and the intent's action flow runs.
- When the action reaches End, the conversation returns to the Virtual Agent node.
- The Virtual Agent node continues through its
outoutput.
The fallback intent's action runs in the same way. The only difference is that afterwards the Virtual Agent node waits for the customer's next message instead of continuing, and counts the fallback as a try.
A new intent's action is Start, then a Say node that says the intent's name, then End. Replace the Say node with your own design. An intent created by an FAQ import starts with a Say node that gives the answer from the file. See Importing Intents.
Changing an action does not require training the virtual agent again. To use the change in live conversations, publish the project.
Designing the action
Open the intent and go to its Actions tab. The example below is the weather intent's action. It makes sure the customer named a city, asks a weather service for that city's forecast and gives the answer.

1. Actions tab: The intent's own flow designer, with its own undo and redo and a Save button.
2. Palette: The nodes you can use in an action. Most flow nodes are offered here. Virtual Agent, Return To Start and Language Condition are not.
3. Ask Missing Slot: Makes sure the city entity has a value. If the customer's message named a city, the node continues to the HTTP node straight away. If not, it asks for one. If it still gets no city, it continues to a Say node that tells the customer.
4. HTTP: Calls the weather service with the city in context.entity.city. It continues on one output when the call succeeds and on another when it fails.
5. Say: Three Say nodes: one gives the forecast after a successful call, one apologises when the call fails, and one responds when no city was found. All three lead to End.
6. End: Returns the conversation to the Virtual Agent node.
The entity values the action reads, such as context.entity.city, exist only inside this action flow. See Entities.
📝 Note: A SubFlow node in an action cannot run a subflow that contains a Virtual Agent node. Design the subflows you use in actions without one.
