Skip to content

Automations

List automations

Returns all keyword automations of the workspace as a JSON array, newest first.

GET/api/v1/automations
  • Bearer API key
  • Scope: read or write
  • or app session
  • Workspace: X-Tenant-ID (optional with a key)

Headers

  • Authorizationstringrequired

    Your API key as Bearer <key>. The word Bearer and the space are case-sensitive. Browser clients signed in to the app use the session cookie instead.

    Constraints
    Keys start with pk_live_ and are 56 characters long.
    Example
    Bearer pk_live_…
  • X-Tenant-IDuuidoptional

    Workspace id. Optional with an API key (a key always acts in its own workspace); if you send it, it must match the key’s workspace. Required with a session cookie. You can pass ?tenant=<id> instead.

    Example
    8d0f6c2e-3b1a-4c55-9a7e-2f4b6d1e9c30

Response

200 OKapplication/json

  • []array<Automation>

    Automations, newest first.

    Show child attributesHide child attributes7
    • iduuid

      Automation id.

    • namestring

      Rule name.

    • keywordstring

      Keyword, stored in lower case.

    • replystring

      Text sent back when the keyword matches.

    • enabledinteger

      1 when the rule is on, 0 when it is off.

    • runsinteger

      How many times the rule has replied.

    • created_atinteger

      Creation time in Unix seconds.

Status codes

  • 200OK. An array of automations (not wrapped in an object).
  • 401Unauthorized. The API key is unknown, revoked or expired (invalid or expired API key), or there is no key and no signed-in session (unauthorized).
  • 402Payment required. Only when subscriptions are enforced and the workspace has no active subscription. The body includes code: "payment_required".
  • 403Forbidden. The X-Tenant-ID header or tenant query does not match the API key’s workspace (API key belongs to a different workspace), or a signed-in user is not a member of the workspace (forbidden).
  • 500Server error. The automations could not be loaded.

How are automations matched?

  • Every incoming message (not your own) is lower-cased and checked against the enabled automations.
  • A rule matches when its keyword appears anywhere in the message text, so the keyword price also matches “prices?”.
  • If several rules match, the oldest enabled rule wins and only one reply is sent.
  • Each reply increments the rule’s runs counter.