It wasn’t intuitive, but was able to get Rasa working with Webex Teams! Slack was very easy, but conversely Webex Teams took a lot of time to figure out, so I would like to share the steps I used as they were hard to find in documentation. Here’s what I had to do:
- Make sure Rasa is publicly accessible (ngrok in my test example)
- Create a Webex Teams bot. Overview - Bots | Cisco Webex for Developers
- Create a Webex Teams integration for all “messages” types which points to the publicly exposed Rasa url (ngrok) Overview - Integrations | Cisco Webex for Developers
- Use a Webex Teams API (with Webex Team bot’s access token) to create a webhook to sign it up for this new Integration you just made. Webhooks - Create a Webhook | Cisco Webex for Developers. Point this url to https://yourRasaUrl.ngrok.io/webhooks/webexteams/webhook Now, at this point all message events the bot receives in Webex Teams will be posted to the Webhooks url (publicly exposed Rasa ngrok url). So now we need to make sure Rasa can consuming this incoming Webhooks with its credentials.yml file.
- Make sure Rasa credentials.yml has: webexteams: access_token: (Webex Team’s bot API access token) Exactly like documented here: Cisco Webex Teams You can also optionally use “room”, but that makes it so the bot will respond into the room (not the DM). For me personally, I like it better with “room” left out of credentials.yml, but having this option is still great.
Creating the Webex Teams bot AND Webex Teams integration and then signing the bot up for this integration was the piece that took me some time of understand. Once I setup that part with the steps above, it worked great.
Now, when you DM the bot in Webex Teams, it will respond with the Rasa responses. I hope this helps others! Good luck.