Version: Latest

Bot Starts the Conversation

This guide shows you how you can have the your assistant proactively start the conversation with a user. You achieve this by sending a message on behalf of the user that triggers a welcome flow.

Responding to the Welcome Message

First, create a welcome flow with an NLU trigger. Add a flow guard that always evaluates to false if you want to ensure this flow cannot be started at any other time.

flows.yml
flows:
welcome:
if: False
nlu_trigger:
- intent: welcome
description: welcome new users
steps:
...

And add the corresponding intent to your domain (welcome is just an example, you can use any intent name you want).

domain.yml
intents:
- welcome

Train your bot and start it with rasa inspect. Send the message "/welcome" to the bot to trigger the response.

Triggering the Welcome Message

To trigger the welcome flow, you need to send the message "/welcome" on behalf of the user. How you do this depends on which channel users are talking to your assistant.

Using a Chat Widget

Some Chat Widgets (including the Rasa Chat Widget) provide the option to send a structured message when the user opens the chat window. Configure this to send the message "/welcome" and users will see your

Using an API call

If you are using a custom channel or the rest channel, you can send a POST request with a payload like:

{
"sender": "user1234", // sender ID of the user sending the message
"message": "/welcome"
}