How to Link, Call and Connect Flows
This guide will teach you how to Link, Call, and Connect Steps in Rasa Studio to structure and streamline your assistant’s logic.
You’ll learn what each step does, when to use it, and how these tools can help you build clean, modular flows that are easy to scale and maintain.
Link Steps
What is a Link?
A link is a mechanism in Rasa that connects flows together, enabling smooth transitions between business logic.
- Add a Link Step: Select the "Link" option from the menu.
- Choose a Target Flow: Select an existing flow or create a new one.
- Fill in Details (if creating a new flow): Enter the necessary information in the modal that opens.
A Link step hands over control to another flow and does not return to the original flow. Use this when the new flow should take over the rest of the conversation.
Call Steps
What are Call Steps?
A call step is a mechanism in Rasa that enables one flow to switch to another, complete tasks there, and then return, treating the second flow as a seamless extension of the first.
- Add a Call Step: Select the "Call a flow and return" option from the menu.
- Choose a Target Flow: Select an existing flow or create a new one.
- Fill in Details (if creating a new flow): Enter the necessary information in the modal that opens.
- Return to the Original Flow: After the target flow finishes, control returns to the current flow and the conversation continues from the following step.
A Call step temporarily moves the conversation to another flow and returns after the target flow finishes. It's useful for handling sub-tasks like gathering user input or performing lookups.
Connecting Steps Within a Flow
Use connections to move between steps within the same flow — whether you're progressing, looping back, or merging branches.
To create a new connection:
-
Open the Action Menu: Select “Connect to” from the menu.
-
Choose a Target Step: Select the step that you want to connect to. This can be earlier in the flow (to loop) or later in the flow (to converge).
📌 You can’t connect directly to a condition. Conditions are part of a step, not standalone steps. To route logic through a condition, connect to the step that contains it.
To delete a loop or connection:
- Hover over the connection.
- Click the delete icon.
Avoid Infinite Loops: Always ensure there's an exit path when connecting back to earlier steps. Unintended loops may cause unexpected behavior during training or runtime.
Loops help keep flows modular and avoid duplication. Just make sure there’s always a way out.
When to Use Link, Call, or Connections in Flows
Use a Link when:
You want to permanently hand over the conversation to another flow.
The target flow is independent and should handle the rest of the interaction.
Use a Call when:
You need to run a reusable flow and then return.
This is helpful for sub-tasks such as gathering information or checking conditions.
Use Connections when:
You want to control the conversation within the same flow — whether moving forward, looping back, or merging multiple branches.
This helps reduce duplication and keeps your flows modular and easy to maintain.
By using Link, Call, and Connections intentionally, you can create modular, efficient flows that are easy to test and maintain.