Overview

Automations are rules that execute actions when specific events occur on a board. The API allows you to create, update, and manage automation rules programmatically.

List Automations

List all automation rules for a board.
GET /api/trpc/automations.list?input={"json":{"boardId":"brd_01HXK5..."}}
Response:
{
  "result": {
    "data": {
      "json": {
        "automations": [
          {
            "id": "aut_01HXK5QJBN3YZXM8KJP2RSNV4C",
            "boardId": "brd_01HXK5...",
            "name": "Auto-assign bugs to QA",
            "enabled": true,
            "trigger": {
              "type": "item.created",
              "config": {
                "groupId": "grp_01HXK5..."
              }
            },
            "conditions": [
              {
                "columnId": "col_01HXK5...",
                "operator": "is",
                "value": { "label": "Bug" }
              }
            ],
            "actions": [
              {
                "type": "set_value",
                "config": {
                  "columnId": "col_01HXK6...",
                  "value": ["usr_01HXK5..."]
                }
              },
              {
                "type": "send_notification",
                "config": {
                  "userIds": ["usr_01HXK5..."],
                  "message": "New bug assigned to you: {item.name}"
                }
              }
            ],
            "executionCount": 47,
            "lastExecutedAt": "2026-03-19T13:00:00.000Z",
            "createdBy": "usr_01HXK5...",
            "createdAt": "2026-02-15T10:00:00.000Z"
          }
        ]
      }
    }
  }
}

Create Automation

Create a new automation rule.
POST /api/trpc/automations.create
Request:
{
  "json": {
    "boardId": "brd_01HXK5...",
    "name": "Notify on high priority",
    "trigger": {
      "type": "value.changed",
      "config": {
        "columnId": "col_01HXK5..."
      }
    },
    "conditions": [
      {
        "columnId": "col_01HXK5...",
        "operator": "is",
        "value": { "label": "Critical", "color": "#ef4444" }
      }
    ],
    "actions": [
      {
        "type": "send_notification",
        "config": {
          "userIds": ["usr_01HXK5...", "usr_01HXK6..."],
          "message": "Critical item: {item.name} needs attention!"
        }
      },
      {
        "type": "call_webhook",
        "config": {
          "url": "https://hooks.slack.com/services/T.../B.../xxx",
          "method": "POST",
          "body": {
            "text": "Critical item created: {item.name}"
          }
        }
      }
    ]
  }
}

Trigger Types

TypeConfigDescription
item.createdgroupId?New item created (optionally in a specific group)
item.movedfromGroupId?, toGroupId?Item moved between groups
value.changedcolumnId, fromValue?, toValue?Column value changes
date.arrivedcolumnId, offsetDays?Date column reaches today +/- offset
form.submittedformIdForm submission received
subitems.completedAll sub-items marked as done
recurringcronRecurring schedule (cron expression)
webhook.receivedExternal webhook received

Action Types

TypeConfigDescription
set_valuecolumnId, valueSet a column value
assign_personcolumnId, userIdsSet the people column
move_itemgroupId, boardId?Move item to a group/board
create_itemboardId, groupId, name, values?Create a new item
archive_itemArchive the triggering item
send_notificationuserIds, messageSend in-app notification
send_emailto, subject, bodySend an email
call_webhookurl, method, headers?, body?Call an external webhook
create_subitemname, values?Add a sub-item

Update Automation

POST /api/trpc/automations.update
{
  "json": {
    "id": "aut_01HXK5...",
    "name": "Updated automation name",
    "enabled": false,
    "conditions": []
  }
}

Delete Automation

POST /api/trpc/automations.delete
{
  "json": {
    "id": "aut_01HXK5..."
  }
}

Toggle Automation

Enable or disable an automation without deleting it.
POST /api/trpc/automations.toggle
{
  "json": {
    "id": "aut_01HXK5...",
    "enabled": true
  }
}

Execution Log

View the execution history of an automation.
GET /api/trpc/automations.log?input={"json":{"automationId":"aut_01HXK5...","limit":20}}
Response:
{
  "result": {
    "data": {
      "json": {
        "executions": [
          {
            "id": "exe_01HXK5...",
            "automationId": "aut_01HXK5...",
            "status": "success",
            "triggeredBy": {
              "type": "value.changed",
              "itemId": "itm_01HXK5...",
              "userId": "usr_01HXK5..."
            },
            "actionsExecuted": 2,
            "duration": 142,
            "executedAt": "2026-03-19T13:00:00.000Z"
          }
        ],
        "nextCursor": null
      }
    }
  }
}
Execution logs include the duration in milliseconds, making it easy to identify slow automations. Logs are retained for 30 days.

Template Variables

Automation actions support template variables that are replaced at execution time:
VariableDescription
{item.name}Name of the triggering item
{item.id}ID of the triggering item
{item.url}Full URL to the item
{board.name}Name of the board
{group.name}Name of the item’s group
{user.name}Name of the user who triggered the event
{value.old}Previous value (for value.changed triggers)
{value.new}New value (for value.changed triggers)