Workspace automations overview
Workspace automations are rule graphs that run across a workspace.
The workspace automation object
Attributes
idstring (uuid)Unique identifier.
namestringThe automation name. Maximum 255 characters.
descriptionstringWhat the automation is for. An empty string when not set.
scopestringThe entity the automation runs on.
work-itemis the only value.statusstringdraft,published, ordisabled. A new automation starts asdraft. Enabling it setspublished, and disabling it setsdisabled.is_enabledbooleanWhether the automation runs.
falseon a new automation. Change it with the status endpoint.is_globalbooleanAlways
truefor workspace automations.project_idsarray of string (uuid)The projects the automation is associated with. Set them with
project_idson create or update. Plane drops ids that aren't projects in this workspace. An empty list when none are set.run_countintegerHow many times the automation has run.
last_run_atstring (date-time) or nullWhen the automation last ran, or
nullif it hasn't run.bot_user_idstring (uuid) or nullThe bot user Plane creates for the automation. Its actions run as this user.
current_version_idstring (uuid) or nullThe current version of the automation's graph. Plane creates the first version when it creates the automation.
created_atstring (date-time)When the workspace automation was created.
created_by_idstring (uuid) or nullThe user who created the automation.
updated_by_idstring (uuid) or nullThe user who last updated the automation, or
null.updated_atstring (date-time)When the workspace automation was last updated.
{
"id": "9c1f0b3d-6d2e-4c9a-8b41-2f7e5a0d6c88",
"name": "Triage new bugs",
"description": "Assign new bugs to the on-call engineer.",
"scope": "work-item",
"status": "draft",
"is_enabled": false,
"is_global": true,
"project_ids": ["16c61a3a-512a-48ac-b0be-b6b46fe6f430", "4a8e2c71-9b3d-4f05-a6e2-7c1d8b9f3e40"],
"run_count": 0,
"last_run_at": null,
"bot_user_id": "f960d3c2-8524-4a41-b8eb-055ce4be2a7f",
"current_version_id": "3d7b9e15-2a4c-4f68-b0d1-8e6c5a9f2b74",
"created_at": "2026-01-14T09:22:41.478363Z",
"created_by_id": "e2b1c4d7-5f3a-4e89-9c62-1a7d0b8f4e35",
"updated_by_id": null,
"updated_at": "2026-01-14T09:22:41.478363Z"
}The automation activity object
The activity endpoints return this object.
Attributes
actor_idstring (uuid)The actor that performed the action.
automation_edge_idstring (uuid)The automation edge the activity relates to.
automation_idstring (uuid)The automation the activity belongs to.
automation_node_idstring (uuid)The automation node the activity relates to.
automation_run_idstring (uuid)The automation run that recorded the activity.
automation_scopestringThe automation's scope.
automation_version_idstring (uuid)The automation version the activity relates to.
created_atstring (date-time)When the activity entry was created.
updated_atstring (date-time)When the activity entry was last updated.
updated_by_idstring (uuid) or nullThe user who last updated the activity entry, or
null.epochnumberWhen the activity happened, as an epoch timestamp.
fieldstringThe field that changed.
idstring (uuid)Unique identifier.
new_identifierstring (uuid)id of the record the new value refers to.
new_valuestringThe value after the change.
node_execution_idstring (uuid)The node execution the activity relates to.
old_identifierstring (uuid)id of the record the old value refers to.
old_valuestringThe value before the change.
verbstringThe kind of action recorded.
Endpoints
| Method | Path | Description |
|---|---|---|
GET | /api/v2/workspaces/{slug}/automations/{automation_id}/activities/ | List automation activities |
GET | /api/v2/workspaces/{slug}/automations/{automation_id}/edges/ | List automation edges |
GET | /api/v2/workspaces/{slug}/automations/{automation_id}/nodes/ | List automation nodes |
GET | /api/v2/workspaces/{slug}/automations/ | List workspace automations |
GET | /api/v2/workspaces/{slug}/automations/{automation_id}/activities/{pk}/ | Get an automation activity |
GET | /api/v2/workspaces/{slug}/automations/{automation_id}/edges/{pk}/ | Get an automation edge |
GET | /api/v2/workspaces/{slug}/automations/{automation_id}/nodes/{pk}/ | Get an automation node |
GET | /api/v2/workspaces/{slug}/automations/{pk}/ | Get a workspace automation |
POST | /api/v2/workspaces/{slug}/automations/{automation_id}/edges/ | Create an automation edge |
POST | /api/v2/workspaces/{slug}/automations/{automation_id}/nodes/ | Create an automation node |
POST | /api/v2/workspaces/{slug}/automations/ | Create a workspace automation |
PATCH | /api/v2/workspaces/{slug}/automations/{automation_id}/edges/{pk}/ | Update an automation edge |
PATCH | /api/v2/workspaces/{slug}/automations/{automation_id}/nodes/{pk}/ | Update an automation node |
PATCH | /api/v2/workspaces/{slug}/automations/{pk}/ | Update a workspace automation |
DELETE | /api/v2/workspaces/{slug}/automations/{automation_id}/edges/{pk}/ | Delete an automation edge |
DELETE | /api/v2/workspaces/{slug}/automations/{automation_id}/nodes/{pk}/ | Delete an automation node |
DELETE | /api/v2/workspaces/{slug}/automations/{pk}/ | Delete a workspace automation |
POST | /api/v2/workspaces/{slug}/automations/{automation_id}/nodes/{pk}/regenerate-webhook-secret/ | Regenerate an automation node webhook secret |
POST | /api/v2/workspaces/{slug}/automations/{pk}/status/ | Enable or disable a workspace automation |
Response shaping
Every workspace automation read accepts ?fields= for sparse responses. See Sparse fields. Errors follow the shared problem+json contract.

