# Tracker

Trackers maintain the state of a dialogue between the assistant and the user in the form of conversation sessions. To learn more about how to configure the session behavior, check out the docs on [Session configuration](https://legacy-docs-v1.rasa.com/1.10.25/core/domains/#session-config).

## `class rasa.core.trackers.DialogueStateTracker(sender_id, slots, max_event_history=None, sender_source=None)`

Maintains the state of a conversation.

The field `max_event_history` will only give you these last events, it can be set in the `tracker_store`.

### `applied_events()`

Returns all actions that should be applied - without reverted events.

#### Return type

`List[Event]`

### `as_dialogue()`

Return a `Dialogue` object containing all of the turns. This can be serialized and later used to recover the state of this tracker exactly.

#### Return type

`Dialogue`

### `change_form_to(form_name)`

Activate or deactivate a form.

#### Return type

`None`

### `clear_followup_action()`

Clears follow-up action when it was executed.

#### Return type

`None`

### `copy()`

Creates a duplicate of this tracker.

#### Return type

[`DialogueStateTracker`](https://legacy-docs-v1.rasa.com/1.10.25/api/tracker/#rasa.core.trackers.DialogueStateTracker)

### `current_slot_values()`

Return the currently set values of the slots.

#### Return type

`Dict[str, Any]`

### `current_state(event_verbosity=<EventVerbosity.NONE: 1>)`

Return the current tracker state as an object.

#### Return type

`Dict[str, Any]`

### `events_after_latest_restart()`

Return a list of events after the most recent restart.

#### Return type

`List[Event]`

### `export_stories(e2e=False, include_source=False)`

Dump the tracker as a story in the Rasa Core story format. Returns the dumped tracker as a string.

#### Return type

`str`

### `export_stories_to_file(export_path='debug.md')`

Dump the tracker as a story to a file.

#### Return type

`None`

### `from_dict(sender_id, events_as_dict, slots=None, max_event_history=None)`

Create a tracker from dump. The dump should be an array of dumped events. When restoring the tracker, these events will be replayed to recreate the state.

#### Return type

[`DialogueStateTracker`](https://legacy-docs-v1.rasa.com/1.10.25/api/tracker/#rasa.core.trackers.DialogueStateTracker)

### `get_last_event_for(event_type, action_names_to_exclude=None, skip=0)`

Gets the last event of a given type that was actually applied. Returns event that matched the query or None if no event matched.

#### Return type

`Optional[Event]`

### `get_latest_entity_values(entity_type, entity_role=None, entity_group=None)`

Get entity values found for the passed entity type and optional role and group in the latest message. If you are only interested in the first entity of a given type use `next(tracker.get_latest_entity_values('my_entity_name'), None)`. If no entity is found None is the default result.

#### Return type

`Iterator[str]`

### `get_slot(key)`

Retrieves the value of a slot.

#### Return type

`Optional[Any]`

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