Skip to content
Convor
Convor Docs
API ReferenceAutomation Rules

List conversation rules

Read the ordered rules and localized replies for the selected project.

GET/api/automation-rules

Read the ordered rules and localized replies for the selected project. Replies are optional; all matching rule actions are evaluated.

Endpoint requirements

Credentials
Use either Bearer API key or X-API-Key header.
Required scope
automation-rules:read
Module
Automation & API module (api_access)
Organization and site scope
single-project
Retry behavior
Safe read: You can safely retry this read-only request after a transport failure. It does not change resource state.

Query Parameters

channel?string

Query parameter. Channel. Allowed values: widget, messenger, instagram, whatsapp, allegro, email.

Value in

  • "widget"
  • "messenger"
  • "instagram"
  • "whatsapp"
  • "allegro"
  • "email"
accountId?string

Query parameter. Unique identifier of the related account.

Length1 <= length <= 200

Header Parameters

X-Project-Id?|

DA-4035: selects the active site (project) for project-scoped operations. Accepts a site UUID, or the literal all to aggregate across every accessible site on read-only aggregate routes (single-or-all-read). Mutations and single-site routes reject all. Path-owned project routes (/api/projects/{projectId}/…) resolve the site from the URL and ignore this header. Conflicting selectors across header/query/body/path return PROJECT_CONTEXT_CONFLICT (400); an archived site returns PROJECT_ARCHIVED (410).

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

{  "data": [    {      "id": "11111111-1111-4111-8111-111111111111",      "orgId": "11111111-1111-4111-8111-111111111111",      "name": "Example name",      "enabled": true,      "createdBySystem": true,      "priority": 1,      "intent": "general",      "channels": [        "widget"      ],      "accounts": {},      "timing": {        "timezone": "Europe/Warsaw",        "startsAt": "2026-08-04T10:00:00.000Z",        "endsAt": "2026-08-04T10:00:00.000Z",        "schedule": null,        "cooldownHours": 1      },      "conditions": {        "type": "all",        "conditions": [          {            "type": "conversation_event",            "value": "visitor_message"          }        ]      },      "response": {        "type": "text",        "quickReplies": [],        "collectFields": []      },      "actions": [        {          "type": "add_tag",          "tag": "example"        }      ],      "translations": [        {          "locale": "en",          "status": "draft",          "sourceLocale": "en",          "machineTranslatedAt": "2026-08-04T10:00:00.000Z",          "reviewedAt": "2026-08-04T10:00:00.000Z",          "reviewedBy": "example",          "createdAt": "2026-08-04T10:00:00.000Z",          "updatedAt": "2026-08-04T10:00:00.000Z",          "id": "11111111-1111-4111-8111-111111111111",          "message": "Example customer-support message.",          "handoffMessage": "Example customer-support message.",          "handoffOfflineMessage": "Example customer-support message.",          "externalFallbackMessage": "Example customer-support message.",          "quickReplyLabels": {},          "collectFieldCopy": {}        }      ],      "createdAt": "2026-08-04T10:00:00.000Z",      "updatedAt": "2026-08-04T10:00:00.000Z"    }  ]}

Request examples

curl

curl --request GET \
  'https://api.convor.io/api/automation-rules' \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer convor_sk_...'

JavaScript

const response = await fetch("https://api.convor.io/api/automation-rules", {
  method: "GET",
  headers: {
    "Accept": "application/json",
    "Authorization": "Bearer convor_sk_..."
  },
});

const contentType = response.headers.get("content-type") ?? "";
const data = response.status === 204
  ? null
  : contentType.includes("json")
    ? await response.json()
    : contentType.startsWith("text/")
      ? await response.text()
      : await response.blob();

if (!response.ok) {
  const message = typeof data === "object" && data !== null
    && "error" in data && typeof data.error === "object"
    && data.error !== null && "message" in data.error
      ? String(data.error.message)
      : "Convor API request failed (" + response.status + ")";
  throw new Error(message);
}

console.log(data);

Was this page helpful?

On this page