How to achive - Multi-Tenant Rasa bots to be integrated with one Facebook App (Business Verified)

Hi,

First of all, I want to express my gratititude towards Rasa platform and associated brains to bring such a fantastic open source NLU platform with so much freedom around - Kudos.

I’m designing a chatbot platform where Rasa seems to best fit. The intention is to create a new bot quickly for any new customer onboarding via the platform - which can be deployed in a kubernetes container with separate entity. The reason for separate deployment entity is to make sure customer data (user conversation details, custom action data etc.) can be saved for reporting purpose (with GDPR compliance).

Now here I’m stuck with the concept and looking for any idea/suggestion in here.

Description:

  1. Rasa bots should be integrated with customer Facebook pages.
  2. Integration should be done via Facebook App webhook integration.

Problem:

  1. Getting business approval for FB app can take much longer timeframe (even weeks) compared to customer onboarding time (few hours at max with basic conversation template).
  2. So one FB App (business approved) should be used a common mediator.

Solution Proposal:

  1. Instead of connecting Rasa bot to FB App directly - a python webhook can be connected to FB app.
  2. As request comes from different FB pages, webhook can track the FB Page ID and re-route the request to corresponding rasa bots in different containers.

It this possible to achieve? If yes, then how?

Thanks.

1 Like

Seems like your approach would work to me. In fact, maybe this could be accomplished with nginx to route traffic.

In the end, this component doesn’t involve Rasa. It’s a webhook router and it your Rasa kubernetes deployment doesn’t need to know that it exists. The router would need to forward any metadata and the json message required by the facebook channel or a custom channel that you would create.

Greg

Thank you Greg. Much appreictaed. In such case, from my custom webhook, I can call different rasa engines to process the requests based on requests coming from different FB pages - right? I was looking for rasa APIs - do you have any short guidelines to call GET/POST request format to rasa and get responses back to be sent to FB messengers - let’s say for each intent and its utter responses? I’m still a newbie in rasa and looking for some help to start quickly.

1 Like