Actions

Actions let your chatbot call external APIs during conversations. When the AI determines an action is needed — like looking up an order or creating a ticket — it executes an HTTP request to your endpoint and uses the response to continue the conversation.

Creating actions

Create actions from Chatbot Settings → Actions. Each action needs:

  • Name — A short identifier the AI uses to decide when to call it (e.g. "lookup order")
  • Description — Explains to the AI when this action should be used
  • Endpoint URL — The HTTPS URL to call
  • HTTP Method — GET, POST, PUT, PATCH, or DELETE
  • Custom Headers — Authorization tokens or other headers

Parameters

Actions can accept parameters that are passed to your endpoint. Each parameter has a name, type, and source.

Parameter types

  • string — Free-form text
  • number — Numeric value
  • boolean — True or false
  • enum — One of a predefined set of values

Parameter sources

  • customer — Collected by the AI from the conversation (e.g. "What's your order number?")
  • context — Extracted from the conversation context automatically
  • system — Injected server-side (e.g. the customer ID) — never exposed to the user

Request format

How parameters are sent depends on the HTTP method:

  • GET, DELETE — Parameters are appended as query strings
  • POST, PUT, PATCH — Parameters are sent in a JSON body

Example: POST request

POST https://api.acme.com/actions/create-ticket

{
  "subject": "Billing question",
  "priority": "high",
  "customerId": "cus_12345"
}

Example: GET request

GET https://api.acme.com/actions/order-status
  ?orderId=4521

Customer confirmation

Enable Requires Confirmation on an action to make the chatbot ask the customer for approval before executing. This is useful for destructive or sensitive operations like cancelling an order or updating account details.

When confirmation is required, the AI will present the action and collected parameters to the customer and wait for explicit approval before making the API call.

Testing

Each action has a Test button that lets you fire it with sample argument values. The test result shows:

  • HTTP status code and response time
  • The response body from your endpoint
  • Any errors (timeouts, connection failures, invalid URLs)

Security

  • HTTPS only — Action endpoints must use HTTPS (HTTP is rejected)
  • Private IPs blocked — Localhost, private IP ranges, and metadata endpoints are rejected
  • Timeout — Requests time out after 10 seconds by default (configurable 1-30s)
  • Response truncation — Responses over 4,000 characters are truncated to prevent token explosion in the AI context
  • Server-side execution — All API calls happen server-to-server from CustomerHero's infrastructure, never from the browser

Next steps

Learn how to surface customer context to the chatbot in the Integrations guide, or build a full custom integration with the REST API.