Integration between Rocket.Chat and the RASA Chatbot platform
This app can operate in 2 modes:
Synchronous mode
In synchronous mode, the app will make use of Rasa's REST API to exchange message. The app will make use of Rasa's RESTInput channel.
If you are using this mode, make your you have enabled rest api in credentials.yml
in your rasa bot. More info about it here
Asynchronous / Callback Mode
In asynchronous mode, the app will make use of callbacks to receive messages from Rasa. The app will make use of Rasa's CallbackInput channel.
Note that if you are using Reminders and External events
in your Rasa Chatbot, then you will find this mode useful, as these features are only work in this mode.
If you are using this mode, you will have to make following configuration to Rasa
You need to supply a credentials.yml
with the following content:
callback:
url: "http://localhost:3000/api/apps/public/646b8e7d-f1e1-419e-9478-10d0f5bc74d9/callback"
You can find the correct url in the App Details page, under API section.
Download directly from Rocket.Chat marketplace
Clone this repo and Change Directory:
git clone https://github.com/RocketChat/Apps.Rasa.git && cd Apps.Rasa/
Install the required packages from package.json
:
npm install
Deploy Rocket.Chat app:
rc-apps deploy --url http://localhost:3000 --username user_username --password user_password
Where:
http://localhost:3000
is your local server URL (if you are running in another port, change the 3000 to the appropriate port)user_username
is the username of your admin user.user_password
is the password of your admin user.For more info refer this guide
First go ahead n create a Bot User. Login as administrator, then goto Setting > Users
. There create a new Bot User. This new user should have these 2 roles.
Then configure the app to automatically assign a livechat-visitor to this bot. To do so, goto Setting > Livechat > Routing
or Setting > Omnichannel > Routing
. There enable Assign new conversations to bot agent
Setting.
The app needs some configurations to work, so to setup the app Go to Setting > Apps > Rasa
. There, fill all the necessary fields in SETTINGS
and click SAVE. Note all fields are required.
Some of the fields in SETTING
include
http://localhost:5005
The app provides API to trigger specific actions. The URL for the API can be found on the Apps Page(Setting > Apps > Rasa
). Currently the app provides 2 APIs.
Incoming API/Endpoint
This endpoint can be used to trigger specific actions. The list of supported actions include
Callback API/Endpoint
This Endpoint is needed when the App runs in Asynchronous / Callback Mode
mode. You will have to copy this url to credentials.yml
file.