API reference

Automations

11 operations, generated from the OpenAPI document.

A base's automations, oldest first (creators and up)

GET /api/bases/{baseId}/automations

Access: base:manage_automations on the base (see ACTIONS for the minimum role); signed-in session only (no personal access tokens).

Parameters

NameInTypeRequired
baseIdpathstringyes

Responses

  • 200 Success
    • automations array of object required
      • id string (uuid) required
      • baseId string (uuid) required
      • name string required
      • description string required
      • enabled boolean required
      • disabledReason "creator_access" | null required
      • trigger object required
      • actions array of object required
      • createdBy string (uuid) | null required
      • lastRunAt string (date-time) | null required
      • lastRunStatus "succeeded" | "failed" | "skipped" | null required
      • nextRunAt string (date-time) | null required
      • webhookUrl string | null required
      • webhookSample object | null required
        • receivedAt string (date-time) required
        • body any required
      • createdAt string (date-time) required
      • updatedAt string (date-time) required
      • runCount integer required
    • scripts object required
      • available boolean required
      • reason "disabled" | "plan" | null required
      • limits object | null required
        • timeoutSeconds integer required
        • cpuSeconds integer required
        • memoryMb integer required
  • 401 Not signed in
  • 403 Signed in, but the role is too low
  • 404 No such resource, or no access to it
  • 429 Too many requests: a rate limit was reached (see Retry-After)

Create an automation: a trigger and up to 25 actions, run as you

POST /api/bases/{baseId}/automations

Access: base:manage_automations on the base (see ACTIONS for the minimum role); signed-in session only (no personal access tokens).

Parameters

NameInTypeRequired
baseIdpathstringyes

Request body

  • name string required
  • description string
  • trigger object required
  • actions array of object
  • enabled boolean

Responses

  • 201 Success
    • id string (uuid) required
    • baseId string (uuid) required
    • name string required
    • description string required
    • enabled boolean required
    • disabledReason "creator_access" | null required
    • trigger object required
    • actions array of object required
    • createdBy string (uuid) | null required
    • lastRunAt string (date-time) | null required
    • lastRunStatus "succeeded" | "failed" | "skipped" | null required
    • nextRunAt string (date-time) | null required
    • webhookUrl string | null required
    • webhookSample object | null required
      • receivedAt string (date-time) required
      • body any required
    • createdAt string (date-time) required
    • updatedAt string (date-time) required
  • 401 Not signed in
  • 403 Signed in, but the role is too low
  • 404 No such resource, or no access to it
  • 422 The request failed validation
  • 429 Too many requests: a rate limit was reached (see Retry-After)

An automation

GET /api/bases/{baseId}/automations/{automationId}

Access: base:manage_automations on the base (see ACTIONS for the minimum role); signed-in session only (no personal access tokens).

Parameters

NameInTypeRequired
baseIdpathstringyes
automationIdpathstring (uuid)yes

Responses

  • 200 Success
    • id string (uuid) required
    • baseId string (uuid) required
    • name string required
    • description string required
    • enabled boolean required
    • disabledReason "creator_access" | null required
    • trigger object required
    • actions array of object required
    • createdBy string (uuid) | null required
    • lastRunAt string (date-time) | null required
    • lastRunStatus "succeeded" | "failed" | "skipped" | null required
    • nextRunAt string (date-time) | null required
    • webhookUrl string | null required
    • webhookSample object | null required
      • receivedAt string (date-time) required
      • body any required
    • createdAt string (date-time) required
    • updatedAt string (date-time) required
  • 401 Not signed in
  • 403 Signed in, but the role is too low
  • 404 No such resource, or no access to it
  • 429 Too many requests: a rate limit was reached (see Retry-After)

Change an automation, or turn it on or off (turning it on runs it as you)

PATCH /api/bases/{baseId}/automations/{automationId}

Access: base:manage_automations on the base (see ACTIONS for the minimum role); signed-in session only (no personal access tokens).

Parameters

NameInTypeRequired
baseIdpathstringyes
automationIdpathstring (uuid)yes

Request body

  • name string
  • description string
  • trigger object
  • actions array of object
  • enabled boolean

Responses

  • 200 Success
    • id string (uuid) required
    • baseId string (uuid) required
    • name string required
    • description string required
    • enabled boolean required
    • disabledReason "creator_access" | null required
    • trigger object required
    • actions array of object required
    • createdBy string (uuid) | null required
    • lastRunAt string (date-time) | null required
    • lastRunStatus "succeeded" | "failed" | "skipped" | null required
    • nextRunAt string (date-time) | null required
    • webhookUrl string | null required
    • webhookSample object | null required
      • receivedAt string (date-time) required
      • body any required
    • createdAt string (date-time) required
    • updatedAt string (date-time) required
  • 401 Not signed in
  • 403 Signed in, but the role is too low
  • 404 No such resource, or no access to it
  • 422 The request failed validation
  • 429 Too many requests: a rate limit was reached (see Retry-After)

Delete an automation and its run history

DELETE /api/bases/{baseId}/automations/{automationId}

Access: base:manage_automations on the base (see ACTIONS for the minimum role); signed-in session only (no personal access tokens).

Parameters

NameInTypeRequired
baseIdpathstringyes
automationIdpathstring (uuid)yes

Responses

  • 204 Success, no content
  • 401 Not signed in
  • 403 Signed in, but the role is too low
  • 404 No such resource, or no access to it
  • 429 Too many requests: a rate limit was reached (see Retry-After)

The base's failed runs of the last 30 days not retried yet, newest first

GET /api/bases/{baseId}/automation-runs/failed

Access: base:manage_automations on the base (see ACTIONS for the minimum role); signed-in session only (no personal access tokens).

Parameters

NameInTypeRequired
baseIdpathstringyes
limitqueryintegerno

Responses

  • 200 Success
    • runs array of object required
      • id string (uuid) required
      • automationId string (uuid) required
      • status "succeeded" | "failed" | "skipped" required
      • mode "live" | "test" | "retry" required
      • skipReason "loop" | "quota" | null required
      • retryOf string (uuid) | null required
      • trigger any required
      • steps array of object required
        • index integer required
        • type "createRecord" | "updateRecord" | "findRecords" | "sendEmail" | "httpRequest" | "slackMessage" | "runScript" required
        • status "succeeded" | "failed" | "skipped" required
        • input any required
        • output any required
        • error string | null required
        • durationMs integer required
      • error string | null required
      • depth integer required
      • triggeredBy string (uuid) | null required
      • durationMs integer required
      • createdAt string (date-time) required
      • automationName string required
  • 401 Not signed in
  • 403 Signed in, but the role is too low
  • 404 No such resource, or no access to it
  • 422 The request failed validation
  • 429 Too many requests: a rate limit was reached (see Retry-After)

An automation's runs of the last 30 days, newest first, with each step

GET /api/bases/{baseId}/automations/{automationId}/runs

Access: base:manage_automations on the base (see ACTIONS for the minimum role); signed-in session only (no personal access tokens).

Parameters

NameInTypeRequired
baseIdpathstringyes
automationIdpathstring (uuid)yes
limitqueryintegerno
statusquery"succeeded" | "failed" | "skipped"no

Responses

  • 200 Success
    • runs array of object required
      • id string (uuid) required
      • automationId string (uuid) required
      • status "succeeded" | "failed" | "skipped" required
      • mode "live" | "test" | "retry" required
      • skipReason "loop" | "quota" | null required
      • retryOf string (uuid) | null required
      • trigger any required
      • steps array of object required
        • index integer required
        • type "createRecord" | "updateRecord" | "findRecords" | "sendEmail" | "httpRequest" | "slackMessage" | "runScript" required
        • status "succeeded" | "failed" | "skipped" required
        • input any required
        • output any required
        • error string | null required
        • durationMs integer required
      • error string | null required
      • depth integer required
      • triggeredBy string (uuid) | null required
      • durationMs integer required
      • createdAt string (date-time) required
  • 401 Not signed in
  • 403 Signed in, but the role is too low
  • 404 No such resource, or no access to it
  • 422 The request failed validation
  • 429 Too many requests: a rate limit was reached (see Retry-After)

Test an automation: its trigger with a sample record (or webhook request) and its actions for real, as you

POST /api/bases/{baseId}/automations/{automationId}/test

Access: base:manage_automations on the base (see ACTIONS for the minimum role); signed-in session only (no personal access tokens).

Parameters

NameInTypeRequired
baseIdpathstringyes
automationIdpathstring (uuid)yes

Request body

  • recordId string (uuid)

Responses

  • 200 Success
    • id string (uuid) required
    • automationId string (uuid) required
    • status "succeeded" | "failed" | "skipped" required
    • mode "live" | "test" | "retry" required
    • skipReason "loop" | "quota" | null required
    • retryOf string (uuid) | null required
    • trigger any required
    • steps array of object required
      • index integer required
      • type "createRecord" | "updateRecord" | "findRecords" | "sendEmail" | "httpRequest" | "slackMessage" | "runScript" required
      • status "succeeded" | "failed" | "skipped" required
      • input any required
      • output any required
      • error string | null required
      • durationMs integer required
    • error string | null required
    • depth integer required
    • triggeredBy string (uuid) | null required
    • durationMs integer required
    • createdAt string (date-time) required
  • 401 Not signed in
  • 403 Signed in, but the role is too low
  • 404 No such resource, or no access to it
  • 422 The request failed validation
  • 429 Too many requests: a rate limit was reached (see Retry-After)

Run a failed run again from its trigger data, as you (once per run)

POST /api/bases/{baseId}/automations/{automationId}/runs/{runId}/retry

Access: base:manage_automations on the base (see ACTIONS for the minimum role); signed-in session only (no personal access tokens).

Parameters

NameInTypeRequired
baseIdpathstringyes
automationIdpathstring (uuid)yes
runIdpathstring (uuid)yes

Responses

  • 200 Success
    • id string (uuid) required
    • automationId string (uuid) required
    • status "succeeded" | "failed" | "skipped" required
    • mode "live" | "test" | "retry" required
    • skipReason "loop" | "quota" | null required
    • retryOf string (uuid) | null required
    • trigger any required
    • steps array of object required
      • index integer required
      • type "createRecord" | "updateRecord" | "findRecords" | "sendEmail" | "httpRequest" | "slackMessage" | "runScript" required
      • status "succeeded" | "failed" | "skipped" required
      • input any required
      • output any required
      • error string | null required
      • durationMs integer required
    • error string | null required
    • depth integer required
    • triggeredBy string (uuid) | null required
    • durationMs integer required
    • createdAt string (date-time) required
  • 401 Not signed in
  • 403 Signed in, but the role is too low
  • 404 No such resource, or no access to it
  • 429 Too many requests: a rate limit was reached (see Retry-After)

A new URL for a webhook-received trigger; the old one stops working at once

POST /api/bases/{baseId}/automations/{automationId}/webhook-url

Access: base:manage_automations on the base (see ACTIONS for the minimum role); signed-in session only (no personal access tokens).

Parameters

NameInTypeRequired
baseIdpathstringyes
automationIdpathstring (uuid)yes

Responses

  • 200 Success
    • id string (uuid) required
    • baseId string (uuid) required
    • name string required
    • description string required
    • enabled boolean required
    • disabledReason "creator_access" | null required
    • trigger object required
    • actions array of object required
    • createdBy string (uuid) | null required
    • lastRunAt string (date-time) | null required
    • lastRunStatus "succeeded" | "failed" | "skipped" | null required
    • nextRunAt string (date-time) | null required
    • webhookUrl string | null required
    • webhookSample object | null required
      • receivedAt string (date-time) required
      • body any required
    • createdAt string (date-time) required
    • updatedAt string (date-time) required
  • 401 Not signed in
  • 403 Signed in, but the role is too low
  • 404 No such resource, or no access to it
  • 429 Too many requests: a rate limit was reached (see Retry-After)

Click a record's button that runs automations (editors who may edit the record)

POST /api/tables/{tableId}/records/{recordId}/buttons/{fieldId}

Access: record:update on the table (see ACTIONS for the minimum role); personal access tokens need data.records:write.

Parameters

NameInTypeRequired
tableIdpathstringyes
recordIdpathstring (uuid)yes
fieldIdpathstring (uuid)yes

Responses

  • 200 Success
    • started integer required
  • 401 Not signed in
  • 403 Signed in, but the role is too low
  • 404 No such resource, or no access to it
  • 429 Too many requests: a rate limit was reached (see Retry-After)