Cisco Webex Teams Connector

Hi

I’m new to Rasa. I try to run my Rasa bot with Cisco Webex Teams. On my computer I started ngrok http 5002 and Rasa with rasa run --port 5002 --credentials credentials.yml

I created an integration based on this guide: Cisco Integration

I’m not quite sure what redirect_uri I have to choose. I tried with https://.ngrok.io/webhooks/webexteams/webhook I can see a GET request to ngrok. But this method seems to be not allowed. This is the message from ngrok: GET /webhooks/webexteams/webhook 405 Method Not Allowed

Do you have any idea for this? Is it correct to start Rasa with this special port?

Well per that doc it should be http://localhost:5005/webhooks/webexteams/webhook so in the case of ngrok it would be https://xxx.ngrok.io/webhooks/webexteams/webhook I haven’t tried myself with a custom port like that, I can test it in a few with my mattermost channel and see what it does.

Hey @burg port 5002 or 5005 (or any port) will work fine as long as that’s where Rasa is being served. I just got Webex Teams connector working and I’d like to share the steps to help others, as it took a lot more work than the Socketio or Slack channel integrations:

  1. Make sure Rasa is publicly accessible.
  2. Create a Webex Teams bot. Overview - Bots | Cisco Webex for Developers
  3. Create a Webex Teams integration for all “messages” types which points to the publicly exposed Rasa url Overview - Integrations | Cisco Webex for Developers
  4. 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 the “targetUrl” to https://yourRasaUrlngrok.io/webhooks/webexteams/webhook Now, at this point all message events the bot receives in Webex Teams will be posted to the Webhooks url. So now we need to make sure Rasa can consuming this incoming Webhooks with its credentials.yml file.
  5. 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. Also, always use the bot’s access_token in Rasa and not the Integration’s access_token.

Now, when you DM the bot in Webex Teams, it will respond with the Rasa responses. I hope this helps others! Good luck.