# 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
```json
evt = {"event": "slot", "name": "departure_airport", "value": "BER"}
```
### Restart a conversation
Short
Resets anything logged on the tracker.

JSON
```json
evt = {"event": "restart"}
```
### Reset all Slots
Short
Resets all the slots of a conversation.

JSON
```json
evt = {"event": "reset_slots"}
```
### Schedule a reminder
Short
Schedule an intent to be triggered in the future.

JSON
```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
```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
```json
evt = {"event": "pause"}
```
### Resume a conversation
Short
Resumes a previously paused conversation. The bot will start
predicting actions again.

JSON
```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
```json
evt = {"event": "followup", "name": "my_action"}
```
## Automatically tracked events
### User sent message
Short
Message a user sent to the bot.

JSON
```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
```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
```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
```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
```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
```json
evt = {"event": "session_started"}
```
