Task setup and workflow failures
Repeat Workflow automations task setup and review or acknowledge workflow failures.
The APIs on this page require alpha access for your organization. App availability and API access are separate. Check access and permissions.
Get Workflow automations task setup
GET /v1/scheduled-runs/workflow-automations/task-setup
Gets whether Workflow automations in Attio is set up for tasks, and its latest task setup run: its state, when it started and ended, and how many tasks it went through. Only ids, times and states come back: never a task, a record, a workflow's name or a person's name.
Requires scheduled_runs:config:read. The connection also needs access to the relevant tables, objects, or workflows.
MCP action: get_workflow_automations_task_setup. Its argument names match the fields below; an HTTP header is passed using its argument name in MCP.
No request parameters are needed.
Response
| HTTP status | Result |
|---|---|
200 |
The requested result. Asynchronous work returns an operation to poll. |
Required fields are required within their containing object. Notes identify fields that apply only to a particular response alternative.
| Response field | Type | Required in object | Notes |
|---|---|---|---|
data |
object | Yes | |
data.object |
"task_setup" |
Yes | |
data.registered |
boolean | Yes | |
data.run |
object or null | Yes | |
data.run.id |
string | Yes | Alternative 1. |
data.run.state |
"running", "waiting", "complete", "failed", "canceled" |
Yes | Alternative 1. |
data.run.trigger |
"first_setup", "customer_rerun", "admin_resume", "admin_start_over" |
Yes | Alternative 1. |
data.run.started_at |
string | Yes | Alternative 1. |
data.run.finished_at |
string or null | Yes | Alternative 1. |
data.run.tasks_processed |
integer | Yes | Alternative 1. |
data.run.tasks_captured |
integer | Yes | Alternative 1. |
data.run.skipped |
integer | Yes | Alternative 1. |
data.run.failed_tasks |
integer | Yes | Alternative 1. |
data.run.problem |
string or null | Yes | Alternative 1. |
Errors
| HTTP status | Meaning |
|---|---|
400 |
One of: credential_in_url, invalid_parameter, unknown_parameter. |
401 |
One of: missing_credential, invalid_credential, credential_expired, credential_revoked. |
402 |
One of: payment_overdue. |
403 |
The current permissions, plan or policy do not allow this request. |
404 |
One of: not_found. |
409 |
The request conflicts with current resource state, authorization or an earlier request. Read the error code and current resource before retrying. |
410 |
The requested resource or retained recovery data has expired. |
413 |
One of: request_too_large. |
422 |
A field, filter or selection cannot be used for this request. |
423 |
One of: organization_reopening. |
428 |
One of: customer_agreement_required. |
429 |
One of: rate_limited. |
503 |
One of: service_unavailable. |
See errors and recovery and safe retries before repeating a write.
Run Workflow automations task setup again
POST /v1/scheduled-runs/workflow-automations/task-setup/runs
Runs task setup again from the start: Workflow automations in Attio goes through the workspace's tasks again so workflows see each one as it is now. Refused while a run is still going. Send a new request_key for each new run; a repeat with the same key answers the same run.
Requires scheduled_runs:config:write. The connection also needs access to the relevant tables, objects, or workflows.
MCP action: start_workflow_automations_task_setup. Its argument names match the fields below; an HTTP header is passed using its argument name in MCP.
Parameters
| Name | Send in | Required | Type or allowed values | Notes |
|---|---|---|---|---|
request_key |
Header: Idempotency-Key |
Yes | string |
Response
| HTTP status | Result |
|---|---|
202 |
The requested result. Asynchronous work returns an operation to poll. |
Required fields are required within their containing object. Notes identify fields that apply only to a particular response alternative.
| Response field | Type | Required in object | Notes |
|---|---|---|---|
data |
object | Yes | |
data.object |
"task_setup_run" |
Yes | |
data.run |
object | Yes | |
data.run.id |
string | Yes | |
data.run.state |
"running", "waiting", "complete", "failed", "canceled" |
Yes | |
data.run.trigger |
"first_setup", "customer_rerun", "admin_resume", "admin_start_over" |
Yes | |
data.run.started_at |
string | Yes | |
data.run.finished_at |
string or null | Yes | |
data.run.tasks_processed |
integer | Yes | |
data.run.tasks_captured |
integer | Yes | |
data.run.skipped |
integer | Yes | |
data.run.failed_tasks |
integer | Yes | |
data.run.problem |
string or null | Yes |
Accepted work can continue after the request returns. Follow its returned status or operation until it finishes; accepting work does not mean every item succeeded. See operation status.
Errors
| HTTP status | Meaning |
|---|---|
400 |
One of: credential_in_url, invalid_parameter, unknown_parameter, invalid_request. |
401 |
One of: missing_credential, invalid_credential, credential_expired, credential_revoked. |
402 |
One of: payment_overdue. |
403 |
The current permissions, plan or policy do not allow this request. |
404 |
One of: not_found. |
409 |
The request conflicts with current resource state, authorization or an earlier request. Read the error code and current resource before retrying. |
410 |
The requested resource or retained recovery data has expired. |
413 |
One of: request_too_large. |
422 |
A field, filter or selection cannot be used for this request. |
423 |
One of: organization_reopening. |
428 |
One of: customer_agreement_required. |
429 |
One of: rate_limited. |
503 |
One of: service_unavailable. |
See errors and recovery and safe retries before repeating a write.
List Workflow automations failures
GET /v1/scheduled-runs/workflow-automations/failures
Lists failed runs of Workflow automations' steps and triggers over the days Activity shows in Neon Deer, latest first, one page at a time. Send unresolved=true for only the failures nobody has resolved yet. Only ids, times and states come back: never a task, a record, a workflow's name or a person's name.
Requires scheduled_runs:config:read. The connection also needs access to the relevant tables, objects, or workflows.
MCP action: list_workflow_automations_failures. Its argument names match the fields below; an HTTP header is passed using its argument name in MCP.
Parameters
| Name | Send in | Required | Type or allowed values | Notes |
|---|---|---|---|---|
unresolved |
query | No | boolean | Use true or false in the query string. |
cursor |
query | No | string |
Response
| HTTP status | Result |
|---|---|
200 |
The requested result. Asynchronous work returns an operation to poll. |
Required fields are required within their containing object. Notes identify fields that apply only to a particular response alternative.
| Response field | Type | Required in object | Notes |
|---|---|---|---|
data |
array of object | Yes | |
data[].object |
"automation_failure" |
Yes | |
data[].id |
string | Yes | |
data[].step_id |
string | Yes | |
data[].workflow_id |
string or null | Yes | |
data[].occurred_at |
string | Yes | |
data[].error_class |
string or null | Yes | |
data[].resolved |
boolean | Yes | |
data[].resolved_at |
string or null | Yes | |
pagination |
object | Yes | |
pagination.next_cursor |
string or null | Yes |
Errors
| HTTP status | Meaning |
|---|---|
400 |
One of: credential_in_url, invalid_parameter, unknown_parameter, invalid_request, invalid_cursor. |
401 |
One of: missing_credential, invalid_credential, credential_expired, credential_revoked. |
402 |
One of: payment_overdue. |
403 |
The current permissions, plan or policy do not allow this request. |
404 |
One of: not_found. |
409 |
The request conflicts with current resource state, authorization or an earlier request. Read the error code and current resource before retrying. |
410 |
The requested resource or retained recovery data has expired. |
413 |
One of: request_too_large. |
422 |
A field, filter or selection cannot be used for this request. |
423 |
One of: organization_reopening. |
428 |
One of: customer_agreement_required. |
429 |
One of: rate_limited. |
503 |
One of: service_unavailable. |
See errors and recovery and safe retries before repeating a write.
Resolve Workflow automations failures
POST /v1/scheduled-runs/workflow-automations/failures/resolve
Marks failed runs resolved, so they stop needing attention in Neon Deer. Select the runs to change. A run that is already resolved, or not a failure in this organization, is left as it is; changed says how many moved. Reopen them to undo it.
Requires scheduled_runs:config:write. The connection also needs access to the relevant tables, objects, or workflows.
MCP action: update_workflow_automations_failures_resolved. Its argument names match the fields below; an HTTP header is passed using its argument name in MCP.
Parameters
| Name | Send in | Required | Type or allowed values | Notes |
|---|---|---|---|---|
run_ids |
JSON body | Yes | array of string (uuid) | |
request_key |
Header: Idempotency-Key |
Yes | string |
Response
| HTTP status | Result |
|---|---|
200 |
The requested result. Asynchronous work returns an operation to poll. |
Required fields are required within their containing object. Notes identify fields that apply only to a particular response alternative.
| Response field | Type | Required in object | Notes |
|---|---|---|---|
data |
object | Yes | |
data.object |
"automation_failures_change" |
Yes | |
data.changed |
integer | Yes |
Errors
| HTTP status | Meaning |
|---|---|
400 |
One of: credential_in_url, invalid_parameter, unknown_parameter, invalid_request. |
401 |
One of: missing_credential, invalid_credential, credential_expired, credential_revoked. |
402 |
One of: payment_overdue. |
403 |
The current permissions, plan or policy do not allow this request. |
404 |
One of: not_found. |
409 |
The request conflicts with current resource state, authorization or an earlier request. Read the error code and current resource before retrying. |
410 |
The requested resource or retained recovery data has expired. |
413 |
One of: request_too_large. |
422 |
A field, filter or selection cannot be used for this request. |
423 |
One of: organization_reopening. |
428 |
One of: customer_agreement_required. |
429 |
One of: rate_limited. |
503 |
One of: service_unavailable. |
See errors and recovery and safe retries before repeating a write.
Reopen Workflow automations failures
POST /v1/scheduled-runs/workflow-automations/failures/reopen
Marks resolved failures open again, so they need attention in Neon Deer. Select the runs to change. A run that is still open, or not a failure in this organization, is left as it is; changed says how many moved.
Requires scheduled_runs:config:write. The connection also needs access to the relevant tables, objects, or workflows.
MCP action: update_workflow_automations_failures_open. Its argument names match the fields below; an HTTP header is passed using its argument name in MCP.
Parameters
| Name | Send in | Required | Type or allowed values | Notes |
|---|---|---|---|---|
run_ids |
JSON body | Yes | array of string (uuid) | |
request_key |
Header: Idempotency-Key |
Yes | string |
Response
| HTTP status | Result |
|---|---|
200 |
The requested result. Asynchronous work returns an operation to poll. |
Required fields are required within their containing object. Notes identify fields that apply only to a particular response alternative.
| Response field | Type | Required in object | Notes |
|---|---|---|---|
data |
object | Yes | |
data.object |
"automation_failures_change" |
Yes | |
data.changed |
integer | Yes |
Errors
| HTTP status | Meaning |
|---|---|
400 |
One of: credential_in_url, invalid_parameter, unknown_parameter, invalid_request. |
401 |
One of: missing_credential, invalid_credential, credential_expired, credential_revoked. |
402 |
One of: payment_overdue. |
403 |
The current permissions, plan or policy do not allow this request. |
404 |
One of: not_found. |
409 |
The request conflicts with current resource state, authorization or an earlier request. Read the error code and current resource before retrying. |
410 |
The requested resource or retained recovery data has expired. |
413 |
One of: request_too_large. |
422 |
A field, filter or selection cannot be used for this request. |
423 |
One of: organization_reopening. |
428 |
One of: customer_agreement_required. |
429 |
One of: rate_limited. |
503 |
One of: service_unavailable. |
See errors and recovery and safe retries before repeating a write.
The public OpenAPI document lists generally available API families. Alpha operations may not appear in that document; their request and response fields are listed on this page. Use the API Playground to inspect a real response with your connection's access.