Overview

These endpoints extend the Automations API with manual execution and execution history capabilities. Use runNow to trigger an automation against all current board items, and getExecutionHistory to review past execution records for debugging and audit purposes.

Run Now

Manually trigger an automation rule against all items on its board. The automation’s conditions are evaluated for each item, and matching items have the automation’s actions applied.

POST /api/trpc/automations.runNow

Request:

{
  "json": {
    "ruleId": "aut_01HXK5QJBN3YZXM8KJP2RSNV4C"
  }
}
FieldTypeRequiredDescription
ruleIdstringYesThe automation rule ID to execute

Response:

{
  "result": {
    "data": {
      "json": {
        "executedCount": 42,
        "ruleId": "aut_01HXK5QJBN3YZXM8KJP2RSNV4C",
        "ruleName": "Auto-assign bugs to QA"
      }
    }
  }
}
FieldTypeDescription
executedCountnumberNumber of board items the automation was run against
ruleIdstringThe automation rule ID that was executed
ruleNamestringThe human-readable name of the rule

Run Now processes all items on the board asynchronously. For boards with many items, execution may take several seconds to complete. The response returns immediately with the count of items queued for processing.

The automation must belong to a board in the caller’s organization. Board ownership is verified server-side to prevent cross-tenant execution.

Get Execution History

Retrieve paginated execution records for a board’s automations. Supports filtering by rule ID and execution status, with cursor-based pagination for efficient retrieval of large histories.

GET /api/trpc/automations.getExecutionHistory?input={"json":{"boardId":"brd_01HXK5...","limit":20}}

Request Parameters:

ParameterTypeRequiredDescription
boardIdstringYesBoard whose execution history to fetch
ruleIdstringNoFilter to a specific automation rule
statusstringNoFilter by execution status: success, partial_failure, failure, skipped
limitnumberNoMax records to return (1-100, default: 50)
cursorstringNoPagination cursor (ISO 8601 timestamp from previous response’s nextCursor)

Response:

{
  "result": {
    "data": {
      "json": {
        "items": [
          {
            "id": "exe_01HXK5QJBN3YZXM8KJP2RSNV4C",
            "automationRuleId": "aut_01HXK5...",
            "boardId": "brd_01HXK5...",
            "organizationId": "org_01HXK5...",
            "status": "success",
            "triggerType": "status_changed",
            "itemId": "itm_01HXK5...",
            "conditionResults": [
              { "field": "priority", "operator": "equals", "value": "Critical", "passed": true }
            ],
            "actionResults": [
              { "type": "assign_person", "success": true },
              { "type": "send_notification", "success": true }
            ],
            "executedAt": "2026-03-31T08:15:00.000Z",
            "duration": 142,
            "error": null
          }
        ],
        "nextCursor": "2026-03-30T14:22:00.000Z"
      }
    }
  }
}

Execution Status Values

StatusDescription
successAll conditions passed and all actions completed successfully
partial_failureConditions passed but one or more actions failed
failureThe execution failed entirely
skippedConditions did not pass — the rule was evaluated but did not fire

Pagination

The endpoint uses cursor-based pagination. When more results are available, the response includes a nextCursor string. Pass this value as the cursor parameter in the next request to retrieve the next page.

When nextCursor is null or undefined, there are no more results.

# First page
GET /api/trpc/automations.getExecutionHistory?input={"json":{"boardId":"brd_01HXK5...","limit":20}}

# Next page
GET /api/trpc/automations.getExecutionHistory?input={"json":{"boardId":"brd_01HXK5...","limit":20,"cursor":"2026-03-30T14:22:00.000Z"}}

Execution logs are retained for 30 days. Older records are automatically purged.

Get Execution by ID

Retrieve a single execution record with full condition and action results for debugging.

GET /api/trpc/automations.getExecutionById?input={"json":{"id":"exe_01HXK5..."}}

Response: Returns the full execution object as shown in getExecutionHistory, including detailed conditionResults and actionResults arrays.