🤖

Rasa

Build customizable chatbots and agents for enterprise workflows

Free | Freemium | Paid | Enterprise ⭐⭐⭐⭐☆ 4.4/5 🤖 Chatbots & Agents 🕒 Updated
Visit Rasa ↗ Official website
Quick Verdict

Rasa is an open-source conversational AI framework for building, deploying, and scaling contextual chatbots and assistants. It suits developers and ML engineers who need full control over dialogue policies, NLU, and on-prem or cloud deployment, with an open-source core and paid enterprise support. Pricing spans a free open-source stack to subscription managed offerings and enterprise contracts for large deployments.

Rasa is an open-source conversational AI framework that helps teams build contextual chatbots and virtual assistants for web, mobile, and contact-center workflows. Its primary capability is developer-first NLU and dialogue management that you host and customize, not a closed cloud-only chatbot. The key differentiator is full control over models, data, and deployment (including on-premises), serving enterprises and developer teams that need compliance and extensibility. Rasa offers a free open-source core for experimentation and paid commercial tiers (Rasa Enterprise / Rasa X hosted) for production support and managed services.

About Rasa

Rasa is a developer-first, open-source conversational AI platform founded to give teams control over their chatbots and virtual assistants. Originally started by Rasa Technologies (headquartered in Berlin and San Francisco), the project grew from an open-source NLU and dialogue management toolkit into an enterprise platform. Its core value proposition is that organizations can train, test, and run custom intent classification and dialogue policies on their own infrastructure while avoiding vendor lock-in. Rasa positions itself between DIY frameworks and closed cloud assistants by combining an Apache-licensed core (Rasa Open Source) with commercial offerings and support for production deployments.

Rasa’s feature set focuses on three technical pillars: NLU, dialogue management, and orchestration. Rasa Open Source provides intent classification and entity extraction via trainable pipelines (e.g., DIETClassifier and Regex/CRF extractors), allowing multi-component pipelines and custom components. Dialogue management uses Rasa’s dialogue policies (RulePolicy, MemoizationPolicy combined historically, and newer machine-learned policies) and supports stories and rules to model conversational flows and slot filling. Rasa X is the companion product for annotation, conversation review, and iterative model improvement; it offers a UI to label user messages, re-train models, and push versions. For deployment and integration, Rasa offers Docker-based production installs, Kubernetes support, and connectors for channels like Slack, Twilio, and Microsoft Bot Framework.

Pricing mixes a free open-source core with commercial offerings. Rasa Open Source is free to use under its license for development and self-hosted production. Rasa X offers a free local edition for experimentation but the managed cloud and enterprise support options are paid. As of the latest available information, Rasa provides subscription commercial plans with custom pricing for Rasa Enterprise / Rasa X Managed — customers receive SLA-backed support, single-tenant managed instances, advanced analytics, and security/compliance features. Small teams can run the free Open Source stack, but production-grade hosted services and enterprise features require contacting Rasa for quotes or subscribing to managed plans.

Rasa is used by engineering and ML teams building customer service bots, virtual assistants, and automated workflows. Example adopters include Conversational AI Engineers deploying multi-channel customer support bots and Product Managers using Rasa X to iterate on conversation design and reduce escalation rates. Specifically, a Customer Support Engineering Manager might use Rasa to lower average handle time by 20% with automated triage, and an ML Engineer could use Rasa to deploy custom NLU models tuned for domain-specific entities. Compared to cloud-only platforms like Dialogflow or Microsoft Bot Framework, Rasa’s selling point is on-premise control and extensibility for privacy-sensitive or highly regulated industries.

What makes Rasa different

Three capabilities that set Rasa apart from its nearest competitors.

  • Provides an Apache-licensed open-source core (Rasa Open Source) for full data and model control, unlike closed cloud assistants.
  • Rasa X offers integrated conversation labeling and one-click re-training workflow for continuous improvement of production assistants.
  • Supports self-hosting and single-tenant managed deployments for compliance with enterprise security and data residency requirements.

Is Rasa right for you?

✅ Best for
  • ML Engineers who need full model and pipeline control
  • DevOps teams who require on-premise or Kubernetes deployments
  • Customer support leaders who need auditability and data residency
  • Product managers iterating conversational UX with labeled conversation review
❌ Skip it if
  • Skip if you need a plug-and-play cloud chatbot with no ops work required.
  • Skip if you require per-message managed pricing with low-touch SaaS billing and no self-hosting.

✅ Pros

  • Open-source core (Rasa Open Source) lets teams control training data and deployments
  • Rasa X streamlines human-in-the-loop labeling and iterative model improvement
  • Supports on-premises/single-tenant deployments for strict compliance and data residency

❌ Cons

  • Steeper developer and DevOps effort than fully managed SaaS chatbots
  • Commercial Rasa Enterprise pricing and SLAs require contacting sales; no public per-seat plans

Rasa Pricing Plans

Current tiers and what you get at each price point. Verified against the vendor's pricing page.

Plan Price What you get Best for
Rasa Open Source Free Self-hosted; no SLA, community support only Developers prototyping and self-hosting
Rasa X Local Free Local single-instance use for testing and annotation Small teams iterating on conversation design
Rasa Enterprise / Managed Custom SLA-backed, single-tenant, analytics, security Enterprises needing compliance and support

Best Use Cases

  • Conversational AI Engineer using it to reduce escalation rate by 20% through automated triage
  • Customer Support Manager using it to automate 40% of common FAQ interactions across channels
  • ML Engineer using it to deploy custom NLU models with domain-specific entity accuracy improvements

Integrations

Slack Twilio Microsoft Bot Framework

How to Use Rasa

  1. 1
    Install Rasa Open Source
    Follow the Rasa Quickstart: pip install rasa, run 'rasa init' in a terminal to create a sample assistant. Success looks like receiving a prompt that the server and action server started and a test conversation passes.
  2. 2
    Train your first model
    From your project folder run 'rasa train' to build the NLU and Core models. Verify the model by running 'rasa shell' and sending sample utterances to see intents and entities recognized.
  3. 3
    Use Rasa X locally for labeling
    Install Rasa X locally with Docker Compose or pip, then run 'rasax' to open the UI. Upload conversations, label intents/entities, and click Retrain to produce an improved model version you can test in the UI.
  4. 4
    Deploy with Docker/Kubernetes
    Containerize your assistant using the provided Dockerfiles and use the Rasa Helm charts or Kubernetes manifests for production. Success is a running deployment reachable from your channel (Slack/Twilio) with logs in stdout and health probes passing.

Ready-to-Use Prompts for Rasa

Copy these into Rasa as-is. Each targets a different high-value workflow.

Create NLU Training Set
Generate balanced Rasa NLU examples
Role: You are a Rasa NLU data engineer. Constraints: produce 10 distinct intents relevant to customer support (greet, goodbye, ask_refund, ask_shipping, ask_size, change_order, cancel_order, track_order, provide_feedback, fallback); for each intent provide 12 diverse English examples; annotate entities in Rasa YAML style (e.g., [order_123](order_number)); avoid slang, include formal and informal phrasings. Output format: a single Rasa-compatible nlu.yml snippet beginning with 'version' and 'nlu:' and listing intents and examples exactly in YAML. Example entry: - intent: ask_refund  examples: - "I want a refund for order [#123](order_number)".
Expected output: A Rasa-compatible nlu.yml snippet with 10 intents and 12 examples each, using YAML entity annotations.
Pro tip: Ask for locale-specific paraphrases (US vs UK English) if you expect region-specific phrasing to improve model generalization.
Generate FAQ Utterances Map
Convert knowledge base to Rasa utterances
Role: You are a content engineer transforming an FAQ into Rasa responses. Constraints: produce 20 FAQ pairs mapped to unique utterance names (utter_faq_shipping, utter_faq_returns, etc.), each response ≤50 words, include one optional quick-reply follow-up question per FAQ, and provide slot suggestions when relevant (e.g., ask for order_number). Output format: Rasa domain-style YAML snippet with 'responses:' section listing utterances as keys and - text: entries; include an inline example mapping. Example: utter_faq_shipping: - text: "Standard shipping takes 3-5 business days." follow_up: "Would you like expedited options?"
Expected output: A domain-style YAML 'responses:' snippet with 20 utter_ keys, short answers and follow-up suggestions.
Pro tip: Include variant phrasings for each utterance (2-3 texts) to improve response selection in multi-turn conversations.
Build Booking Domain and Stories
Generate domain.yml and stories for bookings
Role: You are a Rasa dialogue designer. Constraints: create a domain.yml for an appointment booking assistant including intents, entities (service_type, date, time, customer_name), slots with types, one form 'booking_form', 4 custom actions (validate, submit, check_availability, notify_staff), and three utterances; then author 6 stories: 3 happy-path (different service_types) and 3 failure cases (missing date, unavailable slot, user cancels). Output format: two sections separated: '--- domain.yml ---' and '--- stories.yml ---' with valid Rasa YAML structures. Examples: show one story happy path and one failure path.
Expected output: Two YAML sections: a domain.yml defining intents/slots/actions/forms and a stories.yml with 6 stories (3 happy, 3 failure).
Pro tip: Specify slot mappings for ambiguous entities (text vs from_entity) to avoid runtime slot-filling errors in the form.
Design Triage Classifier Plan
Plan automated support triage classifier
Role: You are an ML engineer designing a Rasa-based triage classifier for support ticket routing. Constraints: include model choice (DIET vs sklearn) justification, minimum dataset size per class (suggest numbers), data labeling schema, evaluation metrics (per-intent precision/recall/F1), cross-validation approach, confidence threshold for human handoff, and a deployment rollout plan with monitoring. Output format: structured numbered plan with sections: Dataset, Model & Config, Evaluation, Thresholds & Handoff, Rollout & Monitoring. Example: list three monitoring alerts (drop in F1, sudden class imbalance, high fallback rate).
Expected output: A structured numbered plan covering dataset, model selection, evaluation metrics, thresholds, and rollout steps for a triage classifier.
Pro tip: Include a small reserved validation set containing recent edge cases (last 2 weeks) to detect data drift early during rollout.
Create Payment Action Server Code
Implement secure custom payment action
Role: You are a senior Rasa engineer writing production-ready custom actions for payment processing. Multi-step instructions: 1) provide a complete actions.py implementing ActionProcessPayment, with dependency injection for a payment client, idempotency key handling, error handling for network/timeouts, and secure retrieval of API keys from environment variables; 2) include unit tests file tests/test_actions.py using pytest and a mocked payment client covering success, declined, and exception flows; 3) list required entries for requirements.txt and a short run/testing command. Constraints: Python 3.9+, follow Rasa action server conventions, avoid third-party secrets in code. Output format: clearly labeled code blocks: '--- actions.py ---', '--- tests/test_actions.py ---', '--- requirements.txt ---'.
Expected output: Three labeled code blocks: actions.py (complete action implementation), pytest unit tests file, and requirements.txt lines.
Pro tip: Return both synchronous and async action variants or note which Rasa versions require async to prevent runtime misconfiguration.
Migrate Rules to ML Policies
Plan migration from RulePolicy to ML policies
Role: You are a conversational AI architect planning a migration from rule-based policies to ML policies in Rasa. Multi-step: provide a step-by-step migration checklist, risks and mitigation, dataset preparation steps (extract rule examples into stories, generate negative examples), recommended policy config (TEDPolicy/RulePolicy hybrid) with hyperparameters, and an A/B rollout strategy. Few-shot examples: include 2 converted examples (one rule → story happy path, one edge-case rule with failure converted to a negative story). Output format: numbered migration checklist + policy YAML snippet + two example stories labeled 'before' and 'after'.
Expected output: A numbered migration checklist, a policy YAML snippet, and two 'before/after' story examples converting rules to stories.
Pro tip: When extracting rules, capture the exact user utterance variants and slot values to produce realistic negative examples for robust ML training.

Rasa vs Alternatives

Bottom line

Choose Rasa over Dialogflow CX if you need on-premise data control and fully customizable NLU pipelines for regulated environments.

Head-to-head comparisons between Rasa and top alternatives:

Compare
Rasa vs dbt
Read comparison →

Frequently Asked Questions

How much does Rasa cost?+
Rasa Open Source is free; commercial Rasa Enterprise/Managed plans use custom pricing. The open-source Rasa stack has no monthly license fee, but enterprise features such as SLA-backed support, single-tenant managed instances, advanced analytics, and compliance tooling are part of paid subscriptions; you must contact Rasa sales for exact quotes based on usage, seats, and deployment needs.
Is there a free version of Rasa?+
Yes — Rasa Open Source and a local Rasa X edition are free. Rasa Open Source provides the full NLU and dialogue framework you can self-host without license fees. Rasa X has a free local edition for experimentation and labeling; managed cloud or enterprise features require paid subscriptions or contracts for production-grade hosting and support.
How does Rasa compare to Dialogflow or other cloud assistants?+
Rasa offers self-hosting and model/data control unlike many cloud assistants. While Dialogflow CX and similar services provide hosted NLU and quick integrations, Rasa gives engineers full control of NLU pipelines, custom components, and on-prem deployments, making it preferable when data residency, compliance, or deep customization are priorities.
What is Rasa best used for?+
Rasa is best used to build domain-specific, multi-turn conversational assistants under developer control. It fits projects requiring custom NLU pipelines, complex slot-filling and story-based dialogue management, and deployments where data residency or integration with internal systems matter — for example, customer support automation or internal IT helpdesk bots.
How do I get started with Rasa?+
Install Rasa and run the quickstart to generate a sample assistant. Use 'pip install rasa' then 'rasa init' to scaffold a project, 'rasa train' to build models, and 'rasa shell' to test; install Rasa X locally for labeling, then containerize with Docker/Helm for production.

More Chatbots & Agents Tools

Browse all Chatbots & Agents tools →
🤖
ChatGPT
Boost productivity with conversational automation — Chatbots & Agents AI
Updated Mar 25, 2026
🤖
Character.AI
Create conversational agents and interactive characters for chatbots
Updated Apr 21, 2026
🤖
YouChat
Conversational AI chatbots for research, writing, and code
Updated Apr 22, 2026