{"library":"rasa-sdk","title":"Rasa SDK","description":"Rasa SDK is the companion library to Rasa Open Source, enabling developers to write custom actions for their Rasa-powered chatbots. It provides the necessary interfaces and classes (like Action, Tracker, Dispatcher) to interact with the Rasa dialogue management and NLU components. Version 3.16.1 is the current stable release, with frequent updates for bug fixes and minor features, often in sync with Rasa Open Source releases.","language":"python","status":"active","last_verified":"Mon May 18","install":{"commands":["pip install rasa-sdk"],"cli":null},"imports":["from rasa_sdk import Action","from rasa_sdk.executor import CollectingDispatcher","from rasa_sdk.tracker import Tracker","from rasa_sdk.forms import FormValidationAction","from rasa_sdk.events import SlotSet"],"auth":{"required":false,"env_vars":[]},"quickstart":{"code":"from typing import Any, Text, Dict, List\n\nfrom rasa_sdk import Action, Tracker\nfrom rasa_sdk.executor import CollectingDispatcher\nfrom rasa_sdk.events import SlotSet\n\nclass ActionHelloWorld(Action):\n\n    def name(self) -> Text:\n        return \"action_hello_world\"\n\n    async def run(self, dispatcher: CollectingDispatcher,\n            tracker: Tracker,\n            domain: Dict[Text, Any]) -> List[Dict[Text, Any]]:\n\n        user_name = tracker.get_slot(\"name\")\n        if not user_name:\n            user_name = \"there\"\n        \n        dispatcher.utter_message(text=f\"Hello {user_name}! This is a custom action.\")\n\n        return [SlotSet(\"name\", user_name)]\n\n# To run this, save it as actions.py and then run `rasa run actions` in your terminal.\n# Ensure your Rasa project's endpoints.yml is configured to point to this action server.","lang":"python","description":"This example defines a simple custom action `ActionHelloWorld` that responds with a greeting. It demonstrates importing `Action`, `Tracker`, `CollectingDispatcher`, and `SlotSet`, along with the required `name()` and `run()` methods. The `run` method is made `async` to align with modern Rasa practices, though it's not strictly required for simple actions. To use this action, save it as `actions.py` and run it with `rasa run actions` in a separate terminal while your Rasa bot is running. The action name must be added to your `domain.yml`.","tag":null,"tag_description":null,"last_tested":null,"results":[]},"compatibility":{"tag":null,"tag_description":null,"last_tested":"2026-05-18","installed_version":"3.16.0","pypi_latest":"3.16.1","is_stale":true,"summary":{"python_range":"3.10–3.9","success_rate":100,"avg_install_s":10.5,"avg_import_s":0.56,"wheel_type":"wheel"},"results":[{"runtime":"python:3.10-alpine","python_version":"3.10","os_libc":"alpine (musl)","variant":"rasa-sdk","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"noisy","install_time_s":null,"import_time_s":0.43,"mem_mb":12.1,"disk_size":"88.3M"},{"runtime":"python:3.10-slim","python_version":"3.10","os_libc":"slim (glibc)","variant":"rasa-sdk","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"noisy","install_time_s":12,"import_time_s":0.31,"mem_mb":12.1,"disk_size":"85M"},{"runtime":"python:3.11-alpine","python_version":"3.11","os_libc":"alpine (musl)","variant":"rasa-sdk","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"noisy","install_time_s":null,"import_time_s":0.61,"mem_mb":13.4,"disk_size":"94.0M"},{"runtime":"python:3.11-slim","python_version":"3.11","os_libc":"slim (glibc)","variant":"rasa-sdk","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"noisy","install_time_s":10,"import_time_s":0.52,"mem_mb":13.4,"disk_size":"91M"},{"runtime":"python:3.12-alpine","python_version":"3.12","os_libc":"alpine (musl)","variant":"rasa-sdk","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"noisy","install_time_s":null,"import_time_s":0.76,"mem_mb":13.7,"disk_size":"96.2M"},{"runtime":"python:3.12-slim","python_version":"3.12","os_libc":"slim (glibc)","variant":"rasa-sdk","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"noisy","install_time_s":8,"import_time_s":0.72,"mem_mb":13.7,"disk_size":"94M"},{"runtime":"python:3.13-alpine","python_version":"3.13","os_libc":"alpine (musl)","variant":"rasa-sdk","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"noisy","install_time_s":null,"import_time_s":0.78,"mem_mb":14,"disk_size":"93.9M"},{"runtime":"python:3.13-slim","python_version":"3.13","os_libc":"slim (glibc)","variant":"rasa-sdk","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"noisy","install_time_s":9,"import_time_s":0.7,"mem_mb":14,"disk_size":"91M"},{"runtime":"python:3.9-alpine","python_version":"3.9","os_libc":"alpine (musl)","variant":"rasa-sdk","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"noisy","install_time_s":null,"import_time_s":0.41,"mem_mb":12,"disk_size":"87.5M"},{"runtime":"python:3.9-slim","python_version":"3.9","os_libc":"slim (glibc)","variant":"rasa-sdk","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"noisy","install_time_s":13.7,"import_time_s":0.37,"mem_mb":12,"disk_size":"85M"}]}}