Rasa Human handoff to phone agent

Hi. I would like to hand off the application to human phone agent if rasa is unable to answer to the user. can you please let me know if any sources for phone agent integration in rasa apart from chatroom or starterpacks.


Is it possible to handoff to live phone agent via rasa handoff?

This should be supported as the conversation is paused and no data should be passed through Rasa while the user is on the phone with the agent. You can trigger this event through a custom action by returning a ConversationPaused() event.

As this conversation will take place outside of Rasa, the choice of VOIP provider is up to you. Is it always voice or does the user have the option to text? Without knowing much about your use case, I’d imagine some users have chosen to text because they don’t want to talk on the phone. So, I’d ask the user their preference before switching to voice and offer both as options.

As far as channels, the Twilio and WhatsApp channels should support this functionality.

Here’s a couple other threads on this topic:

Usecase :- (All are voice based no chat involved)

  1. Customer tries to call Twilio number and Twilio will direct the call to Rasa voice bot.
  2. Rasa voice bot answers the FAQs. If Rasa Is unable to handle the Questions It should Transfer the call to Human Agent.

If you need to handle voice data directly in Rasa, you’ll need to write a custom connector that utilizes the Twilio SDK and an Automatic Speech Recognition service to interface with the VOIP service and convert to text respectively. At that point, you can follow the remainder of the post above for handling the handoff. I found this documentation from Twilio on what they refer to as “warm transfers” which seems like the best option for ensuring a smooth CX:

Here are the docs on creating a custom connector:

One issue you’ll run into pretty quickly will be end of utterance detection. It looks like this functionality is available through the Google Speech streaming speech-to-text API through the single_utterance field:

Actually many clouds has the capability. But, we are trying to implement on perm application Solution.

Ok, I’m not familiar with any open source end-of-utterance detection and you’ll take a fairly large hit to performance on ASR. You’re already using a cloud solution in Twilio rather than an on-prem contact center, so not sure the aversion to using another cloud service. You may be interested in this service if you want to keep all cloud solutions in a single provider:

It seems to meet all your criteria. If you find a way to integrate it with Rasa, please let us know.