$npx skillfedfor your agent

rasa-sdk

Open source machine learning framework to automate text- and voice-based conversations: NLU, dialogue management, connect to Slack, Facebook, and more - Create chatbots and voice assistants

Worth itPyPI LibrariesReleased Jul 2026292.3K downloads / moApache-2.0Pure Python

Decision gist · record as of 2026-08-14

pure-Python wheel — rasa_sdk-3.18.0-py3-none-any.whl
v3.18.0 · released 2026-07-20 · Python <3.14,>=3.10 · 15 runtime deps: Sanic-Cors, coloredlogs, grpcio, grpcio-health-checking, grpcio-tools, opentelemetry-api, opentelemetry-exporter-otlp, opentelemetry-sdk

Yes. Rasa SDK is worth installing if you are building a Rasa-based chatbot or voice assistant and need custom business logic beyond Rasa's built-in capabilities. It has low install friction, active maintenance, no known vulnerabilities, permissive licensing, and is production-stable. Install it only if you plan to deploy custom actions; if you're using Rasa's pre-built connectors and dialogue flows alone, you don't need it.AI-flagged interpretation of the facts on this page — verify before relying

Before you install

  • Requires Python 3.10 or later (3.14+ not supported).
  • Custom actions are typically deployed as a separate action server process communicating with Rasa via HTTP/gRPC.
  • Low install friction with a pure-Python wheel distribution.

License · maintenance · safety

Apache-2.0 (permissive) — Licensed under Apache-2.0 (permissive), allowing commercial use, modification, and distribution with minimal restrictions. Suitable for proprietary projects when you include the license notice.

last release 2026-07-20 (25 days) · last repo commit 2026-08-14 · 316 stars

0 known vulnerabilities (OSV.dev, 2026-08-14) · 292,324 downloads/mo, #7,966 on PyPI

Verify before relying

pip install rasa-sdk

from rasa_sdk import Action, ActionExecutor
from rasa_sdk.interfaces import ActionValueError

class CustomAction(Action):
    def name(self) -> str:
        return "action_custom"
    def run(self, dispatcher, tracker, domain):
        dispatcher.utter_message(text="Hello")
        return []
  • Specific version compatibility matrix between rasa-sdk 3.18.0 and Rasa core versions beyond the general 1.0.x guidance in the description.
  • Performance characteristics or throughput limits when running action servers with many concurrent requests.
  • Whether all 15 runtime dependencies are required for basic usage or if some are optional for specific features.
Same gist for agents: .md · .json

What it is and what it does

Rasa SDK is a Python library that lets you write custom actions—discrete business logic units—that Rasa conversational AI systems can call during dialogue. When a chatbot or voice assistant needs to query a database, call an API, validate user input, or perform any custom computation, you implement an Action subclass and deploy it as a server that Rasa communicates with over HTTP or gRPC. The SDK handles the protocol layer, letting you focus on the action logic itself.

The package is built on Sanic (a web framework), gRPC, and OpenTelemetry, and is designed to run as a separate microservice alongside your Rasa deployment. It's actively maintained, supports modern Python versions, and integrates with the broader Rasa ecosystem for NLU, dialogue management, and channel connectors (Slack, Facebook, etc.). The framework is production-stable and used in commercial deployments.

Use it for

  • Build a customer support chatbot that queries a ticket database or CRM when users ask about their account status.
  • Implement a booking assistant that validates dates, checks availability, and integrates with a reservation system.
  • Create a voice assistant that fetches real-time data (weather, stock prices, news) from external APIs during conversation.
  • Deploy a multi-turn dialogue system that performs form validation, payment processing, or authentication before confirming user requests.
  • Extend a conversational AI with custom NLP preprocessing or post-processing logic specific to your domain.

Worth the install?

AI-flagged interpretation of the facts on this page. Verify before relying on it.

Worth it

Yes.

Rasa SDK is worth installing if you are building a Rasa-based chatbot or voice assistant and need custom business logic beyond Rasa's built-in capabilities. It has low install friction, active maintenance, no known vulnerabilities, permissive licensing, and is production-stable. Install it only if you plan to deploy custom actions; if you're using Rasa's pre-built connectors and dialogue flows alone, you don't need it.

Install

rasa-sdk on PyPI

Before you install

Low install friction with a pure-Python wheel distribution. Active maintenance with a release 25 days ago and commits through August 2026. Supports current Python versions (3.10–3.13) and has 15 runtime dependencies including Sanic, gRPC, and OpenTelemetry, all standard ecosystem packages.

Requires Python 3.10 or later (3.14+ not supported). Custom actions are typically deployed as a separate action server process communicating with Rasa via HTTP/gRPC.

License in practice

Licensed under Apache-2.0 (permissive), allowing commercial use, modification, and distribution with minimal restrictions. Suitable for proprietary projects when you include the license notice.

Quickstart

pip install rasa-sdk

from rasa_sdk import Action, ActionExecutor
from rasa_sdk.interfaces import ActionValueError

class CustomAction(Action):
    def name(self) -> str:
        return "action_custom"
    def run(self, dispatcher, tracker, domain):
        dispatcher.utter_message(text="Hello")
        return []

Verify before relying

  • Specific version compatibility matrix between rasa-sdk 3.18.0 and Rasa core versions beyond the general 1.0.x guidance in the description.
  • Performance characteristics or throughput limits when running action servers with many concurrent requests.
  • Whether all 15 runtime dependencies are required for basic usage or if some are optional for specific features.

Package facts

LicenseApache-2.0 permissive
Python supportSupports the current Python release <3.14,>=3.10
Install frictionLow. Pure-Python wheel
Runtime dependencies
15 packages
Sanic-Corscoloredlogsgrpciogrpcio-health-checkinggrpcio-toolsopentelemetry-apiopentelemetry-exporter-otlpopentelemetry-sdkpluggyprotobufpydanticruamel.yamlsanictyping-extensionswebsockets
MaintenanceActively maintained 25 days since the last release
Last repo commit
First released
Downloads292,324 / month, #7,966 on PyPI 30-day window, as of 2026-08-14
Known vulnerabilitiesNone known OSV.dev, checked 2026-08-14
Classifiers
Development Status :: 5 - Production/StableIntended Audience :: DevelopersLicense :: OSI Approved :: Apache Software LicenseProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Topic :: Software Development :: Libraries

Evidence: rasa_sdk-3.18.0-py3-none-any.whl

Tags

Capabilities
rasa custom actionschatbot action serverconversational ai sdkrasa integration frameworkbot custom logicrasa webhook actionsdialogue management actions
Topics
conversational-aichatbot-frameworkaction-server
PyPI keywords
nlpmachine-learningmachine-learning-librarybotbotsbotkitrasa conversational-agentsconversational-aichatbotchatbot-frameworkbot-framework

Let your AI agent find packages like this

Example. Real query, live index.

You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.

wish › “rasa custom actions”

  • rasa-sdkRasa SDK provides a Python framework for developing custom actions…
  • rasaRasa is an open-source machine learning framework for building text…
  • django-object-actionsAdds custom action buttons to Django admin object detail and…

Give your agent the search over MCP, or paste the wish link into any chat.

More Libraries packages

urllib3 Worth it
PyPI · Libraries · released May 2026

urllib3 is an HTTP client library that provides thread-safe connection pooling, SSL/TLS verification, multipart file uploads, request retries, compression support, and proxy handling for Python applications.

MITpure Python · 3.10+
1.8Bdownloads / mo
requests Worth it
PyPI · Libraries · released May 2026

Requests is a Python HTTP library that simplifies sending HTTP/1.1 requests with automatic handling of headers, authentication, cookies, and response parsing.

Apache-2.0pure Python · 3.10+
1.8Bdownloads / mo
pluggy Worth it
PyPI · Libraries · released May 2025

Pluggy provides a plugin system that lets you define hook specifications and register implementations to be called in sequence, enabling extensible Python applications without tight coupling.

Install it if you're building an extensible application or framework.

MITpure Python · 3.9+aging
1.3Bdownloads / mo
python-dateutil Worth it
PyPI · Libraries · released Mar 2024

Provides parsing, arithmetic, and recurrence rule computation for dates and times, with timezone support and iCalendar RFC compliance.

Install it if you need to parse flexible date strings, compute relative dates, handle timezones, or work with recurrence rules—it's the de facto choice for these tasks.

Apache-2.0pure Python
1.2Bdownloads / mo
six With conditions
PyPI · Libraries · released Dec 2024

Six provides utility functions to write Python code that runs on both Python 2.7 and Python 3.3+, smoothing over language differences between the two versions.

MITpure Python
1.2Bdownloads / mo
pytest Worth it
PyPI · Libraries · released Jun 2026

pytest is a testing framework that lets you write test functions using plain assert statements and automatically discovers and runs them, with detailed failure reporting.

MITpure Python · 3.10+
1.1Bdownloads / mo

See also rasa · google-cloud-dialogflow-cx · pywa · alita-sdk · jira · chainlit · shinychat · ai-parrot · botbuilder-core · actions-toolkit