Warning: This document is for an old version of Rasa Core. The latest version is 0.14.5.

High-Level Architecture

This diagram shows the basic steps of how a Rasa Core app responds to a message:


The steps are:

  1. The message is received and passed to an Interpreter, which converts it into a dictionary including the original text, the intent, and any entities that were found.
  2. The Tracker is the object which keeps track of conversation state. It receives the info that a new message has come in.
  3. The policy receives the current state of the tracker.
  4. The policy chooses which action to take next.
  5. The chosen action is logged by the tracker.
  6. A response is sent to the user.


Messages can be text typed by a human, or structured input like a button press.

The process is handled by the rasa_core.agent.Agent class.

Have questions or feedback?

We have a very active support community on Rasa Community Forum that is happy to help you with your questions. If you have any feedback for us or a specific suggestion for improving the docs, feel free to share it by creating an issue on Rasa Core GitHub repository.