Hi, I have to design an e-learning tutorbot that has multiple possible channels living in parallel:
- A live chat (to support learner when browsing a website)
- A IM chat as Telegram (for asyncronous notifications)
- An email (for anything else)
Take a part the connectors gateway communication logics.
My problem/question is mainly about how to manage user identification.
I want that a user is identified with an unique identifier (call it
conversation_id) regardless of channel.
In the mentioned scenario user has one different ID for each channel:
account_idon the website (e.g.
chat_idon Telegram (e.g.
So, how to let RASA chatbot accept requests coming from the same user (but from different channels)? In other words, how can I map multiple channel IDs into a RASA unique ID, say the
At the end of the day I need to generate a lookup table that map a UUID with all channel ids. Right?
But is not clear to me what’s a good (simple) user experience. At first glance seems to me that that I need a sort of login/registration pattern: each time user submit a request on channel X, only for the first time, the user must identify himself somewhere (with his email/account_id?). So by example trough Telegram, when the Telegram connector server receive a
/start command, the bot must ask the user email(or account_id), to be able to associate 1-to-1 the TG
chat_id with that email. Not perfect in terms of security, I admit.