Events

Events

Conversations in Rasa are represented as a sequence of events. This page lists the event types defined in Rasa Core.

Note

If you are using the Rasa SDK to write custom actions in python, you need to import the events from rasa_sdk.events, not from rasa.core.events. If you are writing actions in another language, your events should be formatted like the JSON objects on this page.

General Purpose Events

Set a Slot

Short

Event to set a slot on a tracker

JSON

evt = {"event": "slot", "name": "departure_airport", "value": "BER"}

Class rasa.core.events.SlotSet( key, value=None, timestamp=None, metadata=None)

The user has specified their preference for the value of a slot.

Restart a conversation

Short

Resets anything logged on the tracker.

JSON

evt = {"event": "restart"}

Class rasa.core.events.Restarted( timestamp=None, metadata=None)

Conversation should start over & history wiped.

Reset all Slots

Short

Resets all the slots of a conversation.

JSON

evt = {"event": "reset_slots"}

Class rasa.core.events.AllSlotsReset( timestamp=None, metadata=None)

All Slots are reset to their initial values.

Schedule a reminder

Short

Schedule an intent to be triggered in the future.

JSON

evt = {
  "event": "reminder",
  "intent": "my_intent",
  "entities": {"entity1": "value1", "entity2": "value2"},
  "date_time": "2018-09-03T11:41:10.128172",
  "name": "my_reminder",
  "kill_on_user_msg": True,
}

Class rasa.core.events.ReminderScheduled( intent, trigger_date_time, entities=None, name=None, kill_on_user_message=True, timestamp=None, metadata=None)

Cancel a reminder

Short

Cancel one or more reminders.

JSON

evt = {
  "event": "cancel_reminder",
  "name": "my_reminder",
  "intent": "my_intent",
  "entities": [
        {"entity": "entity1", "value": "value1"},
        {"entity": "entity2", "value": "value2"},
    ],
  "date_time": "2018-09-03T11:41:10.128172",
}

Class rasa.core.events.ReminderCancelled( name=None, intent=None, entities=None, timestamp=None, metadata=None)

Pause a conversation

Short

Stops the bot from responding to messages.

JSON

evt = {"event": "pause"}

Class rasa.core.events.ConversationPaused( timestamp=None, metadata=None)

Resume a conversation

Short

Resumes a previously paused conversation.

JSON

evt = {"event": "resume"}

Class rasa.core.events.ConversationResumed( timestamp=None, metadata=None)

Force a followup action

Short

Instead of predicting the next action, force the next action to be a fixed one.

JSON

evt = {"event": "followup", "name": "my_action"}

Class rasa.core.events.FollowupAction( name, timestamp=None, metadata=None)

Automatically tracked events

User sent message

Short

Message a user sent to the bot.

JSON

evt = {
    "event": "user",
    "text": "Hey",
    "parse_data": {
        "intent": {
            "name": "greet",
            "confidence": 0.9
        },
        "entities": []
    },
    "metadata": {},
}

Class rasa.core.events.UserUttered( text=None, intent=None, entities=None, parse_data=None, timestamp=None, input_channel=None, message_id=None, metadata=None)

Bot responded message

Short

Message a bot sent to the user.

JSON

evt = {"event": "bot", "text": "Hey there!", "data": {}}

Class rasa.core.events.BotUttered( text=None, data=None, metadata=None, timestamp=None)

Undo a user message

Short

Undoes all side effects that happened after the last user message.

JSON

evt = {"event": "rewind"}

Class rasa.core.events.UserUtteranceReverted( timestamp=None, metadata=None)

Undo an action

Short

Undoes all side effects that happened after the last action.

JSON

evt = {"event": "undo"}

Class rasa.core.events.ActionReverted( timestamp=None, metadata=None)

Log an executed action

Short

Logs an action the bot executed to the conversation.

JSON

evt = {"event": "action", "name": "my_action"}

Class rasa.core.events.ActionExecuted( action_name, policy=None, confidence=None, timestamp=None, metadata=None)

Start a new conversation session

Short

Marks the beginning of a new conversation session.

JSON

evt = {"event": "session_started"}

Class rasa.core.events.SessionStarted( timestamp=None, metadata=None)