These docs are for version 1.x of Rasa Open Source.

## User Guide

- [Installation](https://legacy-docs-v1.rasa.com/1.8.0/user-guide/installation/)
- [Tutorial: Rasa Basics](https://legacy-docs-v1.rasa.com/1.8.0/user-guide/rasa-tutorial/)
- [Tutorial: Building Assistants](https://legacy-docs-v1.rasa.com/1.8.0/user-guide/building-assistants/)
- [Command Line Interface](https://legacy-docs-v1.rasa.com/1.8.0/user-guide/command-line-interface/)
- [Architecture](https://legacy-docs-v1.rasa.com/1.8.0/user-guide/architecture/)
- [Messaging and Voice Channels](https://legacy-docs-v1.rasa.com/1.8.0/user-guide/messaging-and-voice-channels/)
- [Evaluating Models](https://legacy-docs-v1.rasa.com/1.8.0/user-guide/evaluating-models/)
- [Validate Data](https://legacy-docs-v1.rasa.com/1.8.0/user-guide/validate-files/)
- [Configuring the HTTP API](https://legacy-docs-v1.rasa.com/1.8.0/user-guide/configuring-http-api/)
- [Deploying your Rasa Assistant](https://legacy-docs-v1.rasa.com/1.8.0/user-guide/how-to-deploy/)
- [Cloud Storage](https://legacy-docs-v1.rasa.com/1.8.0/user-guide/cloud-storage/)

## NLU

- [About](https://legacy-docs-v1.rasa.com/1.8.0/nlu/about/)
- [Using NLU Only](https://legacy-docs-v1.rasa.com/1.8.0/nlu/using-nlu-only/)
- [Training Data Format](https://legacy-docs-v1.rasa.com/1.8.0/nlu/training-data-format/)
- [Choosing a Pipeline](https://legacy-docs-v1.rasa.com/1.8.0/nlu/choosing-a-pipeline/)
- [Language Support](https://legacy-docs-v1.rasa.com/1.8.0/nlu/language-support/)
- [Entity Extraction](https://legacy-docs-v1.rasa.com/1.8.0/nlu/entity-extraction/)
- [Components](https://legacy-docs-v1.rasa.com/1.8.0/nlu/components/)

## Core

- [About](https://legacy-docs-v1.rasa.com/1.8.0/core/about/)
- [Stories](https://legacy-docs-v1.rasa.com/1.8.0/core/stories/)
- [Domains](https://legacy-docs-v1.rasa.com/1.8.0/core/domains/)
- [Responses](https://legacy-docs-v1.rasa.com/1.8.0/core/responses/)
- [Actions](https://legacy-docs-v1.rasa.com/1.8.0/core/actions/)
- [Reminders and External Events](https://legacy-docs-v1.rasa.com/1.8.0/core/reminders-and-external-events/)
- [Policies](https://legacy-docs-v1.rasa.com/1.8.0/core/policies/)
- [Slots](https://legacy-docs-v1.rasa.com/1.8.0/core/slots/#)
- [Forms](https://legacy-docs-v1.rasa.com/1.8.0/core/forms/)
- [Retrieval Actions](https://legacy-docs-v1.rasa.com/1.8.0/core/retrieval-actions/)
- [Interactive Learning](https://legacy-docs-v1.rasa.com/1.8.0/core/interactive-learning/)
- [Fallback Actions](https://legacy-docs-v1.rasa.com/1.8.0/core/fallback-actions/)
- [Knowledge Base Actions](https://legacy-docs-v1.rasa.com/1.8.0/core/knowledge-bases/)

## Conversation Design

- [Dialogue Elements](https://legacy-docs-v1.rasa.com/1.8.0/dialogue-elements/dialogue-elements/)
- [Small Talk](https://legacy-docs-v1.rasa.com/1.8.0/dialogue-elements/small-talk/)
- [Completing Tasks](https://legacy-docs-v1.rasa.com/1.8.0/dialogue-elements/completing-tasks/)
- [Guiding Users](https://legacy-docs-v1.rasa.com/1.8.0/dialogue-elements/guiding-users/)

## API Reference

- [Action Server](https://legacy-docs-v1.rasa.com/1.8.0/api/action-server/)
- [HTTP API](https://legacy-docs-v1.rasa.com/1.8.0/api/http-api/)
- [Jupyter Notebooks](https://legacy-docs-v1.rasa.com/1.8.0/api/jupyter-notebooks/)
- [Agent](https://legacy-docs-v1.rasa.com/1.8.0/api/agent/)
- [Custom NLU Components](https://legacy-docs-v1.rasa.com/1.8.0/api/custom-nlu-components/)
- [Rasa SDK](https://legacy-docs-v1.rasa.com/1.8.0/api/rasa-sdk/)
- [Events](https://legacy-docs-v1.rasa.com/1.8.0/api/events/)
- [Tracker](https://legacy-docs-v1.rasa.com/1.8.0/api/tracker/)
- [Tracker Stores](https://legacy-docs-v1.rasa.com/1.8.0/api/tracker-stores/)
- [Event Brokers](https://legacy-docs-v1.rasa.com/1.8.0/api/event-brokers/)
- [Lock Stores](https://legacy-docs-v1.rasa.com/1.8.0/api/lock-stores/)
- [Training Data Importers](https://legacy-docs-v1.rasa.com/1.8.0/api/training-data-importers/)
- [Featurization of Conversations](https://legacy-docs-v1.rasa.com/1.8.0/api/core-featurization/)
- [TensorFlow Configuration](https://legacy-docs-v1.rasa.com/1.8.0/api/tensorflow_usage/)
- [Migration Guide](https://legacy-docs-v1.rasa.com/1.8.0/migration-guide/)
- [Rasa Open Source Change Log](https://legacy-docs-v1.rasa.com/1.8.0/changelog/)

## Migrate from (beta)

- [Dialogflow](https://legacy-docs-v1.rasa.com/1.8.0/migrate-from/google-dialogflow-to-rasa/)
- [Wit.ai](https://legacy-docs-v1.rasa.com/1.8.0/migrate-from/facebook-wit-ai-to-rasa/)
- [LUIS](https://legacy-docs-v1.rasa.com/1.8.0/migrate-from/microsoft-luis-to-rasa/)
- [IBM Watson](https://legacy-docs-v1.rasa.com/1.8.0/migrate-from/ibm-watson-to-rasa/)

## Reference

- [Glossary](https://legacy-docs-v1.rasa.com/1.8.0/glossary/)

## Slots

**Slots are your bot’s memory.** They act as a key-value store which can be used to store information the user provided (e.g their home city) as well as information gathered about the outside world (e.g. the result of a database query).

Most of the time, you want slots to influence how the dialogue progresses. There are different slot types for different behaviors.

For example, if your user has provided their home city, you might have a `text` slot called `home_city`. If the user asks for the weather, and you _don’t_ know their home city, you will have to ask them for it. A `text` slot only tells Rasa Core whether the slot has a value. The specific value of a `text` slot (e.g. Bangalore or New York or Hong Kong) doesn’t make any difference.

If the value itself is important, use a `categorical` or a `bool` slot. There are also `float`, and `list` slots. If you just want to store some data, but don’t want it to affect the flow of the conversation, use an `unfeaturized` slot.

### Example of slots in usage.

You can provide an initial value for a slot in your domain file:

```yaml
slots:
  name:
    type: text
    initial_value: "human"
```

There are multiple ways that slots are set during a conversation:

- **Slots Set from NLU**: If your NLU model picks up an entity that matches a slot, it will automatically be set.
- **Slots Set By Clicking Buttons**: You can use buttons to trigger slot values based on user input.
- **Slots Set by Actions**: Slots can also be set through custom actions returning events during a conversation.

### Slot Types

1. **Text Slot**: For user preferences where the existence of a value matters.
2. **Boolean Slot**: For true/false settings.
3. **Categorical Slot**: For options among a set of predefined values.
4. **Float Slot**: For continuous values.
5. **List Slot**: For a list of items.
6. **Unfeaturized Slot**: For data that shouldn’t impact the dialogue flow.
