Project automations overview
Project automations are rule graphs that run inside one project.
The project 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
falsefor project automations.project_idsarray of string (uuid)A one-item list with the project in the path. Plane ignores
project_idsin the request body.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 project 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 project 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": false,
"project_ids": ["16c61a3a-512a-48ac-b0be-b6b46fe6f430"],
"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 related actor.
automation_edge_idstring (uuid)The related automation edge.
automation_idstring (uuid)The related automation.
automation_node_idstring (uuid)The related automation node.
automation_run_idstring (uuid)The related automation run.
automation_scopestringThe automation scope.
automation_version_idstring (uuid)The related automation version.
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.epochnumberThe epoch.
fieldstringThe field.
idstring (uuid)Unique identifier.
new_identifierstring (uuid)The new identifier.
new_valuestringThe new value.
node_execution_idstring (uuid)The related node execution.
old_identifierstring (uuid)The old identifier.
old_valuestringThe old value.
verbstringThe verb.
Endpoints
| Method | Path | Description |
|---|---|---|
GET | /api/v2/workspaces/{slug}/projects/{project_id}/automations/{automation_id}/activities/ | List automation activities |
GET | /api/v2/workspaces/{slug}/projects/{project_id}/automations/{automation_id}/edges/ | List automation edges |
GET | /api/v2/workspaces/{slug}/projects/{project_id}/automations/{automation_id}/nodes/ | List automation nodes |
GET | /api/v2/workspaces/{slug}/projects/{project_id}/automations/ | List project automations |
GET | /api/v2/workspaces/{slug}/projects/{project_id}/automations/{automation_id}/activities/{pk}/ | Get an automation activity |
GET | /api/v2/workspaces/{slug}/projects/{project_id}/automations/{automation_id}/edges/{pk}/ | Get an automation edge |
GET | /api/v2/workspaces/{slug}/projects/{project_id}/automations/{automation_id}/nodes/{pk}/ | Get an automation node |
GET | /api/v2/workspaces/{slug}/projects/{project_id}/automations/{pk}/ | Get a project automation |
POST | /api/v2/workspaces/{slug}/projects/{project_id}/automations/{automation_id}/edges/ | Create an automation edge |
POST | /api/v2/workspaces/{slug}/projects/{project_id}/automations/{automation_id}/nodes/ | Create an automation node |
POST | /api/v2/workspaces/{slug}/projects/{project_id}/automations/ | Create a project automation |
PATCH | /api/v2/workspaces/{slug}/projects/{project_id}/automations/{automation_id}/edges/{pk}/ | Update an automation edge |
PATCH | /api/v2/workspaces/{slug}/projects/{project_id}/automations/{automation_id}/nodes/{pk}/ | Update an automation node |
PATCH | /api/v2/workspaces/{slug}/projects/{project_id}/automations/{pk}/ | Update a project automation |
DELETE | /api/v2/workspaces/{slug}/projects/{project_id}/automations/{automation_id}/edges/{pk}/ | Delete an automation edge |
DELETE | /api/v2/workspaces/{slug}/projects/{project_id}/automations/{automation_id}/nodes/{pk}/ | Delete an automation node |
DELETE | /api/v2/workspaces/{slug}/projects/{project_id}/automations/{pk}/ | Delete a project automation |
POST | /api/v2/workspaces/{slug}/projects/{project_id}/automations/{automation_id}/nodes/{pk}/regenerate-webhook-secret/ | Regenerate an automation node webhook secret |
POST | /api/v2/workspaces/{slug}/projects/{project_id}/automations/{pk}/status/ | Enable or disable a project automation |
Response shaping
Every project automation read accepts ?fields= for sparse responses. See Sparse fields. Errors follow the shared problem+json contract.

