Designing the Logic Behind Conversations | Rasa Documentation

Build Your First Agent with Rasa

The dialogue manager is the part of Rasa that decides how to take the best next step based on the user’s input and the current conversation state.
In CALM, you guide these decisions by creating Flows—high-level outlines that define the key steps and business logic your assistant follows to complete a task.
Instead of mapping every possible turn, you can focus on the essential steps. This keeps interactions structured while allowing for flexible, dynamic conversations.

How Dialogue Management Works

In the last section, we learned how Rasa's dialogue understanding component uses an LLM to generate a set of internal commands representing how the user wants to progress the conversation.
Once commands are issued, they are passed on to the dialogue manager to guide the next steps:

Here’s how the dialogue manager processes these commands, step by step:

If you are curious how Rasa manages multiple active flows, dive into how the system activates and moves through flows.

Anatomy of a Flow

A flow represents a structured sequence of steps that guide a conversation toward completing a specific task or process.
Flows define what should happen at each stage of the interaction—this is known as business logic.
Each step in a flow determines how the assistant responds, gathers information, or moves to the next part of the conversation.

A flow is made up of one or more steps, which serve as the building blocks of conversation logic:

Flow Building in Action

Let’s build a simple flow to help users reset their password by collecting their email and sending a reset link.

Steps to Build the Flow

  1. Describe the flow – Give the flow a description so the system knows when to trigger it.
  2. Collect information – Ask for the user's email (collect step).
  3. Trigger a backend service – Send a reset email (action step).
  4. Confirm with the user – Inform them that the reset email is on its way (action step).

Visualization of the Flow

Below, you can see the password reset flow visualized in both Rasa Studio (no-code UI) and Rasa Pro (pro-code UI).
The arrows illustrate how UI elements map to code-based steps.

The most important thing to understand about business logic in Rasa is that it does not define all the possible paths a conversation can take.

A flow defines:

If you previously designed AI assistants using flowcharts of possible conversation paths, you’ll find that flows in Rasa are much simpler to build, modular, and easy to maintain.

Learn More