action server.yml
openapi: "3.0.2" info: title: "Rasa SDK - Action Server Endpoint" version: "0.0.0" description: >- API of the action server which is used by Rasa to execute custom actions. servers:
- url: "http://localhost:5055/webhook"
description: "Local development action server"
paths:
/:
post:
summary: Core request to execute a custom action
description: >-
Rasa Core sends a request to the action server to execute a
certain custom action. As a response to the action call from Core,
you can modify the tracker, e.g. by setting slots and send responses
back to the user.
operationId: call_action
requestBody:
description: >-
Describes the action to be called and provides information on the
current state of the conversation.
required: true
content:
application/json:
schema:
type: object
properties:
next_action:
description: The name of the action which should be executed.
type: string
sender_id:
description: >-
Unique id of the user who is having the
current conversation.
type: string
tracker:
$ref: "./rasa.yml#/components/schemas/Tracker"
domain:
$ref: "./rasa.yml#/components/schemas/Domain"
responses:
200:
description: Action was executed successfully.
content:
application/json:
schema:
type: object
properties:
events:
description: Events returned by the action.
type: array
items:
$ref: "./rasa.yml#/components/schemas/Event"
responses:
description: >-
List of responses which should be sent to the user
type: array
items:
$ref: "#/components/schemas/Response"
400:
description: >-
Action execution was rejected. This is the same as returning
an
ActionExecutionRejectedevent. content: application/json: schema: type: object properties: action_name: type: string description: >- Name of the action which rejected its execution. error: type: string description: The error message. 500: description: >- The action server encountered an exception while running the action.
components: schemas: Response: oneOf: - $ref: '#/components/schemas/TextResponse' - $ref: '#/components/schemas/TemplateResponse' - $ref: '#/components/schemas/ButtonResponse' TextResponse: description: Text which the bot should utter. type: object properties: text: description: The text which should be uttered. type: string required: ["text"] TemplateResponse: description: Response template the bot should utter. type: object properties: template: description: Name of the template type: string additionalProperties: description: Keyword argument to fill the template type: string required: ["template"] ButtonResponse: description: Text with buttons which should be sent to the user. type: object properties: text: type: string description: Message buttons: type: array items: $ref: '#/components/schemas/Button' Button: description: >- A button which can be clicked by the user in the conversation. type: object properties: title: type: string description: The text on the button payload: type: string description: Payload which is sent if the button is pressed.