# 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](https://legacy-docs-v1.rasa.com/1.7.2/api/events/#general-purpose-events)

### [Set a Slot](https://legacy-docs-v1.rasa.com/1.7.2/api/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`  
The user has specified their preference for the value of a `slot`.

### [Restart a conversation](https://legacy-docs-v1.rasa.com/1.7.2/api/events/#restart-a-conversation)
**Short**  
Resets anything logged on the tracker.  
**JSON**  
```
evt = {"event": "restart"}
```  
Class `rasa.core.events.Restarted`  
Conversation should start over & history wiped.

### [Reset all Slots](https://legacy-docs-v1.rasa.com/1.7.2/api/events/#reset-all-slots)
**Short**  
Resets all the slots of a conversation.  
**JSON**  
```
evt = {"event": "reset_slots"}
```  
Class `rasa.core.events.AllSlotsReset`  
All Slots are reset to their initial values.

### [Schedule a reminder](https://legacy-docs-v1.rasa.com/1.7.2/api/events/#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`

### [Cancel a reminder](https://legacy-docs-v1.rasa.com/1.7.2/api/events/#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`  
Cancel certain jobs.

### [Pause a conversation](https://legacy-docs-v1.rasa.com/1.7.2/api/events/#pause-a-conversation)
**Short**  
Stops the bot from responding to messages. Action prediction will be halted until resumed.  
**JSON**  
```
evt = {"event": "pause"}
```  
Class `rasa.core.events.ConversationPaused`  
Ignore messages from the user to let a human take over.

### [Resume a conversation](https://legacy-docs-v1.rasa.com/1.7.2/api/events/#resume-a-conversation)
**Short**  
Resumes a previously paused conversation. The bot will start predicting actions again.  
**JSON**  
```
evt = {"event": "resume"}
```  
Class `rasa.core.events.ConversationResumed`  
Bot takes over conversation.

### [Force a followup action](https://legacy-docs-v1.rasa.com/1.7.2/api/events/#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`  
Enqueue a followup action.

## [Automatically tracked events](https://legacy-docs-v1.rasa.com/1.7.2/api/events/#automatically-tracked-events)

### [User sent message](https://legacy-docs-v1.rasa.com/1.7.2/api/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`  
The user has said something to the bot.

### [Bot responded message](https://legacy-docs-v1.rasa.com/1.7.2/api/events/#bot-responded-message)
**Short**  
Message a bot sent to the user.  
**JSON**  
```
evt = {"event": "bot", "text": "Hey there!", "data": {}}
```  
Class `rasa.core.events.BotUttered`  
The bot has said something to the user.

### [Undo a user message](https://legacy-docs-v1.rasa.com/1.7.2/api/events/#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"}
```  
Class `rasa.core.events.UserUtteranceReverted`  
Bot reverts everything until before the most recent user message.

### [Undo an action](https://legacy-docs-v1.rasa.com/1.7.2/api/events/#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"}
```  
Class `rasa.core.events.ActionReverted`  
Bot undoes its last action.

### [Log an executed action](https://legacy-docs-v1.rasa.com/1.7.2/api/events/#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"}
```  
Class `rasa.core.events.ActionExecuted`  
An operation describes an action taken + its result.

### [Start a new conversation session](https://legacy-docs-v1.rasa.com/1.7.2/api/events/#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"}
```  
Class `rasa.core.events.SessionStarted`  
Mark the beginning of a new conversation session.

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