name() method returns the same name as the default action:
action_listen
This action is predicted to signal that the assistant should do nothing and wait for the next user input.action_restart
This action resets the whole conversation history, including any slots that were set during it. It can be triggered by the user in a conversation by sending a “/restart” message, if the RulePolicy is included in the model configuration. If you define anutter_restart response in your domain, this will be sent to the user as well.
action_session_start
This action starts a new conversation session, and is executed in the following situations:- at the beginning of each new conversation
- after a user was inactive for a period defined by the
session_expiration_timeparameter in the domain’s session configuration - when a user sends a “/session_start” message during a conversation
Customization
The default behavior of the session start action is to take all existing slots and to carry them over into the next session. Let’s say you do not want to carry over all slots, but only a user’s name and their phone number. To do that, you’d override theaction_session_start with a custom action that might look like this:
session_started_metadata:
action_default_fallback
This action undoes the last user-bot interaction and sends theutter_default response if it is defined.
It is triggered by low action prediction confidence, if you have this fallback mechanism enabled.
If
action_default_fallback is the next action predicted and executed by the assistant, this will result in a
UserUtteranceReverted event which will unset the slots previously filled in the last user turn.action_run_slot_rejections
This action runs slot validation rules written directly in the flows yaml file. When the assistant asks the user for information in a flow,action_run_slot_rejections is executed as a step in the
default flow pattern_collect_information. If the action evaluates one of the rules to True, then it will reset the
originally requested slot and ask the user for the slot again by dispatching the response indicated in the utter
property. If no rule is evaluated to True, then the action will retain the original value which filled the slot and
the assistant will continue to the next step in the flow.
action_trigger_search
This action requires Enterprise Search policy
out_of_scope intent,
here is how you can use this action:
action_reset_routing
This action is needed for Coexistence of NLU-based and CALM systems. It acts as a softer version of the default actionaction_restart:
- It resets all slots not marked for persistence (see section).
- Instead of completely resetting the tracker, it hides all previous tracker events from the featurization for the
NLU-based system policies. This way, things that happened in CALM won’t show up in the tracker for the NLU-based
system policies, but you can still see the full tracker history in tools like
rasa inspect. If the events were not hidden, the tracker would look different for the NLU-based system policies during inference than what it had looked like during training. This would result in bad predictions. One exception to the hiding of events areSlotSetevents for slots that are persisted (see section).
route_session_to_calm,
making sure the coexistence router is engaged again on the next incoming user message.
This way the user can achieve multiple skills in a single session.
action_clean_stack
This action plays a crucial role in maintaining stack integrity following a bot update. A bot update refers to a modification or enhancement made to the bot’s codebase, typically to introduce new features, fix bugs, or improve performance. In this context, the bot version transition from A to B signifies an update being deployed to the bot, which may include changes to its behavior, responses, or underlying functionality. When a bot update occurs during an ongoing conversation, it necessitates special handling to ensure that the conversation remains coherent and unaffected by the update. This action accomplishes this by setting all frames in the stack to the end step. Currently, it is utilized within thepattern_code_change flow.
action_cancel_flow
This action is designed to gracefully terminate an ongoing conversation flow, ensuring a clean and controlled interruption of the current flow. Whenaction_cancel_flow is executed, it performs the following tasks:
- It immediately stops the execution and prevents further progression of the current flow that is in progress.
- It cleans up any ongoing conversation context related to the cancelled flow.
- It resets any slots that were set during the cancelled flow.
action_cancel_flow is used within the pattern_cancel_flow flow.
action_hangup
This action is meant to be used in Voice Conversations to hang up a call. It can be used within flows to disconnect a call. This action uses theoutput_channel.hangup(sender_id) method to hang up
the call.
action_repeat_bot_messages
Verbatim repeat the last bot message. It is currently used for conversation repair in two patterns:pattern_repeat_bot_messages, when user requests to repeat something.pattern_user_silence, when a user has been silent for a while.
action_default_capabilities
This action generates a user-facing reply that lists the flows currently startable for the active conversation. It provides an out-of-the-box implementation for capability discovery, enabling dynamic “what can you do?” responses without maintaining hard-coded flow lists in your bot. The action evaluates each flow’s guard conditions against the current conversation state and replies with only those flows that the user can start right now. Flows that are not startable (for example, because a required slot has not been set) are omitted. The flow that triggeredaction_default_capabilities is also excluded from the generated response.
If no startable flows are detected, the action replies with:
"I don't have any specific capabilities available right now."
To use this action, add it as a step in the flow that handles capability questions:
action_default_capabilities uses to generate its response via the
GET /conversations/{conversation_id}/capabilities
endpoint. This endpoint returns structured, conversation-aware capabilities metadata for flows, including startability based on current guard evaluation.