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:
Category | Conversation Patterns |
---|---|
Conversation Repair | Correct mistakes and misunderstandings with correction, clarification, and interruption patterns. |
Conversation Navigation | Navigate conversations helping users to cancel , restart, or complete a process. |
External Support | Provide external support with search, human handoff, or chitchat patterns. |
Voice | Prepare to repeat something and handle scenarios where the user remains silent. |
System Error | Inform 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:
- Correction (repair pattern): Update and correct previously stored conversational information.
User: My name is Jonathan, not John.
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.
Bot: Great! I’ve updated your name to Jonathan. Let me know if there’s anything else I can assist with.
- 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.
Bot: Okay, I am cancelling the transfer.
- Start a conversation (navigation pattern): Conversations can be initiated by either your assistant or the user.
Bot: Hi there! How can I assist you today?
- 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?
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?
- 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?
Bot: Of course, your order #1377 is on its way. Would you
like to track it?
- 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.
Bot: Oops! It looks like something went wrong while processing your request. Let me try that again or escalate this issue.
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.