Channel specific intent?

I want to train some NLU for an intent that is just for 1 specific channel. How can I allow that intent to be recognized only in that channel and not others. I need to do this (cannot divide the logic in action server) because I have a custom fall back action for other channels where every text input will be seen as fall back intent (I’m doing a notification/update dispatching bot - so user don’t actively engage with the bot). If a user message from other channels triggers that intent (because NLU classifies wrong intent), the fall back action won’t run and it would damage the conversation flow.

How can I do something like this:

intents:
  accept_in_custom_channel:
      - channel: mycustomchannel
  reject_in_custom_channel:
      - channel: mycustomchannel

Is there such feature in Rasa?

Did you try a Channel-Specific Response Variation or getting the latest input channel in a custom action?

1 Like