Skip to main content

Conversation Patterns

Real conversations are rarely linear—users switch topics, correct themselves, and ask follow-up questions. Conversation patterns are reusable system flows that are provided by CALM and enable your AI assistant to handle these non-linear interactions cooperatively, and repair the conversation when customers don’t follow the path you expect them to.

Use conversation patterns for smarter AI assistants

You can’t predict everything a user will say—and with conversation patterns, you don’t have to. Conversation patterns make your assistant more flexible and effective by:

  • Keeping conversations on track: Handle unexpected inputs seamlessly, leading to more successful outcomes and a better user experience.
  • Simplifying design and development: Helps the team focus on crafting great user journeys and business logic instead of accounting for every possible detour.

How Conversation Patterns work

Here’s an overview of the different types of conversation patterns:

CategoryConversation Patterns
Conversation RepairCorrect mistakes and misunderstandings with correction, clarification, and interruption patterns.
Conversation NavigationNavigate conversations helping users to cancel , restart, or complete a process.
External SupportProvide external support with search, human handoff, or chitchat patterns.
VoicePrepare to repeat something and handle scenarios where the user remains silent.
System ErrorInform the user of unexpected system issues, like an internal error or code change. Activate cannot handle (fallback) pattern if no flow or relevant documents apply.

Conversation Patterns in Action

Here is an example of a conversation pattern in each category listed above:

  1. Correction (repair pattern): Update and correct previously stored conversational information.

User:

My name is Jonathan, not John.

correction triggered

Bot:

Thanks for letting me know! It’s important to get things right. Should I update your name to Jonathan in my records?

User:

Yes, please.

updated first name to Jonathan

Bot:

Great! I’ve updated your name to Jonathan. Let me know if there’s anything else I can assist with.

Example showcasing corrections
  1. Cancellation (navigation pattern): Allows a user to stop a task in the middle of one topic or task.

User:

I want to send some money to Dimitri

Bot:

How much money do you want to send?

User:

Ah, nevermind. I see I have already sent it earlier.

cancellation triggered

Bot:

Okay, I am cancelling the transfer.

Example showcasing error handling
  1. Start a conversation (navigation pattern): Conversations can be initiated by either your assistant or the user.
session started

Bot:

Hi there! How can I assist you today?

Example showcasing a simple assistant greeting
  1. Search (external suport pattern): Enables your assistant to query data from your knowledge base with Rasa's enterprise search feature and provide helpful answers.

User:

What is your policy on returns?

pattern search started

Bot:

We accept returns within 30 days of purchase as long as they are returned in new condition and original packaging. Do you want to start a return process?

Example showcasing enterprise search
  1. Repeat (voice pattern): Enables your assistant to repeat a previous message.

Bot:

Your order #1377 is on it's way. Would you like to track it?

User:

Can you repeat that?

repeat triggered

Bot:

Of course, your order #1377 is on its way. Would you like to track it?

Example showcasing a user asking the assistant to repeat the last message
  1. Errors (system pattern): Invalid responses or technical issues might require apologies or alternative actions. In these scenarios, you might need to re-ask questions, confirming intent, or escalate to a human agent.

User:

Update my order details.

internal error: request timed out

Bot:

Oops! It looks like something went wrong while processing your request. Let me try that again or escalate this issue.

Example showcasing error handling

Customizing Conversation Patterns

Rasa provides a default structure for each pattern, but you are free to customize them to fit your use case. Since patterns are system flows, you can edit them just like any other flow in Rasa Pro or Rasa Studio. We recommend keeping the Contextual Response Rephraser enabled for pattern flows as it helps your assistant sound more natural, especially when repairing dynamic interactions.