Running a Rasa SDK Action Server | Rasa Documentation

Build your first agent in just a few minutes with Rasa Copilot.

Python action server

The action server, when built with Python, can be run by using the rasa command or directly as a python module. The action server supports two protocols to invoke custom actions: HTTP and gRPC. By default, the action server runs on the HTTP protocol. To run the action server on gRPC protocol, you need to specify the --grpc flag.

Running the action server

Running action server over HTTP(S) protocol

The action server supports both secure (HTTPS) and insecure HTTP connections.

HTTP protocol

To run the action server over HTTP protocol use this command:

When running the action server over HTTP protocol, make sure that Rasa is also configured to use HTTP protocol.

HTTPS protocol

To run the action server over HTTPS protocol use this command:

When running the action server over HTTPS protocol, make sure that the Rasa server is also configured to use HTTPS protocol.

Listen on specific address

You can make your action server listen on a specific address using the SANIC_HOST environment variable:

Running the action server on gRPC protocol

The action server supports both secure and insecure gRPC connections. By default, the action server runs on insecure gRPC connection.

Insecure gRPC connection

To run the action server to accept insecure gRPC connections, use this command:

When running the action server to accept insecure gRPC connections, make sure that the Rasa server is also configured to use insecure gRPC connections.

Secure gRPC connection

To run the action server to accept secure gRPC connections, you need to specify the --grpc, together with the --ssl-certificate and --ssl-keyfile flags:

When running the action server to accept secure gRPC connections, make sure that the Rasa server is also configured to use secure gRPC connections.

Specifying the actions module or package

By default, the action server will look for your actions in a file called actions.py or in a package directory called actions. You can specify a different actions module or package with the --actions flag.

Using the command above, the action server will expect to find your actions in a file called my_actions.py or in a package directory called my_actions.

Other options

To see the full list of options for running the action server, run: