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. Every slot has a name and a value. This event can be used to set a value for a slot on a conversation.

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. Instead of deleting all events, this event can be used to reset the tracker state (e.g. ignoring any past user messages & resetting all the slots).

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. If you want to keep the dialogue history and only want to reset the slots, you can use this event to set all the slots 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,
}

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",
}

Pause a conversation

Short Stops the bot from responding to messages. Action prediction will be halted until resumed.

JSON

evt = {"event": "pause"}

Resume a conversation

Short Resumes a previously paused conversation. The bot will start predicting actions again.

JSON

evt = {"event": "resume"}

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"}

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": {},
}

Bot responded message

Short Message a bot sent to the user.

JSON

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

Undo a user message

Short Undoes all side effects that happened after the last user message (including the user event of the message).

JSON

evt = {"event": "rewind"}

Undo an action

Short Undoes all side effects that happened after the last action (including the action event of the action).

JSON

evt = {"event": "undo"}

Log an executed action

Short Logs an action the bot executed to the conversation. Events that action created are logged separately.

JSON

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

Start a new conversation session

Short Marks the beginning of a new conversation session. Resets the tracker and triggers an ActionSessionStart which by default applies the existing SlotSet events to the new session.

JSON

evt = {"event": "session_started"}

👋 I can help you get started with Rasa and answer your technical questions.