External events and reminders should trigger intents instead of actions
See original GitHub issueDescription of Problem: Reminders and external events always trigger actions, which contradicts the logic that actions should be unambiguously predictable from the dialog history and present intent. For example, in the use case where a reminder is used to have the bot initiate chitchat, this makes stories unlearnable.
Overview of the Solution: External events and reminders should trigger intents, not actions, since intents are the things that are out of our control and actions should be deterministic. Now that we have a mapping policy, this has no drawbacks.
For some applications and backwards compatibility, triggering actions should still be possible, so both options have to be available.
Examples (if relevant):
If we want to set a reminder to have the bot initiate chitchat, we would now trigger the intent, say, EXT_remind_share_me, which is linked to the action utter_share_me via the MappingPolicy. This results in stories of the form
* EXT_remind_share
- utter_share_me
* general_confirm
...
which can be learned and are readable.
Definition of Done:
- Tests are added
- Feature described in the docs
- Feature mentioned in the changelog
Issue Analytics
- State:
- Created 4 years ago
- Reactions:2
- Comments:16 (16 by maintainers)

Top Related StackOverflow Question
@JEM-Mosig my initial thought is can we call the
WorldMessagedsomething more intuitive? E.g.ExternalEventor something - not sure if that’s the right one either, butWorldMessagedsounds a bit weird to meSummary of call
POST "/conversations/<conversation_id>/trigger/<intent>"is_externalmetadata for these events (Rasa X UI can hide them then)@tmbo We would create a new endpoint to trigger intents. We could also
is_externalmetadataappendEventsendpoint, but that doesn’t trigger prediction .Is that ok?