# Plane (/integrations/plane)





{/* MANUAL-CONTENT-START:intro */}

[Plane](https://plane.so/) manages projects, work items, and team planning.

With the Plane block, you can:

* **Manage work**: Create and update projects, work items, states, labels, comments, and attachments.
* **Plan delivery**: Organize cycles and modules, and summarize project progress.
* **Keep knowledge current**: Manage pages and sync project work items or pages into a Sim knowledge base.
* **React to changes**: Start agents from authenticated Plane webhook events.

Create a personal access token in Plane's profile settings and enter it as the API token. API v2 is the default. For Community Edition or an older self-hosted instance, select API v1 in the advanced settings and set the instance origin, optionally including its reverse-proxy path prefix. Omit `/api/v1` and `/api/v2` from the instance URL. The block exposes core workflow actions. Supported self-hosted actions use the same operation list. Resource availability depends on the instance's edition and version.

Explicit empty strings, nulls, and empty arrays can be supplied through **Body Overrides** using the action's canonical input names. Clearing work item labels and assignees is verified through API v1 because Plane v2 can continue returning deleted relationship IDs. The update action returns the verified cleared state; subsequent v2 reads may still include those IDs. Use API v1 when reading active relationships after a clear.

For webhooks, automatic registration requires API v2, an API token, and the workspace slug. Manual setup requires the webhook signing secret; it does not require an API token or workspace slug. On instances using API v1, create a webhook in Plane's settings and configure its signing secret in Sim. The trigger tables mark only unconditional requirements as required. Project-filtered legacy deletion events that omit their project cannot be matched and are skipped.

The knowledge connector reads API v1 to include full descriptions. It preserves existing documents when a listing is capped and disables automatic deletion reconciliation because offset listings can shift during concurrent changes. Project pages require an edition that exposes the pages API.

{/* MANUAL-CONTENT-END */}

## Use the block [#usage-instructions]

Connect Plane Cloud or a self-hosted Plane instance. API v2 is the default; choose API v1 for Community Edition or older instances. Actions with a current successor are consolidated. Unsupported version-specific inputs fail explicitly. Manage work items, projects, cycles, modules, states, labels, comments, links, attachments, pages, and webhooks. API v1 compatibility is available within supported current actions.

## Actions [#actions]

### Plane Archive a project [#plane-archive-a-project]

Archive a project in Plane. Supports API v1 compatibility.

<ReferenceDetails>
  #### Input [#input]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `apiKey` | string | Yes | Plane personal access token from Profile → API tokens. |
  | `baseUrl` | string | No | Plane instance origin, optionally with a reverse-proxy path prefix. Defaults to [https://api.plane.so](https://api.plane.so). Do not include /api/v1 or /api/v2. |
  | `apiVersion` | string | No | API version: v2 (default) for Plane Cloud and current commercial instances; v1 for Community Edition or older self-hosted instances. Unsupported operations or fields fail explicitly. |
  | `workspace_slug` | string | Yes | Workspace slug from the Plane URL (for example, my-team). |
  | `pk` | string | Yes | The project id. |

  #### Output [#output]

  | Parameter | Type | Description |
  | - | - | - |
  | `success` | boolean | Operation completed successfully. |
</ReferenceDetails>

### Plane Archive a work item [#plane-archive-a-work-item]

Archive a work item in Plane. Requires API v2.

<ReferenceDetails>
  #### Input [#input-1]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `apiKey` | string | Yes | Plane personal access token from Profile → API tokens. |
  | `baseUrl` | string | No | Plane instance origin, optionally with a reverse-proxy path prefix. Defaults to [https://api.plane.so](https://api.plane.so). Do not include /api/v1 or /api/v2. |
  | `apiVersion` | string | No | API version: v2 (default) for Plane Cloud and current commercial instances; v1 for Community Edition or older self-hosted instances. Unsupported operations or fields fail explicitly. |
  | `workspace_slug` | string | Yes | Workspace slug from the Plane URL (for example, my-team). |
  | `project_id` | string | Yes | The project the work item belongs to. |
  | `pk` | string | Yes | The work item's UUID. This lookup is UUID-only — a `PROJ-142` identifier here returns `404`. |
  | `fields` | string | No | Comma-separated list of fields to return. Unrequested keys are **omitted** from the response, not returned as `null`, so absent means "not requested" and `null` means "actually null". `id` always comes back whether or not you name it. Pass `all` for every requestable field. An unknown name is a `400` that lists the valid set and suggests the closest match, so a typo can't silently cost you the saving. Requestable here: `archived_at`, `assignee_ids`, `created_at`, `created_by_id`, `custom_fields`, `cycle_id`, `id`, `identifier`, `is_draft`, `label_ids`, `module_ids`, `name`, `parent_id`, `priority`, `project_id`, `sequence_id`, `start_date`, `state_id`, `target_date`, `type_id`. See \[Sparse fields]\([https://developers.plane.so/api-reference/v2/sparse-fields](https://developers.plane.so/api-reference/v2/sparse-fields)). |
  | `expand` | string | No | Comma-separated relations to embed alongside the ids: `assignees` (the assigned users), `cycle` (the cycle it belongs to), `labels` (the applied labels), `modules` (the modules it belongs to), `parent` (its parent work item), `state` (the work item's state object), `type` (its work item type). Expanded relations appear beside their ID fields and survive sparse field filtering. Use only the relation names listed above. |

  #### Output [#output-1]

  | Parameter | Type | Description |
  | - | - | - |
  | `result` | object | Plane V2 Work- Items |
  | ↳ `id` | string | Unique identifier for the work item. This is the `\{pk\}` on every project-scoped detail route. |
  | ↳ `name` | string | Name |
  | ↳ `identifier` | string | Identifier |
  | ↳ `sequence_id` | number | Sequence id |
  | ↳ `priority` | string | Priority |
  | ↳ `state_id` | string | State id |
  | ↳ `type_id` | string | Type id |
  | ↳ `assignee_ids` | array | Assignee ids |
  | ↳ `label_ids` | array | Label ids |
  | ↳ `parent_id` | string | Parent id |
  | ↳ `start_date` | string | Start date |
  | ↳ `target_date` | string | Target date |
  | ↳ `is_draft` | boolean | Is draft |
  | ↳ `archived_at` | string | Archived at |
  | ↳ `created_at` | string | Created at |
  | ↳ `created_by_id` | string | Created by id |
  | ↳ `custom_fields` | json | Custom fields |
  | ↳ `assignees` | array | Assignees |
  | ↳ `id` | string | Asset Id |
  | ↳ `display_name` | string | Asset Id |
  | ↳ `avatar_url` | string | Asset Id |
  | ↳ `email` | string | Asset Id |
  | ↳ `cycle` | json | Cycle |
  | ↳ `labels` | array | Labels |
  | ↳ `id` | string | Asset Id |
  | ↳ `name` | string | Asset Id |
  | ↳ `color` | string | Asset Id |
  | ↳ `modules` | array | Modules |
  | ↳ `parent` | object | Parent |
  | ↳ `id` | string | Asset Id |
  | ↳ `name` | string | Asset Id |
  | ↳ `sequence_id` | number | Access |
  | ↳ `state` | object | State |
  | ↳ `id` | string | Asset Id |
  | ↳ `name` | string | Asset Id |
  | ↳ `color` | string | Asset Id |
  | ↳ `group` | string | Asset Id |
  | ↳ `type` | object | Type |
  | ↳ `id` | string | Asset Id |
  | ↳ `name` | string | Asset Id |
  | ↳ `logo_props` | json | Logo Props |
  | ↳ `is_epic` | boolean | Has Pages |
  | ↳ `cycle_id` | string | Cycle id |
  | ↳ `module_ids` | array | Module ids |
  | ↳ `project_id` | string | Project id |
</ReferenceDetails>

### Plane Confirm a work item attachment upload [#plane-confirm-a-work-item-attachment-upload]

Confirm a work item attachment upload in Plane. Supports API v1 compatibility.

<ReferenceDetails>
  #### Input [#input-2]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `apiKey` | string | Yes | Plane personal access token from Profile → API tokens. |
  | `baseUrl` | string | No | Plane instance origin, optionally with a reverse-proxy path prefix. Defaults to [https://api.plane.so](https://api.plane.so). Do not include /api/v1 or /api/v2. |
  | `apiVersion` | string | No | API version: v2 (default) for Plane Cloud and current commercial instances; v1 for Community Edition or older self-hosted instances. Unsupported operations or fields fail explicitly. |
  | `bodyOverrides` | json | No | JSON overrides using the canonical input names for the selected API version. Preserves empty strings, null, and empty arrays; unsupported fields are rejected. |
  | `workspace_slug` | string | Yes | Workspace slug from the Plane URL (for example, my-team). |
  | `project_id` | string | Yes | The project the resource belongs to. Accepts the project UUID or its bare identifier, for example `ENG`. |
  | `work_item_id` | string | Yes | The work item the resource hangs off. Accepts the work item UUID or its `PROJ-123` identifier. |
  | `pk` | string | Yes | The attachment id. |
  | `is_uploaded` | boolean | No | Whether is uploaded. |
  | `fields` | string | No | Comma-separated list of fields to return. Unrequested keys are **omitted**, not returned as `null`. `id` always comes back. Pass `all` for every requestable field. An unknown name is a `400`. See \[Sparse fields]\([https://developers.plane.so/api-reference/v2/sparse-fields](https://developers.plane.so/api-reference/v2/sparse-fields)). Requestable here: `asset_url`, `attributes`, `content_type`, `created_at`, `created_by_id`, `external_id`, `external_source`, `id`, `is_uploaded`, `name`, `size`, `work_item_id`. |

  #### Output [#output-2]

  | Parameter | Type | Description |
  | - | - | - |
  | `result` | object | Plane V2 Work- Item- Attachments |
  | ↳ `asset_url` | string | Asset url |
  | ↳ `attributes` | json | Attributes |
  | ↳ `content_type` | string | Content type |
  | ↳ `created_at` | string | Created at |
  | ↳ `created_by_id` | string | Created by id |
  | ↳ `external_id` | string | External id |
  | ↳ `external_source` | string | External source |
  | ↳ `id` | string | Unique identifier. |
  | ↳ `is_uploaded` | boolean | Is uploaded |
  | ↳ `name` | string | Name |
  | ↳ `size` | json | Size |
  | ↳ `work_item_id` | string | Work item id |
  | `success` | boolean | Operation completed successfully. |
</ReferenceDetails>

### Plane Create a work item attachment upload [#plane-create-a-work-item-attachment-upload]

Create a work item attachment upload in Plane. Supports API v1 compatibility.

<ReferenceDetails>
  #### Input [#input-3]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `apiKey` | string | Yes | Plane personal access token from Profile → API tokens. |
  | `baseUrl` | string | No | Plane instance origin, optionally with a reverse-proxy path prefix. Defaults to [https://api.plane.so](https://api.plane.so). Do not include /api/v1 or /api/v2. |
  | `apiVersion` | string | No | API version: v2 (default) for Plane Cloud and current commercial instances; v1 for Community Edition or older self-hosted instances. Unsupported operations or fields fail explicitly. |
  | `bodyOverrides` | json | No | JSON overrides using the canonical input names for the selected API version. Preserves empty strings, null, and empty arrays; unsupported fields are rejected. |
  | `workspace_slug` | string | Yes | Workspace slug from the Plane URL (for example, my-team). |
  | `project_id` | string | Yes | The project the resource belongs to. Accepts the project UUID or its bare identifier, for example `ENG`. |
  | `work_item_id` | string | Yes | The work item the resource hangs off. Accepts the work item UUID or its `PROJ-123` identifier. |
  | `name` | string | Yes | Display name. |
  | `size` | number | Yes | Attachment size in bytes. For signed form uploads, allow room for multipart overhead in the storage policy. |
  | `external_id` | string | No | Your system's identifier for this record, for sync and import correlation. Nullable. |
  | `external_source` | string | No | The system `external_id` came from, for example `github` or `jira`. Nullable. |
  | `type` | string | No | Required with API v1: attachment type, for example work\_item\_attachment. Optional with API v2. |
  | `fields` | string | No | Comma-separated list of fields to return. Unrequested keys are **omitted**, not returned as `null`. `id` always comes back. Pass `all` for every requestable field. An unknown name is a `400`. See \[Sparse fields]\([https://developers.plane.so/api-reference/v2/sparse-fields](https://developers.plane.so/api-reference/v2/sparse-fields)). Requestable here: `asset_url`, `attributes`, `content_type`, `created_at`, `created_by_id`, `external_id`, `external_source`, `id`, `is_uploaded`, `name`, `size`, `work_item_id`. |

  #### Output [#output-3]

  | Parameter | Type | Description |
  | - | - | - |
  | `result` | object | Plane V2 Work- Item- Attachments |
  | ↳ `asset_url` | string | The asset url. |
  | ↳ `attributes` | string | Attributes |
  | ↳ `content_type` | string | The content type. |
  | ↳ `created_at` | string | When the record was created. |
  | ↳ `created_by_id` | string | The user who created the record. |
  | ↳ `external_id` | json | External id |
  | ↳ `external_source` | json | External source |
  | ↳ `id` | string | Unique identifier. |
  | ↳ `is_uploaded` | boolean | Whether is uploaded. |
  | ↳ `name` | string | Display name. |
  | ↳ `size` | json | Size |
  | ↳ `work_item_id` | string | The related work item. |
  | ↳ `asset_id` | string | Asset id |
  | ↳ `upload_data` | json | Upload data |
  | ↳ `url` | string | Asset Id |
  | ↳ `fields` | json | Fields |
  | ↳ `attachment` | object | Attachment |
  | ↳ `id` | json | Id |
  | ↳ `asset_url` | string | Asset url |
  | ↳ `attributes` | json | Attributes |
  | ↳ `content_type` | string | Content type |
  | ↳ `created_at` | json | Created at |
  | ↳ `created_by_id` | string | Created by id |
  | ↳ `external_id` | string | External id |
  | ↳ `external_source` | string | External source |
  | ↳ `is_uploaded` | boolean | Is uploaded |
  | ↳ `name` | string | Name |
  | ↳ `size` | json | Size |
  | ↳ `work_item_id` | string | Work item id |
  | ↳ `updated_at` | string | Updated at |
  | ↳ `deleted_at` | string | Deleted at |
  | ↳ `asset` | string | Asset |
  | ↳ `entity_type` | string | Entity type |
  | ↳ `entity_identifier` | string | Entity identifier |
  | ↳ `is_deleted` | boolean | Is deleted |
  | ↳ `is_archived` | boolean | Is archived |
  | ↳ `storage_metadata` | json | Storage metadata |
  | ↳ `created_by` | string | Created by |
  | ↳ `updated_by` | string | Updated by |
  | ↳ `user` | string | User |
  | ↳ `workspace` | string | Workspace |
  | ↳ `draft_issue` | string | Draft issue |
  | ↳ `project` | string | Project |
  | ↳ `issue` | string | Issue |
  | ↳ `comment` | string | Comment |
  | ↳ `page` | string | Page |
  | ↳ `deleted_by` | json | Deleted by |
  | ↳ `detail` | string | Provider confirmation message. |
</ReferenceDetails>

### Plane Create a comment [#plane-create-a-comment]

Create a comment in Plane. Supports API v1 compatibility.

<ReferenceDetails>
  #### Input [#input-4]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `apiKey` | string | Yes | Plane personal access token from Profile → API tokens. |
  | `baseUrl` | string | No | Plane instance origin, optionally with a reverse-proxy path prefix. Defaults to [https://api.plane.so](https://api.plane.so). Do not include /api/v1 or /api/v2. |
  | `apiVersion` | string | No | API version: v2 (default) for Plane Cloud and current commercial instances; v1 for Community Edition or older self-hosted instances. Unsupported operations or fields fail explicitly. |
  | `bodyOverrides` | json | No | JSON overrides using the canonical input names for the selected API version. Preserves empty strings, null, and empty arrays; unsupported fields are rejected. |
  | `workspace_slug` | string | Yes | Workspace slug from the Plane URL (for example, my-team). |
  | `project_id` | string | Yes | The project the work item belongs to. |
  | `work_item_id` | string | Yes | The work item to comment on. |
  | `comment_html` | string | No | HTML comment content. Required with API v2; API v1 also supports comment\_json. |
  | `access` | string | No | Visibility of the comment. - `INTERNAL` — visible to the project team - `EXTERNAL` — marked as visible outside the team, for example on a published project Omit it to take the server's default. Change it later with a `PATCH`. |
  | `external_id` | string | No | Your system's identifier for this comment, for sync and import correlation. Maximum 255 characters. Accepts `null`. |
  | `external_source` | string | No | The system `external_id` came from, for example `github` or `zendesk`. Maximum 255 characters. Accepts `null`. |
  | `fields` | string | No | Comma-separated list of fields to return. Unrequested keys are **omitted** from the response, not returned as `null`, so absent means "not requested" and `null` means "actually null". `id` always comes back whether or not you name it. Pass `all` for every requestable field. An unknown name is a `400` that lists the valid set and suggests the closest match, so a typo can't silently cost you the saving. Requestable here: `access`, `actor_id`, `comment_html`, `comment_stripped`, `created_at`, `created_by_id`, `edited_at`, `external_id`, `external_source`, `id`, `work_item_id`. See \[Sparse fields]\([https://developers.plane.so/api-reference/v2/sparse-fields](https://developers.plane.so/api-reference/v2/sparse-fields)). |
  | `expand` | string | No | Comma-separated relations to embed alongside the ids: `actor` (the comment author). Expanded relations appear beside their ID fields and survive sparse field filtering. Use only the relation names listed above. |
  | `comment_json` | json | No | v1 compatibility only. Comment json. |
  | `created_at` | string | No | v1 compatibility only. Creation timestamp for imports. |
  | `created_by` | string | No | v1 compatibility only. Original creator user ID for imports. |

  #### Output [#output-4]

  | Parameter | Type | Description |
  | - | - | - |
  | `result` | object | Plane V2 Work- Item- Comments |
  | ↳ `id` | json | Id |
  | ↳ `work_item_id` | string | Work item id |
  | ↳ `comment_html` | json | Comment html |
  | ↳ `comment_stripped` | json | Comment stripped |
  | ↳ `access` | json | Access |
  | ↳ `actor_id` | string | Actor id |
  | ↳ `external_id` | string | External id |
  | ↳ `external_source` | string | External source |
  | ↳ `edited_at` | string | Edited at |
  | ↳ `created_at` | json | Created at |
  | ↳ `created_by_id` | string | Created by id |
  | ↳ `actor` | json | Actor |
  | ↳ `is_member` | boolean | Is member |
  | ↳ `updated_at` | string | Updated at |
  | ↳ `deleted_at` | string | Deleted at |
  | ↳ `attachments` | array | Attachments |
  | ↳ `created_by` | string | Created by |
  | ↳ `updated_by` | string | Updated by |
  | ↳ `project` | string | Project |
  | ↳ `workspace` | string | Workspace |
  | ↳ `issue` | string | Issue |
  | ↳ `parent` | string | Parent |
  | ↳ `description` | string | Description |
  | ↳ `comment_json` | object | Comment json |
  | ↳ `type` | string | Type |
  | ↳ `content` | array | Content |
  | ↳ `type` | string | Asset Id |
  | ↳ `content` | array | Content |
  | ↳ `type` | string | Asset Id |
  | ↳ `text` | string | Asset Id |
  | ↳ `deleted_by` | json | Deleted by |
  | ↳ `is_hidden` | boolean | Is hidden |
  | ↳ `created_via` | json | Created via |
  | ↳ `updated_via` | json | Updated via |
  | ↳ `hidden_reason` | json | Hidden reason |
  | ↳ `hidden_at` | json | Hidden at |
  | ↳ `hidden_by` | json | Hidden by |
  | ↳ `source` | json | Source |
</ReferenceDetails>

### Plane Create a cycle [#plane-create-a-cycle]

Create a cycle in Plane. Supports API v1 compatibility.

<ReferenceDetails>
  #### Input [#input-5]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `apiKey` | string | Yes | Plane personal access token from Profile → API tokens. |
  | `baseUrl` | string | No | Plane instance origin, optionally with a reverse-proxy path prefix. Defaults to [https://api.plane.so](https://api.plane.so). Do not include /api/v1 or /api/v2. |
  | `apiVersion` | string | No | API version: v2 (default) for Plane Cloud and current commercial instances; v1 for Community Edition or older self-hosted instances. Unsupported operations or fields fail explicitly. |
  | `bodyOverrides` | json | No | JSON overrides using the canonical input names for the selected API version. Preserves empty strings, null, and empty arrays; unsupported fields are rejected. |
  | `workspace_slug` | string | Yes | Workspace slug from the Plane URL (for example, my-team). |
  | `project_id` | string | Yes | The project to add the cycle to. |
  | `name` | string | Yes | Display name for the cycle, unique within the project. Maximum 255 characters. |
  | `description` | string | No | Free-form description of what the cycle covers. |
  | `start_date` | string | No | When the cycle opens, as an ISO 8601 date-time. Nullable — omit it or send `null` for an unscheduled cycle. |
  | `end_date` | string | No | When the cycle closes, as an ISO 8601 date-time. Nullable. |
  | `timezone` | string | No | The IANA time zone the cycle's dates are interpreted in, for example `America/New_York`, `Asia/Kolkata`, `Europe/London`, or `UTC`. Set it to the team's working zone so a cycle boundary lands at local midnight instead of UTC midnight. Any value outside the IANA list is rejected with `400 invalid_request`. |
  | `sort_order` | number | No | Ordering weight for the cycle within the project. Lower values sort first when you list with `?order_by=sort_order`. |
  | `logo_props` | json | No | JSON blob holding the cycle's icon configuration, as written by Plane clients. Stored and returned unchanged. |
  | `external_id` | string | No | Your system's identifier for this cycle, for sync and import correlation. Maximum 255 characters. You can find the cycle again later with `?external_id=` on \[List cycles]\([https://developers.plane.so/api-reference/v2/cycles/list-cycles](https://developers.plane.so/api-reference/v2/cycles/list-cycles)). |
  | `external_source` | string | No | The system `external_id` came from, for example `jira` or `linear`. Maximum 255 characters. |
  | `fields` | string | No | Comma-separated list of fields to return. Unrequested keys are **omitted** from the response, not returned as `null`, so absent means "not requested" and `null` means "actually null". `id` always comes back whether or not you name it. Pass `all` for every requestable field. An unknown name is a `400` that lists the valid set and suggests the closest match, so a typo can't silently cost you the saving. Requestable here: `created_at`, `created_by_id`, `description`, `end_date`, `external_id`, `external_source`, `id`, `logo_props`, `name`, `owned_by_id`, `sort_order`, `start_date`, `timezone`. See \[Sparse fields]\([https://developers.plane.so/api-reference/v2/sparse-fields](https://developers.plane.so/api-reference/v2/sparse-fields)). |
  | `expand` | string | No | Comma-separated relations to embed alongside the ids: `owned_by` (the cycle owner). Expanded relations appear beside their ID fields and survive sparse field filtering. Use only the relation names listed above. |
  | `owned_by` | string | No | v1 compatibility only. Cycle owner user ID; defaults to the authenticated user. |

  #### Output [#output-5]

  | Parameter | Type | Description |
  | - | - | - |
  | `result` | object | Plane V2 Cycles |
  | ↳ `id` | json | Id |
  | ↳ `name` | json | Name |
  | ↳ `description` | json | Description |
  | ↳ `start_date` | string | Start date |
  | ↳ `end_date` | string | End date |
  | ↳ `timezone` | json | Timezone |
  | ↳ `owned_by_id` | string | Owned by id |
  | ↳ `sort_order` | json | Sort order |
  | ↳ `logo_props` | json | Logo props |
  | ↳ `external_id` | string | External id |
  | ↳ `external_source` | string | External source |
  | ↳ `created_at` | json | Created at |
  | ↳ `created_by_id` | string | Created by id |
  | ↳ `owned_by` | json | Owned by |
  | ↳ `total_issues` | json | Total issues |
  | ↳ `cancelled_issues` | json | Cancelled issues |
  | ↳ `completed_issues` | json | Completed issues |
  | ↳ `started_issues` | json | Started issues |
  | ↳ `unstarted_issues` | json | Unstarted issues |
  | ↳ `backlog_issues` | json | Backlog issues |
  | ↳ `total_estimates` | number | Total estimates |
  | ↳ `completed_estimates` | number | Completed estimates |
  | ↳ `started_estimates` | number | Started estimates |
  | ↳ `updated_at` | string | Updated at |
  | ↳ `deleted_at` | string | Deleted at |
  | ↳ `view_props` | json | View props |
  | ↳ `progress_snapshot` | json | Progress snapshot |
  | ↳ `archived_at` | string | Archived at |
  | ↳ `version` | json | Version |
  | ↳ `created_by` | string | Created by |
  | ↳ `updated_by` | string | Updated by |
  | ↳ `project` | string | Project |
  | ↳ `workspace` | string | Workspace |
  | ↳ `status` | string | Status |
  | ↳ `deleted_by` | json | Deleted by |
</ReferenceDetails>

### Plane Create a label [#plane-create-a-label]

Create a label in Plane. Supports API v1 compatibility.

<ReferenceDetails>
  #### Input [#input-6]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `apiKey` | string | Yes | Plane personal access token from Profile → API tokens. |
  | `baseUrl` | string | No | Plane instance origin, optionally with a reverse-proxy path prefix. Defaults to [https://api.plane.so](https://api.plane.so). Do not include /api/v1 or /api/v2. |
  | `apiVersion` | string | No | API version: v2 (default) for Plane Cloud and current commercial instances; v1 for Community Edition or older self-hosted instances. Unsupported operations or fields fail explicitly. |
  | `bodyOverrides` | json | No | JSON overrides using the canonical input names for the selected API version. Preserves empty strings, null, and empty arrays; unsupported fields are rejected. |
  | `workspace_slug` | string | Yes | Workspace slug from the Plane URL (for example, my-team). |
  | `project_id` | string | Yes | The project to add the label to. |
  | `name` | string | Yes | Display name for the label, unique within the project. Maximum 255 characters. |
  | `color` | string | No | Hex color used wherever the label is rendered, for example `#e5484d`. Maximum 255 characters. Send one if the label needs to be recognizable at a glance on a board. |
  | `description` | string | No | Free-form note about what the label is for and when to apply it. |
  | `parent_id` | string | No | The label this one nests under, for grouping related tags such as `Billing` and `Search` beneath an `Area` label. The parent must be a label in the same project — an id from another project is a `400`, not a silent link. Omit it, or send `null`, for a top-level label. |
  | `sort_order` | number | No | Ordering weight within the project. Lower values sort first. Assigned automatically when omitted, so send it only when you are recreating a specific order. |
  | `external_id` | string | No | Your system's identifier for this label, for sync and import correlation. Maximum 255 characters. Store it here and you can find the label later with `?external_id=`, without keeping a map of Plane ids. |
  | `external_source` | string | No | The system `external_id` came from, for example `github` or `jira`. Maximum 255 characters. |
  | `fields` | string | No | Comma-separated list of fields to return. Unrequested keys are **omitted** from the response, not returned as `null`, so absent means "not requested" and `null` means "actually null". `id` always comes back whether or not you name it. Pass `all` for every requestable field. An unknown name is a `400` that lists the valid set and suggests the closest match, so a typo can't silently cost you the saving. Requestable here: `color`, `created_at`, `created_by_id`, `description`, `external_id`, `external_source`, `id`, `name`, `parent_id`, `sort_order`. See \[Sparse fields]\([https://developers.plane.so/api-reference/v2/sparse-fields](https://developers.plane.so/api-reference/v2/sparse-fields)). |

  #### Output [#output-6]

  | Parameter | Type | Description |
  | - | - | - |
  | `result` | object | Plane V2 Labels |
  | ↳ `id` | json | Id |
  | ↳ `name` | json | Name |
  | ↳ `description` | json | Description |
  | ↳ `color` | json | Color |
  | ↳ `sort_order` | json | Sort order |
  | ↳ `parent_id` | string | Parent id |
  | ↳ `external_id` | string | External id |
  | ↳ `external_source` | string | External source |
  | ↳ `created_at` | json | Created at |
  | ↳ `created_by_id` | string | Created by id |
  | ↳ `updated_at` | string | Updated at |
  | ↳ `deleted_at` | string | Deleted at |
  | ↳ `created_by` | string | Created by |
  | ↳ `updated_by` | string | Updated by |
  | ↳ `workspace` | string | Workspace |
  | ↳ `project` | string | Project |
  | ↳ `parent` | string | Parent |
  | ↳ `deleted_by` | json | Deleted by |
</ReferenceDetails>

### Plane Create a link [#plane-create-a-link]

Create a link in Plane. Supports API v1 compatibility.

<ReferenceDetails>
  #### Input [#input-7]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `apiKey` | string | Yes | Plane personal access token from Profile → API tokens. |
  | `baseUrl` | string | No | Plane instance origin, optionally with a reverse-proxy path prefix. Defaults to [https://api.plane.so](https://api.plane.so). Do not include /api/v1 or /api/v2. |
  | `apiVersion` | string | No | API version: v2 (default) for Plane Cloud and current commercial instances; v1 for Community Edition or older self-hosted instances. Unsupported operations or fields fail explicitly. |
  | `bodyOverrides` | json | No | JSON overrides using the canonical input names for the selected API version. Preserves empty strings, null, and empty arrays; unsupported fields are rejected. |
  | `workspace_slug` | string | Yes | Workspace slug from the Plane URL (for example, my-team). |
  | `project_id` | string | Yes | The project the resource belongs to. Accepts the project UUID or its bare identifier, for example `ENG`. |
  | `work_item_id` | string | Yes | The work item the resource hangs off. Accepts the work item UUID or its `PROJ-123` identifier. |
  | `url` | string | Yes | Target URL. |
  | `metadata` | json | No | JSON metadata object for the link. API v2 only. |
  | `title` | string | No | Title. Maximum 255 characters. Nullable. |
  | `fields` | string | No | Comma-separated list of fields to return. Unrequested keys are **omitted**, not returned as `null`. `id` always comes back. Pass `all` for every requestable field. An unknown name is a `400`. See \[Sparse fields]\([https://developers.plane.so/api-reference/v2/sparse-fields](https://developers.plane.so/api-reference/v2/sparse-fields)). Requestable here: `created_at`, `created_by_id`, `id`, `metadata`, `title`, `url`, `work_item_id`. |
  | `created_by` | string | No | v1 compatibility only. Original creator user ID for imports. |
  | `issue_id` | string | No | v1 compatibility only. Work item ID for the link. |

  #### Output [#output-7]

  | Parameter | Type | Description |
  | - | - | - |
  | `result` | object | Plane V2 Work- Item- Links |
  | ↳ `created_at` | json | Created at |
  | ↳ `created_by_id` | string | Created by id |
  | ↳ `id` | json | Id |
  | ↳ `metadata` | json | Metadata |
  | ↳ `title` | json | Title |
  | ↳ `url` | json | Url |
  | ↳ `work_item_id` | string | Work item id |
  | ↳ `updated_at` | string | Updated at |
  | ↳ `deleted_at` | string | Deleted at |
  | ↳ `created_by` | string | Created by |
  | ↳ `updated_by` | string | Updated by |
  | ↳ `project` | string | Project |
  | ↳ `workspace` | string | Workspace |
  | ↳ `issue` | string | Issue |
  | ↳ `deleted_by` | json | Deleted by |
</ReferenceDetails>

### Plane Create a module [#plane-create-a-module]

Create a module in Plane. Supports API v1 compatibility.

<ReferenceDetails>
  #### Input [#input-8]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `apiKey` | string | Yes | Plane personal access token from Profile → API tokens. |
  | `baseUrl` | string | No | Plane instance origin, optionally with a reverse-proxy path prefix. Defaults to [https://api.plane.so](https://api.plane.so). Do not include /api/v1 or /api/v2. |
  | `apiVersion` | string | No | API version: v2 (default) for Plane Cloud and current commercial instances; v1 for Community Edition or older self-hosted instances. Unsupported operations or fields fail explicitly. |
  | `bodyOverrides` | json | No | JSON overrides using the canonical input names for the selected API version. Preserves empty strings, null, and empty arrays; unsupported fields are rejected. |
  | `workspace_slug` | string | Yes | Workspace slug from the Plane URL (for example, my-team). |
  | `project_id` | string | Yes | The project to create the module in. |
  | `name` | string | Yes | Display name for the module, unique within the project. Maximum 255 characters. |
  | `description` | string | No | Plain-text summary of what the module covers. |
  | `status` | string | No | Where the module sits in its lifecycle. - `backlog` — Captured, not yet committed to - `planned` — Committed to but not started - `in-progress` — Actively being worked on - `paused` — Started, then put on hold - `completed` — Delivered - `cancelled` — Dropped without delivering Defaults to `planned` when omitted. A value outside this list is a `400 invalid_request`. |
  | `start_date` | string | No | Date the module is scheduled to begin, as `YYYY-MM-DD`. Nullable. |
  | `target_date` | string | No | Date the module is expected to land, as `YYYY-MM-DD`. Nullable, and must not be earlier than `start_date`. |
  | `lead_id` | string | No | The user accountable for the module. Must be a member of this project — any other user id is rejected with a `400` naming `lead_id`, never linked silently. Nullable. |
  | `sort_order` | number | No | Ordering weight used when modules are listed. Lower values sort first. In a project that already has modules, Plane positions the new module ahead of them on create, so send `sort_order` in a follow-up `PATCH` if you need a specific slot. |
  | `logo_props` | json | No | Free-form JSON object holding the icon Plane renders for the module. |
  | `external_id` | string | No | Your system's identifier for this module, for sync and import correlation. Maximum 255 characters. Nullable. |
  | `external_source` | string | No | The system `external_id` came from, for example `github` or `jira`. Maximum 255 characters. Nullable. |
  | `fields` | string | No | Comma-separated list of fields to return. Unrequested keys are **omitted** from the response, not returned as `null`, so absent means "not requested" and `null` means "actually null". `id` always comes back whether or not you name it. Pass `all` for every requestable field. An unknown name is a `400` that lists the valid set and suggests the closest match, so a typo can't silently cost you the saving. Requestable here: `archived_at`, `created_at`, `created_by_id`, `description`, `external_id`, `external_source`, `id`, `lead_id`, `logo_props`, `member_ids`, `name`, `sort_order`, `start_date`, `status`, `target_date`. See \[Sparse fields]\([https://developers.plane.so/api-reference/v2/sparse-fields](https://developers.plane.so/api-reference/v2/sparse-fields)). |
  | `expand` | string | No | Comma-separated relations to embed alongside the ids: `lead` (the module lead), `members` (the module members). Expanded relations appear beside their ID fields and survive sparse field filtering. Use only the relation names listed above. |
  | `members` | json | No | v1 compatibility only. Members. |

  #### Output [#output-8]

  | Parameter | Type | Description |
  | - | - | - |
  | `result` | object | Plane V2 Modules |
  | ↳ `id` | json | Id |
  | ↳ `name` | json | Name |
  | ↳ `description` | json | Description |
  | ↳ `status` | json | Status |
  | ↳ `start_date` | string | Start date |
  | ↳ `target_date` | string | Target date |
  | ↳ `lead_id` | string | Lead id |
  | ↳ `member_ids` | array | Member ids |
  | ↳ `sort_order` | json | Sort order |
  | ↳ `logo_props` | json | Logo props |
  | ↳ `external_id` | string | External id |
  | ↳ `external_source` | string | External source |
  | ↳ `archived_at` | string | Archived at |
  | ↳ `created_at` | json | Created at |
  | ↳ `created_by_id` | string | Created by id |
  | ↳ `lead` | json | Lead |
  | ↳ `members` | array | Members |
  | ↳ `total_issues` | json | Total issues |
  | ↳ `cancelled_issues` | json | Cancelled issues |
  | ↳ `completed_issues` | json | Completed issues |
  | ↳ `started_issues` | json | Started issues |
  | ↳ `unstarted_issues` | json | Unstarted issues |
  | ↳ `backlog_issues` | json | Backlog issues |
  | ↳ `updated_at` | string | Updated at |
  | ↳ `deleted_at` | string | Deleted at |
  | ↳ `description_text` | json | Description text |
  | ↳ `description_html` | json | Description html |
  | ↳ `view_props` | json | View props |
  | ↳ `created_by` | string | Created by |
  | ↳ `updated_by` | string | Updated by |
  | ↳ `project` | string | Project |
  | ↳ `workspace` | string | Workspace |
  | ↳ `deleted_by` | json | Deleted by |
</ReferenceDetails>

### Plane Create a project [#plane-create-a-project]

Create a project in Plane. Supports API v1 compatibility.

<ReferenceDetails>
  #### Input [#input-9]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `apiKey` | string | Yes | Plane personal access token from Profile → API tokens. |
  | `baseUrl` | string | No | Plane instance origin, optionally with a reverse-proxy path prefix. Defaults to [https://api.plane.so](https://api.plane.so). Do not include /api/v1 or /api/v2. |
  | `apiVersion` | string | No | API version: v2 (default) for Plane Cloud and current commercial instances; v1 for Community Edition or older self-hosted instances. Unsupported operations or fields fail explicitly. |
  | `bodyOverrides` | json | No | JSON overrides using the canonical input names for the selected API version. Preserves empty strings, null, and empty arrays; unsupported fields are rejected. |
  | `workspace_slug` | string | Yes | Workspace slug from the Plane URL (for example, my-team). |
  | `identifier` | string | Yes | Short project key used to prefix work item numbers, for example `ENG` in `ENG-142`. Maximum 255 characters. |
  | `name` | string | Yes | Display name. Maximum 255 characters. |
  | `archive_in` | number | No | The archive in. |
  | `close_in` | number | No | The close in. |
  | `cover_image` | string | No | URL of the cover image. Nullable. |
  | `cycle_view` | boolean | No | Whether cycle view. |
  | `default_assignee_id` | string | No | Id of the related default assignee. Nullable. |
  | `default_state_id` | string | No | Id of the related default state. Nullable. |
  | `description` | string | No | Free-form description. |
  | `emoji` | string | No | Emoji shown alongside the name. Maximum 255 characters. Nullable. |
  | `estimate_id` | string | No | Id of the related estimate. Nullable. |
  | `external_id` | string | No | Your system's identifier for this record, for sync and import correlation. Maximum 255 characters. Nullable. |
  | `external_source` | string | No | The system `external_id` came from, for example `github` or `jira`. Maximum 255 characters. Nullable. |
  | `guest_view_all_features` | boolean | No | Whether guest view all features. |
  | `icon_prop` | string | No | The icon prop. Nullable. |
  | `intake_view` | boolean | No | Whether intake view. |
  | `is_issue_type_enabled` | boolean | No | Whether is issue type enabled. |
  | `is_time_tracking_enabled` | boolean | No | Whether is time tracking enabled. |
  | `issue_views_view` | boolean | No | Whether issue views view. |
  | `logo_props` | string | No | Editor-owned logo descriptor. Pass back what you read rather than composing it by hand. |
  | `module_view` | boolean | No | Whether module view. |
  | `network` | string | No | Project visibility: `0` is private to members, `2` is visible to the whole workspace. |
  | `page_view` | boolean | No | Whether page view. |
  | `priority` | string | No | - `none` - None - `low` - Low - `medium` - Medium - `high` - High - `urgent` - Urgent One of `none`, `low`, `medium`, `high`, `urgent`. |
  | `project_lead_id` | string | No | Id of the related project lead. Nullable. |
  | `start_date` | string | No | Planned start date, as `YYYY-MM-DD`. Nullable. |
  | `state_id` | string | No | Id of the related state. Nullable. |
  | `target_date` | string | No | Planned due date, as `YYYY-MM-DD`. Nullable. |
  | `timezone` | string | No | - `Africa/Abidjan` - Africa/Abidjan - `Africa/Accra` - Africa/Accra - `Africa/Addis_Ababa` - Africa/Addis\_Ababa - `Africa/Algiers` - Africa/Algiers - `Africa/Asmara` - Africa/Asmara - `Africa/Bamako` - Africa/Bamako - `Africa/Bangui` - Africa/Bangui - `Africa/Banjul` - Africa/Banjul - `Africa/Bissau` - Africa/Bissau - `Africa/Blantyre` - Africa/Blantyre - `Africa/Brazzaville` - Africa/Brazzaville - `Africa/Bujumbura` - Africa/Bujumbura - `Africa/Cairo` - Africa/Cairo - `Africa/Casablanca` - Africa/Casablanca - `Africa/Ceuta` - Africa/Ceuta - `Africa/Conakry` - Africa/Conakry - `Africa/Dakar` - Africa/Dakar - `Africa/Dar_es_Salaam` - Africa/Dar\_es\_Salaam - `Africa/Djibouti` - Africa/Djibouti - `Africa/Douala` - Africa/Douala - `Africa/El_Aaiun` - Africa/El\_Aaiun - `Africa/Freetown` - Africa/Freetown - `Africa/Gaborone` - Africa/Gaborone - `Africa/Harare` - Africa/Harare - `Africa/Johannesburg` - Africa/Johannesburg - `Africa/Juba` - Africa/Juba - `Africa/Kampala` - Africa/Kampala - `Africa/Khartoum` - Africa/Khartoum - `Africa/Kigali` - Africa/Kigali - `Africa/Kinshasa` - Africa/Kinshasa - `Africa/Lagos` - Africa/Lagos - `Africa/Libreville` - Africa/Libreville - `Africa/Lome` - Africa/Lome - `Africa/Luanda` - Africa/Luanda - `Africa/Lubumbashi` - Africa/Lubumbashi - `Africa/Lusaka` - Africa/Lusaka - `Africa/Malabo` - Africa/Malabo - `Africa/Maputo` - Africa/Maputo - `Africa/Maseru` - Africa/Maseru - `Africa/Mbabane` - Africa/Mbabane - `Africa/Mogadishu` - Africa/Mogadishu - `Africa/Monrovia` - Africa/Monrovia - `Africa/Nairobi` - Africa/Nairobi - `Africa/Ndjamena` - Africa/Ndjamena - `Africa/Niamey` - Africa/Niamey - `Africa/Nouakchott` - Africa/Nouakchott - `Africa/Ouagadougou` - Africa/Ouagadougou - `Africa/Porto-Novo` - Africa/Porto-Novo - `Africa/Sao_Tome` - Africa/Sao\_Tome - `Africa/Tripoli` - Africa/Tripoli - `Africa/Tunis` - Africa/Tunis - `Africa/Windhoek` - Africa/Windhoek - `America/Adak` - America/Adak - `America/Anchorage` - America/Anchorage - `America/Anguilla` - America/Anguilla - `America/Antigua` - America/Antigua - `America/Araguaina` - America/Araguaina - `America/Argentina/Buenos_Aires` - America/Argentina/Buenos\_Aires - `America/Argentina/Catamarca` - America/Argentina/Catamarca - `America/Argentina/Cordoba` - America/Argentina/Cordoba - `America/Argentina/Jujuy` - America/Argentina/Jujuy - `America/Argentina/La_Rioja` - America/Argentina/La\_Rioja - `America/Argentina/Mendoza` - America/Argentina/Mendoza - `America/Argentina/Rio_Gallegos` - America/Argentina/Rio\_Gallegos - `America/Argentina/Salta` - America/Argentina/Salta - `America/Argentina/San_Juan` - America/Argentina/San\_Juan - `America/Argentina/San_Luis` - America/Argentina/San\_Luis - `America/Argentina/Tucuman` - America/Argentina/Tucuman - `America/Argentina/Ushuaia` - America/Argentina/Ushuaia - `America/Aruba` - America/Aruba - `America/Asuncion` - America/Asuncion - `America/Atikokan` - America/Atikokan - `America/Bahia` - America/Bahia - `America/Bahia_Banderas` - America/Bahia\_Banderas - `America/Barbados` - America/Barbados - `America/Belem` - America/Belem - `America/Belize` - America/Belize - `America/Blanc-Sablon` - America/Blanc-Sablon - `America/Boa_Vista` - America/Boa\_Vista - `America/Bogota` - America/Bogota - `America/Boise` - America/Boise - `America/Cambridge_Bay` - America/Cambridge\_Bay - `America/Campo_Grande` - America/Campo\_Grande - `America/Cancun` - America/Cancun - `America/Caracas` - America/Caracas - `America/Cayenne` - America/Cayenne - `America/Cayman` - America/Cayman - `America/Chicago` - America/Chicago - `America/Chihuahua` - America/Chihuahua - `America/Ciudad_Juarez` - America/Ciudad\_Juarez - `America/Costa_Rica` - America/Costa\_Rica - `America/Creston` - America/Creston - `America/Cuiaba` - America/Cuiaba - `America/Curacao` - America/Curacao - `America/Danmarkshavn` - America/Danmarkshavn - `America/Dawson` - America/Dawson - `America/Dawson_Creek` - America/Dawson\_Creek - `America/Denver` - America/Denver - `America/Detroit` - America/Detroit - `America/Dominica` - America/Dominica - `America/Edmonton` - America/Edmonton - `America/Eirunepe` - America/Eirunepe - `America/El_Salvador` - America/El\_Salvador - `America/Fort_Nelson` - America/Fort\_Nelson - `America/Fortaleza` - America/Fortaleza - `America/Glace_Bay` - America/Glace\_Bay - `America/Goose_Bay` - America/Goose\_Bay - `America/Grand_Turk` - America/Grand\_Turk - `America/Grenada` - America/Grenada - `America/Guadeloupe` - America/Guadeloupe - `America/Guatemala` - America/Guatemala - `America/Guayaquil` - America/Guayaquil - `America/Guyana` - America/Guyana - `America/Halifax` - America/Halifax - `America/Havana` - America/Havana - `America/Hermosillo` - America/Hermosillo - `America/Indiana/Indianapolis` - America/Indiana/Indianapolis - `America/Indiana/Knox` - America/Indiana/Knox - `America/Indiana/Marengo` - America/Indiana/Marengo - `America/Indiana/Petersburg` - America/Indiana/Petersburg - `America/Indiana/Tell_City` - America/Indiana/Tell\_City - `America/Indiana/Vevay` - America/Indiana/Vevay - `America/Indiana/Vincennes` - America/Indiana/Vincennes - `America/Indiana/Winamac` - America/Indiana/Winamac - `America/Inuvik` - America/Inuvik - `America/Iqaluit` - America/Iqaluit - `America/Jamaica` - America/Jamaica - `America/Juneau` - America/Juneau - `America/Kentucky/Louisville` - America/Kentucky/Louisville - `America/Kentucky/Monticello` - America/Kentucky/Monticello - `America/Kralendijk` - America/Kralendijk - `America/La_Paz` - America/La\_Paz - `America/Lima` - America/Lima - `America/Los_Angeles` - America/Los\_Angeles - `America/Lower_Princes` - America/Lower\_Princes - `America/Maceio` - America/Maceio - `America/Managua` - America/Managua - `America/Manaus` - America/Manaus - `America/Marigot` - America/Marigot - `America/Martinique` - America/Martinique - `America/Matamoros` - America/Matamoros - `America/Mazatlan` - America/Mazatlan - `America/Menominee` - America/Menominee - `America/Merida` - America/Merida - `America/Metlakatla` - America/Metlakatla - `America/Mexico_City` - America/Mexico\_City - `America/Miquelon` - America/Miquelon - `America/Moncton` - America/Moncton - `America/Monterrey` - America/Monterrey - `America/Montevideo` - America/Montevideo - `America/Montserrat` - America/Montserrat - `America/Nassau` - America/Nassau - `America/New_York` - America/New\_York - `America/Nome` - America/Nome - `America/Noronha` - America/Noronha - `America/North_Dakota/Beulah` - America/North\_Dakota/Beulah - `America/North_Dakota/Center` - America/North\_Dakota/Center - `America/North_Dakota/New_Salem` - America/North\_Dakota/New\_Salem - `America/Nuuk` - America/Nuuk - `America/Ojinaga` - America/Ojinaga - `America/Panama` - America/Panama - `America/Paramaribo` - America/Paramaribo - `America/Phoenix` - America/Phoenix - `America/Port-au-Prince` - America/Port-au-Prince - `America/Port_of_Spain` - America/Port\_of\_Spain - `America/Porto_Velho` - America/Porto\_Velho - `America/Puerto_Rico` - America/Puerto\_Rico - `America/Punta_Arenas` - America/Punta\_Arenas - `America/Rankin_Inlet` - America/Rankin\_Inlet - `America/Recife` - America/Recife - `America/Regina` - America/Regina - `America/Resolute` - America/Resolute - `America/Rio_Branco` - America/Rio\_Branco - `America/Santarem` - America/Santarem - `America/Santiago` - America/Santiago - `America/Santo_Domingo` - America/Santo\_Domingo - `America/Sao_Paulo` - America/Sao\_Paulo - `America/Scoresbysund` - America/Scoresbysund - `America/Sitka` - America/Sitka - `America/St_Barthelemy` - America/St\_Barthelemy - `America/St_Johns` - America/St\_Johns - `America/St_Kitts` - America/St\_Kitts - `America/St_Lucia` - America/St\_Lucia - `America/St_Thomas` - America/St\_Thomas - `America/St_Vincent` - America/St\_Vincent - `America/Swift_Current` - America/Swift\_Current - `America/Tegucigalpa` - America/Tegucigalpa - `America/Thule` - America/Thule - `America/Tijuana` - America/Tijuana - `America/Toronto` - America/Toronto - `America/Tortola` - America/Tortola - `America/Vancouver` - America/Vancouver - `America/Whitehorse` - America/Whitehorse - `America/Winnipeg` - America/Winnipeg - `America/Yakutat` - America/Yakutat - `Antarctica/Casey` - Antarctica/Casey - `Antarctica/Davis` - Antarctica/Davis - `Antarctica/DumontDUrville` - Antarctica/DumontDUrville - `Antarctica/Macquarie` - Antarctica/Macquarie - `Antarctica/Mawson` - Antarctica/Mawson - `Antarctica/McMurdo` - Antarctica/McMurdo - `Antarctica/Palmer` - Antarctica/Palmer - `Antarctica/Rothera` - Antarctica/Rothera - `Antarctica/Syowa` - Antarctica/Syowa - `Antarctica/Troll` - Antarctica/Troll - `Antarctica/Vostok` - Antarctica/Vostok - `Arctic/Longyearbyen` - Arctic/Longyearbyen - `Asia/Aden` - Asia/Aden - `Asia/Almaty` - Asia/Almaty - `Asia/Amman` - Asia/Amman - `Asia/Anadyr` - Asia/Anadyr - `Asia/Aqtau` - Asia/Aqtau - `Asia/Aqtobe` - Asia/Aqtobe - `Asia/Ashgabat` - Asia/Ashgabat - `Asia/Atyrau` - Asia/Atyrau - `Asia/Baghdad` - Asia/Baghdad - `Asia/Bahrain` - Asia/Bahrain - `Asia/Baku` - Asia/Baku - `Asia/Bangkok` - Asia/Bangkok - `Asia/Barnaul` - Asia/Barnaul - `Asia/Beirut` - Asia/Beirut - `Asia/Bishkek` - Asia/Bishkek - `Asia/Brunei` - Asia/Brunei - `Asia/Chita` - Asia/Chita - `Asia/Choibalsan` - Asia/Choibalsan - `Asia/Colombo` - Asia/Colombo - `Asia/Damascus` - Asia/Damascus - `Asia/Dhaka` - Asia/Dhaka - `Asia/Dili` - Asia/Dili - `Asia/Dubai` - Asia/Dubai - `Asia/Dushanbe` - Asia/Dushanbe - `Asia/Famagusta` - Asia/Famagusta - `Asia/Gaza` - Asia/Gaza - `Asia/Hebron` - Asia/Hebron - `Asia/Ho_Chi_Minh` - Asia/Ho\_Chi\_Minh - `Asia/Hong_Kong` - Asia/Hong\_Kong - `Asia/Hovd` - Asia/Hovd - `Asia/Irkutsk` - Asia/Irkutsk - `Asia/Jakarta` - Asia/Jakarta - `Asia/Jayapura` - Asia/Jayapura - `Asia/Jerusalem` - Asia/Jerusalem - `Asia/Kabul` - Asia/Kabul - `Asia/Kamchatka` - Asia/Kamchatka - `Asia/Karachi` - Asia/Karachi - `Asia/Kathmandu` - Asia/Kathmandu - `Asia/Khandyga` - Asia/Khandyga - `Asia/Kolkata` - Asia/Kolkata - `Asia/Krasnoyarsk` - Asia/Krasnoyarsk - `Asia/Kuala_Lumpur` - Asia/Kuala\_Lumpur - `Asia/Kuching` - Asia/Kuching - `Asia/Kuwait` - Asia/Kuwait - `Asia/Macau` - Asia/Macau - `Asia/Magadan` - Asia/Magadan - `Asia/Makassar` - Asia/Makassar - `Asia/Manila` - Asia/Manila - `Asia/Muscat` - Asia/Muscat - `Asia/Nicosia` - Asia/Nicosia - `Asia/Novokuznetsk` - Asia/Novokuznetsk - `Asia/Novosibirsk` - Asia/Novosibirsk - `Asia/Omsk` - Asia/Omsk - `Asia/Oral` - Asia/Oral - `Asia/Phnom_Penh` - Asia/Phnom\_Penh - `Asia/Pontianak` - Asia/Pontianak - `Asia/Pyongyang` - Asia/Pyongyang - `Asia/Qatar` - Asia/Qatar - `Asia/Qostanay` - Asia/Qostanay - `Asia/Qyzylorda` - Asia/Qyzylorda - `Asia/Riyadh` - Asia/Riyadh - `Asia/Sakhalin` - Asia/Sakhalin - `Asia/Samarkand` - Asia/Samarkand - `Asia/Seoul` - Asia/Seoul - `Asia/Shanghai` - Asia/Shanghai - `Asia/Singapore` - Asia/Singapore - `Asia/Srednekolymsk` - Asia/Srednekolymsk - `Asia/Taipei` - Asia/Taipei - `Asia/Tashkent` - Asia/Tashkent - `Asia/Tbilisi` - Asia/Tbilisi - `Asia/Tehran` - Asia/Tehran - `Asia/Thimphu` - Asia/Thimphu - `Asia/Tokyo` - Asia/Tokyo - `Asia/Tomsk` - Asia/Tomsk - `Asia/Ulaanbaatar` - Asia/Ulaanbaatar - `Asia/Urumqi` - Asia/Urumqi - `Asia/Ust-Nera` - Asia/Ust-Nera - `Asia/Vientiane` - Asia/Vientiane - `Asia/Vladivostok` - Asia/Vladivostok - `Asia/Yakutsk` - Asia/Yakutsk - `Asia/Yangon` - Asia/Yangon - `Asia/Yekaterinburg` - Asia/Yekaterinburg - `Asia/Yerevan` - Asia/Yerevan - `Atlantic/Azores` - Atlantic/Azores - `Atlantic/Bermuda` - Atlantic/Bermuda - `Atlantic/Canary` - Atlantic/Canary - `Atlantic/Cape_Verde` - Atlantic/Cape\_Verde - `Atlantic/Faroe` - Atlantic/Faroe - `Atlantic/Madeira` - Atlantic/Madeira - `Atlantic/Reykjavik` - Atlantic/Reykjavik - `Atlantic/South_Georgia` - Atlantic/South\_Georgia - `Atlantic/St_Helena` - Atlantic/St\_Helena - `Atlantic/Stanley` - Atlantic/Stanley - `Australia/Adelaide` - Australia/Adelaide - `Australia/Brisbane` - Australia/Brisbane - `Australia/Broken_Hill` - Australia/Broken\_Hill - `Australia/Darwin` - Australia/Darwin - `Australia/Eucla` - Australia/Eucla - `Australia/Hobart` - Australia/Hobart - `Australia/Lindeman` - Australia/Lindeman - `Australia/Lord_Howe` - Australia/Lord\_Howe - `Australia/Melbourne` - Australia/Melbourne - `Australia/Perth` - Australia/Perth - `Australia/Sydney` - Australia/Sydney - `Canada/Atlantic` - Canada/Atlantic - `Canada/Central` - Canada/Central - `Canada/Eastern` - Canada/Eastern - `Canada/Mountain` - Canada/Mountain - `Canada/Newfoundland` - Canada/Newfoundland - `Canada/Pacific` - Canada/Pacific - `Europe/Amsterdam` - Europe/Amsterdam - `Europe/Andorra` - Europe/Andorra - `Europe/Astrakhan` - Europe/Astrakhan - `Europe/Athens` - Europe/Athens - `Europe/Belgrade` - Europe/Belgrade - `Europe/Berlin` - Europe/Berlin - `Europe/Bratislava` - Europe/Bratislava - `Europe/Brussels` - Europe/Brussels - `Europe/Bucharest` - Europe/Bucharest - `Europe/Budapest` - Europe/Budapest - `Europe/Busingen` - Europe/Busingen - `Europe/Chisinau` - Europe/Chisinau - `Europe/Copenhagen` - Europe/Copenhagen - `Europe/Dublin` - Europe/Dublin - `Europe/Gibraltar` - Europe/Gibraltar - `Europe/Guernsey` - Europe/Guernsey - `Europe/Helsinki` - Europe/Helsinki - `Europe/Isle_of_Man` - Europe/Isle\_of\_Man - `Europe/Istanbul` - Europe/Istanbul - `Europe/Jersey` - Europe/Jersey - `Europe/Kaliningrad` - Europe/Kaliningrad - `Europe/Kirov` - Europe/Kirov - `Europe/Kyiv` - Europe/Kyiv - `Europe/Lisbon` - Europe/Lisbon - `Europe/Ljubljana` - Europe/Ljubljana - `Europe/London` - Europe/London - `Europe/Luxembourg` - Europe/Luxembourg - `Europe/Madrid` - Europe/Madrid - `Europe/Malta` - Europe/Malta - `Europe/Mariehamn` - Europe/Mariehamn - `Europe/Minsk` - Europe/Minsk - `Europe/Monaco` - Europe/Monaco - `Europe/Moscow` - Europe/Moscow - `Europe/Oslo` - Europe/Oslo - `Europe/Paris` - Europe/Paris - `Europe/Podgorica` - Europe/Podgorica - `Europe/Prague` - Europe/Prague - `Europe/Riga` - Europe/Riga - `Europe/Rome` - Europe/Rome - `Europe/Samara` - Europe/Samara - `Europe/San_Marino` - Europe/San\_Marino - `Europe/Sarajevo` - Europe/Sarajevo - `Europe/Saratov` - Europe/Saratov - `Europe/Simferopol` - Europe/Simferopol - `Europe/Skopje` - Europe/Skopje - `Europe/Sofia` - Europe/Sofia - `Europe/Stockholm` - Europe/Stockholm - `Europe/Tallinn` - Europe/Tallinn - `Europe/Tirane` - Europe/Tirane - `Europe/Ulyanovsk` - Europe/Ulyanovsk - `Europe/Vaduz` - Europe/Vaduz - `Europe/Vatican` - Europe/Vatican - `Europe/Vienna` - Europe/Vienna - `Europe/Vilnius` - Europe/Vilnius - `Europe/Volgograd` - Europe/Volgograd - `Europe/Warsaw` - Europe/Warsaw - `Europe/Zagreb` - Europe/Zagreb - `Europe/Zurich` - Europe/Zurich - `GMT` - GMT - `Indian/Antananarivo` - Indian/Antananarivo - `Indian/Chagos` - Indian/Chagos - `Indian/Christmas` - Indian/Christmas - `Indian/Cocos` - Indian/Cocos - `Indian/Comoro` - Indian/Comoro - `Indian/Kerguelen` - Indian/Kerguelen - `Indian/Mahe` - Indian/Mahe - `Indian/Maldives` - Indian/Maldives - `Indian/Mauritius` - Indian/Mauritius - `Indian/Mayotte` - Indian/Mayotte - `Indian/Reunion` - Indian/Reunion - `Pacific/Apia` - Pacific/Apia - `Pacific/Auckland` - Pacific/Auckland - `Pacific/Bougainville` - Pacific/Bougainville - `Pacific/Chatham` - Pacific/Chatham - `Pacific/Chuuk` - Pacific/Chuuk - `Pacific/Easter` - Pacific/Easter - `Pacific/Efate` - Pacific/Efate - `Pacific/Fakaofo` - Pacific/Fakaofo - `Pacific/Fiji` - Pacific/Fiji - `Pacific/Funafuti` - Pacific/Funafuti - `Pacific/Galapagos` - Pacific/Galapagos - `Pacific/Gambier` - Pacific/Gambier - `Pacific/Guadalcanal` - Pacific/Guadalcanal - `Pacific/Guam` - Pacific/Guam - `Pacific/Honolulu` - Pacific/Honolulu - `Pacific/Kanton` - Pacific/Kanton - `Pacific/Kiritimati` - Pacific/Kiritimati - `Pacific/Kosrae` - Pacific/Kosrae - `Pacific/Kwajalein` - Pacific/Kwajalein - `Pacific/Majuro` - Pacific/Majuro - `Pacific/Marquesas` - Pacific/Marquesas - `Pacific/Midway` - Pacific/Midway - `Pacific/Nauru` - Pacific/Nauru - `Pacific/Niue` - Pacific/Niue - `Pacific/Norfolk` - Pacific/Norfolk - `Pacific/Noumea` - Pacific/Noumea - `Pacific/Pago_Pago` - Pacific/Pago\_Pago - `Pacific/Palau` - Pacific/Palau - `Pacific/Pitcairn` - Pacific/Pitcairn - `Pacific/Pohnpei` - Pacific/Pohnpei - `Pacific/Port_Moresby` - Pacific/Port\_Moresby - `Pacific/Rarotonga` - Pacific/Rarotonga - `Pacific/Saipan` - Pacific/Saipan - `Pacific/Tahiti` - Pacific/Tahiti - `Pacific/Tarawa` - Pacific/Tarawa - `Pacific/Tongatapu` - Pacific/Tongatapu - `Pacific/Wake` - Pacific/Wake - `Pacific/Wallis` - Pacific/Wallis - `US/Alaska` - US/Alaska - `US/Arizona` - US/Arizona - `US/Central` - US/Central - `US/Eastern` - US/Eastern - `US/Hawaii` - US/Hawaii - `US/Mountain` - US/Mountain - `US/Pacific` - US/Pacific - `UTC` - UTC One of `Africa/Abidjan`, `Africa/Accra`, `Africa/Addis_Ababa`, `Africa/Algiers`, `Africa/Asmara`, `Africa/Bamako`, `Africa/Bangui`, `Africa/Banjul`, `Africa/Bissau`, `Africa/Blantyre`, `Africa/Brazzaville`, `Africa/Bujumbura`, `Africa/Cairo`, `Africa/Casablanca`, `Africa/Ceuta`, `Africa/Conakry`, `Africa/Dakar`, `Africa/Dar_es_Salaam`, `Africa/Djibouti`, `Africa/Douala`, `Africa/El_Aaiun`, `Africa/Freetown`, `Africa/Gaborone`, `Africa/Harare`, `Africa/Johannesburg`, `Africa/Juba`, `Africa/Kampala`, `Africa/Khartoum`, `Africa/Kigali`, `Africa/Kinshasa`, `Africa/Lagos`, `Africa/Libreville`, `Africa/Lome`, `Africa/Luanda`, `Africa/Lubumbashi`, `Africa/Lusaka`, `Africa/Malabo`, `Africa/Maputo`, `Africa/Maseru`, `Africa/Mbabane`, `Africa/Mogadishu`, `Africa/Monrovia`, `Africa/Nairobi`, `Africa/Ndjamena`, `Africa/Niamey`, `Africa/Nouakchott`, `Africa/Ouagadougou`, `Africa/Porto-Novo`, `Africa/Sao_Tome`, `Africa/Tripoli`, `Africa/Tunis`, `Africa/Windhoek`, `America/Adak`, `America/Anchorage`, `America/Anguilla`, `America/Antigua`, `America/Araguaina`, `America/Argentina/Buenos_Aires`, `America/Argentina/Catamarca`, `America/Argentina/Cordoba`, `America/Argentina/Jujuy`, `America/Argentina/La_Rioja`, `America/Argentina/Mendoza`, `America/Argentina/Rio_Gallegos`, `America/Argentina/Salta`, `America/Argentina/San_Juan`, `America/Argentina/San_Luis`, `America/Argentina/Tucuman`, `America/Argentina/Ushuaia`, `America/Aruba`, `America/Asuncion`, `America/Atikokan`, `America/Bahia`, `America/Bahia_Banderas`, `America/Barbados`, `America/Belem`, `America/Belize`, `America/Blanc-Sablon`, `America/Boa_Vista`, `America/Bogota`, `America/Boise`, `America/Cambridge_Bay`, `America/Campo_Grande`, `America/Cancun`, `America/Caracas`, `America/Cayenne`, `America/Cayman`, `America/Chicago`, `America/Chihuahua`, `America/Ciudad_Juarez`, `America/Costa_Rica`, `America/Creston`, `America/Cuiaba`, `America/Curacao`, `America/Danmarkshavn`, `America/Dawson`, `America/Dawson_Creek`, `America/Denver`, `America/Detroit`, `America/Dominica`, `America/Edmonton`, `America/Eirunepe`, `America/El_Salvador`, `America/Fort_Nelson`, `America/Fortaleza`, `America/Glace_Bay`, `America/Goose_Bay`, `America/Grand_Turk`, `America/Grenada`, `America/Guadeloupe`, `America/Guatemala`, `America/Guayaquil`, `America/Guyana`, `America/Halifax`, `America/Havana`, `America/Hermosillo`, `America/Indiana/Indianapolis`, `America/Indiana/Knox`, `America/Indiana/Marengo`, `America/Indiana/Petersburg`, `America/Indiana/Tell_City`, `America/Indiana/Vevay`, `America/Indiana/Vincennes`, `America/Indiana/Winamac`, `America/Inuvik`, `America/Iqaluit`, `America/Jamaica`, `America/Juneau`, `America/Kentucky/Louisville`, `America/Kentucky/Monticello`, `America/Kralendijk`, `America/La_Paz`, `America/Lima`, `America/Los_Angeles`, `America/Lower_Princes`, `America/Maceio`, `America/Managua`, `America/Manaus`, `America/Marigot`, `America/Martinique`, `America/Matamoros`, `America/Mazatlan`, `America/Menominee`, `America/Merida`, `America/Metlakatla`, `America/Mexico_City`, `America/Miquelon`, `America/Moncton`, `America/Monterrey`, `America/Montevideo`, `America/Montserrat`, `America/Nassau`, `America/New_York`, `America/Nome`, `America/Noronha`, `America/North_Dakota/Beulah`, `America/North_Dakota/Center`, `America/North_Dakota/New_Salem`, `America/Nuuk`, `America/Ojinaga`, `America/Panama`, `America/Paramaribo`, `America/Phoenix`, `America/Port-au-Prince`, `America/Port_of_Spain`, `America/Porto_Velho`, `America/Puerto_Rico`, `America/Punta_Arenas`, `America/Rankin_Inlet`, `America/Recife`, `America/Regina`, `America/Resolute`, `America/Rio_Branco`, `America/Santarem`, `America/Santiago`, `America/Santo_Domingo`, `America/Sao_Paulo`, `America/Scoresbysund`, `America/Sitka`, `America/St_Barthelemy`, `America/St_Johns`, `America/St_Kitts`, `America/St_Lucia`, `America/St_Thomas`, `America/St_Vincent`, `America/Swift_Current`, `America/Tegucigalpa`, `America/Thule`, `America/Tijuana`, `America/Toronto`, `America/Tortola`, `America/Vancouver`, `America/Whitehorse`, `America/Winnipeg`, `America/Yakutat`, `Antarctica/Casey`, `Antarctica/Davis`, `Antarctica/DumontDUrville`, `Antarctica/Macquarie`, `Antarctica/Mawson`, `Antarctica/McMurdo`, `Antarctica/Palmer`, `Antarctica/Rothera`, `Antarctica/Syowa`, `Antarctica/Troll`, `Antarctica/Vostok`, `Arctic/Longyearbyen`, `Asia/Aden`, `Asia/Almaty`, `Asia/Amman`, `Asia/Anadyr`, `Asia/Aqtau`, `Asia/Aqtobe`, `Asia/Ashgabat`, `Asia/Atyrau`, `Asia/Baghdad`, `Asia/Bahrain`, `Asia/Baku`, `Asia/Bangkok`, `Asia/Barnaul`, `Asia/Beirut`, `Asia/Bishkek`, `Asia/Brunei`, `Asia/Chita`, `Asia/Choibalsan`, `Asia/Colombo`, `Asia/Damascus`, `Asia/Dhaka`, `Asia/Dili`, `Asia/Dubai`, `Asia/Dushanbe`, `Asia/Famagusta`, `Asia/Gaza`, `Asia/Hebron`, `Asia/Ho_Chi_Minh`, `Asia/Hong_Kong`, `Asia/Hovd`, `Asia/Irkutsk`, `Asia/Jakarta`, `Asia/Jayapura`, `Asia/Jerusalem`, `Asia/Kabul`, `Asia/Kamchatka`, `Asia/Karachi`, `Asia/Kathmandu`, `Asia/Khandyga`, `Asia/Kolkata`, `Asia/Krasnoyarsk`, `Asia/Kuala_Lumpur`, `Asia/Kuching`, `Asia/Kuwait`, `Asia/Macau`, `Asia/Magadan`, `Asia/Makassar`, `Asia/Manila`, `Asia/Muscat`, `Asia/Nicosia`, `Asia/Novokuznetsk`, `Asia/Novosibirsk`, `Asia/Omsk`, `Asia/Oral`, `Asia/Phnom_Penh`, `Asia/Pontianak`, `Asia/Pyongyang`, `Asia/Qatar`, `Asia/Qostanay`, `Asia/Qyzylorda`, `Asia/Riyadh`, `Asia/Sakhalin`, `Asia/Samarkand`, `Asia/Seoul`, `Asia/Shanghai`, `Asia/Singapore`, `Asia/Srednekolymsk`, `Asia/Taipei`, `Asia/Tashkent`, `Asia/Tbilisi`, `Asia/Tehran`, `Asia/Thimphu`, `Asia/Tokyo`, `Asia/Tomsk`, `Asia/Ulaanbaatar`, `Asia/Urumqi`, `Asia/Ust-Nera`, `Asia/Vientiane`, `Asia/Vladivostok`, `Asia/Yakutsk`, `Asia/Yangon`, `Asia/Yekaterinburg`, `Asia/Yerevan`, `Atlantic/Azores`, `Atlantic/Bermuda`, `Atlantic/Canary`, `Atlantic/Cape_Verde`, `Atlantic/Faroe`, `Atlantic/Madeira`, `Atlantic/Reykjavik`, `Atlantic/South_Georgia`, `Atlantic/St_Helena`, `Atlantic/Stanley`, `Australia/Adelaide`, `Australia/Brisbane`, `Australia/Broken_Hill`, `Australia/Darwin`, `Australia/Eucla`, `Australia/Hobart`, `Australia/Lindeman`, `Australia/Lord_Howe`, `Australia/Melbourne`, `Australia/Perth`, `Australia/Sydney`, `Canada/Atlantic`, `Canada/Central`, `Canada/Eastern`, `Canada/Mountain`, `Canada/Newfoundland`, `Canada/Pacific`, `Europe/Amsterdam`, `Europe/Andorra`, `Europe/Astrakhan`, `Europe/Athens`, `Europe/Belgrade`, `Europe/Berlin`, `Europe/Bratislava`, `Europe/Brussels`, `Europe/Bucharest`, `Europe/Budapest`, `Europe/Busingen`, `Europe/Chisinau`, `Europe/Copenhagen`, `Europe/Dublin`, `Europe/Gibraltar`, `Europe/Guernsey`, `Europe/Helsinki`, `Europe/Isle_of_Man`, `Europe/Istanbul`, `Europe/Jersey`, `Europe/Kaliningrad`, `Europe/Kirov`, `Europe/Kyiv`, `Europe/Lisbon`, `Europe/Ljubljana`, `Europe/London`, `Europe/Luxembourg`, `Europe/Madrid`, `Europe/Malta`, `Europe/Mariehamn`, `Europe/Minsk`, `Europe/Monaco`, `Europe/Moscow`, `Europe/Oslo`, `Europe/Paris`, `Europe/Podgorica`, `Europe/Prague`, `Europe/Riga`, `Europe/Rome`, `Europe/Samara`, `Europe/San_Marino`, `Europe/Sarajevo`, `Europe/Saratov`, `Europe/Simferopol`, `Europe/Skopje`, `Europe/Sofia`, `Europe/Stockholm`, `Europe/Tallinn`, `Europe/Tirane`, `Europe/Ulyanovsk`, `Europe/Vaduz`, `Europe/Vatican`, `Europe/Vienna`, `Europe/Vilnius`, `Europe/Volgograd`, `Europe/Warsaw`, `Europe/Zagreb`, `Europe/Zurich`, `GMT`, `Indian/Antananarivo`, `Indian/Chagos`, `Indian/Christmas`, `Indian/Cocos`, `Indian/Comoro`, `Indian/Kerguelen`, `Indian/Mahe`, `Indian/Maldives`, `Indian/Mauritius`, `Indian/Mayotte`, `Indian/Reunion`, `Pacific/Apia`, `Pacific/Auckland`, `Pacific/Bougainville`, `Pacific/Chatham`, `Pacific/Chuuk`, `Pacific/Easter`, `Pacific/Efate`, `Pacific/Fakaofo`, `Pacific/Fiji`, `Pacific/Funafuti`, `Pacific/Galapagos`, `Pacific/Gambier`, `Pacific/Guadalcanal`, `Pacific/Guam`, `Pacific/Honolulu`, `Pacific/Kanton`, `Pacific/Kiritimati`, `Pacific/Kosrae`, `Pacific/Kwajalein`, `Pacific/Majuro`, `Pacific/Marquesas`, `Pacific/Midway`, `Pacific/Nauru`, `Pacific/Niue`, `Pacific/Norfolk`, `Pacific/Noumea`, `Pacific/Pago_Pago`, `Pacific/Palau`, `Pacific/Pitcairn`, `Pacific/Pohnpei`, `Pacific/Port_Moresby`, `Pacific/Rarotonga`, `Pacific/Saipan`, `Pacific/Tahiti`, `Pacific/Tarawa`, `Pacific/Tongatapu`, `Pacific/Wake`, `Pacific/Wallis`, `US/Alaska`, `US/Arizona`, `US/Central`, `US/Eastern`, `US/Hawaii`, `US/Mountain`, `US/Pacific`, `UTC`. |
  | `fields` | string | No | Comma-separated list of fields to return. Unrequested keys are **omitted**, not returned as `null`. `id` always comes back. Pass `all` for every requestable field. An unknown name is a `400`. See \[Sparse fields]\([https://developers.plane.so/api-reference/v2/sparse-fields](https://developers.plane.so/api-reference/v2/sparse-fields)). Requestable here: `archive_in`, `archived_at`, `close_in`, `cover_image`, `cover_image_url`, `created_at`, `created_by_id`, `cycle_view`, `default_assignee_id`, `default_state_id`, `description`, `emoji`, `estimate_id`, `external_id`, `external_source`, `guest_view_all_features`, `icon_prop`, `id`, `identifier`, `intake_view`, `is_issue_type_enabled`, `is_time_tracking_enabled`, `issue_views_view`, `logo_props`, `module_view`, `name`, `network`, `page_view`, `priority`, `project_lead_id`, `start_date`, `state_id`, `target_date`, `timezone`. |
  | `expand` | string | No | Comma-separated relations to embed: `default_assignee`, `project_lead`. Expanded relations appear beside their ID fields and survive sparse field filtering. Use only the relation names listed above. |
  | `v1_icon_prop` | json | No | v1 compatibility only. Icon prop. |

  #### Output [#output-9]

  | Parameter | Type | Description |
  | - | - | - |
  | `result` | object | Plane V2 Projects |
  | ↳ `archive_in` | json | Archive in |
  | ↳ `archived_at` | string | Archived at |
  | ↳ `close_in` | json | Close in |
  | ↳ `cover_image` | json | Cover image |
  | ↳ `cover_image_url` | json | Cover image url |
  | ↳ `created_at` | json | Created at |
  | ↳ `created_by_id` | string | Created by id |
  | ↳ `cycle_view` | json | Cycle view |
  | ↳ `default_assignee_id` | string | Default assignee id |
  | ↳ `default_state_id` | string | Default state id |
  | ↳ `description` | json | Description |
  | ↳ `emoji` | json | Emoji |
  | ↳ `estimate_id` | string | Estimate id |
  | ↳ `external_id` | json | External id |
  | ↳ `external_source` | json | External source |
  | ↳ `guest_view_all_features` | json | Guest view all features |
  | ↳ `icon_prop` | json | Icon prop |
  | ↳ `id` | json | Id |
  | ↳ `identifier` | json | Identifier |
  | ↳ `intake_view` | json | Intake view |
  | ↳ `is_issue_type_enabled` | json | Is issue type enabled |
  | ↳ `is_time_tracking_enabled` | json | Is time tracking enabled |
  | ↳ `issue_views_view` | json | Issue views view |
  | ↳ `logo_props` | json | Logo props |
  | ↳ `module_view` | json | Module view |
  | ↳ `name` | json | Name |
  | ↳ `network` | json | Network |
  | ↳ `page_view` | json | Page view |
  | ↳ `priority` | json | Priority |
  | ↳ `project_lead_id` | string | Project lead id |
  | ↳ `start_date` | string | Start date |
  | ↳ `state_id` | string | State id |
  | ↳ `target_date` | string | Target date |
  | ↳ `timezone` | json | Timezone |
  | ↳ `default_assignee` | json | Default assignee |
  | ↳ `project_lead` | json | Project lead |
  | ↳ `total_members` | json | Total members |
  | ↳ `total_cycles` | json | Total cycles |
  | ↳ `total_modules` | json | Total modules |
  | ↳ `is_member` | boolean | Is member |
  | ↳ `sort_order` | number | Sort order |
  | ↳ `member_role` | json | Member role |
  | ↳ `is_deployed` | boolean | Is deployed |
  | ↳ `updated_at` | string | Updated at |
  | ↳ `deleted_at` | string | Deleted at |
  | ↳ `description_text` | json | Description text |
  | ↳ `description_html` | json | Description html |
  | ↳ `created_by` | string | Created by |
  | ↳ `updated_by` | string | Updated by |
  | ↳ `workspace` | string | Workspace |
  | ↳ `cover_image_asset` | string | Cover image asset |
  | ↳ `estimate` | string | Estimate |
  | ↳ `default_state` | string | Default state |
  | ↳ `deleted_by` | json | Deleted by |
  | ↳ `is_voting_enabled` | boolean | Is voting enabled |
  | ↳ `auto_reminder_days` | number | Auto reminder days |
  | ↳ `state` | string | State |
</ReferenceDetails>

### Plane Create a project page [#plane-create-a-project-page]

Create a project page in Plane. Supports API v1 compatibility.

<ReferenceDetails>
  #### Input [#input-10]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `apiKey` | string | Yes | Plane personal access token from Profile → API tokens. |
  | `baseUrl` | string | No | Plane instance origin, optionally with a reverse-proxy path prefix. Defaults to [https://api.plane.so](https://api.plane.so). Do not include /api/v1 or /api/v2. |
  | `apiVersion` | string | No | API version: v2 (default) for Plane Cloud and current commercial instances; v1 for Community Edition or older self-hosted instances. Unsupported operations or fields fail explicitly. |
  | `bodyOverrides` | json | No | JSON overrides using the canonical input names for the selected API version. Preserves empty strings, null, and empty arrays; unsupported fields are rejected. |
  | `workspace_slug` | string | Yes | Workspace slug from the Plane URL (for example, my-team). |
  | `project_id` | string | Yes | The project the resource belongs to. Accepts the project UUID or its bare identifier, for example `ENG`. |
  | `name` | string | Yes | Display name. |
  | `access` | string | No | Who can see this. |
  | `archived_at` | string | No | The archived at. Nullable. |
  | `collection_id` | string | No | Id of the related collection. Nullable. |
  | `color` | string | No | Hex color used wherever this is rendered, for example `#3f76ff`. Maximum 255 characters. |
  | `description_html` | string | No | Rich-text body as HTML. This is the field the Plane editor round-trips. |
  | `external_id` | string | No | Your system's identifier for this record, for sync and import correlation. Maximum 255 characters. Nullable. |
  | `external_source` | string | No | The system `external_id` came from, for example `github` or `jira`. Maximum 255 characters. Nullable. |
  | `is_locked` | boolean | No | Prevents further edits to the content. |
  | `logo_props` | string | No | Editor-owned logo descriptor. Pass back what you read rather than composing it by hand. |
  | `parent_id` | string | No | Id of the related parent. Nullable. |
  | `sort_order` | number | No | Manual ordering weight. Lower sorts first. |
  | `view_props` | string | No | Editor-owned layout descriptor. Pass back what you read. |
  | `fields` | string | No | Comma-separated list of fields to return. Unrequested keys are **omitted**, not returned as `null`. `id` always comes back. Pass `all` for every requestable field. An unknown name is a `400`. See \[Sparse fields]\([https://developers.plane.so/api-reference/v2/sparse-fields](https://developers.plane.so/api-reference/v2/sparse-fields)). Requestable here: `access`, `archived_at`, `collection_id`, `color`, `created_at`, `created_by_id`, `description_html`, `description_stripped`, `external_id`, `external_source`, `id`, `is_global`, `is_locked`, `logo_props`, `name`, `owned_by_id`, `parent_id`, `sort_order`, `view_props`. |
  | `expand` | string | No | Comma-separated relations to embed: `owned_by`, `parent`. Expanded relations appear beside their ID fields and survive sparse field filtering. Use only the relation names listed above. |
  | `v1_access` | number | No | v1 compatibility only. - `0` - Public - `1` - Private |
  | `v1_view_props` | json | No | v1 compatibility only. View props. |
  | `v1_logo_props` | json | No | v1 compatibility only. Logo props. |

  #### Output [#output-10]

  | Parameter | Type | Description |
  | - | - | - |
  | `result` | object | Plane V2 Project- Pages |
  | ↳ `access` | json | Access |
  | ↳ `archived_at` | string | Archived at |
  | ↳ `collection_id` | json | Collection id |
  | ↳ `color` | json | Color |
  | ↳ `created_at` | json | Created at |
  | ↳ `created_by_id` | string | Created by id |
  | ↳ `description_html` | json | Description html |
  | ↳ `description_stripped` | json | Description stripped |
  | ↳ `external_id` | string | External id |
  | ↳ `external_source` | string | External source |
  | ↳ `id` | json | Id |
  | ↳ `is_global` | boolean | Is global |
  | ↳ `is_locked` | json | Is locked |
  | ↳ `logo_props` | json | Logo props |
  | ↳ `name` | json | Name |
  | ↳ `owned_by_id` | string | Owned by id |
  | ↳ `parent_id` | json | Parent id |
  | ↳ `sort_order` | json | Sort order |
  | ↳ `view_props` | json | View props |
  | ↳ `owned_by` | json | Owned by |
  | ↳ `parent` | json | Parent |
  | ↳ `description_binary` | string | Description binary |
  | ↳ `description` | json | Description |
  | ↳ `updated_at` | string | Updated at |
  | ↳ `anchor` | string | Anchor |
  | ↳ `workspace` | string | Workspace |
  | ↳ `projects` | array | Projects |
  | ↳ `page_collection_id` | string | Page collection id |
  | ↳ `created_by` | string | Created by |
  | ↳ `updated_by` | string | Updated by |
  | ↳ `description_json` | object | Description json |
  | ↳ `type` | string | Type |
  | ↳ `content` | array | Content |
  | ↳ `type` | string | Asset Id |
  | ↳ `attrs` | object | Attrs |
  | ↳ `id` | json | Id |
  | ↳ `textAlign` | json | Id |
  | ↳ `aiSuggestion` | json | Id |
  | ↳ `content` | array | Content |
  | ↳ `text` | string | Asset Id |
  | ↳ `type` | string | Asset Id |
</ReferenceDetails>

### Plane Create a state [#plane-create-a-state]

Create a state in Plane. Supports API v1 compatibility.

<ReferenceDetails>
  #### Input [#input-11]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `apiKey` | string | Yes | Plane personal access token from Profile → API tokens. |
  | `baseUrl` | string | No | Plane instance origin, optionally with a reverse-proxy path prefix. Defaults to [https://api.plane.so](https://api.plane.so). Do not include /api/v1 or /api/v2. |
  | `apiVersion` | string | No | API version: v2 (default) for Plane Cloud and current commercial instances; v1 for Community Edition or older self-hosted instances. Unsupported operations or fields fail explicitly. |
  | `bodyOverrides` | json | No | JSON overrides using the canonical input names for the selected API version. Preserves empty strings, null, and empty arrays; unsupported fields are rejected. |
  | `workspace_slug` | string | Yes | Workspace slug from the Plane URL (for example, my-team). |
  | `project_id` | string | Yes | The project to add the state to. |
  | `name` | string | Yes | Display name for the state, unique within the project. Maximum 255 characters. |
  | `color` | string | Yes | Hex color used wherever the state is rendered, for example `#3f76ff`. Maximum 255 characters. |
  | `group` | string | No | The workflow group the state belongs to. Determines how the state is treated by boards, charts, and cycle progress. - `backlog` — Not yet scheduled - `unstarted` — Scheduled but not begun - `started` — Actively in progress - `completed` — Finished successfully - `cancelled` — Closed without completion - `triage` — Awaiting intake review Defaults to `backlog` when omitted. |
  | `description` | string | No | Free-form description of what the state means in this workflow. |
  | `sequence` | number | No | Ordering weight within the project. Lower values sort first. Assigned automatically when omitted. |
  | `is_default` | boolean | No | Make this the project's default state — where work items land when no `state_id` is supplied. Setting it clears the flag on the previous default. |
  | `external_id` | string | No | Your system's identifier for this state, for sync and import correlation. Maximum 255 characters. |
  | `external_source` | string | No | The system `external_id` came from, for example `github` or `jira`. Maximum 255 characters. |
  | `fields` | string | No | Comma-separated list of fields to return. Unrequested keys are **omitted** from the response, not returned as `null`, so absent means "not requested" and `null` means "actually null". `id` always comes back whether or not you name it. Pass `all` for every requestable field. An unknown name is a `400` that lists the valid set and suggests the closest match, so a typo can't silently cost you the saving. Requestable here: `color`, `created_at`, `created_by_id`, `description`, `external_id`, `external_source`, `group`, `id`, `is_default`, `is_triage`, `name`, `sequence`. See \[Sparse fields]\([https://developers.plane.so/api-reference/v2/sparse-fields](https://developers.plane.so/api-reference/v2/sparse-fields)). |
  | `is_triage` | boolean | No | v1 compatibility only. Is triage. |
  | `default` | boolean | No | v1 compatibility only. Default. |

  #### Output [#output-11]

  | Parameter | Type | Description |
  | - | - | - |
  | `result` | object | Plane V2 States |
  | ↳ `id` | json | Id |
  | ↳ `name` | json | Name |
  | ↳ `description` | json | Description |
  | ↳ `color` | json | Color |
  | ↳ `group` | json | Group |
  | ↳ `sequence` | json | Sequence |
  | ↳ `is_default` | boolean | Is default |
  | ↳ `is_triage` | json | Is triage |
  | ↳ `external_id` | string | External id |
  | ↳ `external_source` | string | External source |
  | ↳ `created_at` | json | Created at |
  | ↳ `created_by_id` | string | Created by id |
  | ↳ `updated_at` | string | Updated at |
  | ↳ `deleted_at` | string | Deleted at |
  | ↳ `default` | boolean | Default |
  | ↳ `created_by` | string | Created by |
  | ↳ `updated_by` | string | Updated by |
  | ↳ `project` | string | Project |
  | ↳ `workspace` | string | Workspace |
  | ↳ `slug` | string | Slug |
  | ↳ `deleted_by` | json | Deleted by |
</ReferenceDetails>

### Plane Create a webhook [#plane-create-a-webhook]

Create a webhook in Plane. Requires API v2.

<ReferenceDetails>
  #### Input [#input-12]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `apiKey` | string | Yes | Plane personal access token from Profile → API tokens. |
  | `baseUrl` | string | No | Plane instance origin, optionally with a reverse-proxy path prefix. Defaults to [https://api.plane.so](https://api.plane.so). Do not include /api/v1 or /api/v2. |
  | `apiVersion` | string | No | API version: v2 (default) for Plane Cloud and current commercial instances; v1 for Community Edition or older self-hosted instances. Unsupported operations or fields fail explicitly. |
  | `bodyOverrides` | json | No | JSON overrides using the canonical input names for the selected API version. Preserves empty strings, null, and empty arrays; unsupported fields are rejected. |
  | `workspace_slug` | string | Yes | Workspace slug from the Plane URL (for example, my-team). |
  | `content_type` | string | No | - `application/json` - application/json - `application/x-www-form-urlencoded` - application/x-www-form-urlencoded One of `application/json`, `application/x-www-form-urlencoded`. |
  | `is_active` | boolean | No | Whether the record is active. |
  | `name` | string | No | Display name. Maximum 255 characters. Nullable. |
  | `scopes` | json | No | The scopes. |
  | `url` | string | Yes | Target URL. |
  | `version` | string | No | Version string, for example `1.4.0`. Maximum 10 characters. |
  | `fields` | string | No | Comma-separated list of fields to return. Unrequested keys are **omitted**, not returned as `null`. `id` always comes back. Pass `all` for every requestable field. An unknown name is a `400`. See \[Sparse fields]\([https://developers.plane.so/api-reference/v2/sparse-fields](https://developers.plane.so/api-reference/v2/sparse-fields)). Requestable here: `content_type`, `created_at`, `created_by_id`, `id`, `is_active`, `name`, `scopes`, `url`, `version`. |

  #### Output [#output-12]

  | Parameter | Type | Description |
  | - | - | - |
  | `result` | object | Plane V2 Webhooks |
  | ↳ `content_type` | string | Content type |
  | ↳ `created_at` | string | Created at |
  | ↳ `created_by_id` | string | Created by id |
  | ↳ `id` | string | Unique identifier. |
  | ↳ `is_active` | boolean | Is active |
  | ↳ `name` | string | Name |
  | ↳ `scopes` | array | Scopes |
  | ↳ `url` | string | Url |
  | ↳ `version` | string | Version |
  | ↳ `secret_key` | string | Secret key |
</ReferenceDetails>

### Plane Create a work item [#plane-create-a-work-item]

Create a work item in Plane. Supports API v1 compatibility.

<ReferenceDetails>
  #### Input [#input-13]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `apiKey` | string | Yes | Plane personal access token from Profile → API tokens. |
  | `baseUrl` | string | No | Plane instance origin, optionally with a reverse-proxy path prefix. Defaults to [https://api.plane.so](https://api.plane.so). Do not include /api/v1 or /api/v2. |
  | `apiVersion` | string | No | API version: v2 (default) for Plane Cloud and current commercial instances; v1 for Community Edition or older self-hosted instances. Unsupported operations or fields fail explicitly. |
  | `bodyOverrides` | json | No | JSON overrides using the canonical input names for the selected API version. Preserves empty strings, null, and empty arrays; unsupported fields are rejected. |
  | `workspace_slug` | string | Yes | Workspace slug from the Plane URL (for example, my-team). |
  | `project_id` | string | Yes | The project to create the work item in. |
  | `name` | string | Yes | Title of the work item. Maximum 255 characters. The only required field. |
  | `description_html` | string | No | Rich-text body as HTML, for example `Steps to reproduce…`. The HTML is sanitized on the way in; content that can't be sanitized is rejected with a `400`. `description_html` is **not** part of the read shape, so it will not appear in the response. |
  | `priority` | string | No | One of `urgent`, `high`, `medium`, `low`, `none`. Defaults to `none`. |
  | `state_id` | string | No | The workflow state to create the work item in. Must be a state of this project. Omit it and the work item lands in the project's default state. |
  | `state` | string | No | The state's **name** instead of its id, for example `In Progress`. Matched case-insensitively within the project. Write-only. Unknown name or a name that matches more than one state is a `400`. Sending both `state` and `state_id` is a `400`. |
  | `type_id` | string | No | The work item type. Accepts a type owned by the project and a workspace-level type imported into it. Requires work item types to be enabled. |
  | `type` | string | No | The type's **name** instead of its id, for example `Bug`. Matched case-insensitively among the project's non-epic types. Write-only. |
  | `parent_id` | string | No | The parent work item. The parent must be in the same workspace, but it may live in a different project. |
  | `parent` | string | No | The parent's **identifier** instead of its id, for example `PROJ-118`. Resolved within the workspace. Write-only. |
  | `assignee_ids` | json | No | User ids to assign. Each must be an active, assignable member of the project. Leave it out and the project's default assignee is applied, if one is configured. Send `\[\]` to create the work item with no assignee at all. |
  | `assignees` | json | No | Member **email addresses** instead of ids, for example `\["ana@example.com"\]`. Every address must belong to an active, assignable project member — any that don't are named in the `400`. Write-only. |
  | `label_ids` | json | No | Label ids to apply. Each must be a label of this project, or a workspace-level label available to it. |
  | `labels` | json | No | Label **names** instead of ids, for example `\["regression", "auth"\]`. Matched case-insensitively against the project's labels and the workspace-level labels available to it. A name that exists at both levels is ambiguous and returns a `400` telling you to use `label_ids`. Write-only. |
  | `estimate_point_id` | string | No | The estimate point to assign, from the project's active estimate system. |
  | `estimate` | string | No | The estimate point's **value** instead of its id, for example `5` or `L`. Resolved against the project's active estimate. Write-only. |
  | `start_date` | string | No | Planned start, for example `2026-01-12`. Must not be after `target_date`. |
  | `target_date` | string | No | Planned due date, for example `2026-01-20`. |
  | `external_id` | string | No | Your system's identifier for this work item, for sync and import correlation. Maximum 255 characters. Stored and filterable on \[List work items]\([https://developers.plane.so/api-reference/v2/work-items/list-work-items](https://developers.plane.so/api-reference/v2/work-items/list-work-items)), but not returned on reads. |
  | `external_source` | string | No | The system `external_id` came from, for example `github` or `jira`. Maximum 255 characters. |
  | `fields` | string | No | Comma-separated list of fields to return. Unrequested keys are **omitted** from the response, not returned as `null`, so absent means "not requested" and `null` means "actually null". `id` always comes back whether or not you name it. Pass `all` for every requestable field. An unknown name is a `400` that lists the valid set and suggests the closest match, so a typo can't silently cost you the saving. Requestable here: `archived_at`, `assignee_ids`, `created_at`, `created_by_id`, `custom_fields`, `cycle_id`, `id`, `identifier`, `is_draft`, `label_ids`, `module_ids`, `name`, `parent_id`, `priority`, `project_id`, `sequence_id`, `start_date`, `state_id`, `target_date`, `type_id`. See \[Sparse fields]\([https://developers.plane.so/api-reference/v2/sparse-fields](https://developers.plane.so/api-reference/v2/sparse-fields)). |
  | `expand` | string | No | Comma-separated relations to embed alongside the ids: `assignees` (the assigned users), `cycle` (the cycle it belongs to), `labels` (the applied labels), `modules` (the modules it belongs to), `parent` (its parent work item), `state` (the work item's state object), `type` (its work item type). Expanded relations appear beside their ID fields and survive sparse field filtering. Use only the relation names listed above. |
  | `deleted_at` | string | No | v1 compatibility only. Deleted at. |
  | `point` | number | No | v1 compatibility only. Point. |
  | `sequence_id` | number | No | v1 compatibility only. Sequence id. |
  | `sort_order` | number | No | v1 compatibility only. Sort order. |
  | `archived_at` | string | No | v1 compatibility only. Archived at. |
  | `is_draft` | boolean | No | v1 compatibility only. Is draft. |
  | `created_by` | string | No | v1 compatibility only. Created by. |
  | `created_at` | string | No | v1 compatibility only. Creation timestamp for imports. |
  | `custom_fields` | json | No | JSON custom field values. API v2 only. |
  | `cycle_id` | string | No | Cycle ID. API v2 only. |
  | `module_ids` | json | No | Module IDs. API v2 only. |

  #### Output [#output-13]

  | Parameter | Type | Description |
  | - | - | - |
  | `result` | object | Plane V2 Work- Items |
  | ↳ `id` | json | Id |
  | ↳ `name` | json | Name |
  | ↳ `identifier` | string | Identifier |
  | ↳ `sequence_id` | json | Sequence id |
  | ↳ `priority` | json | Priority |
  | ↳ `state_id` | string | State id |
  | ↳ `type_id` | string | Type id |
  | ↳ `assignee_ids` | array | Assignee ids |
  | ↳ `label_ids` | array | Label ids |
  | ↳ `parent_id` | string | Parent id |
  | ↳ `start_date` | string | Start date |
  | ↳ `target_date` | string | Target date |
  | ↳ `is_draft` | json | Is draft |
  | ↳ `archived_at` | string | Archived at |
  | ↳ `created_at` | json | Created at |
  | ↳ `created_by_id` | string | Created by id |
  | ↳ `custom_fields` | json | Custom fields |
  | ↳ `assignees` | array | Assignees |
  | ↳ `id` | string | Asset Id |
  | ↳ `display_name` | string | Asset Id |
  | ↳ `avatar_url` | string | Asset Id |
  | ↳ `email` | string | Asset Id |
  | ↳ `first_name` | string | Asset Id |
  | ↳ `last_name` | string | Asset Id |
  | ↳ `avatar` | string | Asset Id |
  | ↳ `cycle` | json | Cycle |
  | ↳ `labels` | array | Labels |
  | ↳ `id` | string | Asset Id |
  | ↳ `deleted_by` | json | Id |
  | ↳ `created_at` | string | Asset Id |
  | ↳ `updated_at` | string | Asset Id |
  | ↳ `deleted_at` | json | Id |
  | ↳ `name` | string | Asset Id |
  | ↳ `description` | string | Asset Id |
  | ↳ `color` | string | Asset Id |
  | ↳ `sort_order` | number | Sort Order |
  | ↳ `external_source` | json | Id |
  | ↳ `external_id` | json | Id |
  | ↳ `created_by` | string | Asset Id |
  | ↳ `updated_by` | json | Id |
  | ↳ `workspace` | string | Asset Id |
  | ↳ `project` | string | Asset Id |
  | ↳ `parent` | json | Id |
  | ↳ `modules` | array | Modules |
  | ↳ `parent` | json | Parent |
  | ↳ `id` | string | Asset Id |
  | ↳ `name` | string | Asset Id |
  | ↳ `sequence_id` | number | Access |
  | ↳ `state` | json | State |
  | ↳ `id` | string | Asset Id |
  | ↳ `name` | string | Asset Id |
  | ↳ `color` | string | Asset Id |
  | ↳ `group` | json | Group |
  | ↳ `type` | json | Type |
  | ↳ `id` | string | Asset Id |
  | ↳ `name` | string | Asset Id |
  | ↳ `logo_props` | json | Logo Props |
  | ↳ `is_epic` | boolean | Has Pages |
  | ↳ `project_id` | string | Project id |
  | ↳ `cycle_id` | string | Cycle id |
  | ↳ `module_ids` | array | Module ids |
  | ↳ `updated_at` | string | Updated at |
  | ↳ `deleted_at` | string | Deleted at |
  | ↳ `point` | number | Point |
  | ↳ `description_html` | string | Description html |
  | ↳ `description_stripped` | string | Description stripped |
  | ↳ `description_binary` | string | Description binary |
  | ↳ `sort_order` | number | Sort order |
  | ↳ `completed_at` | string | Completed at |
  | ↳ `external_source` | string | External source |
  | ↳ `external_id` | string | External id |
  | ↳ `created_by` | string | Created by |
  | ↳ `updated_by` | string | Updated by |
  | ↳ `project` | json | Project |
  | ↳ `workspace` | string | Workspace |
  | ↳ `estimate_point` | string | Estimate point |
  | ↳ `description` | string | Description |
  | ↳ `deleted_by` | json | Deleted by |
  | ↳ `created_via` | json | Created via |
  | ↳ `updated_via` | json | Updated via |
  | ↳ `last_activity_at` | string | Last activity at |
  | ↳ `min_assignee_first_name` | string | Min assignee first name |
  | ↳ `min_label_name` | string | Min label name |
  | ↳ `min_module_name` | string | Min module name |
  | ↳ `priority_rank` | number | Priority rank |
  | ↳ `state_group` | string | State group |
</ReferenceDetails>

### Plane Delete an attachment [#plane-delete-an-attachment]

Delete an attachment in Plane. Supports API v1 compatibility.

<ReferenceDetails>
  #### Input [#input-14]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `apiKey` | string | Yes | Plane personal access token from Profile → API tokens. |
  | `baseUrl` | string | No | Plane instance origin, optionally with a reverse-proxy path prefix. Defaults to [https://api.plane.so](https://api.plane.so). Do not include /api/v1 or /api/v2. |
  | `apiVersion` | string | No | API version: v2 (default) for Plane Cloud and current commercial instances; v1 for Community Edition or older self-hosted instances. Unsupported operations or fields fail explicitly. |
  | `workspace_slug` | string | Yes | Workspace slug from the Plane URL (for example, my-team). |
  | `project_id` | string | Yes | The project the resource belongs to. Accepts the project UUID or its bare identifier, for example `ENG`. |
  | `work_item_id` | string | Yes | The work item the resource hangs off. Accepts the work item UUID or its `PROJ-123` identifier. |
  | `pk` | string | Yes | The attachment id. |

  #### Output [#output-14]

  | Parameter | Type | Description |
  | - | - | - |
  | `success` | boolean | Operation completed successfully. |
</ReferenceDetails>

### Plane Delete a comment [#plane-delete-a-comment]

Delete a comment in Plane. Supports API v1 compatibility.

<ReferenceDetails>
  #### Input [#input-15]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `apiKey` | string | Yes | Plane personal access token from Profile → API tokens. |
  | `baseUrl` | string | No | Plane instance origin, optionally with a reverse-proxy path prefix. Defaults to [https://api.plane.so](https://api.plane.so). Do not include /api/v1 or /api/v2. |
  | `apiVersion` | string | No | API version: v2 (default) for Plane Cloud and current commercial instances; v1 for Community Edition or older self-hosted instances. Unsupported operations or fields fail explicitly. |
  | `workspace_slug` | string | Yes | Workspace slug from the Plane URL (for example, my-team). |
  | `project_id` | string | Yes | The project the work item belongs to. |
  | `work_item_id` | string | Yes | The work item the comment is attached to. |
  | `pk` | string | Yes | The comment to delete. |

  #### Output [#output-15]

  | Parameter | Type | Description |
  | - | - | - |
  | `success` | boolean | Operation completed successfully. |
</ReferenceDetails>

### Plane Delete a cycle [#plane-delete-a-cycle]

Delete a cycle in Plane. Supports API v1 compatibility.

<ReferenceDetails>
  #### Input [#input-16]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `apiKey` | string | Yes | Plane personal access token from Profile → API tokens. |
  | `baseUrl` | string | No | Plane instance origin, optionally with a reverse-proxy path prefix. Defaults to [https://api.plane.so](https://api.plane.so). Do not include /api/v1 or /api/v2. |
  | `apiVersion` | string | No | API version: v2 (default) for Plane Cloud and current commercial instances; v1 for Community Edition or older self-hosted instances. Unsupported operations or fields fail explicitly. |
  | `workspace_slug` | string | Yes | Workspace slug from the Plane URL (for example, my-team). |
  | `project_id` | string | Yes | The project the cycle belongs to. |
  | `pk` | string | Yes | The cycle to delete. |

  #### Output [#output-16]

  | Parameter | Type | Description |
  | - | - | - |
  | `success` | boolean | Operation completed successfully. |
</ReferenceDetails>

### Plane Delete a label [#plane-delete-a-label]

Delete a label in Plane. Supports API v1 compatibility.

<ReferenceDetails>
  #### Input [#input-17]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `apiKey` | string | Yes | Plane personal access token from Profile → API tokens. |
  | `baseUrl` | string | No | Plane instance origin, optionally with a reverse-proxy path prefix. Defaults to [https://api.plane.so](https://api.plane.so). Do not include /api/v1 or /api/v2. |
  | `apiVersion` | string | No | API version: v2 (default) for Plane Cloud and current commercial instances; v1 for Community Edition or older self-hosted instances. Unsupported operations or fields fail explicitly. |
  | `workspace_slug` | string | Yes | Workspace slug from the Plane URL (for example, my-team). |
  | `project_id` | string | Yes | The project the label belongs to. |
  | `pk` | string | Yes | The label id to delete. |

  #### Output [#output-17]

  | Parameter | Type | Description |
  | - | - | - |
  | `success` | boolean | Operation completed successfully. |
</ReferenceDetails>

### Plane Delete a link [#plane-delete-a-link]

Delete a link in Plane. Supports API v1 compatibility.

<ReferenceDetails>
  #### Input [#input-18]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `apiKey` | string | Yes | Plane personal access token from Profile → API tokens. |
  | `baseUrl` | string | No | Plane instance origin, optionally with a reverse-proxy path prefix. Defaults to [https://api.plane.so](https://api.plane.so). Do not include /api/v1 or /api/v2. |
  | `apiVersion` | string | No | API version: v2 (default) for Plane Cloud and current commercial instances; v1 for Community Edition or older self-hosted instances. Unsupported operations or fields fail explicitly. |
  | `workspace_slug` | string | Yes | Workspace slug from the Plane URL (for example, my-team). |
  | `project_id` | string | Yes | The project the resource belongs to. Accepts the project UUID or its bare identifier, for example `ENG`. |
  | `work_item_id` | string | Yes | The work item the resource hangs off. Accepts the work item UUID or its `PROJ-123` identifier. |
  | `pk` | string | Yes | The link id. |

  #### Output [#output-18]

  | Parameter | Type | Description |
  | - | - | - |
  | `success` | boolean | Operation completed successfully. |
</ReferenceDetails>

### Plane Delete a module [#plane-delete-a-module]

Delete a module in Plane. Supports API v1 compatibility.

<ReferenceDetails>
  #### Input [#input-19]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `apiKey` | string | Yes | Plane personal access token from Profile → API tokens. |
  | `baseUrl` | string | No | Plane instance origin, optionally with a reverse-proxy path prefix. Defaults to [https://api.plane.so](https://api.plane.so). Do not include /api/v1 or /api/v2. |
  | `apiVersion` | string | No | API version: v2 (default) for Plane Cloud and current commercial instances; v1 for Community Edition or older self-hosted instances. Unsupported operations or fields fail explicitly. |
  | `workspace_slug` | string | Yes | Workspace slug from the Plane URL (for example, my-team). |
  | `project_id` | string | Yes | The project the module belongs to. |
  | `pk` | string | Yes | The module to delete. |

  #### Output [#output-19]

  | Parameter | Type | Description |
  | - | - | - |
  | `success` | boolean | Operation completed successfully. |
</ReferenceDetails>

### Plane Delete a project [#plane-delete-a-project]

Delete a project in Plane. Supports API v1 compatibility.

<ReferenceDetails>
  #### Input [#input-20]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `apiKey` | string | Yes | Plane personal access token from Profile → API tokens. |
  | `baseUrl` | string | No | Plane instance origin, optionally with a reverse-proxy path prefix. Defaults to [https://api.plane.so](https://api.plane.so). Do not include /api/v1 or /api/v2. |
  | `apiVersion` | string | No | API version: v2 (default) for Plane Cloud and current commercial instances; v1 for Community Edition or older self-hosted instances. Unsupported operations or fields fail explicitly. |
  | `workspace_slug` | string | Yes | Workspace slug from the Plane URL (for example, my-team). |
  | `pk` | string | Yes | The project id. |

  #### Output [#output-20]

  | Parameter | Type | Description |
  | - | - | - |
  | `success` | boolean | Operation completed successfully. |
</ReferenceDetails>

### Plane Delete a project page [#plane-delete-a-project-page]

Delete a project page in Plane. Supports API v1 compatibility.

<ReferenceDetails>
  #### Input [#input-21]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `apiKey` | string | Yes | Plane personal access token from Profile → API tokens. |
  | `baseUrl` | string | No | Plane instance origin, optionally with a reverse-proxy path prefix. Defaults to [https://api.plane.so](https://api.plane.so). Do not include /api/v1 or /api/v2. |
  | `apiVersion` | string | No | API version: v2 (default) for Plane Cloud and current commercial instances; v1 for Community Edition or older self-hosted instances. Unsupported operations or fields fail explicitly. |
  | `workspace_slug` | string | Yes | Workspace slug from the Plane URL (for example, my-team). |
  | `project_id` | string | Yes | The project the resource belongs to. Accepts the project UUID or its bare identifier, for example `ENG`. |
  | `pk` | string | Yes | The project page id. |

  #### Output [#output-21]

  | Parameter | Type | Description |
  | - | - | - |
  | `success` | boolean | Operation completed successfully. |
</ReferenceDetails>

### Plane Delete a state [#plane-delete-a-state]

Delete a state in Plane. Supports API v1 compatibility.

<ReferenceDetails>
  #### Input [#input-22]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `apiKey` | string | Yes | Plane personal access token from Profile → API tokens. |
  | `baseUrl` | string | No | Plane instance origin, optionally with a reverse-proxy path prefix. Defaults to [https://api.plane.so](https://api.plane.so). Do not include /api/v1 or /api/v2. |
  | `apiVersion` | string | No | API version: v2 (default) for Plane Cloud and current commercial instances; v1 for Community Edition or older self-hosted instances. Unsupported operations or fields fail explicitly. |
  | `workspace_slug` | string | Yes | Workspace slug from the Plane URL (for example, my-team). |
  | `project_id` | string | Yes | The project the state belongs to. |
  | `pk` | string | Yes | The id of the state to delete. |

  #### Output [#output-22]

  | Parameter | Type | Description |
  | - | - | - |
  | `success` | boolean | Operation completed successfully. |
</ReferenceDetails>

### Plane Delete a webhook [#plane-delete-a-webhook]

Delete a webhook in Plane. Requires API v2.

<ReferenceDetails>
  #### Input [#input-23]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `apiKey` | string | Yes | Plane personal access token from Profile → API tokens. |
  | `baseUrl` | string | No | Plane instance origin, optionally with a reverse-proxy path prefix. Defaults to [https://api.plane.so](https://api.plane.so). Do not include /api/v1 or /api/v2. |
  | `apiVersion` | string | No | API version: v2 (default) for Plane Cloud and current commercial instances; v1 for Community Edition or older self-hosted instances. Unsupported operations or fields fail explicitly. |
  | `workspace_slug` | string | Yes | Workspace slug from the Plane URL (for example, my-team). |
  | `pk` | string | Yes | The webhook id. |

  #### Output [#output-23]

  | Parameter | Type | Description |
  | - | - | - |
  | `success` | boolean | Operation completed successfully. |
</ReferenceDetails>

### Plane Delete a work item [#plane-delete-a-work-item]

Delete a work item in Plane. Supports API v1 compatibility.

<ReferenceDetails>
  #### Input [#input-24]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `apiKey` | string | Yes | Plane personal access token from Profile → API tokens. |
  | `baseUrl` | string | No | Plane instance origin, optionally with a reverse-proxy path prefix. Defaults to [https://api.plane.so](https://api.plane.so). Do not include /api/v1 or /api/v2. |
  | `apiVersion` | string | No | API version: v2 (default) for Plane Cloud and current commercial instances; v1 for Community Edition or older self-hosted instances. Unsupported operations or fields fail explicitly. |
  | `workspace_slug` | string | Yes | Workspace slug from the Plane URL (for example, my-team). |
  | `project_id` | string | Yes | The project the work item belongs to. |
  | `pk` | string | Yes | The work item's UUID. This lookup is UUID-only — a `PROJ-142` identifier here returns `404`. |

  #### Output [#output-24]

  | Parameter | Type | Description |
  | - | - | - |
  | `success` | boolean | Operation completed successfully. |
</ReferenceDetails>

### Plane Get an attachment [#plane-get-an-attachment]

Get an attachment in Plane. Requires API v2.

<ReferenceDetails>
  #### Input [#input-25]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `apiKey` | string | Yes | Plane personal access token from Profile → API tokens. |
  | `baseUrl` | string | No | Plane instance origin, optionally with a reverse-proxy path prefix. Defaults to [https://api.plane.so](https://api.plane.so). Do not include /api/v1 or /api/v2. |
  | `apiVersion` | string | No | API version: v2 (default) for Plane Cloud and current commercial instances; v1 for Community Edition or older self-hosted instances. Unsupported operations or fields fail explicitly. |
  | `workspace_slug` | string | Yes | Workspace slug from the Plane URL (for example, my-team). |
  | `project_id` | string | Yes | The project the resource belongs to. Accepts the project UUID or its bare identifier, for example `ENG`. |
  | `work_item_id` | string | Yes | The work item the resource hangs off. Accepts the work item UUID or its `PROJ-123` identifier. |
  | `pk` | string | Yes | The attachment id. |
  | `fields` | string | No | Comma-separated list of fields to return. Unrequested keys are **omitted**, not returned as `null`. `id` always comes back. Pass `all` for every requestable field. An unknown name is a `400`. See \[Sparse fields]\([https://developers.plane.so/api-reference/v2/sparse-fields](https://developers.plane.so/api-reference/v2/sparse-fields)). Requestable here: `asset_url`, `attributes`, `content_type`, `created_at`, `created_by_id`, `external_id`, `external_source`, `id`, `is_uploaded`, `name`, `size`, `work_item_id`. |

  #### Output [#output-25]

  | Parameter | Type | Description |
  | - | - | - |
  | `result` | object | Plane V2 Work- Item- Attachments |
  | ↳ `asset_url` | string | Asset url |
  | ↳ `attributes` | json | Attributes |
  | ↳ `content_type` | string | Content type |
  | ↳ `created_at` | string | Created at |
  | ↳ `created_by_id` | string | Created by id |
  | ↳ `external_id` | string | External id |
  | ↳ `external_source` | string | External source |
  | ↳ `id` | string | Unique identifier. |
  | ↳ `is_uploaded` | boolean | Is uploaded |
  | ↳ `name` | string | Name |
  | ↳ `size` | json | Size |
  | ↳ `work_item_id` | string | Work item id |
</ReferenceDetails>

### Plane Get a comment [#plane-get-a-comment]

Get a comment in Plane. Supports API v1 compatibility.

<ReferenceDetails>
  #### Input [#input-26]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `apiKey` | string | Yes | Plane personal access token from Profile → API tokens. |
  | `baseUrl` | string | No | Plane instance origin, optionally with a reverse-proxy path prefix. Defaults to [https://api.plane.so](https://api.plane.so). Do not include /api/v1 or /api/v2. |
  | `apiVersion` | string | No | API version: v2 (default) for Plane Cloud and current commercial instances; v1 for Community Edition or older self-hosted instances. Unsupported operations or fields fail explicitly. |
  | `workspace_slug` | string | Yes | Workspace slug from the Plane URL (for example, my-team). |
  | `project_id` | string | Yes | The project the work item belongs to. |
  | `work_item_id` | string | Yes | The work item the comment is attached to. |
  | `pk` | string | Yes | The comment to retrieve. |
  | `fields` | string | No | Comma-separated list of fields to return. Unrequested keys are **omitted** from the response, not returned as `null`, so absent means "not requested" and `null` means "actually null". `id` always comes back whether or not you name it. Pass `all` for every requestable field. An unknown name is a `400` that lists the valid set and suggests the closest match, so a typo can't silently cost you the saving. Requestable here: `access`, `actor_id`, `comment_html`, `comment_stripped`, `created_at`, `created_by_id`, `edited_at`, `external_id`, `external_source`, `id`, `work_item_id`. See \[Sparse fields]\([https://developers.plane.so/api-reference/v2/sparse-fields](https://developers.plane.so/api-reference/v2/sparse-fields)). |
  | `expand` | string | No | Comma-separated relations to embed alongside the ids: `actor` (the comment author). Expanded relations appear beside their ID fields and survive sparse field filtering. Use only the relation names listed above. |

  #### Output [#output-26]

  | Parameter | Type | Description |
  | - | - | - |
  | `result` | object | Plane V2 Work- Item- Comments |
  | ↳ `id` | json | Id |
  | ↳ `work_item_id` | string | Work item id |
  | ↳ `comment_html` | json | Comment html |
  | ↳ `comment_stripped` | json | Comment stripped |
  | ↳ `access` | json | Access |
  | ↳ `actor_id` | string | Actor id |
  | ↳ `external_id` | string | External id |
  | ↳ `external_source` | string | External source |
  | ↳ `edited_at` | string | Edited at |
  | ↳ `created_at` | json | Created at |
  | ↳ `created_by_id` | string | Created by id |
  | ↳ `actor` | json | Actor |
  | ↳ `is_member` | boolean | Is member |
  | ↳ `updated_at` | string | Updated at |
  | ↳ `deleted_at` | string | Deleted at |
  | ↳ `attachments` | array | Attachments |
  | ↳ `created_by` | string | Created by |
  | ↳ `updated_by` | string | Updated by |
  | ↳ `project` | string | Project |
  | ↳ `workspace` | string | Workspace |
  | ↳ `issue` | string | Issue |
  | ↳ `parent` | string | Parent |
  | ↳ `description` | string | Description |
  | ↳ `comment_json` | object | Comment json |
  | ↳ `type` | string | Type |
  | ↳ `content` | array | Content |
  | ↳ `type` | string | Asset Id |
  | ↳ `content` | array | Content |
  | ↳ `type` | string | Asset Id |
  | ↳ `text` | string | Asset Id |
  | ↳ `deleted_by` | json | Deleted by |
  | ↳ `is_hidden` | boolean | Is hidden |
  | ↳ `created_via` | json | Created via |
  | ↳ `updated_via` | json | Updated via |
  | ↳ `hidden_reason` | json | Hidden reason |
  | ↳ `hidden_at` | json | Hidden at |
  | ↳ `hidden_by` | json | Hidden by |
  | ↳ `source` | json | Source |
</ReferenceDetails>

### Plane Get current user [#plane-get-current-user]

Get current user in Plane. Supports API v1 compatibility.

<ReferenceDetails>
  #### Input [#input-27]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `apiKey` | string | Yes | Plane personal access token from Profile → API tokens. |
  | `baseUrl` | string | No | Plane instance origin, optionally with a reverse-proxy path prefix. Defaults to [https://api.plane.so](https://api.plane.so). Do not include /api/v1 or /api/v2. |
  | `apiVersion` | string | No | API version: v2 (default) for Plane Cloud and current commercial instances; v1 for Community Edition or older self-hosted instances. Unsupported operations or fields fail explicitly. |

  #### Output [#output-27]

  | Parameter | Type | Description |
  | - | - | - |
  | `result` | object | Plane V2 V2 Get Current Userresult |
  | ↳ `id` | string | Id |
  | ↳ `email` | string | Email |
  | ↳ `display_name` | string | Display name |
  | ↳ `principal_kind` | string | Principal kind |
  | ↳ `scopes` | array | Scopes |
  | ↳ `first_name` | string | First name |
  | ↳ `last_name` | string | Last name |
  | ↳ `avatar` | string | Avatar |
  | ↳ `avatar_url` | string | Avatar URL |
</ReferenceDetails>

### Plane Get a cycle [#plane-get-a-cycle]

Get a cycle in Plane. Supports API v1 compatibility.

<ReferenceDetails>
  #### Input [#input-28]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `apiKey` | string | Yes | Plane personal access token from Profile → API tokens. |
  | `baseUrl` | string | No | Plane instance origin, optionally with a reverse-proxy path prefix. Defaults to [https://api.plane.so](https://api.plane.so). Do not include /api/v1 or /api/v2. |
  | `apiVersion` | string | No | API version: v2 (default) for Plane Cloud and current commercial instances; v1 for Community Edition or older self-hosted instances. Unsupported operations or fields fail explicitly. |
  | `workspace_slug` | string | Yes | Workspace slug from the Plane URL (for example, my-team). |
  | `project_id` | string | Yes | The project the cycle belongs to. A cycle id from a different project returns `404`, not the record. |
  | `pk` | string | Yes | The cycle to retrieve. |
  | `fields` | string | No | Comma-separated list of fields to return. Unrequested keys are **omitted** from the response, not returned as `null`, so absent means "not requested" and `null` means "actually null". `id` always comes back whether or not you name it. Pass `all` for every requestable field. An unknown name is a `400` that lists the valid set and suggests the closest match, so a typo can't silently cost you the saving. Requestable here: `created_at`, `created_by_id`, `description`, `end_date`, `external_id`, `external_source`, `id`, `logo_props`, `name`, `owned_by_id`, `sort_order`, `start_date`, `timezone`. See \[Sparse fields]\([https://developers.plane.so/api-reference/v2/sparse-fields](https://developers.plane.so/api-reference/v2/sparse-fields)). |
  | `expand` | string | No | Comma-separated relations to embed alongside the ids: `owned_by` (the cycle owner). Expanded relations appear beside their ID fields and survive sparse field filtering. Use only the relation names listed above. |

  #### Output [#output-28]

  | Parameter | Type | Description |
  | - | - | - |
  | `result` | object | Plane V2 Cycles |
  | ↳ `id` | json | Id |
  | ↳ `name` | json | Name |
  | ↳ `description` | json | Description |
  | ↳ `start_date` | string | Start date |
  | ↳ `end_date` | string | End date |
  | ↳ `timezone` | json | Timezone |
  | ↳ `owned_by_id` | string | Owned by id |
  | ↳ `sort_order` | json | Sort order |
  | ↳ `logo_props` | json | Logo props |
  | ↳ `external_id` | string | External id |
  | ↳ `external_source` | string | External source |
  | ↳ `created_at` | json | Created at |
  | ↳ `created_by_id` | string | Created by id |
  | ↳ `owned_by` | json | Owned by |
  | ↳ `total_issues` | json | Total issues |
  | ↳ `cancelled_issues` | json | Cancelled issues |
  | ↳ `completed_issues` | json | Completed issues |
  | ↳ `started_issues` | json | Started issues |
  | ↳ `unstarted_issues` | json | Unstarted issues |
  | ↳ `backlog_issues` | json | Backlog issues |
  | ↳ `total_estimates` | number | Total estimates |
  | ↳ `completed_estimates` | number | Completed estimates |
  | ↳ `started_estimates` | number | Started estimates |
  | ↳ `updated_at` | string | Updated at |
  | ↳ `deleted_at` | string | Deleted at |
  | ↳ `view_props` | json | View props |
  | ↳ `progress_snapshot` | json | Progress snapshot |
  | ↳ `archived_at` | string | Archived at |
  | ↳ `version` | json | Version |
  | ↳ `created_by` | string | Created by |
  | ↳ `updated_by` | string | Updated by |
  | ↳ `project` | string | Project |
  | ↳ `workspace` | string | Workspace |
  | ↳ `status` | string | Status |
  | ↳ `deleted_by` | json | Deleted by |
</ReferenceDetails>

### Plane Get a label [#plane-get-a-label]

Get a label in Plane. Supports API v1 compatibility.

<ReferenceDetails>
  #### Input [#input-29]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `apiKey` | string | Yes | Plane personal access token from Profile → API tokens. |
  | `baseUrl` | string | No | Plane instance origin, optionally with a reverse-proxy path prefix. Defaults to [https://api.plane.so](https://api.plane.so). Do not include /api/v1 or /api/v2. |
  | `apiVersion` | string | No | API version: v2 (default) for Plane Cloud and current commercial instances; v1 for Community Edition or older self-hosted instances. Unsupported operations or fields fail explicitly. |
  | `workspace_slug` | string | Yes | Workspace slug from the Plane URL (for example, my-team). |
  | `project_id` | string | Yes | The project the label belongs to. |
  | `pk` | string | Yes | The label id. |
  | `fields` | string | No | Comma-separated list of fields to return. Unrequested keys are **omitted** from the response, not returned as `null`, so absent means "not requested" and `null` means "actually null". `id` always comes back whether or not you name it. Pass `all` for every requestable field. An unknown name is a `400` that lists the valid set and suggests the closest match, so a typo can't silently cost you the saving. Requestable here: `color`, `created_at`, `created_by_id`, `description`, `external_id`, `external_source`, `id`, `name`, `parent_id`, `sort_order`. See \[Sparse fields]\([https://developers.plane.so/api-reference/v2/sparse-fields](https://developers.plane.so/api-reference/v2/sparse-fields)). |

  #### Output [#output-29]

  | Parameter | Type | Description |
  | - | - | - |
  | `result` | object | Plane V2 Labels |
  | ↳ `id` | json | Id |
  | ↳ `name` | json | Name |
  | ↳ `description` | json | Description |
  | ↳ `color` | json | Color |
  | ↳ `sort_order` | json | Sort order |
  | ↳ `parent_id` | string | Parent id |
  | ↳ `external_id` | string | External id |
  | ↳ `external_source` | string | External source |
  | ↳ `created_at` | json | Created at |
  | ↳ `created_by_id` | string | Created by id |
  | ↳ `updated_at` | string | Updated at |
  | ↳ `deleted_at` | string | Deleted at |
  | ↳ `created_by` | string | Created by |
  | ↳ `updated_by` | string | Updated by |
  | ↳ `workspace` | string | Workspace |
  | ↳ `project` | string | Project |
  | ↳ `parent` | string | Parent |
  | ↳ `deleted_by` | json | Deleted by |
</ReferenceDetails>

### Plane Get a link [#plane-get-a-link]

Get a link in Plane. Supports API v1 compatibility.

<ReferenceDetails>
  #### Input [#input-30]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `apiKey` | string | Yes | Plane personal access token from Profile → API tokens. |
  | `baseUrl` | string | No | Plane instance origin, optionally with a reverse-proxy path prefix. Defaults to [https://api.plane.so](https://api.plane.so). Do not include /api/v1 or /api/v2. |
  | `apiVersion` | string | No | API version: v2 (default) for Plane Cloud and current commercial instances; v1 for Community Edition or older self-hosted instances. Unsupported operations or fields fail explicitly. |
  | `workspace_slug` | string | Yes | Workspace slug from the Plane URL (for example, my-team). |
  | `project_id` | string | Yes | The project the resource belongs to. Accepts the project UUID or its bare identifier, for example `ENG`. |
  | `work_item_id` | string | Yes | The work item the resource hangs off. Accepts the work item UUID or its `PROJ-123` identifier. |
  | `pk` | string | Yes | The link id. |
  | `fields` | string | No | Comma-separated list of fields to return. Unrequested keys are **omitted**, not returned as `null`. `id` always comes back. Pass `all` for every requestable field. An unknown name is a `400`. See \[Sparse fields]\([https://developers.plane.so/api-reference/v2/sparse-fields](https://developers.plane.so/api-reference/v2/sparse-fields)). Requestable here: `created_at`, `created_by_id`, `id`, `metadata`, `title`, `url`, `work_item_id`. |
  | `cursor` | string | No | v1 compatibility only. Pagination cursor for getting next set of results |
  | `expand` | string | No | v1 compatibility only. Comma-separated list of related fields to expand in response Expanded relations appear beside their ID fields and survive sparse field filtering. Use only the relation names listed above. |
  | `per_page` | number | No | v1 compatibility only. Number of results per page (default: 20, max: 100) |

  #### Output [#output-30]

  | Parameter | Type | Description |
  | - | - | - |
  | `result` | object | Plane V2 Work- Item- Links |
  | ↳ `created_at` | json | Created at |
  | ↳ `created_by_id` | string | Created by id |
  | ↳ `id` | json | Id |
  | ↳ `metadata` | json | Metadata |
  | ↳ `url` | string | Asset Id |
  | ↳ `title` | string | Asset Id |
  | ↳ `favicon` | string | Asset Id |
  | ↳ `favicon_url` | json | Logo Props |
  | ↳ `title` | json | Title |
  | ↳ `url` | json | Url |
  | ↳ `work_item_id` | string | Work item id |
  | ↳ `name` | string | Legacy link name. |
  | ↳ `updated_at` | string | Updated at |
  | ↳ `deleted_at` | string | Deleted at |
  | ↳ `created_by` | string | Created by |
  | ↳ `updated_by` | string | Updated by |
  | ↳ `project` | string | Project |
  | ↳ `workspace` | string | Workspace |
  | ↳ `issue` | string | Issue |
  | ↳ `grouped_by` | string | Grouped by |
  | ↳ `sub_grouped_by` | string | Sub grouped by |
  | ↳ `total_count` | number | Total count |
  | ↳ `next_cursor` | string | Next cursor |
  | ↳ `prev_cursor` | string | Prev cursor |
  | ↳ `next_page_results` | boolean | Next page results |
  | ↳ `prev_page_results` | boolean | Prev page results |
  | ↳ `count` | number | Count |
  | ↳ `total_pages` | number | Total pages |
  | ↳ `total_results` | number | Total results |
  | ↳ `extra_stats` | json | Extra stats (nullable provider value). |
  | ↳ `results` | array | Results |
  | ↳ `id` | string | Asset Id |
  | ↳ `name` | string | Asset Id |
  | ↳ `created_at` | string | Asset Id |
  | ↳ `deleted_by` | json | Deleted by |
</ReferenceDetails>

### Plane Get a module [#plane-get-a-module]

Get a module in Plane. Supports API v1 compatibility.

<ReferenceDetails>
  #### Input [#input-31]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `apiKey` | string | Yes | Plane personal access token from Profile → API tokens. |
  | `baseUrl` | string | No | Plane instance origin, optionally with a reverse-proxy path prefix. Defaults to [https://api.plane.so](https://api.plane.so). Do not include /api/v1 or /api/v2. |
  | `apiVersion` | string | No | API version: v2 (default) for Plane Cloud and current commercial instances; v1 for Community Edition or older self-hosted instances. Unsupported operations or fields fail explicitly. |
  | `workspace_slug` | string | Yes | Workspace slug from the Plane URL (for example, my-team). |
  | `project_id` | string | Yes | The project the module belongs to. |
  | `pk` | string | Yes | The module to retrieve. |
  | `fields` | string | No | Comma-separated list of fields to return. Unrequested keys are **omitted** from the response, not returned as `null`, so absent means "not requested" and `null` means "actually null". `id` always comes back whether or not you name it. Pass `all` for every requestable field. An unknown name is a `400` that lists the valid set and suggests the closest match, so a typo can't silently cost you the saving. Requestable here: `archived_at`, `created_at`, `created_by_id`, `description`, `external_id`, `external_source`, `id`, `lead_id`, `logo_props`, `member_ids`, `name`, `sort_order`, `start_date`, `status`, `target_date`. See \[Sparse fields]\([https://developers.plane.so/api-reference/v2/sparse-fields](https://developers.plane.so/api-reference/v2/sparse-fields)). |
  | `expand` | string | No | Comma-separated relations to embed alongside the ids: `lead` (the module lead), `members` (the module members). Expanded relations appear beside their ID fields and survive sparse field filtering. Use only the relation names listed above. |

  #### Output [#output-31]

  | Parameter | Type | Description |
  | - | - | - |
  | `result` | object | Plane V2 Modules |
  | ↳ `id` | json | Id |
  | ↳ `name` | json | Name |
  | ↳ `description` | json | Description |
  | ↳ `status` | json | Status |
  | ↳ `start_date` | string | Start date |
  | ↳ `target_date` | string | Target date |
  | ↳ `lead_id` | string | Lead id |
  | ↳ `member_ids` | array | Member ids |
  | ↳ `sort_order` | json | Sort order |
  | ↳ `logo_props` | json | Logo props |
  | ↳ `external_id` | string | External id |
  | ↳ `external_source` | string | External source |
  | ↳ `archived_at` | string | Archived at |
  | ↳ `created_at` | json | Created at |
  | ↳ `created_by_id` | string | Created by id |
  | ↳ `lead` | json | Lead |
  | ↳ `members` | array | Members |
  | ↳ `total_issues` | json | Total issues |
  | ↳ `cancelled_issues` | json | Cancelled issues |
  | ↳ `completed_issues` | json | Completed issues |
  | ↳ `started_issues` | json | Started issues |
  | ↳ `unstarted_issues` | json | Unstarted issues |
  | ↳ `backlog_issues` | json | Backlog issues |
  | ↳ `updated_at` | string | Updated at |
  | ↳ `deleted_at` | string | Deleted at |
  | ↳ `description_text` | json | Description text |
  | ↳ `description_html` | json | Description html |
  | ↳ `view_props` | json | View props |
  | ↳ `created_by` | string | Created by |
  | ↳ `updated_by` | string | Updated by |
  | ↳ `project` | string | Project |
  | ↳ `workspace` | string | Workspace |
  | ↳ `deleted_by` | json | Deleted by |
</ReferenceDetails>

### Plane Get a project [#plane-get-a-project]

Get a project in Plane. Supports API v1 compatibility.

<ReferenceDetails>
  #### Input [#input-32]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `apiKey` | string | Yes | Plane personal access token from Profile → API tokens. |
  | `baseUrl` | string | No | Plane instance origin, optionally with a reverse-proxy path prefix. Defaults to [https://api.plane.so](https://api.plane.so). Do not include /api/v1 or /api/v2. |
  | `apiVersion` | string | No | API version: v2 (default) for Plane Cloud and current commercial instances; v1 for Community Edition or older self-hosted instances. Unsupported operations or fields fail explicitly. |
  | `workspace_slug` | string | Yes | Workspace slug from the Plane URL (for example, my-team). |
  | `pk` | string | Yes | The project id. |
  | `fields` | string | No | Comma-separated list of fields to return. Unrequested keys are **omitted**, not returned as `null`. `id` always comes back. Pass `all` for every requestable field. An unknown name is a `400`. See \[Sparse fields]\([https://developers.plane.so/api-reference/v2/sparse-fields](https://developers.plane.so/api-reference/v2/sparse-fields)). Requestable here: `archive_in`, `archived_at`, `close_in`, `cover_image`, `cover_image_url`, `created_at`, `created_by_id`, `cycle_view`, `default_assignee_id`, `default_state_id`, `description`, `emoji`, `estimate_id`, `external_id`, `external_source`, `guest_view_all_features`, `icon_prop`, `id`, `identifier`, `intake_view`, `is_issue_type_enabled`, `is_time_tracking_enabled`, `issue_views_view`, `logo_props`, `module_view`, `name`, `network`, `page_view`, `priority`, `project_lead_id`, `start_date`, `state_id`, `target_date`, `timezone`. |
  | `expand` | string | No | Comma-separated relations to embed: `default_assignee`, `project_lead`. Expanded relations appear beside their ID fields and survive sparse field filtering. Use only the relation names listed above. |

  #### Output [#output-32]

  | Parameter | Type | Description |
  | - | - | - |
  | `result` | object | Plane V2 Projects |
  | ↳ `archive_in` | json | Archive in |
  | ↳ `archived_at` | string | Archived at |
  | ↳ `close_in` | json | Close in |
  | ↳ `cover_image` | json | Cover image |
  | ↳ `cover_image_url` | json | Cover image url |
  | ↳ `created_at` | json | Created at |
  | ↳ `created_by_id` | string | Created by id |
  | ↳ `cycle_view` | json | Cycle view |
  | ↳ `default_assignee_id` | string | Default assignee id |
  | ↳ `default_state_id` | string | Default state id |
  | ↳ `description` | json | Description |
  | ↳ `emoji` | json | Emoji |
  | ↳ `estimate_id` | string | Estimate id |
  | ↳ `external_id` | json | External id |
  | ↳ `external_source` | json | External source |
  | ↳ `guest_view_all_features` | json | Guest view all features |
  | ↳ `icon_prop` | json | Icon prop |
  | ↳ `id` | json | Id |
  | ↳ `identifier` | json | Identifier |
  | ↳ `intake_view` | json | Intake view |
  | ↳ `is_issue_type_enabled` | json | Is issue type enabled |
  | ↳ `is_time_tracking_enabled` | json | Is time tracking enabled |
  | ↳ `issue_views_view` | json | Issue views view |
  | ↳ `logo_props` | json | Logo props |
  | ↳ `module_view` | json | Module view |
  | ↳ `name` | json | Name |
  | ↳ `network` | json | Network |
  | ↳ `page_view` | json | Page view |
  | ↳ `priority` | json | Priority |
  | ↳ `project_lead_id` | string | Project lead id |
  | ↳ `start_date` | string | Start date |
  | ↳ `state_id` | string | State id |
  | ↳ `target_date` | string | Target date |
  | ↳ `timezone` | json | Timezone |
  | ↳ `default_assignee` | json | Default assignee |
  | ↳ `project_lead` | json | Project lead |
  | ↳ `total_members` | json | Total members |
  | ↳ `total_cycles` | json | Total cycles |
  | ↳ `total_modules` | json | Total modules |
  | ↳ `is_member` | boolean | Is member |
  | ↳ `sort_order` | number | Sort order |
  | ↳ `member_role` | json | Member role |
  | ↳ `is_deployed` | boolean | Is deployed |
  | ↳ `updated_at` | string | Updated at |
  | ↳ `deleted_at` | string | Deleted at |
  | ↳ `description_text` | json | Description text |
  | ↳ `description_html` | json | Description html |
  | ↳ `created_by` | string | Created by |
  | ↳ `updated_by` | string | Updated by |
  | ↳ `workspace` | string | Workspace |
  | ↳ `cover_image_asset` | string | Cover image asset |
  | ↳ `estimate` | string | Estimate |
  | ↳ `default_state` | string | Default state |
  | ↳ `deleted_by` | json | Deleted by |
  | ↳ `is_voting_enabled` | boolean | Is voting enabled |
  | ↳ `auto_reminder_days` | number | Auto reminder days |
  | ↳ `state` | string | State |
</ReferenceDetails>

### Plane Get a project page [#plane-get-a-project-page]

Get a project page in Plane. Supports API v1 compatibility.

<ReferenceDetails>
  #### Input [#input-33]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `apiKey` | string | Yes | Plane personal access token from Profile → API tokens. |
  | `baseUrl` | string | No | Plane instance origin, optionally with a reverse-proxy path prefix. Defaults to [https://api.plane.so](https://api.plane.so). Do not include /api/v1 or /api/v2. |
  | `apiVersion` | string | No | API version: v2 (default) for Plane Cloud and current commercial instances; v1 for Community Edition or older self-hosted instances. Unsupported operations or fields fail explicitly. |
  | `workspace_slug` | string | Yes | Workspace slug from the Plane URL (for example, my-team). |
  | `project_id` | string | Yes | The project the resource belongs to. Accepts the project UUID or its bare identifier, for example `ENG`. |
  | `pk` | string | Yes | The project page id. |
  | `fields` | string | No | Comma-separated list of fields to return. Unrequested keys are **omitted**, not returned as `null`. `id` always comes back. Pass `all` for every requestable field. An unknown name is a `400`. See \[Sparse fields]\([https://developers.plane.so/api-reference/v2/sparse-fields](https://developers.plane.so/api-reference/v2/sparse-fields)). Requestable here: `access`, `archived_at`, `collection_id`, `color`, `created_at`, `created_by_id`, `description_html`, `description_stripped`, `external_id`, `external_source`, `id`, `is_global`, `is_locked`, `logo_props`, `name`, `owned_by_id`, `parent_id`, `sort_order`, `view_props`. |
  | `expand` | string | No | Comma-separated relations to embed: `owned_by`, `parent`. Expanded relations appear beside their ID fields and survive sparse field filtering. Use only the relation names listed above. |
  | `external_id` | string | No | v1 compatibility only. External system identifier for filtering or lookup |
  | `external_source` | string | No | v1 compatibility only. External system source name for filtering or lookup |
  | `order_by` | string | No | v1 compatibility only. Field to order results by. Prefix with '-' for descending order |

  #### Output [#output-33]

  | Parameter | Type | Description |
  | - | - | - |
  | `result` | object | Plane V2 Project- Pages |
  | ↳ `access` | json | Access |
  | ↳ `archived_at` | string | Archived at |
  | ↳ `collection_id` | json | Collection id |
  | ↳ `color` | json | Color |
  | ↳ `created_at` | json | Created at |
  | ↳ `created_by_id` | string | Created by id |
  | ↳ `description_html` | json | Description html |
  | ↳ `description_stripped` | json | Description stripped |
  | ↳ `external_id` | string | External id |
  | ↳ `external_source` | string | External source |
  | ↳ `id` | json | Id |
  | ↳ `is_global` | boolean | Is global |
  | ↳ `is_locked` | json | Is locked |
  | ↳ `logo_props` | json | Logo props |
  | ↳ `name` | json | Name |
  | ↳ `owned_by_id` | string | Owned by id |
  | ↳ `parent_id` | json | Parent id |
  | ↳ `sort_order` | json | Sort order |
  | ↳ `view_props` | json | View props |
  | ↳ `owned_by` | json | Owned by |
  | ↳ `parent` | json | Parent |
  | ↳ `description_binary` | string | Description binary |
  | ↳ `description` | json | Description |
  | ↳ `updated_at` | string | Updated at |
  | ↳ `anchor` | string | Anchor |
  | ↳ `workspace` | string | Workspace |
  | ↳ `projects` | array | Projects |
  | ↳ `page_collection_id` | string | Page collection id |
  | ↳ `created_by` | string | Created by |
  | ↳ `updated_by` | json | Updated by |
  | ↳ `description_json` | object | Description json |
  | ↳ `type` | string | Type |
  | ↳ `content` | array | Content |
  | ↳ `type` | string | Asset Id |
  | ↳ `attrs` | object | Attrs |
  | ↳ `id` | json | Id |
  | ↳ `textAlign` | json | Id |
  | ↳ `aiSuggestion` | json | Id |
  | ↳ `content` | array | Content |
  | ↳ `text` | string | Asset Id |
  | ↳ `type` | string | Asset Id |
</ReferenceDetails>

### Plane Get a project summary [#plane-get-a-project-summary]

Get a project summary in Plane. Supports API v1 compatibility.

<ReferenceDetails>
  #### Input [#input-34]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `apiKey` | string | Yes | Plane personal access token from Profile → API tokens. |
  | `baseUrl` | string | No | Plane instance origin, optionally with a reverse-proxy path prefix. Defaults to [https://api.plane.so](https://api.plane.so). Do not include /api/v1 or /api/v2. |
  | `apiVersion` | string | No | API version: v2 (default) for Plane Cloud and current commercial instances; v1 for Community Edition or older self-hosted instances. Unsupported operations or fields fail explicitly. |
  | `workspace_slug` | string | Yes | Workspace slug from the Plane URL (for example, my-team). |
  | `pk` | string | Yes | Project ID or bare project identifier whose summary to retrieve. |
  | `counts` | string | No | Comma-separated count keys to include. Allowed: members, states, labels, cycles, modules, issues, intakes, work\_item\_types, work\_item\_properties, pages. Omitting returns all. Unknown keys are a 400. |
  | `fields` | string | No | v1 compatibility only. Comma-separated list of fields. |

  #### Output [#output-34]

  | Parameter | Type | Description |
  | - | - | - |
  | `result` | object | Plane V2 V2 Get Project Summaryresult |
  | ↳ `counts` | object | Counts |
  | ↳ `modules` | number | Modules |
  | ↳ `work_item_types` | number | Work item types |
  | ↳ `issues` | number | Issues |
  | ↳ `members` | number | Members |
  | ↳ `work_item_properties` | number | Work item properties |
  | ↳ `states` | number | States |
  | ↳ `intakes` | number | Intakes |
  | ↳ `cycles` | number | Cycles |
  | ↳ `labels` | number | Labels |
  | ↳ `pages` | number | Pages |
  | ↳ `id` | string | Id |
  | ↳ `identifier` | string | Identifier |
  | ↳ `name` | string | Name |
</ReferenceDetails>

### Plane Get a state [#plane-get-a-state]

Get a state in Plane. Supports API v1 compatibility.

<ReferenceDetails>
  #### Input [#input-35]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `apiKey` | string | Yes | Plane personal access token from Profile → API tokens. |
  | `baseUrl` | string | No | Plane instance origin, optionally with a reverse-proxy path prefix. Defaults to [https://api.plane.so](https://api.plane.so). Do not include /api/v1 or /api/v2. |
  | `apiVersion` | string | No | API version: v2 (default) for Plane Cloud and current commercial instances; v1 for Community Edition or older self-hosted instances. Unsupported operations or fields fail explicitly. |
  | `workspace_slug` | string | Yes | Workspace slug from the Plane URL (for example, my-team). |
  | `project_id` | string | Yes | The project the state belongs to. A state id from a different project returns `404`, even inside the same workspace. |
  | `pk` | string | Yes | The id of the state to retrieve. |
  | `fields` | string | No | Comma-separated list of fields to return. Unrequested keys are **omitted** from the response, not returned as `null`, so absent means "not requested" and `null` means "actually null". `id` always comes back whether or not you name it. Pass `all` for every requestable field. An unknown name is a `400` that lists the valid set and suggests the closest match, so a typo can't silently cost you the saving. Requestable here: `color`, `created_at`, `created_by_id`, `description`, `external_id`, `external_source`, `group`, `id`, `is_default`, `is_triage`, `name`, `sequence`. See \[Sparse fields]\([https://developers.plane.so/api-reference/v2/sparse-fields](https://developers.plane.so/api-reference/v2/sparse-fields)). |

  #### Output [#output-35]

  | Parameter | Type | Description |
  | - | - | - |
  | `result` | object | Plane V2 States |
  | ↳ `id` | json | Id |
  | ↳ `name` | json | Name |
  | ↳ `description` | json | Description |
  | ↳ `color` | json | Color |
  | ↳ `group` | json | Group |
  | ↳ `sequence` | json | Sequence |
  | ↳ `is_default` | boolean | Is default |
  | ↳ `is_triage` | json | Is triage |
  | ↳ `external_id` | string | External id |
  | ↳ `external_source` | string | External source |
  | ↳ `created_at` | json | Created at |
  | ↳ `created_by_id` | string | Created by id |
  | ↳ `updated_at` | string | Updated at |
  | ↳ `deleted_at` | string | Deleted at |
  | ↳ `default` | boolean | Default |
  | ↳ `created_by` | string | Created by |
  | ↳ `updated_by` | string | Updated by |
  | ↳ `project` | string | Project |
  | ↳ `workspace` | string | Workspace |
  | ↳ `slug` | string | Slug |
  | ↳ `deleted_by` | json | Deleted by |
</ReferenceDetails>

### Plane Get a webhook [#plane-get-a-webhook]

Get a webhook in Plane. Requires API v2.

<ReferenceDetails>
  #### Input [#input-36]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `apiKey` | string | Yes | Plane personal access token from Profile → API tokens. |
  | `baseUrl` | string | No | Plane instance origin, optionally with a reverse-proxy path prefix. Defaults to [https://api.plane.so](https://api.plane.so). Do not include /api/v1 or /api/v2. |
  | `apiVersion` | string | No | API version: v2 (default) for Plane Cloud and current commercial instances; v1 for Community Edition or older self-hosted instances. Unsupported operations or fields fail explicitly. |
  | `workspace_slug` | string | Yes | Workspace slug from the Plane URL (for example, my-team). |
  | `pk` | string | Yes | The webhook id. |
  | `fields` | string | No | Comma-separated list of fields to return. Unrequested keys are **omitted**, not returned as `null`. `id` always comes back. Pass `all` for every requestable field. An unknown name is a `400`. See \[Sparse fields]\([https://developers.plane.so/api-reference/v2/sparse-fields](https://developers.plane.so/api-reference/v2/sparse-fields)). Requestable here: `content_type`, `created_at`, `created_by_id`, `id`, `is_active`, `name`, `scopes`, `url`, `version`. |

  #### Output [#output-36]

  | Parameter | Type | Description |
  | - | - | - |
  | `result` | object | Plane V2 Webhooks |
  | ↳ `content_type` | string | Content type |
  | ↳ `created_at` | string | Created at |
  | ↳ `created_by_id` | string | Created by id |
  | ↳ `id` | string | Unique identifier. |
  | ↳ `is_active` | boolean | Is active |
  | ↳ `name` | string | Name |
  | ↳ `scopes` | array | Scopes |
  | ↳ `url` | string | Url |
  | ↳ `version` | string | Version |
</ReferenceDetails>

### Plane Get a work item [#plane-get-a-work-item]

Get a work item in Plane. Supports API v1 compatibility.

<ReferenceDetails>
  #### Input [#input-37]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `apiKey` | string | Yes | Plane personal access token from Profile → API tokens. |
  | `baseUrl` | string | No | Plane instance origin, optionally with a reverse-proxy path prefix. Defaults to [https://api.plane.so](https://api.plane.so). Do not include /api/v1 or /api/v2. |
  | `apiVersion` | string | No | API version: v2 (default) for Plane Cloud and current commercial instances; v1 for Community Edition or older self-hosted instances. Unsupported operations or fields fail explicitly. |
  | `workspace_slug` | string | Yes | Workspace slug from the Plane URL (for example, my-team). |
  | `project_id` | string | Yes | The project the work item belongs to. |
  | `pk` | string | Yes | The work item's UUID. This lookup is UUID-only — a `PROJ-142` identifier here returns `404`. |
  | `expand` | string | No | Comma-separated relations to embed alongside the ids: `assignees` (the assigned users), `cycle` (the cycle it belongs to), `labels` (the applied labels), `modules` (the modules it belongs to), `parent` (its parent work item), `state` (the work item's state object), `type` (its work item type). Expansion is separate-key: `?expand=state` keeps `state_id` and adds a `state` object next to it, so an id is never replaced by an object. An unknown value is a `400`. `?fields=` and `?expand=` are independent namespaces. Relation names are not valid `?fields=` tokens (and vice versa), and an expanded object survives field filtering — `?fields=id,name&expand=state` returns `id`, `name` and `state`. See \[Expanding relations]\([https://developers.plane.so/api-reference/v2/expanding-relations](https://developers.plane.so/api-reference/v2/expanding-relations)). Expanded relations appear beside their ID fields and survive sparse field filtering. Use only the relation names listed above. |
  | `fields` | string | No | Comma-separated list of fields to return. Unrequested keys are **omitted** from the response, not returned as `null`, so absent means "not requested" and `null` means "actually null". `id` always comes back whether or not you name it. Pass `all` for every requestable field. An unknown name is a `400` that lists the valid set and suggests the closest match, so a typo can't silently cost you the saving. Requestable here: `archived_at`, `assignee_ids`, `created_at`, `created_by_id`, `custom_fields`, `cycle_id`, `id`, `identifier`, `is_draft`, `label_ids`, `module_ids`, `name`, `parent_id`, `priority`, `project_id`, `sequence_id`, `start_date`, `state_id`, `target_date`, `type_id`. See \[Sparse fields]\([https://developers.plane.so/api-reference/v2/sparse-fields](https://developers.plane.so/api-reference/v2/sparse-fields)). |
  | `external_id` | string | No | v1 compatibility only. External system identifier for filtering or lookup |
  | `external_source` | string | No | v1 compatibility only. External system source name for filtering or lookup |
  | `order_by` | string | No | v1 compatibility only. Field to order results by. Prefix with '-' for descending order |

  #### Output [#output-37]

  | Parameter | Type | Description |
  | - | - | - |
  | `result` | object | Plane V2 Work- Items |
  | ↳ `id` | json | Id |
  | ↳ `name` | json | Name |
  | ↳ `identifier` | string | Identifier |
  | ↳ `sequence_id` | json | Sequence id |
  | ↳ `priority` | json | Priority |
  | ↳ `state_id` | string | State id |
  | ↳ `type_id` | string | Type id |
  | ↳ `assignee_ids` | array | Assignee ids |
  | ↳ `label_ids` | array | Label ids |
  | ↳ `parent_id` | string | Parent id |
  | ↳ `start_date` | string | Start date |
  | ↳ `target_date` | string | Target date |
  | ↳ `is_draft` | json | Is draft |
  | ↳ `archived_at` | string | Archived at |
  | ↳ `created_at` | json | Created at |
  | ↳ `created_by_id` | string | Created by id |
  | ↳ `custom_fields` | json | Custom fields |
  | ↳ `state` | json | State |
  | ↳ `id` | string | Asset Id |
  | ↳ `name` | string | Asset Id |
  | ↳ `color` | string | Asset Id |
  | ↳ `group` | json | Group |
  | ↳ `assignees` | array | Assignees |
  | ↳ `id` | string | Asset Id |
  | ↳ `display_name` | string | Asset Id |
  | ↳ `avatar_url` | string | Asset Id |
  | ↳ `email` | string | Asset Id |
  | ↳ `first_name` | string | Asset Id |
  | ↳ `last_name` | string | Asset Id |
  | ↳ `avatar` | string | Asset Id |
  | ↳ `cycle` | json | Cycle |
  | ↳ `labels` | array | Labels |
  | ↳ `id` | string | Asset Id |
  | ↳ `name` | string | Asset Id |
  | ↳ `color` | string | Asset Id |
  | ↳ `deleted_by` | json | Id |
  | ↳ `created_at` | string | Asset Id |
  | ↳ `updated_at` | string | Asset Id |
  | ↳ `deleted_at` | string | Asset Id |
  | ↳ `description` | string | Asset Id |
  | ↳ `sort_order` | number | Sort Order |
  | ↳ `external_source` | string | Asset Id |
  | ↳ `external_id` | string | Asset Id |
  | ↳ `created_by` | string | Asset Id |
  | ↳ `updated_by` | string | Asset Id |
  | ↳ `workspace` | string | Asset Id |
  | ↳ `project` | string | Asset Id |
  | ↳ `parent` | string | Asset Id |
  | ↳ `modules` | array | Modules |
  | ↳ `parent` | json | Parent |
  | ↳ `id` | string | Asset Id |
  | ↳ `name` | string | Asset Id |
  | ↳ `sequence_id` | number | Access |
  | ↳ `type` | json | Type |
  | ↳ `id` | string | Asset Id |
  | ↳ `name` | string | Asset Id |
  | ↳ `logo_props` | json | Logo Props |
  | ↳ `is_epic` | boolean | Has Pages |
  | ↳ `project_id` | string | Project id |
  | ↳ `cycle_id` | string | Cycle id |
  | ↳ `module_ids` | array | Module ids |
  | ↳ `updated_at` | string | Updated at |
  | ↳ `deleted_at` | string | Deleted at |
  | ↳ `point` | number | Point |
  | ↳ `description_html` | string | Description html |
  | ↳ `description_stripped` | string | Description stripped |
  | ↳ `description_binary` | string | Description binary |
  | ↳ `sort_order` | number | Sort order |
  | ↳ `completed_at` | string | Completed at |
  | ↳ `external_source` | string | External source |
  | ↳ `external_id` | string | External id |
  | ↳ `created_by` | string | Created by |
  | ↳ `updated_by` | string | Updated by |
  | ↳ `project` | json | Project |
  | ↳ `workspace` | string | Workspace |
  | ↳ `estimate_point` | string | Estimate point |
  | ↳ `description` | string | Description |
  | ↳ `deleted_by` | json | Deleted by |
  | ↳ `created_via` | json | Created via |
  | ↳ `updated_via` | json | Updated via |
  | ↳ `last_activity_at` | string | Last activity at |
  | ↳ `min_assignee_first_name` | string | Min assignee first name |
  | ↳ `min_label_name` | string | Min label name |
  | ↳ `min_module_name` | string | Min module name |
  | ↳ `priority_rank` | number | Priority rank |
  | ↳ `state_group` | string | State group |
</ReferenceDetails>

### Plane Get a work item by identifier [#plane-get-a-work-item-by-identifier]

Get a work item by identifier in Plane. Requires API v2.

<ReferenceDetails>
  #### Input [#input-38]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `apiKey` | string | Yes | Plane personal access token from Profile → API tokens. |
  | `baseUrl` | string | No | Plane instance origin, optionally with a reverse-proxy path prefix. Defaults to [https://api.plane.so](https://api.plane.so). Do not include /api/v1 or /api/v2. |
  | `apiVersion` | string | No | API version: v2 (default) for Plane Cloud and current commercial instances; v1 for Community Edition or older self-hosted instances. Unsupported operations or fields fail explicitly. |
  | `workspace_slug` | string | Yes | Workspace slug from the Plane URL (for example, my-team). |
  | `identifier` | string | Yes | The work item's human key: the project identifier, a hyphen, and the work item's number — `PROJ-142`. The project part must start with a letter, and it is upper-cased before lookup, so `proj-142` resolves the same work item as `PROJ-142`. A project identifier is unique within a workspace, which is what makes this key unambiguous. |
  | `expand` | string | No | Comma-separated relations to embed alongside the ids: `assignees` (the assigned users), `cycle` (the cycle it belongs to), `labels` (the applied labels), `modules` (the modules it belongs to), `parent` (its parent work item), `state` (the work item's state object), `type` (its work item type). Expansion is separate-key: `?expand=state` keeps `state_id` and adds a `state` object next to it, so an id is never replaced by an object. An unknown value is a `400`. `?fields=` and `?expand=` are independent namespaces. Relation names are not valid `?fields=` tokens (and vice versa), and an expanded object survives field filtering — `?fields=id,name&expand=state` returns `id`, `name` and `state`. See \[Expanding relations]\([https://developers.plane.so/api-reference/v2/expanding-relations](https://developers.plane.so/api-reference/v2/expanding-relations)). Expanded relations appear beside their ID fields and survive sparse field filtering. Use only the relation names listed above. |
  | `fields` | string | No | Comma-separated list of fields to return. Unrequested keys are **omitted** from the response, not returned as `null`, so absent means "not requested" and `null` means "actually null". `id` always comes back whether or not you name it. Pass `all` for every requestable field. An unknown name is a `400` that lists the valid set and suggests the closest match, so a typo can't silently cost you the saving. Requestable here: `archived_at`, `assignee_ids`, `created_at`, `created_by_id`, `custom_fields`, `cycle_id`, `id`, `identifier`, `is_draft`, `label_ids`, `module_ids`, `name`, `parent_id`, `priority`, `project_id`, `sequence_id`, `start_date`, `state_id`, `target_date`, `type_id`. See \[Sparse fields]\([https://developers.plane.so/api-reference/v2/sparse-fields](https://developers.plane.so/api-reference/v2/sparse-fields)). |

  #### Output [#output-38]

  | Parameter | Type | Description |
  | - | - | - |
  | `result` | object | Plane V2 Work- Items |
  | ↳ `id` | string | Unique identifier for the work item. This is the `\{pk\}` on every project-scoped detail route. |
  | ↳ `name` | string | Name |
  | ↳ `identifier` | string | Identifier |
  | ↳ `sequence_id` | json | Sequence id |
  | ↳ `priority` | string | Priority |
  | ↳ `state_id` | string | State id |
  | ↳ `type_id` | string | Type id |
  | ↳ `assignee_ids` | array | Assignee ids |
  | ↳ `label_ids` | array | Label ids |
  | ↳ `parent_id` | string | Parent id |
  | ↳ `start_date` | string | Start date |
  | ↳ `target_date` | string | Target date |
  | ↳ `is_draft` | boolean | Is draft |
  | ↳ `archived_at` | string | Archived at |
  | ↳ `created_at` | string | Created at |
  | ↳ `created_by_id` | string | Created by id |
  | ↳ `custom_fields` | json | Custom fields |
  | ↳ `assignees` | array | Assignees |
  | ↳ `id` | string | Asset Id |
  | ↳ `display_name` | string | Asset Id |
  | ↳ `avatar_url` | string | Asset Id |
  | ↳ `email` | string | Asset Id |
  | ↳ `cycle` | json | Cycle |
  | ↳ `labels` | array | Labels |
  | ↳ `id` | string | Asset Id |
  | ↳ `name` | string | Asset Id |
  | ↳ `color` | string | Asset Id |
  | ↳ `modules` | array | Modules |
  | ↳ `parent` | object | Parent |
  | ↳ `id` | string | Asset Id |
  | ↳ `name` | string | Asset Id |
  | ↳ `sequence_id` | number | Access |
  | ↳ `state` | object | State |
  | ↳ `id` | string | Asset Id |
  | ↳ `name` | string | Asset Id |
  | ↳ `color` | string | Asset Id |
  | ↳ `group` | string | Asset Id |
  | ↳ `type` | object | Type |
  | ↳ `id` | string | Asset Id |
  | ↳ `name` | string | Asset Id |
  | ↳ `logo_props` | json | Logo Props |
  | ↳ `is_epic` | boolean | Has Pages |
  | ↳ `project_id` | string | Project id |
  | ↳ `cycle_id` | string | Cycle id |
  | ↳ `module_ids` | array | Module ids |
</ReferenceDetails>

### Plane List attachments [#plane-list-attachments]

List attachments in Plane. Supports API v1 compatibility.

<ReferenceDetails>
  #### Input [#input-39]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `apiKey` | string | Yes | Plane personal access token from Profile → API tokens. |
  | `baseUrl` | string | No | Plane instance origin, optionally with a reverse-proxy path prefix. Defaults to [https://api.plane.so](https://api.plane.so). Do not include /api/v1 or /api/v2. |
  | `apiVersion` | string | No | API version: v2 (default) for Plane Cloud and current commercial instances; v1 for Community Edition or older self-hosted instances. Unsupported operations or fields fail explicitly. |
  | `workspace_slug` | string | Yes | Workspace slug from the Plane URL (for example, my-team). |
  | `project_id` | string | Yes | The project the resource belongs to. Accepts the project UUID or its bare identifier, for example `ENG`. |
  | `work_item_id` | string | Yes | The work item the resource hangs off. Accepts the work item UUID or its `PROJ-123` identifier. |
  | `count` | boolean | No | Set to false to skip the total\_count COUNT(\*) (omits total\_count). |
  | `external_id` | string | No | Filter by `external_id`. |
  | `external_source` | string | No | Filter by `external_source`. |
  | `is_uploaded` | boolean | No | Filter by `is_uploaded`. |
  | `offset` | number | No | Number of rows to skip from the start of the result set. |
  | `order_by` | string | No | Field to order the list by. Prefix with '-' for descending (e.g. '-created\_at'). Annotation-backed orders sort semantically and ride the default offset page. |
  | `paginate` | string | No | Set to 'cursor' to opt into the COUNT-free keyset cursor envelope (use for deep traversal); omit for the default offset envelope with total\_count. One of `cursor`. |
  | `per_page` | number | No | API v2 only. Page size (maximum 200). |
  | `fields` | string | No | Comma-separated list of fields to return. Unrequested keys are **omitted** from each row, not returned as `null`. `id` always comes back. Pass `all` for every requestable field. An unknown name is a `400` that names the valid set, so a typo can't silently cost you the saving. See \[Sparse fields]\([https://developers.plane.so/api-reference/v2/sparse-fields](https://developers.plane.so/api-reference/v2/sparse-fields)). Requestable here: `asset_url`, `attributes`, `content_type`, `created_at`, `created_by_id`, `external_id`, `external_source`, `id`, `is_uploaded`, `name`, `size`, `work_item_id`. |
  | `cursor` | string | No | Cursor from next\_cursor. Repeat the original filters, per\_page, and order\_by when following it. |

  #### Output [#output-39]

  | Parameter | Type | Description |
  | - | - | - |
  | `result` | object | Plane V2 V2 List Attachmentsresult |
  | ↳ `data` | array | Data |
  | ↳ `asset_url` | string | The asset url. |
  | ↳ `attributes` | json | View Props |
  | ↳ `content_type` | string | The content type. |
  | ↳ `created_at` | string | When the record was created. |
  | ↳ `created_by_id` | string | The user who created the record. |
  | ↳ `external_id` | string | Your system's identifier for this record, for sync and import correlation. |
  | ↳ `external_source` | string | The system `external_id` came from, for example `github` or `jira`. |
  | ↳ `id` | string | Unique identifier. |
  | ↳ `is_uploaded` | boolean | Whether is uploaded. |
  | ↳ `name` | string | Display name. |
  | ↳ `size` | json | Size |
  | ↳ `work_item_id` | string | The related work item. |
  | ↳ `next` | number | Next |
  | ↳ `pagination` | object | Pagination |
  | ↳ `style` | string | Style |
  | ↳ `previous` | number | Previous |
  | ↳ `total_count` | number | Total count |
  | ↳ `next_cursor` | string | Next cursor |
  | ↳ `has_more` | boolean | Has more |
  | `results` | array | Returned Plane records. |
  | ↳ `id` | string | Id |
  | ↳ `created_at` | string | Created at |
  | ↳ `updated_at` | string | Updated at |
  | ↳ `deleted_at` | string | Deleted at |
  | ↳ `attributes` | json | Attributes |
  | ↳ `asset` | string | Asset |
  | ↳ `entity_type` | string | Entity type |
  | ↳ `entity_identifier` | string | Entity identifier |
  | ↳ `is_deleted` | boolean | Is deleted |
  | ↳ `is_archived` | boolean | Is archived |
  | ↳ `external_id` | string | External id |
  | ↳ `external_source` | string | External source |
  | ↳ `size` | json | Size |
  | ↳ `is_uploaded` | boolean | Is uploaded |
  | ↳ `storage_metadata` | json | Storage metadata |
  | ↳ `ETag` | string | Asset Id |
  | ↳ `Metadata` | json | Progress Snapshot |
  | ↳ `ContentType` | string | Asset Id |
  | ↳ `LastModified` | string | Asset Id |
  | ↳ `ContentLength` | number | Sort Order |
  | ↳ `created_by` | string | Created by |
  | ↳ `updated_by` | string | Updated by |
  | ↳ `user` | string | User |
  | ↳ `workspace` | string | Workspace |
  | ↳ `draft_issue` | string | Draft issue |
  | ↳ `project` | string | Project |
  | ↳ `issue` | string | Issue |
  | ↳ `comment` | string | Comment |
  | ↳ `page` | string | Page |
  | ↳ `name` | string | Name |
  | ↳ `asset_url` | string | Asset url |
  | ↳ `deleted_by` | json | Deleted by |
  | `detail` | string | Provider message when no records are returned. |
</ReferenceDetails>

### Plane List comments [#plane-list-comments]

List comments in Plane. Supports API v1 compatibility.

<ReferenceDetails>
  #### Input [#input-40]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `apiKey` | string | Yes | Plane personal access token from Profile → API tokens. |
  | `baseUrl` | string | No | Plane instance origin, optionally with a reverse-proxy path prefix. Defaults to [https://api.plane.so](https://api.plane.so). Do not include /api/v1 or /api/v2. |
  | `apiVersion` | string | No | API version: v2 (default) for Plane Cloud and current commercial instances; v1 for Community Edition or older self-hosted instances. Unsupported operations or fields fail explicitly. |
  | `workspace_slug` | string | Yes | Workspace slug from the Plane URL (for example, my-team). |
  | `project_id` | string | Yes | The project the work item belongs to. |
  | `work_item_id` | string | Yes | The work item whose comments you want. Comments never span work items, so this narrows the result set by itself. |
  | `access` | string | No | Return only comments with this visibility. - `INTERNAL` — visible to the project team - `EXTERNAL` — marked as visible outside the team |
  | `external_id` | string | No | Return comments carrying this identifier from your system. `external_id` is not a unique key, so this can match more than one comment — pair it with `external_source` and handle a multi-row result. |
  | `external_source` | string | No | Return comments that came from this system, for example `github` or `zendesk`. |
  | `search` | string | No | Match comments against their plain-text body (`comment_stripped`), so HTML markup in `comment_html` never affects whether a term hits. |
  | `order_by` | string | No | Field to sort by. Prefix with `-` for descending. Send it explicitly whenever order matters — a thread you render should not depend on the server's unstated default. - `created_at` — oldest first - `-created_at` — newest first - `id` - `-id` |
  | `per_page` | number | No | Page size. Maximum 200 for API v2 and 100 for API v1. |
  | `offset` | number | No | Number of rows to skip from the start of the result set. Maximum 10000 — for deeper traversal switch to cursor pagination. |
  | `paginate` | string | No | Set to `cursor` to opt into the COUNT-free keyset envelope instead of the default offset envelope. The response then carries `next_cursor` and `has_more`; send the value of `next_cursor` back as `?cursor=` to fetch the next page. See \[Pagination]\([https://developers.plane.so/api-reference/v2/pagination](https://developers.plane.so/api-reference/v2/pagination)) for the full envelope. |
  | `count` | boolean | No | Defaults to `true`. Set to `false` to skip the `COUNT\(*\)` and omit `total_count` from the offset envelope. |
  | `fields` | string | No | Comma-separated list of fields to return on each row. Unrequested keys are **omitted** from the response, not returned as `null`, so absent means "not requested" and `null` means "actually null". `id` always comes back whether or not you name it. Pass `all` for every requestable field. An unknown name is a `400` that lists the valid set and suggests the closest match, so a typo can't silently cost you the saving. Requestable here: `access`, `actor_id`, `comment_html`, `comment_stripped`, `created_at`, `created_by_id`, `edited_at`, `external_id`, `external_source`, `id`, `work_item_id`. See \[Sparse fields]\([https://developers.plane.so/api-reference/v2/sparse-fields](https://developers.plane.so/api-reference/v2/sparse-fields)). |
  | `expand` | string | No | Comma-separated relations to embed alongside the ids: `actor` (the comment author). Expanded relations appear beside their ID fields and survive sparse field filtering. Use only the relation names listed above. |
  | `cursor` | string | No | Cursor from next\_cursor. Repeat the original filters, per\_page, and order\_by when following it. |

  #### Output [#output-40]

  | Parameter | Type | Description |
  | - | - | - |
  | `result` | object | Plane V2 V2 List Commentsresult |
  | ↳ `data` | array | Data |
  | ↳ `id` | string | Unique identifier for the comment. |
  | ↳ `work_item_id` | string | The work item this comment is attached to. Always matches the `work_item_id` in the request path. |
  | ↳ `comment_html` | string | The comment body, as HTML. This is the field you write. |
  | ↳ `comment_stripped` | string | The plain-text version of `comment_html`, derived server-side. It is what `?search=` matches, so markup never affects a search hit. Read-only — you never send it. |
  | ↳ `access` | string | Visibility of the comment. One of `INTERNAL` or `EXTERNAL`. `INTERNAL` keeps the comment inside the project team; `EXTERNAL` marks it as visible outside the team, for example on a published project. |
  | ↳ `actor_id` | string | Asset Id |
  | ↳ `external_id` | string | Asset Id |
  | ↳ `external_source` | string | Asset Id |
  | ↳ `edited_at` | string | Asset Id |
  | ↳ `created_at` | string | When the comment was created. |
  | ↳ `created_by_id` | string | Asset Id |
  | ↳ `actor` | json | Logo Props |
  | ↳ `next` | number | Next |
  | ↳ `previous` | number | Previous |
  | ↳ `total_count` | number | Total count |
  | ↳ `pagination` | object | Pagination |
  | ↳ `style` | string | Style |
  | ↳ `next_cursor` | string | Next cursor |
  | ↳ `has_more` | boolean | Has more |
  | `results` | array | Returned Plane records. |
  | ↳ `id` | string | Id |
  | ↳ `is_member` | boolean | Is member |
  | ↳ `created_at` | string | Created at |
  | ↳ `updated_at` | string | Updated at |
  | ↳ `deleted_at` | string | Deleted at |
  | ↳ `comment_stripped` | string | Comment stripped |
  | ↳ `comment_html` | string | Comment html |
  | ↳ `attachments` | array | Attachments |
  | ↳ `access` | string | Access |
  | ↳ `external_source` | string | External source |
  | ↳ `external_id` | string | External id |
  | ↳ `edited_at` | string | Edited at |
  | ↳ `created_by` | string | Created by |
  | ↳ `updated_by` | string | Updated by |
  | ↳ `project` | string | Project |
  | ↳ `workspace` | string | Workspace |
  | ↳ `issue` | string | Issue |
  | ↳ `actor` | string | Actor |
  | ↳ `parent` | string | Parent |
  | ↳ `description` | string | Description |
  | ↳ `name` | string | Name |
  | ↳ `deleted_by` | json | Deleted by |
  | ↳ `is_hidden` | boolean | Is hidden |
  | ↳ `created_via` | json | Created via |
  | ↳ `updated_via` | json | Updated via |
  | ↳ `hidden_reason` | json | Hidden reason |
  | ↳ `hidden_at` | json | Hidden at |
  | ↳ `hidden_by` | json | Hidden by |
  | ↳ `source` | json | Source |
  | `detail` | string | Provider message when no records are returned. |
  | `pagination` | object | Cursor pagination information. Bare-array responses have empty pagination. |
  | ↳ `next_cursor` | string | Cursor for the next page. |
  | ↳ `prev_cursor` | string | Cursor for the previous page. |
  | ↳ `next_page_results` | boolean | Whether a next page exists. |
  | ↳ `prev_page_results` | boolean | Whether a previous page exists. |
  | ↳ `count` | number | Records on this page. |
  | ↳ `total_pages` | number | Total pages. |
  | ↳ `total_results` | number | Total records. |
  | ↳ `total_count` | number | Total records when supplied by this endpoint. |
  | ↳ `extra_stats` | json | Endpoint-specific aggregate statistics. |
  | ↳ `grouped_by` | string | Grouping field. |
  | ↳ `sub_grouped_by` | string | Secondary grouping field. |
  | ↳ `total_groups` | number | Total primary groups. |
  | ↳ `next_group_offset` | number | Next primary group offset. |
  | ↳ `sub_total_groups` | number | Total secondary groups. |
  | ↳ `sub_next_group_offset` | number | Next secondary group offset. |
</ReferenceDetails>

### Plane List cycles [#plane-list-cycles]

List cycles in Plane. Supports API v1 compatibility.

<ReferenceDetails>
  #### Input [#input-41]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `apiKey` | string | Yes | Plane personal access token from Profile → API tokens. |
  | `baseUrl` | string | No | Plane instance origin, optionally with a reverse-proxy path prefix. Defaults to [https://api.plane.so](https://api.plane.so). Do not include /api/v1 or /api/v2. |
  | `apiVersion` | string | No | API version: v2 (default) for Plane Cloud and current commercial instances; v1 for Community Edition or older self-hosted instances. Unsupported operations or fields fail explicitly. |
  | `workspace_slug` | string | Yes | Workspace slug from the Plane URL (for example, my-team). |
  | `project_id` | string | Yes | The project whose cycles you want. |
  | `owned_by_id` | string | No | Return only cycles owned by this user. This is how you build a "my cycles" view — pass the authenticated user's id. Ownership is assigned by Plane, so this is a read-side filter only. |
  | `external_id` | string | No | Return only cycles whose `external_id` matches exactly. Pair it with `external_source` when the same identifier could come from more than one system. |
  | `external_source` | string | No | Return only cycles imported from this source, for example `jira`. |
  | `search` | string | No | Free-text search term matched against the cycle. |
  | `order_by` | string | No | Field to sort by. Prefix with `-` for descending. - `sort_order` / `-sort_order` — the project's manual cycle ordering - `created_at` / `-created_at` — newest or oldest first - `id` / `-id` |
  | `per_page` | number | No | Page size. Maximum 200 for API v2 and 100 for API v1. |
  | `offset` | number | No | Number of rows to skip from the start of the result set. Maximum 10000 — past that, switch to cursor pagination. |
  | `paginate` | string | No | Set to `cursor` to opt into the COUNT-free keyset envelope instead of the default offset envelope. The response then carries `next_cursor` and `has_more` rather than `next`, `previous`, and `total_count`; pass `next_cursor` back as `cursor` to walk to the following page. Use it for deep traversal, where offset paging gets expensive. |
  | `count` | boolean | No | Defaults to `true`. Set to `false` to skip the `COUNT\(*\)` behind `total_count` — the field is then omitted from the envelope. Worth doing when you only need the rows. |
  | `fields` | string | No | Comma-separated list of fields to return on each row. Unrequested keys are **omitted** from the response, not returned as `null`, so absent means "not requested" and `null` means "actually null". `id` always comes back whether or not you name it. Pass `all` for every requestable field. An unknown name is a `400` that lists the valid set and suggests the closest match, so a typo can't silently cost you the saving. Requestable here: `created_at`, `created_by_id`, `description`, `end_date`, `external_id`, `external_source`, `id`, `logo_props`, `name`, `owned_by_id`, `sort_order`, `start_date`, `timezone`. See \[Sparse fields]\([https://developers.plane.so/api-reference/v2/sparse-fields](https://developers.plane.so/api-reference/v2/sparse-fields)). |
  | `expand` | string | No | Comma-separated relations to embed alongside the ids: `owned_by` (the cycle owner). Expanded relations appear beside their ID fields and survive sparse field filtering. Use only the relation names listed above. |
  | `cursor` | string | No | Cursor from next\_cursor. Repeat the original filters, per\_page, and order\_by when following it. |
  | `cycle_view` | string | No | v1 compatibility only. Filter cycles by status |

  #### Output [#output-41]

  | Parameter | Type | Description |
  | - | - | - |
  | `result` | object | Plane V2 V2 List Cyclesresult |
  | ↳ `data` | array | Data |
  | ↳ `id` | string | Unique identifier for the cycle. |
  | ↳ `name` | string | Display name, unique within the project. Maximum 255 characters. |
  | ↳ `description` | string | Free-form description of what the cycle covers. |
  | ↳ `start_date` | string | Asset Id |
  | ↳ `end_date` | string | Asset Id |
  | ↳ `timezone` | string | The IANA time zone the cycle's dates are interpreted in, for example `America/New_York` or `UTC`. This is what makes a cycle boundary land at local midnight rather than UTC midnight for a distributed team. |
  | ↳ `owned_by_id` | string | The user who owns the cycle. Read-only — assigned by Plane and not settable through the API. Use it to filter cycles on list. |
  | ↳ `sort_order` | json | Sort Order |
  | ↳ `logo_props` | json | View Props |
  | ↳ `external_id` | string | Asset Id |
  | ↳ `external_source` | string | Asset Id |
  | ↳ `created_at` | string | When the cycle was created. |
  | ↳ `created_by_id` | string | The user who created the cycle. |
  | ↳ `owned_by` | json | Logo Props |
  | ↳ `next` | number | Next |
  | ↳ `previous` | number | Previous |
  | ↳ `total_count` | number | Total count |
  | ↳ `pagination` | object | Pagination |
  | ↳ `style` | string | Style |
  | ↳ `next_cursor` | string | Next cursor |
  | ↳ `has_more` | boolean | Has more |
  | `results` | array | Returned Plane records. |
  | ↳ `id` | string | Id |
  | ↳ `total_issues` | json | Total issues |
  | ↳ `cancelled_issues` | json | Cancelled issues |
  | ↳ `completed_issues` | json | Completed issues |
  | ↳ `started_issues` | json | Started issues |
  | ↳ `unstarted_issues` | json | Unstarted issues |
  | ↳ `backlog_issues` | json | Backlog issues |
  | ↳ `total_estimates` | number | Total estimates |
  | ↳ `completed_estimates` | number | Completed estimates |
  | ↳ `started_estimates` | number | Started estimates |
  | ↳ `created_at` | string | Created at |
  | ↳ `updated_at` | string | Updated at |
  | ↳ `deleted_at` | string | Deleted at |
  | ↳ `name` | string | Name |
  | ↳ `description` | string | Description |
  | ↳ `start_date` | string | Start date |
  | ↳ `end_date` | string | End date |
  | ↳ `view_props` | json | View props |
  | ↳ `sort_order` | number | Sort order |
  | ↳ `external_source` | string | External source |
  | ↳ `external_id` | string | External id |
  | ↳ `progress_snapshot` | json | Progress snapshot |
  | ↳ `archived_at` | string | Archived at |
  | ↳ `logo_props` | json | Logo props |
  | ↳ `timezone` | string | Timezone |
  | ↳ `version` | json | Version |
  | ↳ `created_by` | string | Created by |
  | ↳ `updated_by` | string | Updated by |
  | ↳ `project` | string | Project |
  | ↳ `workspace` | string | Workspace |
  | ↳ `owned_by` | json | Owned by |
  | ↳ `id` | string | Asset Id |
  | ↳ `first_name` | string | Asset Id |
  | ↳ `last_name` | string | Asset Id |
  | ↳ `email` | string | Email |
  | ↳ `avatar` | string | Asset Id |
  | ↳ `avatar_url` | string | Avatar URL |
  | ↳ `display_name` | string | Display name |
  | ↳ `status` | string | Status |
  | ↳ `deleted_by` | json | Deleted by |
  | `detail` | string | Provider message when no records are returned. |
  | `pagination` | object | Cursor pagination information. Bare-array responses have empty pagination. |
  | ↳ `next_cursor` | string | Cursor for the next page. |
  | ↳ `prev_cursor` | string | Cursor for the previous page. |
  | ↳ `next_page_results` | boolean | Whether a next page exists. |
  | ↳ `prev_page_results` | boolean | Whether a previous page exists. |
  | ↳ `count` | number | Records on this page. |
  | ↳ `total_pages` | number | Total pages. |
  | ↳ `total_results` | number | Total records. |
  | ↳ `total_count` | number | Total records when supplied by this endpoint. |
  | ↳ `extra_stats` | json | Endpoint-specific aggregate statistics. |
  | ↳ `grouped_by` | string | Grouping field. |
  | ↳ `sub_grouped_by` | string | Secondary grouping field. |
  | ↳ `total_groups` | number | Total primary groups. |
  | ↳ `next_group_offset` | number | Next primary group offset. |
  | ↳ `sub_total_groups` | number | Total secondary groups. |
  | ↳ `sub_next_group_offset` | number | Next secondary group offset. |
</ReferenceDetails>

### Plane List labels [#plane-list-labels]

List labels in Plane. Supports API v1 compatibility.

<ReferenceDetails>
  #### Input [#input-42]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `apiKey` | string | Yes | Plane personal access token from Profile → API tokens. |
  | `baseUrl` | string | No | Plane instance origin, optionally with a reverse-proxy path prefix. Defaults to [https://api.plane.so](https://api.plane.so). Do not include /api/v1 or /api/v2. |
  | `apiVersion` | string | No | API version: v2 (default) for Plane Cloud and current commercial instances; v1 for Community Edition or older self-hosted instances. Unsupported operations or fields fail explicitly. |
  | `workspace_slug` | string | Yes | Workspace slug from the Plane URL (for example, my-team). |
  | `project_id` | string | Yes | The project whose labels you want. |
  | `parent_id` | string | No | Return only the labels nested under this label. Pair it with `parent_id__isnull=true` to get the opposite view — every top-level label in the project. Use `parent_id__isnull=false` for every label that has a parent. |
  | `external_id` | string | No | Return labels whose `external_id` matches. Combine with `external_source` to resolve a record from another system to its Plane label without keeping a local id map. |
  | `external_source` | string | No | Return labels that came from this system, for example `github` or `jira`. |
  | `search` | string | No | A search term matched against the label `name`. Use it to power type-ahead in a picker rather than downloading every page and filtering client-side. |
  | `order_by` | string | No | Field to sort by. Prefix with `-` for descending. Defaults to `sort_order`. - `sort_order` , `-sort_order` — the project's own label ordering - `created_at` , `-created_at` — newest or oldest first - `id` , `-id` A value outside this list is not rejected — it silently falls back to the default `sort_order`. Check your spelling: a typo in `order_by` fails silently and shows up as a differently sorted page, not as an error. |
  | `per_page` | number | No | Page size. Maximum 200 for API v2 and 100 for API v1. |
  | `offset` | number | No | Number of rows to skip from the start of the result set. Maximum 10000. Read the `next` value from the response and send it back as `offset` to walk forward. |
  | `paginate` | string | No | Set to `cursor` to switch from the default offset envelope to the keyset cursor envelope, which skips the `COUNT\(*\)` and returns `next_cursor` and `has_more` instead of `next` and `total_count`. Send the returned `next_cursor` back as `cursor` to fetch the following page. Only `created_at` and `id` are cursor-eligible, because a keyset needs a strictly ordered column and `sort_order` is neither unique nor monotonic. Pair `paginate=cursor` with `order_by=created_at` or `order_by=id` — the default `sort_order` ordering is rejected with `400 ordering_not_cursor_eligible`. Most projects have few enough labels that the default offset envelope is all you need. |
  | `count` | boolean | No | Defaults to `true`. Set to `false` to omit `total_count` and skip the count query. |
  | `fields` | string | No | Comma-separated list of fields to return on each row. Unrequested keys are **omitted** from the response, not returned as `null`, so absent means "not requested" and `null` means "actually null". `id` always comes back whether or not you name it. Pass `all` for every requestable field. An unknown name is a `400` that lists the valid set and suggests the closest match, so a typo can't silently cost you the saving. Requestable here: `color`, `created_at`, `created_by_id`, `description`, `external_id`, `external_source`, `id`, `name`, `parent_id`, `sort_order`. See \[Sparse fields]\([https://developers.plane.so/api-reference/v2/sparse-fields](https://developers.plane.so/api-reference/v2/sparse-fields)). |
  | `cursor` | string | No | Cursor from next\_cursor. Repeat the original filters, per\_page, and order\_by when following it. |
  | `expand` | string | No | API v1 only. Comma-separated relations: `created_by`, `updated_by`, `workspace`, `project`, `parent`. Expansion replaces each relation ID with an object. Include the relation in `fields` when also requesting sparse fields. |
  | `parent_id__isnull` | boolean | No | API v2: true selects top-level labels, false selects labels with a parent. |

  #### Output [#output-42]

  | Parameter | Type | Description |
  | - | - | - |
  | `result` | object | Plane V2 V2 List Labelsresult |
  | ↳ `data` | array | Data |
  | ↳ `id` | string | Unique identifier for the label. This is the value you send in a work item's `label_ids`. |
  | ↳ `name` | string | Display name, unique within the project. Maximum 255 characters. |
  | ↳ `description` | string | Free-form note about what the label is for. Useful when a team needs a convention written down next to the tag. |
  | ↳ `color` | string | Hex color used wherever the label is rendered, for example `#e5484d`. |
  | ↳ `sort_order` | json | Sort Order |
  | ↳ `parent_id` | string | Asset Id |
  | ↳ `external_id` | string | Asset Id |
  | ↳ `external_source` | string | Asset Id |
  | ↳ `created_at` | string | When the label was created. |
  | ↳ `created_by_id` | string | Asset Id |
  | ↳ `next` | number | Next |
  | ↳ `previous` | number | Previous |
  | ↳ `total_count` | number | Total count |
  | ↳ `pagination` | object | Pagination |
  | ↳ `style` | string | Style |
  | ↳ `next_cursor` | string | Next cursor |
  | ↳ `has_more` | boolean | Has more |
  | `results` | array | Returned Plane records. |
  | ↳ `id` | string | Id |
  | ↳ `created_at` | string | Created at |
  | ↳ `updated_at` | string | Updated at |
  | ↳ `deleted_at` | string | Deleted at |
  | ↳ `name` | string | Name |
  | ↳ `description` | string | Description |
  | ↳ `color` | string | Color |
  | ↳ `sort_order` | number | Sort order |
  | ↳ `external_source` | string | External source |
  | ↳ `external_id` | string | External id |
  | ↳ `created_by` | json | Creator ID or expanded user. |
  | ↳ `id` | string | Asset Id |
  | ↳ `first_name` | string | Asset Id |
  | ↳ `last_name` | string | Asset Id |
  | ↳ `email` | string | Email |
  | ↳ `avatar` | string | Asset Id |
  | ↳ `avatar_url` | string | Avatar URL |
  | ↳ `display_name` | string | Display name |
  | ↳ `updated_by` | json | Updater ID or expanded user. |
  | ↳ `id` | string | Asset Id |
  | ↳ `first_name` | string | Asset Id |
  | ↳ `last_name` | string | Asset Id |
  | ↳ `email` | string | Email |
  | ↳ `avatar` | string | Asset Id |
  | ↳ `avatar_url` | string | Avatar URL |
  | ↳ `display_name` | string | Display name |
  | ↳ `workspace` | json | Workspace ID or expanded workspace. |
  | ↳ `id` | string | Asset Id |
  | ↳ `name` | string | Asset Id |
  | ↳ `slug` | string | Slug |
  | ↳ `project` | json | Project ID or expanded project. |
  | ↳ `id` | string | Asset Id |
  | ↳ `identifier` | string | Identifier |
  | ↳ `name` | string | Asset Id |
  | ↳ `cover_image` | string | Asset Id |
  | ↳ `icon_prop` | json | Logo Props |
  | ↳ `emoji` | string | Asset Id |
  | ↳ `description` | string | Asset Id |
  | ↳ `cover_image_url` | string | Asset Id |
  | ↳ `archived_at` | string | Asset Id |
  | ↳ `parent` | json | Parent ID or expanded parent reference. |
  | ↳ `id` | string | Asset Id |
  | ↳ `sequence_id` | number | Sequence ID |
  | ↳ `project_id` | string | Asset Id |
  | ↳ `deleted_by` | json | Deleted by |
  | `detail` | string | Provider message when no records are returned. |
  | `pagination` | object | Cursor pagination information. Bare-array responses have empty pagination. |
  | ↳ `next_cursor` | string | Cursor for the next page. |
  | ↳ `prev_cursor` | string | Cursor for the previous page. |
  | ↳ `next_page_results` | boolean | Whether a next page exists. |
  | ↳ `prev_page_results` | boolean | Whether a previous page exists. |
  | ↳ `count` | number | Records on this page. |
  | ↳ `total_pages` | number | Total pages. |
  | ↳ `total_results` | number | Total records. |
  | ↳ `total_count` | number | Total records when supplied by this endpoint. |
  | ↳ `extra_stats` | json | Endpoint-specific aggregate statistics. |
  | ↳ `grouped_by` | string | Grouping field. |
  | ↳ `sub_grouped_by` | string | Secondary grouping field. |
  | ↳ `total_groups` | number | Total primary groups. |
  | ↳ `next_group_offset` | number | Next primary group offset. |
  | ↳ `sub_total_groups` | number | Total secondary groups. |
  | ↳ `sub_next_group_offset` | number | Next secondary group offset. |
</ReferenceDetails>

### Plane List links [#plane-list-links]

List links in Plane. Supports API v1 compatibility.

<ReferenceDetails>
  #### Input [#input-43]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `apiKey` | string | Yes | Plane personal access token from Profile → API tokens. |
  | `baseUrl` | string | No | Plane instance origin, optionally with a reverse-proxy path prefix. Defaults to [https://api.plane.so](https://api.plane.so). Do not include /api/v1 or /api/v2. |
  | `apiVersion` | string | No | API version: v2 (default) for Plane Cloud and current commercial instances; v1 for Community Edition or older self-hosted instances. Unsupported operations or fields fail explicitly. |
  | `workspace_slug` | string | Yes | Workspace slug from the Plane URL (for example, my-team). |
  | `project_id` | string | Yes | The project the resource belongs to. Accepts the project UUID or its bare identifier, for example `ENG`. |
  | `work_item_id` | string | Yes | The work item the resource hangs off. Accepts the work item UUID or its `PROJ-123` identifier. |
  | `count` | boolean | No | Set to false to skip the total\_count COUNT(\*) (omits total\_count). |
  | `offset` | number | No | Number of rows to skip from the start of the result set. |
  | `order_by` | string | No | Field to order the list by. Prefix with '-' for descending (e.g. '-created\_at'). Annotation-backed orders sort semantically and ride the default offset page. |
  | `paginate` | string | No | Set to 'cursor' to opt into the COUNT-free keyset cursor envelope (use for deep traversal); omit for the default offset envelope with total\_count. One of `cursor`. |
  | `per_page` | number | No | Page size. Maximum 200 for API v2 and 100 for API v1. |
  | `search` | string | No | A search term. |
  | `title` | string | No | Filter by `title`. |
  | `url` | string | No | Filter by `url`. |
  | `fields` | string | No | Comma-separated list of fields to return. Unrequested keys are **omitted** from each row, not returned as `null`. `id` always comes back. Pass `all` for every requestable field. An unknown name is a `400` that names the valid set, so a typo can't silently cost you the saving. See \[Sparse fields]\([https://developers.plane.so/api-reference/v2/sparse-fields](https://developers.plane.so/api-reference/v2/sparse-fields)). Requestable here: `created_at`, `created_by_id`, `id`, `metadata`, `title`, `url`, `work_item_id`. |
  | `cursor` | string | No | Cursor from next\_cursor. Repeat the original filters, per\_page, and order\_by when following it. |
  | `expand` | string | No | v1 compatibility only. Comma-separated list of related fields to expand in response Expanded relations appear beside their ID fields and survive sparse field filtering. Use only the relation names listed above. |

  #### Output [#output-43]

  | Parameter | Type | Description |
  | - | - | - |
  | `result` | object | Plane V2 V2 List Linksresult |
  | ↳ `data` | array | Data |
  | ↳ `created_at` | string | When the record was created. |
  | ↳ `created_by_id` | string | The user who created the record. |
  | ↳ `id` | string | Unique identifier. |
  | ↳ `metadata` | json | Metadata |
  | ↳ `title` | string | Title. |
  | ↳ `url` | string | Target URL. |
  | ↳ `work_item_id` | string | The related work item. |
  | ↳ `next` | number | Next |
  | ↳ `pagination` | object | Pagination |
  | ↳ `style` | string | Style |
  | ↳ `previous` | number | Previous |
  | ↳ `total_count` | number | Total count |
  | ↳ `next_cursor` | string | Next cursor |
  | ↳ `has_more` | boolean | Has more |
  | `results` | array | Returned Plane records. |
  | ↳ `id` | string | Id |
  | ↳ `created_at` | string | Created at |
  | ↳ `updated_at` | string | Updated at |
  | ↳ `deleted_at` | string | Deleted at |
  | ↳ `title` | string | Title |
  | ↳ `url` | string | Url |
  | ↳ `metadata` | json | Metadata |
  | ↳ `url` | string | Asset Id |
  | ↳ `title` | string | Asset Id |
  | ↳ `favicon` | string | Asset Id |
  | ↳ `favicon_url` | json | Logo Props |
  | ↳ `created_by` | string | Created by |
  | ↳ `updated_by` | string | Updated by |
  | ↳ `project` | string | Project |
  | ↳ `workspace` | string | Workspace |
  | ↳ `issue` | string | Issue |
  | ↳ `name` | string | Name |
  | ↳ `deleted_by` | json | Deleted by |
  | `detail` | string | Provider message when no records are returned. |
  | `pagination` | object | Cursor pagination information. Bare-array responses have empty pagination. |
  | ↳ `next_cursor` | string | Cursor for the next page. |
  | ↳ `prev_cursor` | string | Cursor for the previous page. |
  | ↳ `next_page_results` | boolean | Whether a next page exists. |
  | ↳ `prev_page_results` | boolean | Whether a previous page exists. |
  | ↳ `count` | number | Records on this page. |
  | ↳ `total_pages` | number | Total pages. |
  | ↳ `total_results` | number | Total records. |
  | ↳ `total_count` | number | Total records when supplied by this endpoint. |
  | ↳ `extra_stats` | json | Endpoint-specific aggregate statistics. |
  | ↳ `grouped_by` | string | Grouping field. |
  | ↳ `sub_grouped_by` | string | Secondary grouping field. |
  | ↳ `total_groups` | number | Total primary groups. |
  | ↳ `next_group_offset` | number | Next primary group offset. |
  | ↳ `sub_total_groups` | number | Total secondary groups. |
  | ↳ `sub_next_group_offset` | number | Next secondary group offset. |
</ReferenceDetails>

### Plane List modules [#plane-list-modules]

List modules in Plane. Supports API v1 compatibility.

<ReferenceDetails>
  #### Input [#input-44]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `apiKey` | string | Yes | Plane personal access token from Profile → API tokens. |
  | `baseUrl` | string | No | Plane instance origin, optionally with a reverse-proxy path prefix. Defaults to [https://api.plane.so](https://api.plane.so). Do not include /api/v1 or /api/v2. |
  | `apiVersion` | string | No | API version: v2 (default) for Plane Cloud and current commercial instances; v1 for Community Edition or older self-hosted instances. Unsupported operations or fields fail explicitly. |
  | `workspace_slug` | string | Yes | Workspace slug from the Plane URL (for example, my-team). |
  | `project_id` | string | Yes | The project whose modules you want. |
  | `status` | string | No | Return only modules in this lifecycle position. One of `backlog`, `planned`, `in-progress`, `paused`, `completed`, or `cancelled`. Use `status__in` with a comma-separated list to match several at once, for example `?status__in=planned,in-progress`. |
  | `lead_id` | string | No | Return only modules led by this user. Match is exact on the module's `lead_id`. |
  | `external_id` | string | No | Return only modules carrying this external identifier. Pair it with `external_source` to resolve a record you imported from another system. |
  | `external_source` | string | No | Return only modules that came from this system, for example `github` or `jira`. |
  | `search` | string | No | Free-text match on the module name. |
  | `order_by` | string | No | Field to sort by. Prefix with `-` for descending. - `sort_order` , `-sort_order` - `created_at` , `-created_at` - `id` , `-id` Defaults to `sort_order`. |
  | `per_page` | number | No | Page size. Maximum 200 for API v2 and 100 for API v1. |
  | `offset` | number | No | Number of rows to skip from the start of the result set. Maximum 10000 — go deeper with cursor pagination. |
  | `paginate` | string | No | Set to `cursor` to opt into the COUNT-free keyset envelope, then follow `next_cursor` with `?cursor=`. |
  | `count` | boolean | No | Set to `false` to skip the count query and omit `total_count` from the offset envelope. Defaults to `true`. |
  | `fields` | string | No | Comma-separated list of fields to return on each row. Unrequested keys are **omitted** from the response, not returned as `null`, so absent means "not requested" and `null` means "actually null". `id` always comes back whether or not you name it. Pass `all` for every requestable field. An unknown name is a `400` that lists the valid set and suggests the closest match, so a typo can't silently cost you the saving. Requestable here: `archived_at`, `created_at`, `created_by_id`, `description`, `external_id`, `external_source`, `id`, `lead_id`, `logo_props`, `member_ids`, `name`, `sort_order`, `start_date`, `status`, `target_date`. See \[Sparse fields]\([https://developers.plane.so/api-reference/v2/sparse-fields](https://developers.plane.so/api-reference/v2/sparse-fields)). |
  | `status__in` | string | No | Documented filter variant. Return only modules in this lifecycle position. One of `backlog`, `planned`, `in-progress`, `paused`, `completed`, or `cancelled`. Use `status__in` with a comma-separated list to match several at once, for example `?status__in=planned,in-progress`. |
  | `expand` | string | No | Comma-separated relations to embed alongside the ids: `lead` (the module lead), `members` (the module members). Expanded relations appear beside their ID fields and survive sparse field filtering. Use only the relation names listed above. |
  | `cursor` | string | No | Cursor from next\_cursor. Repeat the original filters, per\_page, and order\_by when following it. |

  #### Output [#output-44]

  | Parameter | Type | Description |
  | - | - | - |
  | `result` | object | Plane V2 V2 List Modulesresult |
  | ↳ `data` | array | Data |
  | ↳ `id` | string | Unique identifier for the module. |
  | ↳ `name` | string | Display name, unique within the project. Maximum 255 characters. |
  | ↳ `description` | string | Plain-text summary of what the module covers. |
  | ↳ `status` | string | Where the module sits in its lifecycle. One of `backlog`, `planned`, `in-progress`, `paused`, `completed`, or `cancelled`. |
  | ↳ `start_date` | string | Asset Id |
  | ↳ `target_date` | string | Asset Id |
  | ↳ `lead_id` | string | Asset Id |
  | ↳ `member_ids` | array | Project members assigned to the module. Read-only in v2 — module membership is not yet writable through the v2 API. |
  | ↳ `sort_order` | number | Ordering weight used when modules are listed. Lower values sort first. |
  | ↳ `logo_props` | json | View Props |
  | ↳ `external_id` | string | Asset Id |
  | ↳ `external_source` | string | Asset Id |
  | ↳ `archived_at` | string | Asset Id |
  | ↳ `created_at` | string | When the module was created. |
  | ↳ `created_by_id` | string | The user who created the module. |
  | ↳ `lead` | json | Logo Props |
  | ↳ `members` | array | Members |
  | ↳ `next` | number | Next |
  | ↳ `previous` | number | Previous |
  | ↳ `total_count` | number | Total count |
  | ↳ `pagination` | object | Pagination |
  | ↳ `style` | string | Style |
  | ↳ `next_cursor` | string | Next cursor |
  | ↳ `has_more` | boolean | Has more |
  | `results` | array | Returned Plane records. |
  | ↳ `id` | string | Id |
  | ↳ `total_issues` | json | Total issues |
  | ↳ `cancelled_issues` | json | Cancelled issues |
  | ↳ `completed_issues` | json | Completed issues |
  | ↳ `started_issues` | json | Started issues |
  | ↳ `unstarted_issues` | json | Unstarted issues |
  | ↳ `backlog_issues` | json | Backlog issues |
  | ↳ `created_at` | string | Created at |
  | ↳ `updated_at` | string | Updated at |
  | ↳ `deleted_at` | string | Deleted at |
  | ↳ `name` | string | Name |
  | ↳ `description` | string | Description |
  | ↳ `description_text` | json | Description text |
  | ↳ `description_html` | json | Description html |
  | ↳ `start_date` | string | Start date |
  | ↳ `target_date` | string | Target date |
  | ↳ `status` | string | Status |
  | ↳ `view_props` | json | View props |
  | ↳ `sort_order` | number | Sort order |
  | ↳ `external_source` | string | External source |
  | ↳ `external_id` | string | External id |
  | ↳ `archived_at` | string | Archived at |
  | ↳ `logo_props` | json | Logo props |
  | ↳ `created_by` | string | Created by |
  | ↳ `updated_by` | string | Updated by |
  | ↳ `project` | string | Project |
  | ↳ `workspace` | string | Workspace |
  | ↳ `lead` | string | Lead |
  | ↳ `members` | array | Members |
  | ↳ `deleted_by` | json | Deleted by |
  | `detail` | string | Provider message when no records are returned. |
  | `pagination` | object | Cursor pagination information. Bare-array responses have empty pagination. |
  | ↳ `next_cursor` | string | Cursor for the next page. |
  | ↳ `prev_cursor` | string | Cursor for the previous page. |
  | ↳ `next_page_results` | boolean | Whether a next page exists. |
  | ↳ `prev_page_results` | boolean | Whether a previous page exists. |
  | ↳ `count` | number | Records on this page. |
  | ↳ `total_pages` | number | Total pages. |
  | ↳ `total_results` | number | Total records. |
  | ↳ `total_count` | number | Total records when supplied by this endpoint. |
  | ↳ `extra_stats` | json | Endpoint-specific aggregate statistics. |
  | ↳ `grouped_by` | string | Grouping field. |
  | ↳ `sub_grouped_by` | string | Secondary grouping field. |
  | ↳ `total_groups` | number | Total primary groups. |
  | ↳ `next_group_offset` | number | Next primary group offset. |
  | ↳ `sub_total_groups` | number | Total secondary groups. |
  | ↳ `sub_next_group_offset` | number | Next secondary group offset. |
</ReferenceDetails>

### Plane List project pages [#plane-list-project-pages]

List project pages in Plane. Supports API v1 compatibility.

<ReferenceDetails>
  #### Input [#input-45]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `apiKey` | string | Yes | Plane personal access token from Profile → API tokens. |
  | `baseUrl` | string | No | Plane instance origin, optionally with a reverse-proxy path prefix. Defaults to [https://api.plane.so](https://api.plane.so). Do not include /api/v1 or /api/v2. |
  | `apiVersion` | string | No | API version: v2 (default) for Plane Cloud and current commercial instances; v1 for Community Edition or older self-hosted instances. Unsupported operations or fields fail explicitly. |
  | `workspace_slug` | string | Yes | Workspace slug from the Plane URL (for example, my-team). |
  | `project_id` | string | Yes | The project the resource belongs to. Accepts the project UUID or its bare identifier, for example `ENG`. |
  | `access` | number | No | - `0` - Public - `1` - Private One of `0`, `1`. |
  | `collection_id` | string | No | Filter by `collection_id`. |
  | `count` | boolean | No | Set to false to skip the total\_count COUNT(\*) (omits total\_count). |
  | `external_id` | string | No | Filter by `external_id`. |
  | `external_source` | string | No | Filter by `external_source`. |
  | `is_global` | boolean | No | Filter by `is_global`. |
  | `is_locked` | boolean | No | Filter by `is_locked`. |
  | `offset` | number | No | Number of rows to skip from the start of the result set. |
  | `order_by` | string | No | Field to order the list by. Prefix with '-' for descending (e.g. '-created\_at'). Annotation-backed orders sort semantically and ride the default offset page. |
  | `owned_by_id` | string | No | Filter by `owned_by_id`. |
  | `paginate` | string | No | Set to 'cursor' to opt into the COUNT-free keyset cursor envelope (use for deep traversal); omit for the default offset envelope with total\_count. One of `cursor`. |
  | `parent_id` | string | No | Filter by `parent_id`. |
  | `per_page` | number | No | Page size. Maximum 200 for API v2 and 100 for API v1. |
  | `search` | string | No | A search term. |
  | `type` | string | No | - `all` - All - `public` - Public - `private` - Private - `shared` - Shared - `archived` - Archived One of `all`, `archived`, `private`, `public`, `shared`. |
  | `fields` | string | No | Comma-separated list of fields to return. Unrequested keys are **omitted** from each row, not returned as `null`. `id` always comes back. Pass `all` for every requestable field. An unknown name is a `400` that names the valid set, so a typo can't silently cost you the saving. See \[Sparse fields]\([https://developers.plane.so/api-reference/v2/sparse-fields](https://developers.plane.so/api-reference/v2/sparse-fields)). Requestable here: `access`, `archived_at`, `collection_id`, `color`, `created_at`, `created_by_id`, `description_html`, `description_stripped`, `external_id`, `external_source`, `id`, `is_global`, `is_locked`, `logo_props`, `name`, `owned_by_id`, `parent_id`, `sort_order`, `view_props`. |
  | `expand` | string | No | Comma-separated relations to embed: `owned_by`, `parent`. Expanded relations appear beside their ID fields and survive sparse field filtering. Use only the relation names listed above. |
  | `cursor` | string | No | Cursor from next\_cursor. Repeat the original filters, per\_page, and order\_by when following it. |

  #### Output [#output-45]

  | Parameter | Type | Description |
  | - | - | - |
  | `result` | object | Plane V2 V2 List Project Pagesresult |
  | ↳ `data` | array | Data |
  | ↳ `access` | json | Access |
  | ↳ `archived_at` | string | Asset Id |
  | ↳ `collection_id` | string | The related collection. |
  | ↳ `color` | string | Hex color used wherever this is rendered, for example `#3f76ff`. |
  | ↳ `created_at` | string | When the record was created. |
  | ↳ `created_by_id` | string | The user who created the record. |
  | ↳ `description_html` | string | Rich-text body as HTML. This is the field the Plane editor round-trips. |
  | ↳ `description_stripped` | string | The description stripped. |
  | ↳ `external_id` | string | Your system's identifier for this record, for sync and import correlation. |
  | ↳ `external_source` | string | The system `external_id` came from, for example `github` or `jira`. |
  | ↳ `id` | string | Unique identifier. |
  | ↳ `is_global` | boolean | Whether this lives at the workspace level rather than inside a project. |
  | ↳ `is_locked` | boolean | Prevents further edits to the content. |
  | ↳ `logo_props` | json | View Props |
  | ↳ `name` | string | Display name. |
  | ↳ `owned_by_id` | string | The related owned by. |
  | ↳ `parent_id` | string | The related parent. |
  | ↳ `sort_order` | json | Sort Order |
  | ↳ `view_props` | json | View Props |
  | ↳ `owned_by` | json | Logo Props |
  | ↳ `parent` | json | Logo Props |
  | ↳ `next` | number | Next |
  | ↳ `pagination` | object | Pagination |
  | ↳ `style` | string | Style |
  | ↳ `previous` | number | Previous |
  | ↳ `total_count` | number | Total count |
  | ↳ `next_cursor` | string | Next cursor |
  | ↳ `has_more` | boolean | Has more |
  | `results` | array | Returned Plane records. |
  | ↳ `id` | string | Id |
  | ↳ `name` | string | Name |
  | ↳ `description_stripped` | string | Description stripped |
  | ↳ `description_html` | string | Description html |
  | ↳ `description_binary` | string | Description binary |
  | ↳ `description` | json | Description |
  | ↳ `created_at` | string | Created at |
  | ↳ `updated_at` | string | Updated at |
  | ↳ `owned_by` | json | Owned by |
  | ↳ `id` | string | Asset Id |
  | ↳ `first_name` | string | Asset Id |
  | ↳ `last_name` | string | Asset Id |
  | ↳ `email` | string | Email |
  | ↳ `avatar` | string | Asset Id |
  | ↳ `avatar_url` | string | Avatar URL |
  | ↳ `display_name` | string | Display name |
  | ↳ `anchor` | string | Anchor |
  | ↳ `workspace` | string | Workspace |
  | ↳ `projects` | array | Projects |
  | ↳ `access` | json | Access |
  | ↳ `is_locked` | boolean | Is locked |
  | ↳ `archived_at` | string | Archived at |
  | ↳ `parent_id` | string | Parent id |
  | ↳ `parent` | json | Parent page ID or expanded page object in API v1. |
  | ↳ `collection_id` | string | Collection id |
  | ↳ `page_collection_id` | string | Page collection id |
  | ↳ `color` | string | Color |
  | ↳ `created_by` | string | Created by |
  | ↳ `updated_by` | json | Updated by |
  | ↳ `view_props` | json | View props |
  | ↳ `logo_props` | json | Logo props |
  | ↳ `external_id` | json | External id |
  | ↳ `external_source` | json | External source |
  | ↳ `description_json` | object | Description json |
  | ↳ `type` | string | Type |
  | ↳ `content` | array | Content |
  | ↳ `type` | string | Asset Id |
  | ↳ `attrs` | object | Attrs |
  | ↳ `id` | json | Id |
  | ↳ `textAlign` | json | Id |
  | ↳ `aiSuggestion` | json | Id |
  | ↳ `content` | array | Content |
  | ↳ `text` | string | Asset Id |
  | ↳ `type` | string | Asset Id |
  | `detail` | string | Provider message when no records are returned. |
  | `pagination` | object | Cursor pagination information. Bare-array responses have empty pagination. |
  | ↳ `next_cursor` | string | Cursor for the next page. |
  | ↳ `prev_cursor` | string | Cursor for the previous page. |
  | ↳ `next_page_results` | boolean | Whether a next page exists. |
  | ↳ `prev_page_results` | boolean | Whether a previous page exists. |
  | ↳ `count` | number | Records on this page. |
  | ↳ `total_pages` | number | Total pages. |
  | ↳ `total_results` | number | Total records. |
  | ↳ `total_count` | number | Total records when supplied by this endpoint. |
  | ↳ `extra_stats` | json | Endpoint-specific aggregate statistics. |
  | ↳ `grouped_by` | string | Grouping field. |
  | ↳ `sub_grouped_by` | string | Secondary grouping field. |
  | ↳ `total_groups` | number | Total primary groups. |
  | ↳ `next_group_offset` | number | Next primary group offset. |
  | ↳ `sub_total_groups` | number | Total secondary groups. |
  | ↳ `sub_next_group_offset` | number | Next secondary group offset. |
</ReferenceDetails>

### Plane List projects [#plane-list-projects]

List projects in Plane. Supports API v1 compatibility.

<ReferenceDetails>
  #### Input [#input-46]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `apiKey` | string | Yes | Plane personal access token from Profile → API tokens. |
  | `baseUrl` | string | No | Plane instance origin, optionally with a reverse-proxy path prefix. Defaults to [https://api.plane.so](https://api.plane.so). Do not include /api/v1 or /api/v2. |
  | `apiVersion` | string | No | API version: v2 (default) for Plane Cloud and current commercial instances; v1 for Community Edition or older self-hosted instances. Unsupported operations or fields fail explicitly. |
  | `workspace_slug` | string | Yes | Workspace slug from the Plane URL (for example, my-team). |
  | `count` | boolean | No | Set to false to skip the total\_count COUNT(\*) (omits total\_count). |
  | `external_id` | string | No | Filter by `external_id`. |
  | `external_source` | string | No | Filter by `external_source`. |
  | `identifier` | string | No | Filter by `identifier`. |
  | `include_archived` | boolean | No | Filter by `include_archived`. |
  | `is_archived` | boolean | No | Filter by `is_archived`. |
  | `key` | string | No | Filter by `key`. |
  | `name` | string | No | Filter by `name`. |
  | `network` | number | No | Filter by `network`. |
  | `offset` | number | No | Number of rows to skip from the start of the result set. |
  | `order_by` | string | No | Field to order the list by. Prefix with '-' for descending (e.g. '-created\_at'). Annotation-backed orders sort semantically and ride the default offset page. |
  | `paginate` | string | No | Set to 'cursor' to opt into the COUNT-free keyset cursor envelope (use for deep traversal); omit for the default offset envelope with total\_count. One of `cursor`. |
  | `per_page` | number | No | Page size. Maximum 200 for API v2 and 100 for API v1. |
  | `priority` | string | No | - `none` - None - `low` - Low - `medium` - Medium - `high` - High - `urgent` - Urgent One of `high`, `low`, `medium`, `none`, `urgent`. |
  | `priority__in` | json | No | Multiple values may be separated by commas. - `none` - None - `low` - Low - `medium` - Medium - `high` - High - `urgent` - Urgent |
  | `search` | string | No | A search term. |
  | `fields` | string | No | Comma-separated list of fields to return. Unrequested keys are **omitted** from each row, not returned as `null`. `id` always comes back. Pass `all` for every requestable field. An unknown name is a `400` that names the valid set, so a typo can't silently cost you the saving. See \[Sparse fields]\([https://developers.plane.so/api-reference/v2/sparse-fields](https://developers.plane.so/api-reference/v2/sparse-fields)). Requestable here: `archive_in`, `archived_at`, `close_in`, `cover_image`, `cover_image_url`, `created_at`, `created_by_id`, `cycle_view`, `default_assignee_id`, `default_state_id`, `description`, `emoji`, `estimate_id`, `external_id`, `external_source`, `guest_view_all_features`, `icon_prop`, `id`, `identifier`, `intake_view`, `is_issue_type_enabled`, `is_time_tracking_enabled`, `issue_views_view`, `logo_props`, `module_view`, `name`, `network`, `page_view`, `priority`, `project_lead_id`, `start_date`, `state_id`, `target_date`, `timezone`. |
  | `expand` | string | No | Comma-separated relations to embed: `default_assignee`, `project_lead`. Expanded relations appear beside their ID fields and survive sparse field filtering. Use only the relation names listed above. |
  | `cursor` | string | No | Cursor from next\_cursor. Repeat the original filters, per\_page, and order\_by when following it. |

  #### Output [#output-46]

  | Parameter | Type | Description |
  | - | - | - |
  | `result` | object | Plane V2 V2 List Projectsresult |
  | ↳ `data` | array | Data |
  | ↳ `archive_in` | json | Archive In |
  | ↳ `archived_at` | string | Asset Id |
  | ↳ `close_in` | json | Close In |
  | ↳ `cover_image` | string | URL of the cover image. |
  | ↳ `cover_image_url` | string | The cover image url. |
  | ↳ `created_at` | string | When the record was created. |
  | ↳ `created_by_id` | string | The user who created the record. |
  | ↳ `cycle_view` | boolean | Whether cycle view. |
  | ↳ `default_assignee_id` | string | The related default assignee. |
  | ↳ `default_state_id` | string | The related default state. |
  | ↳ `description` | string | Free-form description. |
  | ↳ `emoji` | string | Emoji shown alongside the name. |
  | ↳ `estimate_id` | string | The related estimate. |
  | ↳ `external_id` | string | Your system's identifier for this record, for sync and import correlation. |
  | ↳ `external_source` | string | The system `external_id` came from, for example `github` or `jira`. |
  | ↳ `guest_view_all_features` | boolean | Whether guest view all features. |
  | ↳ `icon_prop` | json | Icon Prop |
  | ↳ `id` | string | Unique identifier. |
  | ↳ `identifier` | string | Short project key used to prefix work item numbers, for example `ENG` in `ENG-142`. |
  | ↳ `intake_view` | boolean | Whether intake view. |
  | ↳ `is_issue_type_enabled` | boolean | Whether is issue type enabled. |
  | ↳ `is_time_tracking_enabled` | boolean | Whether is time tracking enabled. |
  | ↳ `issue_views_view` | boolean | Whether issue views view. |
  | ↳ `logo_props` | json | View Props |
  | ↳ `module_view` | boolean | Whether module view. |
  | ↳ `name` | string | Display name. |
  | ↳ `network` | json | Network |
  | ↳ `page_view` | boolean | Whether page view. |
  | ↳ `priority` | string | Urgency of the work item. |
  | ↳ `project_lead_id` | string | The related project lead. |
  | ↳ `start_date` | string | Planned start date, as `YYYY-MM-DD`. |
  | ↳ `state_id` | string | The related state. |
  | ↳ `target_date` | string | Planned due date, as `YYYY-MM-DD`. |
  | ↳ `timezone` | string | IANA timezone name, for example `America/New_York`. |
  | ↳ `default_assignee` | json | Logo Props |
  | ↳ `project_lead` | json | Logo Props |
  | ↳ `next` | number | Next |
  | ↳ `pagination` | object | Pagination |
  | ↳ `style` | string | Style |
  | ↳ `previous` | number | Previous |
  | ↳ `total_count` | number | Total count |
  | ↳ `next_cursor` | string | Next cursor |
  | ↳ `has_more` | boolean | Has more |
  | `results` | array | Returned Plane records. |
  | ↳ `id` | string | Id |
  | ↳ `total_members` | json | Total members |
  | ↳ `total_cycles` | json | Total cycles |
  | ↳ `total_modules` | json | Total modules |
  | ↳ `is_member` | boolean | Is member |
  | ↳ `sort_order` | number | Sort order |
  | ↳ `member_role` | json | Member role |
  | ↳ `is_deployed` | boolean | Is deployed |
  | ↳ `cover_image_url` | string | Cover image url |
  | ↳ `created_at` | string | Created at |
  | ↳ `updated_at` | string | Updated at |
  | ↳ `deleted_at` | string | Deleted at |
  | ↳ `name` | string | Name |
  | ↳ `description` | string | Description |
  | ↳ `description_text` | json | Description text |
  | ↳ `description_html` | json | Description html |
  | ↳ `network` | json | Network |
  | ↳ `identifier` | string | Identifier |
  | ↳ `emoji` | string | Emoji |
  | ↳ `icon_prop` | json | Icon prop |
  | ↳ `module_view` | boolean | Module view |
  | ↳ `cycle_view` | boolean | Cycle view |
  | ↳ `issue_views_view` | boolean | Issue views view |
  | ↳ `page_view` | boolean | Page view |
  | ↳ `intake_view` | boolean | Intake view |
  | ↳ `is_time_tracking_enabled` | boolean | Is time tracking enabled |
  | ↳ `is_issue_type_enabled` | boolean | Is issue type enabled |
  | ↳ `guest_view_all_features` | boolean | Guest view all features |
  | ↳ `cover_image` | string | Cover image |
  | ↳ `archive_in` | json | Archive in |
  | ↳ `close_in` | json | Close in |
  | ↳ `logo_props` | json | Logo props |
  | ↳ `archived_at` | string | Archived at |
  | ↳ `timezone` | string | Timezone |
  | ↳ `external_source` | string | External source |
  | ↳ `external_id` | string | External id |
  | ↳ `created_by` | string | Created by |
  | ↳ `updated_by` | string | Updated by |
  | ↳ `workspace` | string | Workspace |
  | ↳ `default_assignee` | string | Default assignee |
  | ↳ `project_lead` | string | Project lead |
  | ↳ `cover_image_asset` | string | Cover image asset |
  | ↳ `estimate` | string | Estimate |
  | ↳ `default_state` | string | Default state |
  | ↳ `deleted_by` | json | Deleted by |
  | ↳ `priority` | string | Priority |
  | ↳ `start_date` | json | Start date |
  | ↳ `target_date` | json | Target date |
  | ↳ `is_voting_enabled` | boolean | Is voting enabled |
  | ↳ `auto_reminder_days` | number | Auto reminder days |
  | ↳ `state` | string | State |
  | `detail` | string | Provider message when no records are returned. |
  | `pagination` | object | Cursor pagination information. Bare-array responses have empty pagination. |
  | ↳ `next_cursor` | string | Cursor for the next page. |
  | ↳ `prev_cursor` | string | Cursor for the previous page. |
  | ↳ `next_page_results` | boolean | Whether a next page exists. |
  | ↳ `prev_page_results` | boolean | Whether a previous page exists. |
  | ↳ `count` | number | Records on this page. |
  | ↳ `total_pages` | number | Total pages. |
  | ↳ `total_results` | number | Total records. |
  | ↳ `total_count` | number | Total records when supplied by this endpoint. |
  | ↳ `extra_stats` | json | Endpoint-specific aggregate statistics. |
  | ↳ `grouped_by` | string | Grouping field. |
  | ↳ `sub_grouped_by` | string | Secondary grouping field. |
  | ↳ `total_groups` | number | Total primary groups. |
  | ↳ `next_group_offset` | number | Next primary group offset. |
  | ↳ `sub_total_groups` | number | Total secondary groups. |
  | ↳ `sub_next_group_offset` | number | Next secondary group offset. |
</ReferenceDetails>

### Plane List states [#plane-list-states]

List states in Plane. Supports API v1 compatibility.

<ReferenceDetails>
  #### Input [#input-47]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `apiKey` | string | Yes | Plane personal access token from Profile → API tokens. |
  | `baseUrl` | string | No | Plane instance origin, optionally with a reverse-proxy path prefix. Defaults to [https://api.plane.so](https://api.plane.so). Do not include /api/v1 or /api/v2. |
  | `apiVersion` | string | No | API version: v2 (default) for Plane Cloud and current commercial instances; v1 for Community Edition or older self-hosted instances. Unsupported operations or fields fail explicitly. |
  | `workspace_slug` | string | Yes | Workspace slug from the Plane URL (for example, my-team). |
  | `project_id` | string | Yes | The project whose states you want to list. |
  | `group` | string | No | Return only states in this workflow group. One of `backlog`, `unstarted`, `started`, `completed`, `cancelled`, or `triage`. Use the `group__in` variant to match several groups at once, passing them comma-separated — `?group__in=started,completed`. Filtering by group is the portable way to ask "what counts as in progress here", because every project names its states differently but the groups are fixed. |
  | `is_default` | boolean | No | Return only the project's default state (`true`) or only the non-default states (`false`). Pairing `?is_default=true` with `?per_page=1` is the cheapest way to find where new work items will land. |
  | `external_id` | string | No | Return states whose `external_id` matches exactly. Use it to find the state you previously created for a record in another system. |
  | `external_source` | string | No | Return states that came from a particular system, for example `github` or `jira`. Combine it with `external_id` — an `external_id` is only unique within its source. |
  | `search` | string | No | A search term matched against the state name. |
  | `fields` | string | No | Comma-separated list of fields to return on each row. Unrequested keys are **omitted** from the response, not returned as `null`, so absent means "not requested" and `null` means "actually null". `id` always comes back whether or not you name it. Pass `all` for every requestable field. An unknown name is a `400` that lists the valid set and suggests the closest match, so a typo can't silently cost you the saving. Requestable here: `color`, `created_at`, `created_by_id`, `description`, `external_id`, `external_source`, `group`, `id`, `is_default`, `is_triage`, `name`, `sequence`. See \[Sparse fields]\([https://developers.plane.so/api-reference/v2/sparse-fields](https://developers.plane.so/api-reference/v2/sparse-fields)). |
  | `group__in` | string | No | Documented filter variant. Return only states in this workflow group. One of `backlog`, `unstarted`, `started`, `completed`, `cancelled`, or `triage`. Use the `group__in` variant to match several groups at once, passing them comma-separated — `?group__in=started,completed`. Filtering by group is the portable way to ask "what counts as in progress here", because every project names its states differently but the groups are fixed. |
  | `order_by` | string | No | Field to sort by. Prefix with `-` for descending. - `sequence` , `-sequence` — the project's own workflow order - `created_at` , `-created_at` — when each state was added - `id` , `-id` Order by `sequence` when you are rendering the workflow to a user; it is the order the project itself uses. |
  | `per_page` | number | No | Page size. Maximum 200 for API v2 and 100 for API v1. |
  | `offset` | number | No | Number of rows to skip from the start of the result set. Maximum 10000. Read the `next` value from the response rather than computing offsets yourself. |
  | `paginate` | string | No | Set to `cursor` to opt into the COUNT-free keyset envelope, which returns `next_cursor` and `has_more` instead of `next` and `total_count`. Omit it for the default offset envelope. |
  | `count` | boolean | No | Defaults to `true`. Set to `false` to skip the `COUNT\(*\)` behind `total_count`; the field is then omitted from the response. |
  | `cursor` | string | No | Cursor from next\_cursor. Repeat the original filters, per\_page, and order\_by when following it. |
  | `expand` | string | No | v1 compatibility only. Comma-separated list of related fields to expand in response Expanded relations appear beside their ID fields and survive sparse field filtering. Use only the relation names listed above. |

  #### Output [#output-47]

  | Parameter | Type | Description |
  | - | - | - |
  | `result` | object | Plane V2 V2 List Statesresult |
  | ↳ `data` | array | Data |
  | ↳ `id` | string | Unique identifier for the state. |
  | ↳ `name` | string | Display name, unique within the project. Maximum 255 characters. |
  | ↳ `description` | string | Free-form description of what the state means in this workflow. |
  | ↳ `color` | string | Hex color used wherever the state is rendered, for example `#3f76ff`. |
  | ↳ `group` | string | The workflow group this state belongs to. One of `backlog`, `unstarted`, `started`, `completed`, `cancelled`, or `triage`. |
  | ↳ `sequence` | json | Sequence |
  | ↳ `is_default` | boolean | Whether new work items land in this state when no `state_id` is supplied. Exactly one state per project is the default. |
  | ↳ `is_triage` | boolean | Whether this is the project's triage state, used by intake. Read-only — a triage state is created and managed by Plane. |
  | ↳ `external_id` | string | Asset Id |
  | ↳ `external_source` | string | Asset Id |
  | ↳ `created_at` | string | When the state was created. |
  | ↳ `created_by_id` | string | The user who created the state. |
  | ↳ `next` | number | Next |
  | ↳ `previous` | number | Previous |
  | ↳ `total_count` | number | Total count |
  | ↳ `pagination` | object | Pagination |
  | ↳ `style` | string | Style |
  | ↳ `next_cursor` | string | Next cursor |
  | ↳ `has_more` | boolean | Has more |
  | `results` | array | Returned Plane records. |
  | ↳ `id` | string | Id |
  | ↳ `created_at` | string | Created at |
  | ↳ `updated_at` | string | Updated at |
  | ↳ `deleted_at` | string | Deleted at |
  | ↳ `name` | string | Name |
  | ↳ `description` | string | Description |
  | ↳ `color` | string | Color |
  | ↳ `sequence` | number | Sequence |
  | ↳ `group` | string | Group |
  | ↳ `is_triage` | boolean | Is triage |
  | ↳ `default` | boolean | Default |
  | ↳ `external_source` | string | External source |
  | ↳ `external_id` | string | External id |
  | ↳ `created_by` | string | Created by |
  | ↳ `updated_by` | string | Updated by |
  | ↳ `project` | string | Project |
  | ↳ `workspace` | string | Workspace |
  | ↳ `slug` | string | Slug |
  | ↳ `deleted_by` | json | Deleted by |
  | `detail` | string | Provider message when no records are returned. |
  | `pagination` | object | Cursor pagination information. Bare-array responses have empty pagination. |
  | ↳ `next_cursor` | string | Cursor for the next page. |
  | ↳ `prev_cursor` | string | Cursor for the previous page. |
  | ↳ `next_page_results` | boolean | Whether a next page exists. |
  | ↳ `prev_page_results` | boolean | Whether a previous page exists. |
  | ↳ `count` | number | Records on this page. |
  | ↳ `total_pages` | number | Total pages. |
  | ↳ `total_results` | number | Total records. |
  | ↳ `total_count` | number | Total records when supplied by this endpoint. |
  | ↳ `extra_stats` | json | Endpoint-specific aggregate statistics. |
  | ↳ `grouped_by` | string | Grouping field. |
  | ↳ `sub_grouped_by` | string | Secondary grouping field. |
  | ↳ `total_groups` | number | Total primary groups. |
  | ↳ `next_group_offset` | number | Next primary group offset. |
  | ↳ `sub_total_groups` | number | Total secondary groups. |
  | ↳ `sub_next_group_offset` | number | Next secondary group offset. |
</ReferenceDetails>

### Plane List webhooks [#plane-list-webhooks]

List webhooks in Plane. Requires API v2.

<ReferenceDetails>
  #### Input [#input-48]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `apiKey` | string | Yes | Plane personal access token from Profile → API tokens. |
  | `baseUrl` | string | No | Plane instance origin, optionally with a reverse-proxy path prefix. Defaults to [https://api.plane.so](https://api.plane.so). Do not include /api/v1 or /api/v2. |
  | `apiVersion` | string | No | API version: v2 (default) for Plane Cloud and current commercial instances; v1 for Community Edition or older self-hosted instances. Unsupported operations or fields fail explicitly. |
  | `workspace_slug` | string | Yes | Workspace slug from the Plane URL (for example, my-team). |
  | `count` | boolean | No | Set to false to skip the total\_count COUNT(\*) (omits total\_count). |
  | `is_active` | boolean | No | Filter by `is_active`. |
  | `name` | string | No | Filter by `name`. |
  | `offset` | number | No | Number of rows to skip from the start of the result set. |
  | `order_by` | string | No | Field to order the list by. Prefix with '-' for descending (e.g. '-created\_at'). Annotation-backed orders sort semantically and ride the default offset page. |
  | `paginate` | string | No | Set to 'cursor' to opt into the COUNT-free keyset cursor envelope (use for deep traversal); omit for the default offset envelope with total\_count. One of `cursor`. |
  | `per_page` | number | No | Page size (max 200). |
  | `search` | string | No | A search term. |
  | `url` | string | No | Filter by `url`. |
  | `fields` | string | No | Comma-separated list of fields to return. Unrequested keys are **omitted** from each row, not returned as `null`. `id` always comes back. Pass `all` for every requestable field. An unknown name is a `400` that names the valid set, so a typo can't silently cost you the saving. See \[Sparse fields]\([https://developers.plane.so/api-reference/v2/sparse-fields](https://developers.plane.so/api-reference/v2/sparse-fields)). Requestable here: `content_type`, `created_at`, `created_by_id`, `id`, `is_active`, `name`, `scopes`, `url`, `version`. |
  | `cursor` | string | No | Cursor from next\_cursor. Repeat the original filters, per\_page, and order\_by when following it. |

  #### Output [#output-48]

  | Parameter | Type | Description |
  | - | - | - |
  | `result` | object | Plane V2 V2 List Webhooksresult |
  | ↳ `data` | array | Data |
  | ↳ `content_type` | string | The content type. |
  | ↳ `created_at` | string | When the record was created. |
  | ↳ `created_by_id` | string | The user who created the record. |
  | ↳ `id` | string | Unique identifier. |
  | ↳ `is_active` | boolean | Whether the record is active. |
  | ↳ `name` | string | Display name. |
  | ↳ `scopes` | array | The scopes. |
  | ↳ `url` | string | Target URL. |
  | ↳ `version` | string | Version string, for example `1.4.0`. |
  | ↳ `next` | number | Next |
  | ↳ `pagination` | object | Pagination |
  | ↳ `style` | string | Style |
  | ↳ `previous` | number | Previous |
  | ↳ `total_count` | number | Total count |
  | ↳ `next_cursor` | string | Next cursor |
  | ↳ `has_more` | boolean | Has more |
</ReferenceDetails>

### Plane List work items [#plane-list-work-items]

List work items in Plane. Supports API v1 compatibility.

<ReferenceDetails>
  #### Input [#input-49]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `apiKey` | string | Yes | Plane personal access token from Profile → API tokens. |
  | `baseUrl` | string | No | Plane instance origin, optionally with a reverse-proxy path prefix. Defaults to [https://api.plane.so](https://api.plane.so). Do not include /api/v1 or /api/v2. |
  | `apiVersion` | string | No | API version: v2 (default) for Plane Cloud and current commercial instances; v1 for Community Edition or older self-hosted instances. Unsupported operations or fields fail explicitly. |
  | `workspace_slug` | string | Yes | Workspace slug from the Plane URL (for example, my-team). |
  | `project_id` | string | Yes | The project to list work items from. |
  | `fields` | string | No | Comma-separated list of fields to return on each row. Unrequested keys are **omitted** from the response, not returned as `null`, so absent means "not requested" and `null` means "actually null". `id` always comes back whether or not you name it. Pass `all` for every requestable field. An unknown name is a `400` that lists the valid set and suggests the closest match, so a typo can't silently cost you the saving. Requestable here: `archived_at`, `assignee_ids`, `created_at`, `created_by_id`, `cycle_id`, `id`, `identifier`, `is_draft`, `label_ids`, `module_ids`, `name`, `parent_id`, `priority`, `project_id`, `sequence_id`, `start_date`, `state_id`, `target_date`, `type_id`. Naming `custom_fields` here is a `400` — it is only available on single-object responses. See \[Sparse fields]\([https://developers.plane.so/api-reference/v2/sparse-fields](https://developers.plane.so/api-reference/v2/sparse-fields)). |
  | `state_id` | string | No | Match work items in a specific state. Use `state_id__in` with a comma-separated list to match any of several states. |
  | `state_id__in` | string | No | Documented filter variant. Match work items in a specific state. Use `state_id__in` with a comma-separated list to match any of several states. |
  | `state_group` | string | No | Match by the state's workflow group instead of a specific state — stable across projects that name their states differently. One of `backlog`, `unstarted`, `started`, `completed`, `cancelled`, `triage`. Use `state_group__in` for several groups, for example `?state_group__in=started,completed`. |
  | `state_group__in` | string | No | Documented filter variant. Match by the state's workflow group instead of a specific state — stable across projects that name their states differently. One of `backlog`, `unstarted`, `started`, `completed`, `cancelled`, `triage`. Use `state_group__in` for several groups, for example `?state_group__in=started,completed`. |
  | `priority` | string | No | One of `urgent`, `high`, `medium`, `low`, `none`. Use `priority__in` for several, for example `?priority__in=urgent,high`. |
  | `priority__in` | string | No | Documented filter variant. One of `urgent`, `high`, `medium`, `low`, `none`. Use `priority__in` for several, for example `?priority__in=urgent,high`. |
  | `assignee_id` | string | No | Match work items assigned to a user. `assignee_id__in` matches any of several users; `assignee_id__isnull=true` returns only unassigned work items. |
  | `assignee_id__in` | string | No | Documented filter variant. Match work items assigned to a user. `assignee_id__in` matches any of several users; `assignee_id__isnull=true` returns only unassigned work items. |
  | `label_id` | string | No | Match work items carrying a label. `label_id__in` matches any of several labels; `label_id__isnull=true` returns only unlabeled work items. |
  | `label_id__in` | string | No | Documented filter variant. Match work items carrying a label. `label_id__in` matches any of several labels; `label_id__isnull=true` returns only unlabeled work items. |
  | `type_id` | string | No | Match work items of a given work item type. `type_id__in` accepts a comma-separated list. |
  | `type_id__in` | string | No | Documented filter variant. Match work items of a given work item type. `type_id__in` accepts a comma-separated list. |
  | `parent_id` | string | No | Match the children of a work item. `parent_id__in` accepts several parents; `parent_id__isnull=true` returns only top-level work items. |
  | `parent_id__in` | string | No | Documented filter variant. Match the children of a work item. `parent_id__in` accepts several parents; `parent_id__isnull=true` returns only top-level work items. |
  | `cycle_id` | string | No | Match work items in a cycle. `cycle_id__in` accepts several cycles; `cycle_id__isnull=true` returns the backlog of work items in no cycle at all. |
  | `cycle_id__in` | string | No | Documented filter variant. Match work items in a cycle. `cycle_id__in` accepts several cycles; `cycle_id__isnull=true` returns the backlog of work items in no cycle at all. |
  | `module_id` | string | No | Match work items in a module. `module_id__in` accepts several modules; `module_id__isnull=true` returns work items in no module. |
  | `module_id__in` | string | No | Documented filter variant. Match work items in a module. `module_id__in` accepts several modules; `module_id__isnull=true` returns work items in no module. |
  | `sequence_id` | number | No | Match the single work item with this number within the project — the `142` of `PROJ-142`. |
  | `is_draft` | boolean | No | Filter drafts in or out. Drafts are work items still being composed in the Plane app. |
  | `external_id` | string | No | Correlation filters for sync and import. `external_source` is the system a record came from and `external_id` is its key there, so the pair is how you find the Plane work item that mirrors a row in your own database. These values are not returned on reads — the lookup is one-way. |
  | `external_source` | string | No | Correlation filters for sync and import. `external_source` is the system a record came from and `external_id` is its key there, so the pair is how you find the Plane work item that mirrors a row in your own database. These values are not returned on reads — the lookup is one-way. |
  | `created_at__gte` | string | No | Bound the creation timestamp. Pass an ISO 8601 datetime, for example `2026-01-01T00:00:00Z`. Use both for a window. |
  | `created_at__lte` | string | No | Bound the creation timestamp. Pass an ISO 8601 datetime, for example `2026-01-01T00:00:00Z`. Use both for a window. |
  | `updated_at__gte` | string | No | Bound the last-modified timestamp. This is the pair to use for incremental sync — poll with `?updated_at__gte=&order_by=updated_at`. `updated_at` is filterable and orderable but is not part of the read shape, so it does not come back in the response body. |
  | `updated_at__lte` | string | No | Bound the last-modified timestamp. This is the pair to use for incremental sync — poll with `?updated_at__gte=&order_by=updated_at`. `updated_at` is filterable and orderable but is not part of the read shape, so it does not come back in the response body. |
  | `start_date__gte` | string | No | Bound the planned start date, for example `2026-01-01`. |
  | `start_date__lte` | string | No | Bound the planned start date, for example `2026-01-01`. |
  | `target_date__gte` | string | No | Bound the planned due date. `?target_date__lte=2026-01-31&state_group__in=backlog,unstarted,started` is the "what is about to slip" query. |
  | `target_date__lte` | string | No | Bound the planned due date. `?target_date__lte=2026-01-31&state_group__in=backlog,unstarted,started` is the "what is about to slip" query. |
  | `search` | string | No | Free-text search over the work item name. |
  | `order_by` | string | No | Field to sort by. Prefix with `-` for descending. Defaults to `-created_at`. - `created_at`, `-created_at` - `updated_at`, `-updated_at` - `sequence_id`, `-sequence_id` - `id`, `-id` - `sort_order`, `-sort_order` — the manual board ordering - `priority`, `-priority` — semantic: `urgent` → `high` → `medium` → `low` → `none`, not alphabetical - `state_group`, `-state_group` — semantic: workflow order, not alphabetical `priority` and `state_group` sort by meaning, which is what you want for a board but is not cursor-eligible. Pair either with `?paginate=cursor` and you get `400 ordering_not_cursor_eligible`; use the default offset pages instead. |
  | `per_page` | number | No | Page size. Maximum 200 for API v2 and 100 for API v1. |
  | `offset` | number | No | Rows to skip from the start of the result set. Maximum 10000 — past that, switch to cursor pagination. |
  | `count` | boolean | No | Defaults to `true`. Pass `?count=false` to skip the `COUNT\(*\)` and omit `total_count` from the envelope. Worth doing on large projects when you only need the rows. |
  | `paginate` | string | No | Set to `cursor` to opt into keyset pagination. The envelope changes to `next_cursor` / `has_more` and drops `total_count`. Use it for deep or long-running traversals where offset pages would drift as rows are inserted. Follow the returned `next_cursor` as described in \[Pagination]\([https://developers.plane.so/api-reference/v2/pagination](https://developers.plane.so/api-reference/v2/pagination)). |
  | `expand` | string | No | Comma-separated relations to embed alongside the ids: `assignees` (the assigned users), `cycle` (the cycle it belongs to), `labels` (the applied labels), `modules` (the modules it belongs to), `parent` (its parent work item), `state` (the work item's state object), `type` (its work item type). Expanded relations appear beside their ID fields and survive sparse field filtering. Use only the relation names listed above. |
  | `cursor` | string | No | Cursor from next\_cursor. Repeat the original filters, per\_page, and order\_by when following it. |
  | `pql` | string | No | v1 compatibility only. Plane Query Language expression. Human-readable alternative to `filters`. Example: `priority = "urgent" AND assignee = currentUser\(\)`. Requires a Plane edition with work item query filtering; Community Edition rejects this parameter. |
  | `filters` | json | No | v1 compatibility only. Structured filter expression. Supports nested `and`/`or`/`not` groups and field comparisons with operators like `__in`, `__gte`, `__range`, `__isnull`, `__icontains`, etc. JSON-encoded into the `filters=` query param by the client. Requires a Plane edition with work item query filtering; Community Edition rejects this parameter. |
  | `assignee_id__isnull` | boolean | No | API v2: select records with a missing assignee when true, or a present assignee when false. |
  | `label_id__isnull` | boolean | No | API v2: select records with a missing label when true, or a present label when false. |
  | `parent_id__isnull` | boolean | No | API v2: select records with a missing parent when true, or a present parent when false. |
  | `cycle_id__isnull` | boolean | No | API v2: select records with a missing cycle when true, or a present cycle when false. |
  | `module_id__isnull` | boolean | No | API v2: select records with a missing module when true, or a present module when false. |

  #### Output [#output-49]

  | Parameter | Type | Description |
  | - | - | - |
  | `result` | object | Plane V2 V2 List Work Itemsresult |
  | ↳ `data` | array | Data |
  | ↳ `id` | string | Unique identifier for the work item. This is the `\{pk\}` on every project-scoped detail route. |
  | ↳ `name` | string | Title of the work item. Maximum 255 characters. |
  | ↳ `identifier` | string | The human key, for example `PROJ-142`. It is the project's identifier joined to `sequence_id`, and it is what people paste into chat and commit messages. Use it with \[Get a work item by identifier]\([https://developers.plane.so/api-reference/v2/work-items/get-work-item-by-identifier](https://developers.plane.so/api-reference/v2/work-items/get-work-item-by-identifier)) when you don't have the project UUID. |
  | ↳ `sequence_id` | json | Sequence Id |
  | ↳ `priority` | string | One of `urgent`, `high`, `medium`, `low`, or `none`. Never null — an unprioritized work item reads `none`. |
  | ↳ `state_id` | string | The workflow state the work item is currently in. |
  | ↳ `type_id` | string | Asset Id |
  | ↳ `assignee_ids` | array | User ids assigned to the work item. Empty array when unassigned. |
  | ↳ `label_ids` | array | Label ids applied to the work item. Empty array when unlabeled. |
  | ↳ `parent_id` | string | Asset Id |
  | ↳ `start_date` | string | Asset Id |
  | ↳ `target_date` | string | Asset Id |
  | ↳ `is_draft` | boolean | Whether the work item is still a draft. Drafts are created in the Plane app and are excluded from most boards. |
  | ↳ `archived_at` | string | Asset Id |
  | ↳ `created_at` | string | When the work item was created. |
  | ↳ `created_by_id` | string | Asset Id |
  | ↳ `custom_fields` | json | View Props |
  | ↳ `assignees` | array | Assignees |
  | ↳ `id` | string | Asset Id |
  | ↳ `display_name` | string | Asset Id |
  | ↳ `avatar_url` | string | Asset Id |
  | ↳ `email` | string | Asset Id |
  | ↳ `cycle` | json | Logo Props |
  | ↳ `labels` | array | Labels |
  | ↳ `id` | string | Asset Id |
  | ↳ `name` | string | Asset Id |
  | ↳ `color` | string | Asset Id |
  | ↳ `modules` | array | Members |
  | ↳ `parent` | object | Parent |
  | ↳ `id` | string | Asset Id |
  | ↳ `name` | string | Asset Id |
  | ↳ `sequence_id` | number | Access |
  | ↳ `state` | object | State |
  | ↳ `id` | string | Asset Id |
  | ↳ `name` | string | Asset Id |
  | ↳ `color` | string | Asset Id |
  | ↳ `group` | string | Asset Id |
  | ↳ `type` | object | Type |
  | ↳ `id` | string | Asset Id |
  | ↳ `name` | string | Asset Id |
  | ↳ `logo_props` | json | Logo Props |
  | ↳ `is_epic` | boolean | Has Pages |
  | ↳ `project_id` | string | Asset Id |
  | ↳ `cycle_id` | string | Asset Id |
  | ↳ `module_ids` | array | Module Ids |
  | ↳ `next` | json | Next |
  | ↳ `previous` | json | Previous |
  | ↳ `total_count` | number | Total count |
  | ↳ `pagination` | object | Pagination |
  | ↳ `style` | string | Style |
  | ↳ `next_cursor` | string | Next cursor |
  | ↳ `has_more` | boolean | Has more |
  | `results` | array | Returned Plane records. |
  | ↳ `id` | string | Id |
  | ↳ `type_id` | string | Type id |
  | ↳ `created_at` | string | Created at |
  | ↳ `updated_at` | string | Updated at |
  | ↳ `deleted_at` | string | Deleted at |
  | ↳ `point` | number | Point |
  | ↳ `name` | string | Name |
  | ↳ `description_html` | string | Description html |
  | ↳ `description_stripped` | string | Description stripped |
  | ↳ `description_binary` | string | Description binary |
  | ↳ `priority` | string | Priority |
  | ↳ `start_date` | string | Start date |
  | ↳ `target_date` | string | Target date |
  | ↳ `sequence_id` | json | Sequence id |
  | ↳ `sort_order` | number | Sort order |
  | ↳ `completed_at` | string | Completed at |
  | ↳ `archived_at` | string | Archived at |
  | ↳ `is_draft` | boolean | Is draft |
  | ↳ `external_source` | string | External source |
  | ↳ `external_id` | string | External id |
  | ↳ `created_by` | string | Created by |
  | ↳ `updated_by` | string | Updated by |
  | ↳ `project` | json | Project |
  | ↳ `workspace` | string | Workspace |
  | ↳ `parent` | string | Parent |
  | ↳ `state` | json | State |
  | ↳ `id` | string | Asset Id |
  | ↳ `name` | string | Asset Id |
  | ↳ `color` | string | Asset Id |
  | ↳ `group` | string | Group |
  | ↳ `estimate_point` | string | Estimate point |
  | ↳ `type` | json | Type |
  | ↳ `description` | string | Description |
  | ↳ `assignees` | array | Assignees |
  | ↳ `id` | string | Asset Id |
  | ↳ `first_name` | string | Asset Id |
  | ↳ `last_name` | string | Asset Id |
  | ↳ `email` | string | Asset Id |
  | ↳ `avatar` | string | Asset Id |
  | ↳ `avatar_url` | json | Id |
  | ↳ `display_name` | string | Asset Id |
  | ↳ `labels` | array | Labels |
  | ↳ `id` | string | Asset Id |
  | ↳ `deleted_by` | json | Id |
  | ↳ `created_at` | string | Asset Id |
  | ↳ `updated_at` | string | Asset Id |
  | ↳ `deleted_at` | json | Id |
  | ↳ `name` | string | Asset Id |
  | ↳ `description` | string | Asset Id |
  | ↳ `color` | string | Asset Id |
  | ↳ `sort_order` | number | Sort Order |
  | ↳ `external_source` | json | Id |
  | ↳ `external_id` | json | Id |
  | ↳ `created_by` | string | Asset Id |
  | ↳ `updated_by` | json | Id |
  | ↳ `workspace` | string | Asset Id |
  | ↳ `project` | string | Asset Id |
  | ↳ `parent` | json | Id |
  | ↳ `deleted_by` | json | Deleted by |
  | ↳ `cycle_id` | string | Cycle id |
  | ↳ `created_via` | json | Created via |
  | ↳ `updated_via` | json | Updated via |
  | ↳ `last_activity_at` | string | Last activity at |
  | ↳ `min_assignee_first_name` | string | Min assignee first name |
  | ↳ `min_label_name` | string | Min label name |
  | ↳ `min_module_name` | string | Min module name |
  | ↳ `priority_rank` | number | Priority rank |
  | ↳ `state_group` | string | State group |
  | `detail` | string | Provider message when no records are returned. |
  | `pagination` | object | Cursor pagination information. Bare-array responses have empty pagination. |
  | ↳ `next_cursor` | string | Cursor for the next page. |
  | ↳ `prev_cursor` | string | Cursor for the previous page. |
  | ↳ `next_page_results` | boolean | Whether a next page exists. |
  | ↳ `prev_page_results` | boolean | Whether a previous page exists. |
  | ↳ `count` | number | Records on this page. |
  | ↳ `total_pages` | number | Total pages. |
  | ↳ `total_results` | number | Total records. |
  | ↳ `total_count` | number | Total records when supplied by this endpoint. |
  | ↳ `extra_stats` | json | Endpoint-specific aggregate statistics. |
  | ↳ `grouped_by` | string | Grouping field. |
  | ↳ `sub_grouped_by` | string | Secondary grouping field. |
  | ↳ `total_groups` | number | Total primary groups. |
  | ↳ `next_group_offset` | number | Next primary group offset. |
  | ↳ `sub_total_groups` | number | Total secondary groups. |
  | ↳ `sub_next_group_offset` | number | Next secondary group offset. |
</ReferenceDetails>

### Plane List work items across a workspace [#plane-list-work-items-across-a-workspace]

List work items across a workspace in Plane. Requires API v2.

<ReferenceDetails>
  #### Input [#input-50]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `apiKey` | string | Yes | Plane personal access token from Profile → API tokens. |
  | `baseUrl` | string | No | Plane instance origin, optionally with a reverse-proxy path prefix. Defaults to [https://api.plane.so](https://api.plane.so). Do not include /api/v1 or /api/v2. |
  | `apiVersion` | string | No | API version: v2 (default) for Plane Cloud and current commercial instances; v1 for Community Edition or older self-hosted instances. Unsupported operations or fields fail explicitly. |
  | `workspace_slug` | string | Yes | Workspace slug from the Plane URL (for example, my-team). |
  | `assignee_id` | string | No | Filter by `assignee_id`. |
  | `assignee_id__in` | json | No | Multiple values may be separated by commas. |
  | `assignee_id__isnull` | boolean | No | Filter by `assignee_id__isnull`. |
  | `count` | boolean | No | Set to false to skip the total\_count COUNT(\*) (omits total\_count). |
  | `created_at__gte` | string | No | Filter by `created_at__gte`. |
  | `created_at__lte` | string | No | Filter by `created_at__lte`. |
  | `cycle_id` | string | No | Filter by `cycle_id`. |
  | `cycle_id__in` | json | No | Multiple values may be separated by commas. |
  | `cycle_id__isnull` | boolean | No | Filter by `cycle_id__isnull`. |
  | `external_id` | string | No | Filter by `external_id`. |
  | `external_source` | string | No | Filter by `external_source`. |
  | `is_draft` | boolean | No | Filter by `is_draft`. |
  | `label_id` | string | No | Filter by `label_id`. |
  | `label_id__in` | json | No | Multiple values may be separated by commas. |
  | `label_id__isnull` | boolean | No | Filter by `label_id__isnull`. |
  | `module_id` | string | No | Filter by `module_id`. |
  | `module_id__in` | json | No | Multiple values may be separated by commas. |
  | `module_id__isnull` | boolean | No | Filter by `module_id__isnull`. |
  | `offset` | number | No | Number of rows to skip from the start of the result set. |
  | `order_by` | string | No | Field to order the list by. Prefix with '-' for descending (e.g. '-created\_at'). Annotation-backed orders sort semantically and ride the default offset page. |
  | `paginate` | string | No | Set to 'cursor' to opt into the COUNT-free keyset cursor envelope (use for deep traversal); omit for the default offset envelope with total\_count. One of `cursor`. |
  | `parent_id` | string | No | Filter by `parent_id`. |
  | `parent_id__in` | json | No | Multiple values may be separated by commas. |
  | `parent_id__isnull` | boolean | No | Filter by `parent_id__isnull`. |
  | `per_page` | number | No | Page size (max 200). |
  | `priority` | string | No | - `urgent` - Urgent - `high` - High - `medium` - Medium - `low` - Low - `none` - None One of `high`, `low`, `medium`, `none`, `urgent`. |
  | `priority__in` | json | No | Multiple values may be separated by commas. - `urgent` - Urgent - `high` - High - `medium` - Medium - `low` - Low - `none` - None |
  | `project_id` | string | No | Filter by `project_id`. |
  | `project_id__in` | json | No | Multiple values may be separated by commas. |
  | `search` | string | No | A search term. |
  | `sequence_id` | number | No | Filter by `sequence_id`. |
  | `start_date__gte` | string | No | Filter by `start_date__gte`. |
  | `start_date__lte` | string | No | Filter by `start_date__lte`. |
  | `state_group` | string | No | - `backlog` - Backlog - `unstarted` - Unstarted - `started` - Started - `completed` - Completed - `cancelled` - Cancelled - `triage` - Triage One of `backlog`, `cancelled`, `completed`, `started`, `triage`, `unstarted`. |
  | `state_group__in` | json | No | Multiple values may be separated by commas. - `backlog` - Backlog - `unstarted` - Unstarted - `started` - Started - `completed` - Completed - `cancelled` - Cancelled - `triage` - Triage |
  | `state_id` | string | No | Filter by `state_id`. |
  | `state_id__in` | json | No | Multiple values may be separated by commas. |
  | `target_date__gte` | string | No | Filter by `target_date__gte`. |
  | `target_date__lte` | string | No | Filter by `target_date__lte`. |
  | `type_id` | string | No | Filter by `type_id`. |
  | `type_id__in` | json | No | Multiple values may be separated by commas. |
  | `updated_at__gte` | string | No | Filter by `updated_at__gte`. |
  | `updated_at__lte` | string | No | Filter by `updated_at__lte`. |
  | `fields` | string | No | Comma-separated list of fields to return. Unrequested keys are **omitted** from each row, not returned as `null`. `id` always comes back. Pass `all` for every requestable field. An unknown name is a `400` that names the valid set, so a typo can't silently cost you the saving. See \[Sparse fields]\([https://developers.plane.so/api-reference/v2/sparse-fields](https://developers.plane.so/api-reference/v2/sparse-fields)). Requestable here: `archived_at`, `assignee_ids`, `created_at`, `created_by_id`, `cycle_id`, `id`, `identifier`, `is_draft`, `label_ids`, `module_ids`, `name`, `parent_id`, `priority`, `project_id`, `sequence_id`, `start_date`, `state_id`, `target_date`, `type_id`. |
  | `expand` | string | No | Comma-separated relations to embed: `assignees`, `cycle`, `labels`, `modules`, `parent`, `state`, `type`. Expanded relations appear beside their ID fields and survive sparse field filtering. Use only the relation names listed above. |
  | `cursor` | string | No | Cursor from next\_cursor. Repeat the original filters, per\_page, and order\_by when following it. |

  #### Output [#output-50]

  | Parameter | Type | Description |
  | - | - | - |
  | `result` | object | Plane V2 V2 List Workspace Work Itemsresult |
  | ↳ `data` | array | Data |
  | ↳ `id` | string | Unique identifier for the work item. This is the `\{pk\}` on every project-scoped detail route. |
  | ↳ `name` | string | Title of the work item. Maximum 255 characters. |
  | ↳ `identifier` | string | The human key, for example `PROJ-142`. It is the project's identifier joined to `sequence_id`, and it is what people paste into chat and commit messages. Use it with \[Get a work item by identifier]\([https://developers.plane.so/api-reference/v2/work-items/get-work-item-by-identifier](https://developers.plane.so/api-reference/v2/work-items/get-work-item-by-identifier)) when you don't have the project UUID. |
  | ↳ `sequence_id` | json | Sequence Id |
  | ↳ `priority` | string | One of `urgent`, `high`, `medium`, `low`, or `none`. Never null — an unprioritized work item reads `none`. |
  | ↳ `state_id` | string | The workflow state the work item is currently in. |
  | ↳ `type_id` | string | Asset Id |
  | ↳ `assignee_ids` | array | User ids assigned to the work item. Empty array when unassigned. |
  | ↳ `label_ids` | array | Label ids applied to the work item. Empty array when unlabeled. |
  | ↳ `parent_id` | string | Asset Id |
  | ↳ `start_date` | string | Asset Id |
  | ↳ `target_date` | string | Asset Id |
  | ↳ `is_draft` | boolean | Whether the work item is still a draft. Drafts are created in the Plane app and are excluded from most boards. |
  | ↳ `archived_at` | string | Asset Id |
  | ↳ `created_at` | string | When the work item was created. |
  | ↳ `created_by_id` | string | Asset Id |
  | ↳ `custom_fields` | json | View Props |
  | ↳ `cycle_id` | string | Asset Id |
  | ↳ `module_ids` | array | Module Ids |
  | ↳ `project_id` | string | Asset Id |
  | ↳ `assignees` | array | Assignees |
  | ↳ `id` | string | Asset Id |
  | ↳ `display_name` | string | Asset Id |
  | ↳ `avatar_url` | string | Asset Id |
  | ↳ `email` | string | Asset Id |
  | ↳ `cycle` | json | Logo Props |
  | ↳ `labels` | array | Labels |
  | ↳ `id` | string | Asset Id |
  | ↳ `name` | string | Asset Id |
  | ↳ `color` | string | Asset Id |
  | ↳ `modules` | array | Members |
  | ↳ `parent` | object | Parent |
  | ↳ `id` | string | Asset Id |
  | ↳ `name` | string | Asset Id |
  | ↳ `sequence_id` | number | Access |
  | ↳ `state` | object | State |
  | ↳ `id` | string | Asset Id |
  | ↳ `name` | string | Asset Id |
  | ↳ `color` | string | Asset Id |
  | ↳ `group` | string | Asset Id |
  | ↳ `type` | object | Type |
  | ↳ `id` | string | Asset Id |
  | ↳ `name` | string | Asset Id |
  | ↳ `logo_props` | json | Logo Props |
  | ↳ `is_epic` | boolean | Has Pages |
  | ↳ `next` | number | Next |
  | ↳ `pagination` | object | Pagination |
  | ↳ `style` | string | Style |
  | ↳ `previous` | number | Previous |
  | ↳ `total_count` | number | Total count |
  | ↳ `next_cursor` | string | Next cursor |
  | ↳ `has_more` | boolean | Has more |
</ReferenceDetails>

### Plane Add or remove cycle work items [#plane-add-or-remove-cycle-work-items]

Add or remove cycle work items in Plane. Supports API v1 compatibility.

<ReferenceDetails>
  #### Input [#input-51]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `apiKey` | string | Yes | Plane personal access token from Profile → API tokens. |
  | `baseUrl` | string | No | Plane instance origin, optionally with a reverse-proxy path prefix. Defaults to [https://api.plane.so](https://api.plane.so). Do not include /api/v1 or /api/v2. |
  | `apiVersion` | string | No | API version: v2 (default) for Plane Cloud and current commercial instances; v1 for Community Edition or older self-hosted instances. Unsupported operations or fields fail explicitly. |
  | `bodyOverrides` | json | No | JSON overrides using the canonical input names for the selected API version. Preserves empty strings, null, and empty arrays; unsupported fields are rejected. |
  | `workspace_slug` | string | Yes | Workspace slug from the Plane URL (for example, my-team). |
  | `project_id` | string | Yes | The project the resource belongs to. Accepts the project UUID or its bare identifier, for example `ENG`. |
  | `pk` | string | Yes | The cycle work item id. |
  | `add` | json | No | The add. |
  | `remove` | json | No | The remove. |

  #### Output [#output-51]

  | Parameter | Type | Description |
  | - | - | - |
  | `result` | object | Plane V2 V2 Manage Cycle Work Itemsresult |
  | ↳ `added` | array | Added |
  | ↳ `removed` | array | Removed |
  | `success` | boolean | v1 removal completed successfully. |
  | `results` | array | Returned Plane records. |
  | ↳ `id` | string | Id |
  | ↳ `sub_issues_count` | json | Sub issues count |
  | ↳ `created_at` | string | Created at |
  | ↳ `updated_at` | string | Updated at |
  | ↳ `deleted_at` | string | Deleted at |
  | ↳ `created_by` | string | Created by |
  | ↳ `updated_by` | string | Updated by |
  | ↳ `project` | string | Project |
  | ↳ `workspace` | string | Workspace |
  | ↳ `issue` | string | Issue |
  | ↳ `cycle` | string | Cycle |
  | ↳ `deleted_by` | json | Deleted by |
  | `detail` | string | Provider message when no records are returned. |
</ReferenceDetails>

### Plane Add or remove module work items [#plane-add-or-remove-module-work-items]

Add or remove module work items in Plane. Supports API v1 compatibility.

<ReferenceDetails>
  #### Input [#input-52]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `apiKey` | string | Yes | Plane personal access token from Profile → API tokens. |
  | `baseUrl` | string | No | Plane instance origin, optionally with a reverse-proxy path prefix. Defaults to [https://api.plane.so](https://api.plane.so). Do not include /api/v1 or /api/v2. |
  | `apiVersion` | string | No | API version: v2 (default) for Plane Cloud and current commercial instances; v1 for Community Edition or older self-hosted instances. Unsupported operations or fields fail explicitly. |
  | `bodyOverrides` | json | No | JSON overrides using the canonical input names for the selected API version. Preserves empty strings, null, and empty arrays; unsupported fields are rejected. |
  | `workspace_slug` | string | Yes | Workspace slug from the Plane URL (for example, my-team). |
  | `project_id` | string | Yes | The project the resource belongs to. Accepts the project UUID or its bare identifier, for example `ENG`. |
  | `pk` | string | Yes | The module work item id. |
  | `add` | json | No | The add. |
  | `remove` | json | No | The remove. |

  #### Output [#output-52]

  | Parameter | Type | Description |
  | - | - | - |
  | `result` | object | Plane V2 V2 Manage Module Work Itemsresult |
  | ↳ `added` | array | Added |
  | ↳ `removed` | array | Removed |
  | `success` | boolean | v1 removal completed successfully. |
  | `results` | array | Returned Plane records. |
  | ↳ `id` | string | Id |
  | ↳ `sub_issues_count` | json | Sub issues count |
  | ↳ `created_at` | string | Created at |
  | ↳ `updated_at` | string | Updated at |
  | ↳ `deleted_at` | string | Deleted at |
  | ↳ `created_by` | string | Created by |
  | ↳ `updated_by` | string | Updated by |
  | ↳ `project` | string | Project |
  | ↳ `workspace` | string | Workspace |
  | ↳ `module` | string | Module |
  | ↳ `issue` | json | Issue |
  | ↳ `id` | string | Asset Id |
  | ↳ `cycle` | json | Logo Props |
  | ↳ `module` | object | Lite module information. |
  | ↳ `id` | string | Asset Id |
  | ↳ `created_at` | string | Asset Id |
  | ↳ `updated_at` | string | Asset Id |
  | ↳ `deleted_at` | string | Asset Id |
  | ↳ `name` | string | Name |
  | ↳ `description` | string | Asset Id |
  | ↳ `description_text` | json | Logo Props |
  | ↳ `description_html` | json | Logo Props |
  | ↳ `start_date` | string | Asset Id |
  | ↳ `target_date` | string | Asset Id |
  | ↳ `status` | string | Status |
  | ↳ `view_props` | json | Logo Props |
  | ↳ `sort_order` | number | Sort Order |
  | ↳ `external_source` | string | Asset Id |
  | ↳ `external_id` | string | Asset Id |
  | ↳ `archived_at` | string | Asset Id |
  | ↳ `logo_props` | json | Logo Props |
  | ↳ `created_by` | string | Asset Id |
  | ↳ `updated_by` | string | Asset Id |
  | ↳ `project` | string | Project |
  | ↳ `workspace` | string | Workspace |
  | ↳ `lead` | string | Asset Id |
  | ↳ `members` | array | Default Value |
  | ↳ `labels` | json | Labels |
  | ↳ `assignees` | json | Assignees |
  | ↳ `state` | object | Lite state information. |
  | ↳ `id` | string | Asset Id |
  | ↳ `name` | string | Asset Id |
  | ↳ `color` | string | Asset Id |
  | ↳ `group` | string | Group |
  | ↳ `created_at` | string | Asset Id |
  | ↳ `updated_at` | string | Asset Id |
  | ↳ `deleted_at` | string | Asset Id |
  | ↳ `point` | number | Access |
  | ↳ `name` | string | Asset Id |
  | ↳ `description` | json | Logo Props |
  | ↳ `description_html` | string | Asset Id |
  | ↳ `description_stripped` | string | Asset Id |
  | ↳ `description_binary` | string | Asset Id |
  | ↳ `priority` | string | Priority |
  | ↳ `start_date` | string | Asset Id |
  | ↳ `target_date` | string | Asset Id |
  | ↳ `sequence_id` | number | Access |
  | ↳ `sort_order` | number | Sort Order |
  | ↳ `completed_at` | string | Asset Id |
  | ↳ `archived_at` | string | Asset Id |
  | ↳ `is_draft` | boolean | Has Pages |
  | ↳ `external_source` | string | Asset Id |
  | ↳ `external_id` | string | Asset Id |
  | ↳ `created_by` | string | Asset Id |
  | ↳ `updated_by` | string | Asset Id |
  | ↳ `project` | json | Project |
  | ↳ `workspace` | string | Asset Id |
  | ↳ `parent` | string | Asset Id |
  | ↳ `estimate_point` | string | Asset Id |
  | ↳ `type` | json | Type |
  | ↳ `deleted_by` | json | Deleted by |
  | `detail` | string | Provider message when no records are returned. |
</ReferenceDetails>

### Plane Regenerate a webhook secret [#plane-regenerate-a-webhook-secret]

Regenerate a webhook secret in Plane. Requires API v2.

<ReferenceDetails>
  #### Input [#input-53]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `apiKey` | string | Yes | Plane personal access token from Profile → API tokens. |
  | `baseUrl` | string | No | Plane instance origin, optionally with a reverse-proxy path prefix. Defaults to [https://api.plane.so](https://api.plane.so). Do not include /api/v1 or /api/v2. |
  | `apiVersion` | string | No | API version: v2 (default) for Plane Cloud and current commercial instances; v1 for Community Edition or older self-hosted instances. Unsupported operations or fields fail explicitly. |
  | `workspace_slug` | string | Yes | Workspace slug from the Plane URL (for example, my-team). |
  | `pk` | string | Yes | The webhook id. |
  | `fields` | string | No | Comma-separated list of fields to return. Unrequested keys are **omitted**, not returned as `null`. `id` always comes back. Pass `all` for every requestable field. An unknown name is a `400`. See \[Sparse fields]\([https://developers.plane.so/api-reference/v2/sparse-fields](https://developers.plane.so/api-reference/v2/sparse-fields)). Requestable here: `content_type`, `created_at`, `created_by_id`, `id`, `is_active`, `name`, `scopes`, `secret_key`, `url`, `version`. |

  #### Output [#output-53]

  | Parameter | Type | Description |
  | - | - | - |
  | `result` | object | Plane V2 V2 Regenerate Webhook Secretresult |
  | ↳ `content_type` | string | Content type |
  | ↳ `created_at` | string | Created at |
  | ↳ `created_by_id` | string | Created by id |
  | ↳ `id` | string | Id |
  | ↳ `is_active` | boolean | Is active |
  | ↳ `name` | string | Name |
  | ↳ `scopes` | array | Scopes |
  | ↳ `secret_key` | string | Secret key |
  | ↳ `url` | string | Url |
  | ↳ `version` | string | Version |
</ReferenceDetails>

### Plane Transfer work items between cycles [#plane-transfer-work-items-between-cycles]

Transfer work items between cycles in Plane. Supports API v1 compatibility.

<ReferenceDetails>
  #### Input [#input-54]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `apiKey` | string | Yes | Plane personal access token from Profile → API tokens. |
  | `baseUrl` | string | No | Plane instance origin, optionally with a reverse-proxy path prefix. Defaults to [https://api.plane.so](https://api.plane.so). Do not include /api/v1 or /api/v2. |
  | `apiVersion` | string | No | API version: v2 (default) for Plane Cloud and current commercial instances; v1 for Community Edition or older self-hosted instances. Unsupported operations or fields fail explicitly. |
  | `bodyOverrides` | json | No | JSON overrides using the canonical input names for the selected API version. Preserves empty strings, null, and empty arrays; unsupported fields are rejected. |
  | `workspace_slug` | string | Yes | Workspace slug from the Plane URL (for example, my-team). |
  | `project_id` | string | Yes | The project the resource belongs to. Accepts the project UUID or its bare identifier, for example `ENG`. |
  | `pk` | string | Yes | Source cycle ID. The source cycle must be completed. |
  | `new_cycle_id` | string | Yes | Id of the related new cycle. |

  #### Output [#output-54]

  | Parameter | Type | Description |
  | - | - | - |
  | `result` | object | Plane V2 V2 Transfer Cycle Work Itemsresult |
  | ↳ `new_cycle_id` | string | New cycle id |
  | ↳ `message` | string | Message |
</ReferenceDetails>

### Plane Unarchive a project [#plane-unarchive-a-project]

Unarchive a project in Plane. Supports API v1 compatibility.

<ReferenceDetails>
  #### Input [#input-55]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `apiKey` | string | Yes | Plane personal access token from Profile → API tokens. |
  | `baseUrl` | string | No | Plane instance origin, optionally with a reverse-proxy path prefix. Defaults to [https://api.plane.so](https://api.plane.so). Do not include /api/v1 or /api/v2. |
  | `apiVersion` | string | No | API version: v2 (default) for Plane Cloud and current commercial instances; v1 for Community Edition or older self-hosted instances. Unsupported operations or fields fail explicitly. |
  | `workspace_slug` | string | Yes | Workspace slug from the Plane URL (for example, my-team). |
  | `pk` | string | Yes | The project id. |

  #### Output [#output-55]

  | Parameter | Type | Description |
  | - | - | - |
  | `success` | boolean | Operation completed successfully. |
</ReferenceDetails>

### Plane Unarchive a work item [#plane-unarchive-a-work-item]

Unarchive a work item in Plane. Requires API v2.

<ReferenceDetails>
  #### Input [#input-56]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `apiKey` | string | Yes | Plane personal access token from Profile → API tokens. |
  | `baseUrl` | string | No | Plane instance origin, optionally with a reverse-proxy path prefix. Defaults to [https://api.plane.so](https://api.plane.so). Do not include /api/v1 or /api/v2. |
  | `apiVersion` | string | No | API version: v2 (default) for Plane Cloud and current commercial instances; v1 for Community Edition or older self-hosted instances. Unsupported operations or fields fail explicitly. |
  | `workspace_slug` | string | Yes | Workspace slug from the Plane URL (for example, my-team). |
  | `project_id` | string | Yes | The project the work item belongs to. |
  | `pk` | string | Yes | The work item's UUID. This lookup is UUID-only — a `PROJ-142` identifier here returns `404`. |
  | `fields` | string | No | Comma-separated list of fields to return. Unrequested keys are **omitted** from the response, not returned as `null`, so absent means "not requested" and `null` means "actually null". `id` always comes back whether or not you name it. Pass `all` for every requestable field. An unknown name is a `400` that lists the valid set and suggests the closest match, so a typo can't silently cost you the saving. Requestable here: `archived_at`, `assignee_ids`, `created_at`, `created_by_id`, `custom_fields`, `cycle_id`, `id`, `identifier`, `is_draft`, `label_ids`, `module_ids`, `name`, `parent_id`, `priority`, `project_id`, `sequence_id`, `start_date`, `state_id`, `target_date`, `type_id`. See \[Sparse fields]\([https://developers.plane.so/api-reference/v2/sparse-fields](https://developers.plane.so/api-reference/v2/sparse-fields)). |
  | `expand` | string | No | Comma-separated relations to embed alongside the ids: `assignees` (the assigned users), `cycle` (the cycle it belongs to), `labels` (the applied labels), `modules` (the modules it belongs to), `parent` (its parent work item), `state` (the work item's state object), `type` (its work item type). Expanded relations appear beside their ID fields and survive sparse field filtering. Use only the relation names listed above. |

  #### Output [#output-56]

  | Parameter | Type | Description |
  | - | - | - |
  | `result` | object | Plane V2 Work- Items |
  | ↳ `id` | string | Unique identifier for the work item. This is the `\{pk\}` on every project-scoped detail route. |
  | ↳ `name` | string | Name |
  | ↳ `identifier` | string | Identifier |
  | ↳ `sequence_id` | json | Sequence id |
  | ↳ `priority` | string | Priority |
  | ↳ `state_id` | string | State id |
  | ↳ `type_id` | string | Type id |
  | ↳ `assignee_ids` | array | Assignee ids |
  | ↳ `label_ids` | array | Label ids |
  | ↳ `parent_id` | string | Parent id |
  | ↳ `start_date` | string | Start date |
  | ↳ `target_date` | string | Target date |
  | ↳ `is_draft` | boolean | Is draft |
  | ↳ `archived_at` | string | Archived at |
  | ↳ `created_at` | string | Created at |
  | ↳ `created_by_id` | string | Created by id |
  | ↳ `custom_fields` | json | Custom fields |
  | ↳ `assignees` | array | Assignees |
  | ↳ `id` | string | Asset Id |
  | ↳ `display_name` | string | Asset Id |
  | ↳ `avatar_url` | string | Asset Id |
  | ↳ `email` | string | Asset Id |
  | ↳ `cycle` | json | Cycle |
  | ↳ `labels` | array | Labels |
  | ↳ `id` | string | Asset Id |
  | ↳ `name` | string | Asset Id |
  | ↳ `color` | string | Asset Id |
  | ↳ `modules` | array | Modules |
  | ↳ `parent` | object | Parent |
  | ↳ `id` | string | Asset Id |
  | ↳ `name` | string | Asset Id |
  | ↳ `sequence_id` | number | Access |
  | ↳ `state` | object | State |
  | ↳ `id` | string | Asset Id |
  | ↳ `name` | string | Asset Id |
  | ↳ `color` | string | Asset Id |
  | ↳ `group` | string | Asset Id |
  | ↳ `type` | object | Type |
  | ↳ `id` | string | Asset Id |
  | ↳ `name` | string | Asset Id |
  | ↳ `logo_props` | json | Logo Props |
  | ↳ `is_epic` | boolean | Has Pages |
  | ↳ `cycle_id` | string | Cycle id |
  | ↳ `module_ids` | array | Module ids |
  | ↳ `project_id` | string | Project id |
</ReferenceDetails>

### Plane Update a comment [#plane-update-a-comment]

Update a comment in Plane. Supports API v1 compatibility.

<ReferenceDetails>
  #### Input [#input-57]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `apiKey` | string | Yes | Plane personal access token from Profile → API tokens. |
  | `baseUrl` | string | No | Plane instance origin, optionally with a reverse-proxy path prefix. Defaults to [https://api.plane.so](https://api.plane.so). Do not include /api/v1 or /api/v2. |
  | `apiVersion` | string | No | API version: v2 (default) for Plane Cloud and current commercial instances; v1 for Community Edition or older self-hosted instances. Unsupported operations or fields fail explicitly. |
  | `bodyOverrides` | json | No | JSON overrides using the canonical input names for the selected API version. Preserves empty strings, null, and empty arrays; unsupported fields are rejected. |
  | `workspace_slug` | string | Yes | Workspace slug from the Plane URL (for example, my-team). |
  | `project_id` | string | Yes | The project the work item belongs to. |
  | `work_item_id` | string | Yes | The work item the comment is attached to. |
  | `pk` | string | Yes | The comment to update. |
  | `comment_html` | string | No | Replacement body for the comment, as HTML. It overwrites the previous body — there is no append mode, so send the full new text. |
  | `access` | string | No | Change the comment's visibility. - `INTERNAL` — visible to the project team - `EXTERNAL` — marked as visible outside the team, for example on a published project |
  | `external_id` | string | No | Your system's identifier for this comment. Maximum 255 characters. Accepts `null` to clear the correlation. |
  | `external_source` | string | No | The system `external_id` came from, for example `github` or `zendesk`. Maximum 255 characters. Accepts `null`. |
  | `fields` | string | No | Comma-separated list of fields to return. Unrequested keys are **omitted** from the response, not returned as `null`, so absent means "not requested" and `null` means "actually null". `id` always comes back whether or not you name it. Pass `all` for every requestable field. An unknown name is a `400` that lists the valid set and suggests the closest match, so a typo can't silently cost you the saving. Requestable here: `access`, `actor_id`, `comment_html`, `comment_stripped`, `created_at`, `created_by_id`, `edited_at`, `external_id`, `external_source`, `id`, `work_item_id`. See \[Sparse fields]\([https://developers.plane.so/api-reference/v2/sparse-fields](https://developers.plane.so/api-reference/v2/sparse-fields)). |
  | `expand` | string | No | Comma-separated relations to embed alongside the ids: `actor` (the comment author). Expanded relations appear beside their ID fields and survive sparse field filtering. Use only the relation names listed above. |
  | `comment_json` | json | No | v1 compatibility only. Comment json. |

  #### Output [#output-57]

  | Parameter | Type | Description |
  | - | - | - |
  | `result` | object | Plane V2 Work- Item- Comments |
  | ↳ `id` | json | Id |
  | ↳ `work_item_id` | string | Work item id |
  | ↳ `comment_html` | json | Comment html |
  | ↳ `comment_stripped` | json | Comment stripped |
  | ↳ `access` | json | Access |
  | ↳ `actor_id` | string | Actor id |
  | ↳ `external_id` | string | External id |
  | ↳ `external_source` | string | External source |
  | ↳ `edited_at` | string | Edited at |
  | ↳ `created_at` | json | Created at |
  | ↳ `created_by_id` | string | Created by id |
  | ↳ `actor` | json | Actor |
  | ↳ `is_member` | boolean | Is member |
  | ↳ `updated_at` | string | Updated at |
  | ↳ `deleted_at` | string | Deleted at |
  | ↳ `attachments` | array | Attachments |
  | ↳ `created_by` | string | Created by |
  | ↳ `updated_by` | string | Updated by |
  | ↳ `project` | string | Project |
  | ↳ `workspace` | string | Workspace |
  | ↳ `issue` | string | Issue |
  | ↳ `parent` | string | Parent |
  | ↳ `description` | string | Description |
  | ↳ `comment_json` | object | Comment json |
  | ↳ `type` | string | Type |
  | ↳ `content` | array | Content |
  | ↳ `type` | string | Asset Id |
  | ↳ `content` | array | Content |
  | ↳ `type` | string | Asset Id |
  | ↳ `text` | string | Asset Id |
  | ↳ `deleted_by` | json | Deleted by |
  | ↳ `is_hidden` | boolean | Is hidden |
  | ↳ `created_via` | json | Created via |
  | ↳ `updated_via` | json | Updated via |
  | ↳ `hidden_reason` | json | Hidden reason |
  | ↳ `hidden_at` | json | Hidden at |
  | ↳ `hidden_by` | json | Hidden by |
  | ↳ `source` | json | Source |
</ReferenceDetails>

### Plane Update a cycle [#plane-update-a-cycle]

Update a cycle in Plane. Supports API v1 compatibility.

<ReferenceDetails>
  #### Input [#input-58]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `apiKey` | string | Yes | Plane personal access token from Profile → API tokens. |
  | `baseUrl` | string | No | Plane instance origin, optionally with a reverse-proxy path prefix. Defaults to [https://api.plane.so](https://api.plane.so). Do not include /api/v1 or /api/v2. |
  | `apiVersion` | string | No | API version: v2 (default) for Plane Cloud and current commercial instances; v1 for Community Edition or older self-hosted instances. Unsupported operations or fields fail explicitly. |
  | `bodyOverrides` | json | No | JSON overrides using the canonical input names for the selected API version. Preserves empty strings, null, and empty arrays; unsupported fields are rejected. |
  | `workspace_slug` | string | Yes | Workspace slug from the Plane URL (for example, my-team). |
  | `project_id` | string | Yes | The project the cycle belongs to. |
  | `pk` | string | Yes | The cycle to update. |
  | `name` | string | No | New display name, unique within the project. Maximum 255 characters. Renaming onto a name another cycle already holds returns `409 conflict`. |
  | `description` | string | No | Free-form description of what the cycle covers. |
  | `start_date` | string | No | New opening date-time, in ISO 8601. Send `null` to unschedule the start. |
  | `end_date` | string | No | New closing date-time, in ISO 8601. Send `null` to unschedule the end. |
  | `timezone` | string | No | The IANA time zone the cycle's dates are interpreted in, for example `America/New_York` or `UTC`. Changing it re-anchors where the existing boundaries fall locally, so send it together with the dates when you are moving a cycle between regions. Any value outside the IANA list is rejected with `400 invalid_request`. |
  | `sort_order` | number | No | Ordering weight for the cycle within the project. Lower values sort first when you list with `?order_by=sort_order`. |
  | `logo_props` | json | No | JSON blob holding the cycle's icon configuration. Replaces the stored value outright — it is not merged key by key. |
  | `external_id` | string | No | Your system's identifier for this cycle. Maximum 255 characters, nullable. |
  | `external_source` | string | No | The system `external_id` came from, for example `jira`. Maximum 255 characters, nullable. |
  | `fields` | string | No | Comma-separated list of fields to return. Unrequested keys are **omitted** from the response, not returned as `null`, so absent means "not requested" and `null` means "actually null". `id` always comes back whether or not you name it. Pass `all` for every requestable field. An unknown name is a `400` that lists the valid set and suggests the closest match, so a typo can't silently cost you the saving. Requestable here: `created_at`, `created_by_id`, `description`, `end_date`, `external_id`, `external_source`, `id`, `logo_props`, `name`, `owned_by_id`, `sort_order`, `start_date`, `timezone`. See \[Sparse fields]\([https://developers.plane.so/api-reference/v2/sparse-fields](https://developers.plane.so/api-reference/v2/sparse-fields)). |
  | `expand` | string | No | Comma-separated relations to embed alongside the ids: `owned_by` (the cycle owner). Expanded relations appear beside their ID fields and survive sparse field filtering. Use only the relation names listed above. |
  | `owned_by` | string | No | v1 compatibility only. User who owns the cycle. If not provided, defaults to the current user. |

  #### Output [#output-58]

  | Parameter | Type | Description |
  | - | - | - |
  | `result` | object | Plane V2 Cycles |
  | ↳ `id` | json | Id |
  | ↳ `name` | json | Name |
  | ↳ `description` | json | Description |
  | ↳ `start_date` | string | Start date |
  | ↳ `end_date` | string | End date |
  | ↳ `timezone` | json | Timezone |
  | ↳ `owned_by_id` | string | Owned by id |
  | ↳ `sort_order` | json | Sort order |
  | ↳ `logo_props` | json | Logo props |
  | ↳ `external_id` | string | External id |
  | ↳ `external_source` | string | External source |
  | ↳ `created_at` | json | Created at |
  | ↳ `created_by_id` | string | Created by id |
  | ↳ `owned_by` | json | Owned by |
  | ↳ `total_issues` | json | Total issues |
  | ↳ `cancelled_issues` | json | Cancelled issues |
  | ↳ `completed_issues` | json | Completed issues |
  | ↳ `started_issues` | json | Started issues |
  | ↳ `unstarted_issues` | json | Unstarted issues |
  | ↳ `backlog_issues` | json | Backlog issues |
  | ↳ `total_estimates` | number | Total estimates |
  | ↳ `completed_estimates` | number | Completed estimates |
  | ↳ `started_estimates` | number | Started estimates |
  | ↳ `updated_at` | string | Updated at |
  | ↳ `deleted_at` | string | Deleted at |
  | ↳ `view_props` | json | View props |
  | ↳ `progress_snapshot` | json | Progress snapshot |
  | ↳ `archived_at` | string | Archived at |
  | ↳ `version` | json | Version |
  | ↳ `created_by` | string | Created by |
  | ↳ `updated_by` | string | Updated by |
  | ↳ `project` | string | Project |
  | ↳ `workspace` | string | Workspace |
  | ↳ `status` | string | Status |
  | ↳ `deleted_by` | json | Deleted by |
</ReferenceDetails>

### Plane Update a label [#plane-update-a-label]

Update a label in Plane. Supports API v1 compatibility.

<ReferenceDetails>
  #### Input [#input-59]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `apiKey` | string | Yes | Plane personal access token from Profile → API tokens. |
  | `baseUrl` | string | No | Plane instance origin, optionally with a reverse-proxy path prefix. Defaults to [https://api.plane.so](https://api.plane.so). Do not include /api/v1 or /api/v2. |
  | `apiVersion` | string | No | API version: v2 (default) for Plane Cloud and current commercial instances; v1 for Community Edition or older self-hosted instances. Unsupported operations or fields fail explicitly. |
  | `bodyOverrides` | json | No | JSON overrides using the canonical input names for the selected API version. Preserves empty strings, null, and empty arrays; unsupported fields are rejected. |
  | `workspace_slug` | string | Yes | Workspace slug from the Plane URL (for example, my-team). |
  | `project_id` | string | Yes | The project the label belongs to. |
  | `pk` | string | Yes | The label id. |
  | `name` | string | No | New display name, unique within the project. Maximum 255 characters. Renaming onto a name another label already holds returns `409 conflict`. |
  | `color` | string | No | Hex color used wherever the label is rendered, for example `#e5484d`. Maximum 255 characters. |
  | `description` | string | No | Free-form note about what the label is for. |
  | `parent_id` | string | No | Move the label under a different parent. The new parent must be a label in the same project. Send `null` to make the label top-level again. |
  | `sort_order` | number | No | Ordering weight within the project. Lower values sort first. |
  | `external_id` | string | No | Your system's identifier for this label, for sync and import correlation. Maximum 255 characters. Send `null` to clear it. |
  | `external_source` | string | No | The system `external_id` came from, for example `github` or `jira`. Maximum 255 characters. Send `null` to clear it. |
  | `fields` | string | No | Comma-separated list of fields to return. Unrequested keys are **omitted** from the response, not returned as `null`, so absent means "not requested" and `null` means "actually null". `id` always comes back whether or not you name it. Pass `all` for every requestable field. An unknown name is a `400` that lists the valid set and suggests the closest match, so a typo can't silently cost you the saving. Requestable here: `color`, `created_at`, `created_by_id`, `description`, `external_id`, `external_source`, `id`, `name`, `parent_id`, `sort_order`. See \[Sparse fields]\([https://developers.plane.so/api-reference/v2/sparse-fields](https://developers.plane.so/api-reference/v2/sparse-fields)). |

  #### Output [#output-59]

  | Parameter | Type | Description |
  | - | - | - |
  | `result` | object | Plane V2 Labels |
  | ↳ `id` | json | Id |
  | ↳ `name` | json | Name |
  | ↳ `description` | json | Description |
  | ↳ `color` | json | Color |
  | ↳ `sort_order` | json | Sort order |
  | ↳ `parent_id` | string | Parent id |
  | ↳ `external_id` | string | External id |
  | ↳ `external_source` | string | External source |
  | ↳ `created_at` | json | Created at |
  | ↳ `created_by_id` | string | Created by id |
  | ↳ `updated_at` | string | Updated at |
  | ↳ `deleted_at` | string | Deleted at |
  | ↳ `created_by` | string | Created by |
  | ↳ `updated_by` | string | Updated by |
  | ↳ `workspace` | string | Workspace |
  | ↳ `project` | string | Project |
  | ↳ `parent` | string | Parent |
  | ↳ `deleted_by` | json | Deleted by |
</ReferenceDetails>

### Plane Update a link [#plane-update-a-link]

Update a link in Plane. Supports API v1 compatibility.

<ReferenceDetails>
  #### Input [#input-60]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `apiKey` | string | Yes | Plane personal access token from Profile → API tokens. |
  | `baseUrl` | string | No | Plane instance origin, optionally with a reverse-proxy path prefix. Defaults to [https://api.plane.so](https://api.plane.so). Do not include /api/v1 or /api/v2. |
  | `apiVersion` | string | No | API version: v2 (default) for Plane Cloud and current commercial instances; v1 for Community Edition or older self-hosted instances. Unsupported operations or fields fail explicitly. |
  | `bodyOverrides` | json | No | JSON overrides using the canonical input names for the selected API version. Preserves empty strings, null, and empty arrays; unsupported fields are rejected. |
  | `workspace_slug` | string | Yes | Workspace slug from the Plane URL (for example, my-team). |
  | `project_id` | string | Yes | The project the resource belongs to. Accepts the project UUID or its bare identifier, for example `ENG`. |
  | `work_item_id` | string | Yes | The work item the resource hangs off. Accepts the work item UUID or its `PROJ-123` identifier. |
  | `pk` | string | Yes | The link id. |
  | `metadata` | json | No | JSON metadata object for the link. API v2 only. |
  | `title` | string | No | Title. Maximum 255 characters. Nullable. |
  | `url` | string | No | Target URL. |
  | `fields` | string | No | Comma-separated list of fields to return. Unrequested keys are **omitted**, not returned as `null`. `id` always comes back. Pass `all` for every requestable field. An unknown name is a `400`. See \[Sparse fields]\([https://developers.plane.so/api-reference/v2/sparse-fields](https://developers.plane.so/api-reference/v2/sparse-fields)). Requestable here: `created_at`, `created_by_id`, `id`, `metadata`, `title`, `url`, `work_item_id`. |
  | `issue_id` | string | No | v1 compatibility only. Work item ID for the link. |

  #### Output [#output-60]

  | Parameter | Type | Description |
  | - | - | - |
  | `result` | object | Plane V2 Work- Item- Links |
  | ↳ `created_at` | json | Created at |
  | ↳ `created_by_id` | string | Created by id |
  | ↳ `id` | json | Id |
  | ↳ `metadata` | json | Metadata |
  | ↳ `url` | string | Asset Id |
  | ↳ `title` | string | Asset Id |
  | ↳ `favicon` | string | Asset Id |
  | ↳ `favicon_url` | json | Logo Props |
  | ↳ `title` | json | Title |
  | ↳ `url` | json | Url |
  | ↳ `work_item_id` | string | Work item id |
  | ↳ `updated_at` | string | Updated at |
  | ↳ `deleted_at` | string | Deleted at |
  | ↳ `created_by` | string | Created by |
  | ↳ `updated_by` | string | Updated by |
  | ↳ `project` | string | Project |
  | ↳ `workspace` | string | Workspace |
  | ↳ `issue` | string | Issue |
  | ↳ `deleted_by` | json | Deleted by |
</ReferenceDetails>

### Plane Update a module [#plane-update-a-module]

Update a module in Plane. Supports API v1 compatibility.

<ReferenceDetails>
  #### Input [#input-61]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `apiKey` | string | Yes | Plane personal access token from Profile → API tokens. |
  | `baseUrl` | string | No | Plane instance origin, optionally with a reverse-proxy path prefix. Defaults to [https://api.plane.so](https://api.plane.so). Do not include /api/v1 or /api/v2. |
  | `apiVersion` | string | No | API version: v2 (default) for Plane Cloud and current commercial instances; v1 for Community Edition or older self-hosted instances. Unsupported operations or fields fail explicitly. |
  | `bodyOverrides` | json | No | JSON overrides using the canonical input names for the selected API version. Preserves empty strings, null, and empty arrays; unsupported fields are rejected. |
  | `workspace_slug` | string | Yes | Workspace slug from the Plane URL (for example, my-team). |
  | `project_id` | string | Yes | The project the module belongs to. |
  | `pk` | string | Yes | The module to update. |
  | `name` | string | No | New display name, unique within the project. Maximum 255 characters. Renaming onto an existing module's name returns `409 conflict`. |
  | `description` | string | No | Plain-text summary of what the module covers. |
  | `status` | string | No | Move the module to a different lifecycle position. - `backlog` — Captured, not yet committed to - `planned` — Committed to but not started - `in-progress` — Actively being worked on - `paused` — Started, then put on hold - `completed` — Delivered - `cancelled` — Dropped without delivering Any value outside this list is a `400 invalid_request`. Transitions are unrestricted — a `completed` module can be sent back to `in-progress`. |
  | `start_date` | string | No | Date the module is scheduled to begin, as `YYYY-MM-DD`. Send `null` to clear it. |
  | `target_date` | string | No | Date the module is expected to land, as `YYYY-MM-DD`. Send `null` to clear it. Must not be earlier than the module's `start_date` — including the `start_date` already stored when you only send `target_date`. |
  | `lead_id` | string | No | Reassign the module. Must be a member of this project — any other user id is rejected with a `400` naming `lead_id`. Send `null` to leave the module without a lead. |
  | `sort_order` | number | No | Ordering weight used when modules are listed. Lower values sort first. |
  | `logo_props` | json | No | Free-form JSON object holding the icon Plane renders for the module. The value you send replaces the stored object. |
  | `external_id` | string | No | Your system's identifier for this module, for sync and import correlation. Maximum 255 characters. Nullable. |
  | `external_source` | string | No | The system `external_id` came from, for example `github` or `jira`. Maximum 255 characters. Nullable. |
  | `fields` | string | No | Comma-separated list of fields to return. Unrequested keys are **omitted** from the response, not returned as `null`, so absent means "not requested" and `null` means "actually null". `id` always comes back whether or not you name it. Pass `all` for every requestable field. An unknown name is a `400` that lists the valid set and suggests the closest match, so a typo can't silently cost you the saving. Requestable here: `archived_at`, `created_at`, `created_by_id`, `description`, `external_id`, `external_source`, `id`, `lead_id`, `logo_props`, `member_ids`, `name`, `sort_order`, `start_date`, `status`, `target_date`. See \[Sparse fields]\([https://developers.plane.so/api-reference/v2/sparse-fields](https://developers.plane.so/api-reference/v2/sparse-fields)). |
  | `expand` | string | No | Comma-separated relations to embed alongside the ids: `lead` (the module lead), `members` (the module members). Expanded relations appear beside their ID fields and survive sparse field filtering. Use only the relation names listed above. |
  | `members` | json | No | v1 compatibility only. Members. |

  #### Output [#output-61]

  | Parameter | Type | Description |
  | - | - | - |
  | `result` | object | Plane V2 Modules |
  | ↳ `id` | json | Id |
  | ↳ `name` | json | Name |
  | ↳ `description` | json | Description |
  | ↳ `status` | json | Status |
  | ↳ `start_date` | string | Start date |
  | ↳ `target_date` | string | Target date |
  | ↳ `lead_id` | string | Lead id |
  | ↳ `member_ids` | array | Member ids |
  | ↳ `sort_order` | json | Sort order |
  | ↳ `logo_props` | json | Logo props |
  | ↳ `external_id` | string | External id |
  | ↳ `external_source` | string | External source |
  | ↳ `archived_at` | string | Archived at |
  | ↳ `created_at` | json | Created at |
  | ↳ `created_by_id` | string | Created by id |
  | ↳ `lead` | json | Lead |
  | ↳ `members` | array | Members |
  | ↳ `total_issues` | json | Total issues |
  | ↳ `cancelled_issues` | json | Cancelled issues |
  | ↳ `completed_issues` | json | Completed issues |
  | ↳ `started_issues` | json | Started issues |
  | ↳ `unstarted_issues` | json | Unstarted issues |
  | ↳ `backlog_issues` | json | Backlog issues |
  | ↳ `updated_at` | string | Updated at |
  | ↳ `deleted_at` | string | Deleted at |
  | ↳ `description_text` | json | Description text |
  | ↳ `description_html` | json | Description html |
  | ↳ `view_props` | json | View props |
  | ↳ `created_by` | string | Created by |
  | ↳ `updated_by` | string | Updated by |
  | ↳ `project` | string | Project |
  | ↳ `workspace` | string | Workspace |
  | ↳ `deleted_by` | json | Deleted by |
</ReferenceDetails>

### Plane Update a project [#plane-update-a-project]

Update a project in Plane. Supports API v1 compatibility.

<ReferenceDetails>
  #### Input [#input-62]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `apiKey` | string | Yes | Plane personal access token from Profile → API tokens. |
  | `baseUrl` | string | No | Plane instance origin, optionally with a reverse-proxy path prefix. Defaults to [https://api.plane.so](https://api.plane.so). Do not include /api/v1 or /api/v2. |
  | `apiVersion` | string | No | API version: v2 (default) for Plane Cloud and current commercial instances; v1 for Community Edition or older self-hosted instances. Unsupported operations or fields fail explicitly. |
  | `bodyOverrides` | json | No | JSON overrides using the canonical input names for the selected API version. Preserves empty strings, null, and empty arrays; unsupported fields are rejected. |
  | `workspace_slug` | string | Yes | Workspace slug from the Plane URL (for example, my-team). |
  | `pk` | string | Yes | The project id. |
  | `archive_in` | number | No | The archive in. |
  | `close_in` | number | No | The close in. |
  | `cover_image` | string | No | URL of the cover image. Nullable. |
  | `cycle_view` | boolean | No | Whether cycle view. |
  | `default_assignee_id` | string | No | Id of the related default assignee. Nullable. |
  | `default_state_id` | string | No | Id of the related default state. Nullable. |
  | `description` | string | No | Free-form description. |
  | `emoji` | string | No | Emoji shown alongside the name. Maximum 255 characters. Nullable. |
  | `estimate_id` | string | No | Id of the related estimate. Nullable. |
  | `external_id` | string | No | Your system's identifier for this record, for sync and import correlation. Maximum 255 characters. Nullable. |
  | `external_source` | string | No | The system `external_id` came from, for example `github` or `jira`. Maximum 255 characters. Nullable. |
  | `guest_view_all_features` | boolean | No | Whether guest view all features. |
  | `icon_prop` | string | No | The icon prop. Nullable. |
  | `identifier` | string | No | Short project key used to prefix work item numbers, for example `ENG` in `ENG-142`. Maximum 255 characters. |
  | `intake_view` | boolean | No | Whether intake view. |
  | `is_issue_type_enabled` | boolean | No | Whether is issue type enabled. |
  | `is_time_tracking_enabled` | boolean | No | Whether is time tracking enabled. |
  | `issue_views_view` | boolean | No | Whether issue views view. |
  | `logo_props` | string | No | Editor-owned logo descriptor. Pass back what you read rather than composing it by hand. |
  | `module_view` | boolean | No | Whether module view. |
  | `name` | string | No | Display name. Maximum 255 characters. |
  | `network` | string | No | Project visibility: `0` is private to members, `2` is visible to the whole workspace. |
  | `page_view` | boolean | No | Whether page view. |
  | `priority` | string | No | - `none` - None - `low` - Low - `medium` - Medium - `high` - High - `urgent` - Urgent One of `none`, `low`, `medium`, `high`, `urgent`. |
  | `project_lead_id` | string | No | Id of the related project lead. Nullable. |
  | `start_date` | string | No | Planned start date, as `YYYY-MM-DD`. Nullable. |
  | `state_id` | string | No | Id of the related state. Nullable. |
  | `target_date` | string | No | Planned due date, as `YYYY-MM-DD`. Nullable. |
  | `timezone` | string | No | - `Africa/Abidjan` - Africa/Abidjan - `Africa/Accra` - Africa/Accra - `Africa/Addis_Ababa` - Africa/Addis\_Ababa - `Africa/Algiers` - Africa/Algiers - `Africa/Asmara` - Africa/Asmara - `Africa/Bamako` - Africa/Bamako - `Africa/Bangui` - Africa/Bangui - `Africa/Banjul` - Africa/Banjul - `Africa/Bissau` - Africa/Bissau - `Africa/Blantyre` - Africa/Blantyre - `Africa/Brazzaville` - Africa/Brazzaville - `Africa/Bujumbura` - Africa/Bujumbura - `Africa/Cairo` - Africa/Cairo - `Africa/Casablanca` - Africa/Casablanca - `Africa/Ceuta` - Africa/Ceuta - `Africa/Conakry` - Africa/Conakry - `Africa/Dakar` - Africa/Dakar - `Africa/Dar_es_Salaam` - Africa/Dar\_es\_Salaam - `Africa/Djibouti` - Africa/Djibouti - `Africa/Douala` - Africa/Douala - `Africa/El_Aaiun` - Africa/El\_Aaiun - `Africa/Freetown` - Africa/Freetown - `Africa/Gaborone` - Africa/Gaborone - `Africa/Harare` - Africa/Harare - `Africa/Johannesburg` - Africa/Johannesburg - `Africa/Juba` - Africa/Juba - `Africa/Kampala` - Africa/Kampala - `Africa/Khartoum` - Africa/Khartoum - `Africa/Kigali` - Africa/Kigali - `Africa/Kinshasa` - Africa/Kinshasa - `Africa/Lagos` - Africa/Lagos - `Africa/Libreville` - Africa/Libreville - `Africa/Lome` - Africa/Lome - `Africa/Luanda` - Africa/Luanda - `Africa/Lubumbashi` - Africa/Lubumbashi - `Africa/Lusaka` - Africa/Lusaka - `Africa/Malabo` - Africa/Malabo - `Africa/Maputo` - Africa/Maputo - `Africa/Maseru` - Africa/Maseru - `Africa/Mbabane` - Africa/Mbabane - `Africa/Mogadishu` - Africa/Mogadishu - `Africa/Monrovia` - Africa/Monrovia - `Africa/Nairobi` - Africa/Nairobi - `Africa/Ndjamena` - Africa/Ndjamena - `Africa/Niamey` - Africa/Niamey - `Africa/Nouakchott` - Africa/Nouakchott - `Africa/Ouagadougou` - Africa/Ouagadougou - `Africa/Porto-Novo` - Africa/Porto-Novo - `Africa/Sao_Tome` - Africa/Sao\_Tome - `Africa/Tripoli` - Africa/Tripoli - `Africa/Tunis` - Africa/Tunis - `Africa/Windhoek` - Africa/Windhoek - `America/Adak` - America/Adak - `America/Anchorage` - America/Anchorage - `America/Anguilla` - America/Anguilla - `America/Antigua` - America/Antigua - `America/Araguaina` - America/Araguaina - `America/Argentina/Buenos_Aires` - America/Argentina/Buenos\_Aires - `America/Argentina/Catamarca` - America/Argentina/Catamarca - `America/Argentina/Cordoba` - America/Argentina/Cordoba - `America/Argentina/Jujuy` - America/Argentina/Jujuy - `America/Argentina/La_Rioja` - America/Argentina/La\_Rioja - `America/Argentina/Mendoza` - America/Argentina/Mendoza - `America/Argentina/Rio_Gallegos` - America/Argentina/Rio\_Gallegos - `America/Argentina/Salta` - America/Argentina/Salta - `America/Argentina/San_Juan` - America/Argentina/San\_Juan - `America/Argentina/San_Luis` - America/Argentina/San\_Luis - `America/Argentina/Tucuman` - America/Argentina/Tucuman - `America/Argentina/Ushuaia` - America/Argentina/Ushuaia - `America/Aruba` - America/Aruba - `America/Asuncion` - America/Asuncion - `America/Atikokan` - America/Atikokan - `America/Bahia` - America/Bahia - `America/Bahia_Banderas` - America/Bahia\_Banderas - `America/Barbados` - America/Barbados - `America/Belem` - America/Belem - `America/Belize` - America/Belize - `America/Blanc-Sablon` - America/Blanc-Sablon - `America/Boa_Vista` - America/Boa\_Vista - `America/Bogota` - America/Bogota - `America/Boise` - America/Boise - `America/Cambridge_Bay` - America/Cambridge\_Bay - `America/Campo_Grande` - America/Campo\_Grande - `America/Cancun` - America/Cancun - `America/Caracas` - America/Caracas - `America/Cayenne` - America/Cayenne - `America/Cayman` - America/Cayman - `America/Chicago` - America/Chicago - `America/Chihuahua` - America/Chihuahua - `America/Ciudad_Juarez` - America/Ciudad\_Juarez - `America/Costa_Rica` - America/Costa\_Rica - `America/Creston` - America/Creston - `America/Cuiaba` - America/Cuiaba - `America/Curacao` - America/Curacao - `America/Danmarkshavn` - America/Danmarkshavn - `America/Dawson` - America/Dawson - `America/Dawson_Creek` - America/Dawson\_Creek - `America/Denver` - America/Denver - `America/Detroit` - America/Detroit - `America/Dominica` - America/Dominica - `America/Edmonton` - America/Edmonton - `America/Eirunepe` - America/Eirunepe - `America/El_Salvador` - America/El\_Salvador - `America/Fort_Nelson` - America/Fort\_Nelson - `America/Fortaleza` - America/Fortaleza - `America/Glace_Bay` - America/Glace\_Bay - `America/Goose_Bay` - America/Goose\_Bay - `America/Grand_Turk` - America/Grand\_Turk - `America/Grenada` - America/Grenada - `America/Guadeloupe` - America/Guadeloupe - `America/Guatemala` - America/Guatemala - `America/Guayaquil` - America/Guayaquil - `America/Guyana` - America/Guyana - `America/Halifax` - America/Halifax - `America/Havana` - America/Havana - `America/Hermosillo` - America/Hermosillo - `America/Indiana/Indianapolis` - America/Indiana/Indianapolis - `America/Indiana/Knox` - America/Indiana/Knox - `America/Indiana/Marengo` - America/Indiana/Marengo - `America/Indiana/Petersburg` - America/Indiana/Petersburg - `America/Indiana/Tell_City` - America/Indiana/Tell\_City - `America/Indiana/Vevay` - America/Indiana/Vevay - `America/Indiana/Vincennes` - America/Indiana/Vincennes - `America/Indiana/Winamac` - America/Indiana/Winamac - `America/Inuvik` - America/Inuvik - `America/Iqaluit` - America/Iqaluit - `America/Jamaica` - America/Jamaica - `America/Juneau` - America/Juneau - `America/Kentucky/Louisville` - America/Kentucky/Louisville - `America/Kentucky/Monticello` - America/Kentucky/Monticello - `America/Kralendijk` - America/Kralendijk - `America/La_Paz` - America/La\_Paz - `America/Lima` - America/Lima - `America/Los_Angeles` - America/Los\_Angeles - `America/Lower_Princes` - America/Lower\_Princes - `America/Maceio` - America/Maceio - `America/Managua` - America/Managua - `America/Manaus` - America/Manaus - `America/Marigot` - America/Marigot - `America/Martinique` - America/Martinique - `America/Matamoros` - America/Matamoros - `America/Mazatlan` - America/Mazatlan - `America/Menominee` - America/Menominee - `America/Merida` - America/Merida - `America/Metlakatla` - America/Metlakatla - `America/Mexico_City` - America/Mexico\_City - `America/Miquelon` - America/Miquelon - `America/Moncton` - America/Moncton - `America/Monterrey` - America/Monterrey - `America/Montevideo` - America/Montevideo - `America/Montserrat` - America/Montserrat - `America/Nassau` - America/Nassau - `America/New_York` - America/New\_York - `America/Nome` - America/Nome - `America/Noronha` - America/Noronha - `America/North_Dakota/Beulah` - America/North\_Dakota/Beulah - `America/North_Dakota/Center` - America/North\_Dakota/Center - `America/North_Dakota/New_Salem` - America/North\_Dakota/New\_Salem - `America/Nuuk` - America/Nuuk - `America/Ojinaga` - America/Ojinaga - `America/Panama` - America/Panama - `America/Paramaribo` - America/Paramaribo - `America/Phoenix` - America/Phoenix - `America/Port-au-Prince` - America/Port-au-Prince - `America/Port_of_Spain` - America/Port\_of\_Spain - `America/Porto_Velho` - America/Porto\_Velho - `America/Puerto_Rico` - America/Puerto\_Rico - `America/Punta_Arenas` - America/Punta\_Arenas - `America/Rankin_Inlet` - America/Rankin\_Inlet - `America/Recife` - America/Recife - `America/Regina` - America/Regina - `America/Resolute` - America/Resolute - `America/Rio_Branco` - America/Rio\_Branco - `America/Santarem` - America/Santarem - `America/Santiago` - America/Santiago - `America/Santo_Domingo` - America/Santo\_Domingo - `America/Sao_Paulo` - America/Sao\_Paulo - `America/Scoresbysund` - America/Scoresbysund - `America/Sitka` - America/Sitka - `America/St_Barthelemy` - America/St\_Barthelemy - `America/St_Johns` - America/St\_Johns - `America/St_Kitts` - America/St\_Kitts - `America/St_Lucia` - America/St\_Lucia - `America/St_Thomas` - America/St\_Thomas - `America/St_Vincent` - America/St\_Vincent - `America/Swift_Current` - America/Swift\_Current - `America/Tegucigalpa` - America/Tegucigalpa - `America/Thule` - America/Thule - `America/Tijuana` - America/Tijuana - `America/Toronto` - America/Toronto - `America/Tortola` - America/Tortola - `America/Vancouver` - America/Vancouver - `America/Whitehorse` - America/Whitehorse - `America/Winnipeg` - America/Winnipeg - `America/Yakutat` - America/Yakutat - `Antarctica/Casey` - Antarctica/Casey - `Antarctica/Davis` - Antarctica/Davis - `Antarctica/DumontDUrville` - Antarctica/DumontDUrville - `Antarctica/Macquarie` - Antarctica/Macquarie - `Antarctica/Mawson` - Antarctica/Mawson - `Antarctica/McMurdo` - Antarctica/McMurdo - `Antarctica/Palmer` - Antarctica/Palmer - `Antarctica/Rothera` - Antarctica/Rothera - `Antarctica/Syowa` - Antarctica/Syowa - `Antarctica/Troll` - Antarctica/Troll - `Antarctica/Vostok` - Antarctica/Vostok - `Arctic/Longyearbyen` - Arctic/Longyearbyen - `Asia/Aden` - Asia/Aden - `Asia/Almaty` - Asia/Almaty - `Asia/Amman` - Asia/Amman - `Asia/Anadyr` - Asia/Anadyr - `Asia/Aqtau` - Asia/Aqtau - `Asia/Aqtobe` - Asia/Aqtobe - `Asia/Ashgabat` - Asia/Ashgabat - `Asia/Atyrau` - Asia/Atyrau - `Asia/Baghdad` - Asia/Baghdad - `Asia/Bahrain` - Asia/Bahrain - `Asia/Baku` - Asia/Baku - `Asia/Bangkok` - Asia/Bangkok - `Asia/Barnaul` - Asia/Barnaul - `Asia/Beirut` - Asia/Beirut - `Asia/Bishkek` - Asia/Bishkek - `Asia/Brunei` - Asia/Brunei - `Asia/Chita` - Asia/Chita - `Asia/Choibalsan` - Asia/Choibalsan - `Asia/Colombo` - Asia/Colombo - `Asia/Damascus` - Asia/Damascus - `Asia/Dhaka` - Asia/Dhaka - `Asia/Dili` - Asia/Dili - `Asia/Dubai` - Asia/Dubai - `Asia/Dushanbe` - Asia/Dushanbe - `Asia/Famagusta` - Asia/Famagusta - `Asia/Gaza` - Asia/Gaza - `Asia/Hebron` - Asia/Hebron - `Asia/Ho_Chi_Minh` - Asia/Ho\_Chi\_Minh - `Asia/Hong_Kong` - Asia/Hong\_Kong - `Asia/Hovd` - Asia/Hovd - `Asia/Irkutsk` - Asia/Irkutsk - `Asia/Jakarta` - Asia/Jakarta - `Asia/Jayapura` - Asia/Jayapura - `Asia/Jerusalem` - Asia/Jerusalem - `Asia/Kabul` - Asia/Kabul - `Asia/Kamchatka` - Asia/Kamchatka - `Asia/Karachi` - Asia/Karachi - `Asia/Kathmandu` - Asia/Kathmandu - `Asia/Khandyga` - Asia/Khandyga - `Asia/Kolkata` - Asia/Kolkata - `Asia/Krasnoyarsk` - Asia/Krasnoyarsk - `Asia/Kuala_Lumpur` - Asia/Kuala\_Lumpur - `Asia/Kuching` - Asia/Kuching - `Asia/Kuwait` - Asia/Kuwait - `Asia/Macau` - Asia/Macau - `Asia/Magadan` - Asia/Magadan - `Asia/Makassar` - Asia/Makassar - `Asia/Manila` - Asia/Manila - `Asia/Muscat` - Asia/Muscat - `Asia/Nicosia` - Asia/Nicosia - `Asia/Novokuznetsk` - Asia/Novokuznetsk - `Asia/Novosibirsk` - Asia/Novosibirsk - `Asia/Omsk` - Asia/Omsk - `Asia/Oral` - Asia/Oral - `Asia/Phnom_Penh` - Asia/Phnom\_Penh - `Asia/Pontianak` - Asia/Pontianak - `Asia/Pyongyang` - Asia/Pyongyang - `Asia/Qatar` - Asia/Qatar - `Asia/Qostanay` - Asia/Qostanay - `Asia/Qyzylorda` - Asia/Qyzylorda - `Asia/Riyadh` - Asia/Riyadh - `Asia/Sakhalin` - Asia/Sakhalin - `Asia/Samarkand` - Asia/Samarkand - `Asia/Seoul` - Asia/Seoul - `Asia/Shanghai` - Asia/Shanghai - `Asia/Singapore` - Asia/Singapore - `Asia/Srednekolymsk` - Asia/Srednekolymsk - `Asia/Taipei` - Asia/Taipei - `Asia/Tashkent` - Asia/Tashkent - `Asia/Tbilisi` - Asia/Tbilisi - `Asia/Tehran` - Asia/Tehran - `Asia/Thimphu` - Asia/Thimphu - `Asia/Tokyo` - Asia/Tokyo - `Asia/Tomsk` - Asia/Tomsk - `Asia/Ulaanbaatar` - Asia/Ulaanbaatar - `Asia/Urumqi` - Asia/Urumqi - `Asia/Ust-Nera` - Asia/Ust-Nera - `Asia/Vientiane` - Asia/Vientiane - `Asia/Vladivostok` - Asia/Vladivostok - `Asia/Yakutsk` - Asia/Yakutsk - `Asia/Yangon` - Asia/Yangon - `Asia/Yekaterinburg` - Asia/Yekaterinburg - `Asia/Yerevan` - Asia/Yerevan - `Atlantic/Azores` - Atlantic/Azores - `Atlantic/Bermuda` - Atlantic/Bermuda - `Atlantic/Canary` - Atlantic/Canary - `Atlantic/Cape_Verde` - Atlantic/Cape\_Verde - `Atlantic/Faroe` - Atlantic/Faroe - `Atlantic/Madeira` - Atlantic/Madeira - `Atlantic/Reykjavik` - Atlantic/Reykjavik - `Atlantic/South_Georgia` - Atlantic/South\_Georgia - `Atlantic/St_Helena` - Atlantic/St\_Helena - `Atlantic/Stanley` - Atlantic/Stanley - `Australia/Adelaide` - Australia/Adelaide - `Australia/Brisbane` - Australia/Brisbane - `Australia/Broken_Hill` - Australia/Broken\_Hill - `Australia/Darwin` - Australia/Darwin - `Australia/Eucla` - Australia/Eucla - `Australia/Hobart` - Australia/Hobart - `Australia/Lindeman` - Australia/Lindeman - `Australia/Lord_Howe` - Australia/Lord\_Howe - `Australia/Melbourne` - Australia/Melbourne - `Australia/Perth` - Australia/Perth - `Australia/Sydney` - Australia/Sydney - `Canada/Atlantic` - Canada/Atlantic - `Canada/Central` - Canada/Central - `Canada/Eastern` - Canada/Eastern - `Canada/Mountain` - Canada/Mountain - `Canada/Newfoundland` - Canada/Newfoundland - `Canada/Pacific` - Canada/Pacific - `Europe/Amsterdam` - Europe/Amsterdam - `Europe/Andorra` - Europe/Andorra - `Europe/Astrakhan` - Europe/Astrakhan - `Europe/Athens` - Europe/Athens - `Europe/Belgrade` - Europe/Belgrade - `Europe/Berlin` - Europe/Berlin - `Europe/Bratislava` - Europe/Bratislava - `Europe/Brussels` - Europe/Brussels - `Europe/Bucharest` - Europe/Bucharest - `Europe/Budapest` - Europe/Budapest - `Europe/Busingen` - Europe/Busingen - `Europe/Chisinau` - Europe/Chisinau - `Europe/Copenhagen` - Europe/Copenhagen - `Europe/Dublin` - Europe/Dublin - `Europe/Gibraltar` - Europe/Gibraltar - `Europe/Guernsey` - Europe/Guernsey - `Europe/Helsinki` - Europe/Helsinki - `Europe/Isle_of_Man` - Europe/Isle\_of\_Man - `Europe/Istanbul` - Europe/Istanbul - `Europe/Jersey` - Europe/Jersey - `Europe/Kaliningrad` - Europe/Kaliningrad - `Europe/Kirov` - Europe/Kirov - `Europe/Kyiv` - Europe/Kyiv - `Europe/Lisbon` - Europe/Lisbon - `Europe/Ljubljana` - Europe/Ljubljana - `Europe/London` - Europe/London - `Europe/Luxembourg` - Europe/Luxembourg - `Europe/Madrid` - Europe/Madrid - `Europe/Malta` - Europe/Malta - `Europe/Mariehamn` - Europe/Mariehamn - `Europe/Minsk` - Europe/Minsk - `Europe/Monaco` - Europe/Monaco - `Europe/Moscow` - Europe/Moscow - `Europe/Oslo` - Europe/Oslo - `Europe/Paris` - Europe/Paris - `Europe/Podgorica` - Europe/Podgorica - `Europe/Prague` - Europe/Prague - `Europe/Riga` - Europe/Riga - `Europe/Rome` - Europe/Rome - `Europe/Samara` - Europe/Samara - `Europe/San_Marino` - Europe/San\_Marino - `Europe/Sarajevo` - Europe/Sarajevo - `Europe/Saratov` - Europe/Saratov - `Europe/Simferopol` - Europe/Simferopol - `Europe/Skopje` - Europe/Skopje - `Europe/Sofia` - Europe/Sofia - `Europe/Stockholm` - Europe/Stockholm - `Europe/Tallinn` - Europe/Tallinn - `Europe/Tirane` - Europe/Tirane - `Europe/Ulyanovsk` - Europe/Ulyanovsk - `Europe/Vaduz` - Europe/Vaduz - `Europe/Vatican` - Europe/Vatican - `Europe/Vienna` - Europe/Vienna - `Europe/Vilnius` - Europe/Vilnius - `Europe/Volgograd` - Europe/Volgograd - `Europe/Warsaw` - Europe/Warsaw - `Europe/Zagreb` - Europe/Zagreb - `Europe/Zurich` - Europe/Zurich - `GMT` - GMT - `Indian/Antananarivo` - Indian/Antananarivo - `Indian/Chagos` - Indian/Chagos - `Indian/Christmas` - Indian/Christmas - `Indian/Cocos` - Indian/Cocos - `Indian/Comoro` - Indian/Comoro - `Indian/Kerguelen` - Indian/Kerguelen - `Indian/Mahe` - Indian/Mahe - `Indian/Maldives` - Indian/Maldives - `Indian/Mauritius` - Indian/Mauritius - `Indian/Mayotte` - Indian/Mayotte - `Indian/Reunion` - Indian/Reunion - `Pacific/Apia` - Pacific/Apia - `Pacific/Auckland` - Pacific/Auckland - `Pacific/Bougainville` - Pacific/Bougainville - `Pacific/Chatham` - Pacific/Chatham - `Pacific/Chuuk` - Pacific/Chuuk - `Pacific/Easter` - Pacific/Easter - `Pacific/Efate` - Pacific/Efate - `Pacific/Fakaofo` - Pacific/Fakaofo - `Pacific/Fiji` - Pacific/Fiji - `Pacific/Funafuti` - Pacific/Funafuti - `Pacific/Galapagos` - Pacific/Galapagos - `Pacific/Gambier` - Pacific/Gambier - `Pacific/Guadalcanal` - Pacific/Guadalcanal - `Pacific/Guam` - Pacific/Guam - `Pacific/Honolulu` - Pacific/Honolulu - `Pacific/Kanton` - Pacific/Kanton - `Pacific/Kiritimati` - Pacific/Kiritimati - `Pacific/Kosrae` - Pacific/Kosrae - `Pacific/Kwajalein` - Pacific/Kwajalein - `Pacific/Majuro` - Pacific/Majuro - `Pacific/Marquesas` - Pacific/Marquesas - `Pacific/Midway` - Pacific/Midway - `Pacific/Nauru` - Pacific/Nauru - `Pacific/Niue` - Pacific/Niue - `Pacific/Norfolk` - Pacific/Norfolk - `Pacific/Noumea` - Pacific/Noumea - `Pacific/Pago_Pago` - Pacific/Pago\_Pago - `Pacific/Palau` - Pacific/Palau - `Pacific/Pitcairn` - Pacific/Pitcairn - `Pacific/Pohnpei` - Pacific/Pohnpei - `Pacific/Port_Moresby` - Pacific/Port\_Moresby - `Pacific/Rarotonga` - Pacific/Rarotonga - `Pacific/Saipan` - Pacific/Saipan - `Pacific/Tahiti` - Pacific/Tahiti - `Pacific/Tarawa` - Pacific/Tarawa - `Pacific/Tongatapu` - Pacific/Tongatapu - `Pacific/Wake` - Pacific/Wake - `Pacific/Wallis` - Pacific/Wallis - `US/Alaska` - US/Alaska - `US/Arizona` - US/Arizona - `US/Central` - US/Central - `US/Eastern` - US/Eastern - `US/Hawaii` - US/Hawaii - `US/Mountain` - US/Mountain - `US/Pacific` - US/Pacific - `UTC` - UTC One of `Africa/Abidjan`, `Africa/Accra`, `Africa/Addis_Ababa`, `Africa/Algiers`, `Africa/Asmara`, `Africa/Bamako`, `Africa/Bangui`, `Africa/Banjul`, `Africa/Bissau`, `Africa/Blantyre`, `Africa/Brazzaville`, `Africa/Bujumbura`, `Africa/Cairo`, `Africa/Casablanca`, `Africa/Ceuta`, `Africa/Conakry`, `Africa/Dakar`, `Africa/Dar_es_Salaam`, `Africa/Djibouti`, `Africa/Douala`, `Africa/El_Aaiun`, `Africa/Freetown`, `Africa/Gaborone`, `Africa/Harare`, `Africa/Johannesburg`, `Africa/Juba`, `Africa/Kampala`, `Africa/Khartoum`, `Africa/Kigali`, `Africa/Kinshasa`, `Africa/Lagos`, `Africa/Libreville`, `Africa/Lome`, `Africa/Luanda`, `Africa/Lubumbashi`, `Africa/Lusaka`, `Africa/Malabo`, `Africa/Maputo`, `Africa/Maseru`, `Africa/Mbabane`, `Africa/Mogadishu`, `Africa/Monrovia`, `Africa/Nairobi`, `Africa/Ndjamena`, `Africa/Niamey`, `Africa/Nouakchott`, `Africa/Ouagadougou`, `Africa/Porto-Novo`, `Africa/Sao_Tome`, `Africa/Tripoli`, `Africa/Tunis`, `Africa/Windhoek`, `America/Adak`, `America/Anchorage`, `America/Anguilla`, `America/Antigua`, `America/Araguaina`, `America/Argentina/Buenos_Aires`, `America/Argentina/Catamarca`, `America/Argentina/Cordoba`, `America/Argentina/Jujuy`, `America/Argentina/La_Rioja`, `America/Argentina/Mendoza`, `America/Argentina/Rio_Gallegos`, `America/Argentina/Salta`, `America/Argentina/San_Juan`, `America/Argentina/San_Luis`, `America/Argentina/Tucuman`, `America/Argentina/Ushuaia`, `America/Aruba`, `America/Asuncion`, `America/Atikokan`, `America/Bahia`, `America/Bahia_Banderas`, `America/Barbados`, `America/Belem`, `America/Belize`, `America/Blanc-Sablon`, `America/Boa_Vista`, `America/Bogota`, `America/Boise`, `America/Cambridge_Bay`, `America/Campo_Grande`, `America/Cancun`, `America/Caracas`, `America/Cayenne`, `America/Cayman`, `America/Chicago`, `America/Chihuahua`, `America/Ciudad_Juarez`, `America/Costa_Rica`, `America/Creston`, `America/Cuiaba`, `America/Curacao`, `America/Danmarkshavn`, `America/Dawson`, `America/Dawson_Creek`, `America/Denver`, `America/Detroit`, `America/Dominica`, `America/Edmonton`, `America/Eirunepe`, `America/El_Salvador`, `America/Fort_Nelson`, `America/Fortaleza`, `America/Glace_Bay`, `America/Goose_Bay`, `America/Grand_Turk`, `America/Grenada`, `America/Guadeloupe`, `America/Guatemala`, `America/Guayaquil`, `America/Guyana`, `America/Halifax`, `America/Havana`, `America/Hermosillo`, `America/Indiana/Indianapolis`, `America/Indiana/Knox`, `America/Indiana/Marengo`, `America/Indiana/Petersburg`, `America/Indiana/Tell_City`, `America/Indiana/Vevay`, `America/Indiana/Vincennes`, `America/Indiana/Winamac`, `America/Inuvik`, `America/Iqaluit`, `America/Jamaica`, `America/Juneau`, `America/Kentucky/Louisville`, `America/Kentucky/Monticello`, `America/Kralendijk`, `America/La_Paz`, `America/Lima`, `America/Los_Angeles`, `America/Lower_Princes`, `America/Maceio`, `America/Managua`, `America/Manaus`, `America/Marigot`, `America/Martinique`, `America/Matamoros`, `America/Mazatlan`, `America/Menominee`, `America/Merida`, `America/Metlakatla`, `America/Mexico_City`, `America/Miquelon`, `America/Moncton`, `America/Monterrey`, `America/Montevideo`, `America/Montserrat`, `America/Nassau`, `America/New_York`, `America/Nome`, `America/Noronha`, `America/North_Dakota/Beulah`, `America/North_Dakota/Center`, `America/North_Dakota/New_Salem`, `America/Nuuk`, `America/Ojinaga`, `America/Panama`, `America/Paramaribo`, `America/Phoenix`, `America/Port-au-Prince`, `America/Port_of_Spain`, `America/Porto_Velho`, `America/Puerto_Rico`, `America/Punta_Arenas`, `America/Rankin_Inlet`, `America/Recife`, `America/Regina`, `America/Resolute`, `America/Rio_Branco`, `America/Santarem`, `America/Santiago`, `America/Santo_Domingo`, `America/Sao_Paulo`, `America/Scoresbysund`, `America/Sitka`, `America/St_Barthelemy`, `America/St_Johns`, `America/St_Kitts`, `America/St_Lucia`, `America/St_Thomas`, `America/St_Vincent`, `America/Swift_Current`, `America/Tegucigalpa`, `America/Thule`, `America/Tijuana`, `America/Toronto`, `America/Tortola`, `America/Vancouver`, `America/Whitehorse`, `America/Winnipeg`, `America/Yakutat`, `Antarctica/Casey`, `Antarctica/Davis`, `Antarctica/DumontDUrville`, `Antarctica/Macquarie`, `Antarctica/Mawson`, `Antarctica/McMurdo`, `Antarctica/Palmer`, `Antarctica/Rothera`, `Antarctica/Syowa`, `Antarctica/Troll`, `Antarctica/Vostok`, `Arctic/Longyearbyen`, `Asia/Aden`, `Asia/Almaty`, `Asia/Amman`, `Asia/Anadyr`, `Asia/Aqtau`, `Asia/Aqtobe`, `Asia/Ashgabat`, `Asia/Atyrau`, `Asia/Baghdad`, `Asia/Bahrain`, `Asia/Baku`, `Asia/Bangkok`, `Asia/Barnaul`, `Asia/Beirut`, `Asia/Bishkek`, `Asia/Brunei`, `Asia/Chita`, `Asia/Choibalsan`, `Asia/Colombo`, `Asia/Damascus`, `Asia/Dhaka`, `Asia/Dili`, `Asia/Dubai`, `Asia/Dushanbe`, `Asia/Famagusta`, `Asia/Gaza`, `Asia/Hebron`, `Asia/Ho_Chi_Minh`, `Asia/Hong_Kong`, `Asia/Hovd`, `Asia/Irkutsk`, `Asia/Jakarta`, `Asia/Jayapura`, `Asia/Jerusalem`, `Asia/Kabul`, `Asia/Kamchatka`, `Asia/Karachi`, `Asia/Kathmandu`, `Asia/Khandyga`, `Asia/Kolkata`, `Asia/Krasnoyarsk`, `Asia/Kuala_Lumpur`, `Asia/Kuching`, `Asia/Kuwait`, `Asia/Macau`, `Asia/Magadan`, `Asia/Makassar`, `Asia/Manila`, `Asia/Muscat`, `Asia/Nicosia`, `Asia/Novokuznetsk`, `Asia/Novosibirsk`, `Asia/Omsk`, `Asia/Oral`, `Asia/Phnom_Penh`, `Asia/Pontianak`, `Asia/Pyongyang`, `Asia/Qatar`, `Asia/Qostanay`, `Asia/Qyzylorda`, `Asia/Riyadh`, `Asia/Sakhalin`, `Asia/Samarkand`, `Asia/Seoul`, `Asia/Shanghai`, `Asia/Singapore`, `Asia/Srednekolymsk`, `Asia/Taipei`, `Asia/Tashkent`, `Asia/Tbilisi`, `Asia/Tehran`, `Asia/Thimphu`, `Asia/Tokyo`, `Asia/Tomsk`, `Asia/Ulaanbaatar`, `Asia/Urumqi`, `Asia/Ust-Nera`, `Asia/Vientiane`, `Asia/Vladivostok`, `Asia/Yakutsk`, `Asia/Yangon`, `Asia/Yekaterinburg`, `Asia/Yerevan`, `Atlantic/Azores`, `Atlantic/Bermuda`, `Atlantic/Canary`, `Atlantic/Cape_Verde`, `Atlantic/Faroe`, `Atlantic/Madeira`, `Atlantic/Reykjavik`, `Atlantic/South_Georgia`, `Atlantic/St_Helena`, `Atlantic/Stanley`, `Australia/Adelaide`, `Australia/Brisbane`, `Australia/Broken_Hill`, `Australia/Darwin`, `Australia/Eucla`, `Australia/Hobart`, `Australia/Lindeman`, `Australia/Lord_Howe`, `Australia/Melbourne`, `Australia/Perth`, `Australia/Sydney`, `Canada/Atlantic`, `Canada/Central`, `Canada/Eastern`, `Canada/Mountain`, `Canada/Newfoundland`, `Canada/Pacific`, `Europe/Amsterdam`, `Europe/Andorra`, `Europe/Astrakhan`, `Europe/Athens`, `Europe/Belgrade`, `Europe/Berlin`, `Europe/Bratislava`, `Europe/Brussels`, `Europe/Bucharest`, `Europe/Budapest`, `Europe/Busingen`, `Europe/Chisinau`, `Europe/Copenhagen`, `Europe/Dublin`, `Europe/Gibraltar`, `Europe/Guernsey`, `Europe/Helsinki`, `Europe/Isle_of_Man`, `Europe/Istanbul`, `Europe/Jersey`, `Europe/Kaliningrad`, `Europe/Kirov`, `Europe/Kyiv`, `Europe/Lisbon`, `Europe/Ljubljana`, `Europe/London`, `Europe/Luxembourg`, `Europe/Madrid`, `Europe/Malta`, `Europe/Mariehamn`, `Europe/Minsk`, `Europe/Monaco`, `Europe/Moscow`, `Europe/Oslo`, `Europe/Paris`, `Europe/Podgorica`, `Europe/Prague`, `Europe/Riga`, `Europe/Rome`, `Europe/Samara`, `Europe/San_Marino`, `Europe/Sarajevo`, `Europe/Saratov`, `Europe/Simferopol`, `Europe/Skopje`, `Europe/Sofia`, `Europe/Stockholm`, `Europe/Tallinn`, `Europe/Tirane`, `Europe/Ulyanovsk`, `Europe/Vaduz`, `Europe/Vatican`, `Europe/Vienna`, `Europe/Vilnius`, `Europe/Volgograd`, `Europe/Warsaw`, `Europe/Zagreb`, `Europe/Zurich`, `GMT`, `Indian/Antananarivo`, `Indian/Chagos`, `Indian/Christmas`, `Indian/Cocos`, `Indian/Comoro`, `Indian/Kerguelen`, `Indian/Mahe`, `Indian/Maldives`, `Indian/Mauritius`, `Indian/Mayotte`, `Indian/Reunion`, `Pacific/Apia`, `Pacific/Auckland`, `Pacific/Bougainville`, `Pacific/Chatham`, `Pacific/Chuuk`, `Pacific/Easter`, `Pacific/Efate`, `Pacific/Fakaofo`, `Pacific/Fiji`, `Pacific/Funafuti`, `Pacific/Galapagos`, `Pacific/Gambier`, `Pacific/Guadalcanal`, `Pacific/Guam`, `Pacific/Honolulu`, `Pacific/Kanton`, `Pacific/Kiritimati`, `Pacific/Kosrae`, `Pacific/Kwajalein`, `Pacific/Majuro`, `Pacific/Marquesas`, `Pacific/Midway`, `Pacific/Nauru`, `Pacific/Niue`, `Pacific/Norfolk`, `Pacific/Noumea`, `Pacific/Pago_Pago`, `Pacific/Palau`, `Pacific/Pitcairn`, `Pacific/Pohnpei`, `Pacific/Port_Moresby`, `Pacific/Rarotonga`, `Pacific/Saipan`, `Pacific/Tahiti`, `Pacific/Tarawa`, `Pacific/Tongatapu`, `Pacific/Wake`, `Pacific/Wallis`, `US/Alaska`, `US/Arizona`, `US/Central`, `US/Eastern`, `US/Hawaii`, `US/Mountain`, `US/Pacific`, `UTC`. |
  | `fields` | string | No | Comma-separated list of fields to return. Unrequested keys are **omitted**, not returned as `null`. `id` always comes back. Pass `all` for every requestable field. An unknown name is a `400`. See \[Sparse fields]\([https://developers.plane.so/api-reference/v2/sparse-fields](https://developers.plane.so/api-reference/v2/sparse-fields)). Requestable here: `archive_in`, `archived_at`, `close_in`, `cover_image`, `cover_image_url`, `created_at`, `created_by_id`, `cycle_view`, `default_assignee_id`, `default_state_id`, `description`, `emoji`, `estimate_id`, `external_id`, `external_source`, `guest_view_all_features`, `icon_prop`, `id`, `identifier`, `intake_view`, `is_issue_type_enabled`, `is_time_tracking_enabled`, `issue_views_view`, `logo_props`, `module_view`, `name`, `network`, `page_view`, `priority`, `project_lead_id`, `start_date`, `state_id`, `target_date`, `timezone`. |
  | `expand` | string | No | Comma-separated relations to embed: `default_assignee`, `project_lead`. Expanded relations appear beside their ID fields and survive sparse field filtering. Use only the relation names listed above. |
  | `v1_icon_prop` | json | No | v1 compatibility only. Icon prop. |

  #### Output [#output-62]

  | Parameter | Type | Description |
  | - | - | - |
  | `result` | object | Plane V2 Projects |
  | ↳ `archive_in` | json | Archive in |
  | ↳ `archived_at` | string | Archived at |
  | ↳ `close_in` | json | Close in |
  | ↳ `cover_image` | json | Cover image |
  | ↳ `cover_image_url` | json | Cover image url |
  | ↳ `created_at` | json | Created at |
  | ↳ `created_by_id` | string | Created by id |
  | ↳ `cycle_view` | json | Cycle view |
  | ↳ `default_assignee_id` | string | Default assignee id |
  | ↳ `default_state_id` | string | Default state id |
  | ↳ `description` | json | Description |
  | ↳ `emoji` | json | Emoji |
  | ↳ `estimate_id` | string | Estimate id |
  | ↳ `external_id` | json | External id |
  | ↳ `external_source` | json | External source |
  | ↳ `guest_view_all_features` | json | Guest view all features |
  | ↳ `icon_prop` | json | Icon prop |
  | ↳ `id` | json | Id |
  | ↳ `identifier` | json | Identifier |
  | ↳ `intake_view` | json | Intake view |
  | ↳ `is_issue_type_enabled` | json | Is issue type enabled |
  | ↳ `is_time_tracking_enabled` | json | Is time tracking enabled |
  | ↳ `issue_views_view` | json | Issue views view |
  | ↳ `logo_props` | json | Logo props |
  | ↳ `module_view` | json | Module view |
  | ↳ `name` | json | Name |
  | ↳ `network` | json | Network |
  | ↳ `page_view` | json | Page view |
  | ↳ `priority` | json | Priority |
  | ↳ `project_lead_id` | string | Project lead id |
  | ↳ `start_date` | string | Start date |
  | ↳ `state_id` | string | State id |
  | ↳ `target_date` | string | Target date |
  | ↳ `timezone` | json | Timezone |
  | ↳ `default_assignee` | json | Default assignee |
  | ↳ `project_lead` | json | Project lead |
  | ↳ `total_members` | json | Total members |
  | ↳ `total_cycles` | json | Total cycles |
  | ↳ `total_modules` | json | Total modules |
  | ↳ `is_member` | boolean | Is member |
  | ↳ `sort_order` | number | Sort order |
  | ↳ `member_role` | json | Member role |
  | ↳ `is_deployed` | boolean | Is deployed |
  | ↳ `updated_at` | string | Updated at |
  | ↳ `deleted_at` | string | Deleted at |
  | ↳ `description_text` | json | Description text |
  | ↳ `description_html` | json | Description html |
  | ↳ `created_by` | string | Created by |
  | ↳ `updated_by` | string | Updated by |
  | ↳ `workspace` | string | Workspace |
  | ↳ `cover_image_asset` | string | Cover image asset |
  | ↳ `estimate` | string | Estimate |
  | ↳ `default_state` | string | Default state |
  | ↳ `deleted_by` | json | Deleted by |
  | ↳ `is_voting_enabled` | boolean | Is voting enabled |
  | ↳ `auto_reminder_days` | number | Auto reminder days |
  | ↳ `state` | string | State |
</ReferenceDetails>

### Plane Update a project page [#plane-update-a-project-page]

Update a project page in Plane. Supports API v1 compatibility.

<ReferenceDetails>
  #### Input [#input-63]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `apiKey` | string | Yes | Plane personal access token from Profile → API tokens. |
  | `baseUrl` | string | No | Plane instance origin, optionally with a reverse-proxy path prefix. Defaults to [https://api.plane.so](https://api.plane.so). Do not include /api/v1 or /api/v2. |
  | `apiVersion` | string | No | API version: v2 (default) for Plane Cloud and current commercial instances; v1 for Community Edition or older self-hosted instances. Unsupported operations or fields fail explicitly. |
  | `bodyOverrides` | json | No | JSON overrides using the canonical input names for the selected API version. Preserves empty strings, null, and empty arrays; unsupported fields are rejected. |
  | `workspace_slug` | string | Yes | Workspace slug from the Plane URL (for example, my-team). |
  | `project_id` | string | Yes | The project the resource belongs to. Accepts the project UUID or its bare identifier, for example `ENG`. |
  | `pk` | string | Yes | The project page id. |
  | `access` | string | No | Who can see this. |
  | `archived_at` | string | No | The archived at. Nullable. |
  | `collection_id` | string | No | Id of the related collection. Nullable. |
  | `color` | string | No | Hex color used wherever this is rendered, for example `#3f76ff`. Maximum 255 characters. |
  | `description_html` | string | No | Rich-text body as HTML. This is the field the Plane editor round-trips. |
  | `external_id` | string | No | Your system's identifier for this record, for sync and import correlation. Maximum 255 characters. Nullable. |
  | `external_source` | string | No | The system `external_id` came from, for example `github` or `jira`. Maximum 255 characters. Nullable. |
  | `is_locked` | boolean | No | Prevents further edits to the content. |
  | `logo_props` | string | No | Editor-owned logo descriptor. Pass back what you read rather than composing it by hand. |
  | `name` | string | No | Display name. |
  | `parent_id` | string | No | Id of the related parent. Nullable. |
  | `sort_order` | number | No | Manual ordering weight. Lower sorts first. |
  | `view_props` | string | No | Editor-owned layout descriptor. Pass back what you read. |
  | `fields` | string | No | Comma-separated list of fields to return. Unrequested keys are **omitted**, not returned as `null`. `id` always comes back. Pass `all` for every requestable field. An unknown name is a `400`. See \[Sparse fields]\([https://developers.plane.so/api-reference/v2/sparse-fields](https://developers.plane.so/api-reference/v2/sparse-fields)). Requestable here: `access`, `archived_at`, `collection_id`, `color`, `created_at`, `created_by_id`, `description_html`, `description_stripped`, `external_id`, `external_source`, `id`, `is_global`, `is_locked`, `logo_props`, `name`, `owned_by_id`, `parent_id`, `sort_order`, `view_props`. |
  | `expand` | string | No | Comma-separated relations to embed: `owned_by`, `parent`. Expanded relations appear beside their ID fields and survive sparse field filtering. Use only the relation names listed above. |
  | `v1_access` | number | No | v1 compatibility only. Access |
  | `v1_view_props` | json | No | v1 compatibility only. View props |
  | `v1_logo_props` | json | No | v1 compatibility only. Logo props |

  #### Output [#output-63]

  | Parameter | Type | Description |
  | - | - | - |
  | `result` | object | Plane V2 Project- Pages |
  | ↳ `access` | json | Access |
  | ↳ `archived_at` | string | Archived at |
  | ↳ `collection_id` | json | Collection id |
  | ↳ `color` | json | Color |
  | ↳ `created_at` | json | Created at |
  | ↳ `created_by_id` | string | Created by id |
  | ↳ `description_html` | json | Description html |
  | ↳ `description_stripped` | json | Description stripped |
  | ↳ `external_id` | string | External id |
  | ↳ `external_source` | string | External source |
  | ↳ `id` | json | Id |
  | ↳ `is_global` | boolean | Is global |
  | ↳ `is_locked` | json | Is locked |
  | ↳ `logo_props` | json | Logo props |
  | ↳ `name` | json | Name |
  | ↳ `owned_by_id` | string | Owned by id |
  | ↳ `parent_id` | json | Parent id |
  | ↳ `sort_order` | json | Sort order |
  | ↳ `view_props` | json | View props |
  | ↳ `owned_by` | json | Owned by |
  | ↳ `parent` | json | Parent |
  | ↳ `description_binary` | string | Description binary |
  | ↳ `description` | json | Description |
  | ↳ `updated_at` | string | Updated at |
  | ↳ `anchor` | string | Anchor |
  | ↳ `workspace` | string | Workspace |
  | ↳ `projects` | array | Projects |
  | ↳ `page_collection_id` | string | Page collection id |
  | ↳ `created_by` | string | Created by |
  | ↳ `updated_by` | json | Updated by |
  | ↳ `description_json` | object | Description json |
  | ↳ `type` | string | Type |
  | ↳ `content` | array | Content |
  | ↳ `type` | string | Asset Id |
  | ↳ `attrs` | object | Attrs |
  | ↳ `id` | json | Id |
  | ↳ `textAlign` | json | Id |
  | ↳ `aiSuggestion` | json | Id |
  | ↳ `content` | array | Content |
  | ↳ `text` | string | Asset Id |
  | ↳ `type` | string | Asset Id |
</ReferenceDetails>

### Plane Update a state [#plane-update-a-state]

Update a state in Plane. Supports API v1 compatibility.

<ReferenceDetails>
  #### Input [#input-64]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `apiKey` | string | Yes | Plane personal access token from Profile → API tokens. |
  | `baseUrl` | string | No | Plane instance origin, optionally with a reverse-proxy path prefix. Defaults to [https://api.plane.so](https://api.plane.so). Do not include /api/v1 or /api/v2. |
  | `apiVersion` | string | No | API version: v2 (default) for Plane Cloud and current commercial instances; v1 for Community Edition or older self-hosted instances. Unsupported operations or fields fail explicitly. |
  | `bodyOverrides` | json | No | JSON overrides using the canonical input names for the selected API version. Preserves empty strings, null, and empty arrays; unsupported fields are rejected. |
  | `workspace_slug` | string | Yes | Workspace slug from the Plane URL (for example, my-team). |
  | `project_id` | string | Yes | The project the state belongs to. |
  | `pk` | string | Yes | The id of the state to update. |
  | `name` | string | No | New display name, unique within the project. Maximum 255 characters. Renaming is safe for reporting: boards and charts key off `group`, not `name`. |
  | `color` | string | No | Hex color used wherever the state is rendered, for example `#3f76ff`. Maximum 255 characters. |
  | `description` | string | No | Free-form description of what the state means in this workflow. |
  | `group` | string | No | Move the state to a different workflow group. This changes how every work item in the state is counted by boards, charts, and cycle progress, so switching a state from `started` to `completed` retroactively changes what those work items report as. - `backlog` — Not yet scheduled - `unstarted` — Scheduled but not begun - `started` — Actively in progress - `completed` — Finished successfully - `cancelled` — Closed without completion - `triage` — Awaiting intake review |
  | `sequence` | number | No | Ordering weight within the project. Lower values sort first. Set it to reposition the state in the workflow. |
  | `is_default` | boolean | No | Make this the project's default state — where work items land when no `state_id` is supplied. A project has exactly one default, so setting this to `true` clears the flag on the state that held it. |
  | `external_id` | string | No | Your system's identifier for this state, for sync and import correlation. Maximum 255 characters. |
  | `external_source` | string | No | The system `external_id` came from, for example `github` or `jira`. Maximum 255 characters. |
  | `fields` | string | No | Comma-separated list of fields to return. Unrequested keys are **omitted** from the response, not returned as `null`, so absent means "not requested" and `null` means "actually null". `id` always comes back whether or not you name it. Pass `all` for every requestable field. An unknown name is a `400` that lists the valid set and suggests the closest match, so a typo can't silently cost you the saving. Requestable here: `color`, `created_at`, `created_by_id`, `description`, `external_id`, `external_source`, `group`, `id`, `is_default`, `is_triage`, `name`, `sequence`. See \[Sparse fields]\([https://developers.plane.so/api-reference/v2/sparse-fields](https://developers.plane.so/api-reference/v2/sparse-fields)). |
  | `is_triage` | boolean | No | v1 compatibility only. Is triage. |
  | `default` | boolean | No | v1 compatibility only. Default. |

  #### Output [#output-64]

  | Parameter | Type | Description |
  | - | - | - |
  | `result` | object | Plane V2 States |
  | ↳ `id` | json | Id |
  | ↳ `name` | json | Name |
  | ↳ `description` | json | Description |
  | ↳ `color` | json | Color |
  | ↳ `group` | json | Group |
  | ↳ `sequence` | json | Sequence |
  | ↳ `is_default` | boolean | Is default |
  | ↳ `is_triage` | json | Is triage |
  | ↳ `external_id` | string | External id |
  | ↳ `external_source` | string | External source |
  | ↳ `created_at` | json | Created at |
  | ↳ `created_by_id` | string | Created by id |
  | ↳ `updated_at` | string | Updated at |
  | ↳ `deleted_at` | string | Deleted at |
  | ↳ `default` | boolean | Default |
  | ↳ `created_by` | string | Created by |
  | ↳ `updated_by` | string | Updated by |
  | ↳ `project` | string | Project |
  | ↳ `workspace` | string | Workspace |
  | ↳ `slug` | string | Slug |
  | ↳ `deleted_by` | json | Deleted by |
</ReferenceDetails>

### Plane Update a webhook [#plane-update-a-webhook]

Update a webhook in Plane. Requires API v2.

<ReferenceDetails>
  #### Input [#input-65]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `apiKey` | string | Yes | Plane personal access token from Profile → API tokens. |
  | `baseUrl` | string | No | Plane instance origin, optionally with a reverse-proxy path prefix. Defaults to [https://api.plane.so](https://api.plane.so). Do not include /api/v1 or /api/v2. |
  | `apiVersion` | string | No | API version: v2 (default) for Plane Cloud and current commercial instances; v1 for Community Edition or older self-hosted instances. Unsupported operations or fields fail explicitly. |
  | `bodyOverrides` | json | No | JSON overrides using the canonical input names for the selected API version. Preserves empty strings, null, and empty arrays; unsupported fields are rejected. |
  | `workspace_slug` | string | Yes | Workspace slug from the Plane URL (for example, my-team). |
  | `pk` | string | Yes | The webhook id. |
  | `content_type` | string | No | - `application/json` - application/json - `application/x-www-form-urlencoded` - application/x-www-form-urlencoded One of `application/json`, `application/x-www-form-urlencoded`. |
  | `is_active` | boolean | No | Whether the record is active. |
  | `name` | string | No | Display name. Maximum 255 characters. Nullable. |
  | `scopes` | json | No | The scopes. |
  | `url` | string | No | Target URL. |
  | `version` | string | No | Version string, for example `1.4.0`. Maximum 10 characters. |
  | `fields` | string | No | Comma-separated list of fields to return. Unrequested keys are **omitted**, not returned as `null`. `id` always comes back. Pass `all` for every requestable field. An unknown name is a `400`. See \[Sparse fields]\([https://developers.plane.so/api-reference/v2/sparse-fields](https://developers.plane.so/api-reference/v2/sparse-fields)). Requestable here: `content_type`, `created_at`, `created_by_id`, `id`, `is_active`, `name`, `scopes`, `url`, `version`. |

  #### Output [#output-65]

  | Parameter | Type | Description |
  | - | - | - |
  | `result` | object | Plane V2 Webhooks |
  | ↳ `content_type` | string | Content type |
  | ↳ `created_at` | string | Created at |
  | ↳ `created_by_id` | string | Created by id |
  | ↳ `id` | string | Unique identifier. |
  | ↳ `is_active` | boolean | Is active |
  | ↳ `name` | string | Name |
  | ↳ `scopes` | array | Scopes |
  | ↳ `url` | string | Url |
  | ↳ `version` | string | Version |
</ReferenceDetails>

### Plane Update a work item [#plane-update-a-work-item]

Update a work item in Plane. Supports API v1 compatibility.

<ReferenceDetails>
  #### Input [#input-66]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `apiKey` | string | Yes | Plane personal access token from Profile → API tokens. |
  | `baseUrl` | string | No | Plane instance origin, optionally with a reverse-proxy path prefix. Defaults to [https://api.plane.so](https://api.plane.so). Do not include /api/v1 or /api/v2. |
  | `apiVersion` | string | No | API version: v2 (default) for Plane Cloud and current commercial instances; v1 for Community Edition or older self-hosted instances. Unsupported operations or fields fail explicitly. |
  | `bodyOverrides` | json | No | JSON overrides using the canonical input names for the selected API version. Preserves empty strings, null, and empty arrays; unsupported fields are rejected. |
  | `workspace_slug` | string | Yes | Workspace slug from the Plane URL (for example, my-team). |
  | `project_id` | string | Yes | The project the work item belongs to. |
  | `pk` | string | Yes | The work item's UUID. This lookup is UUID-only — a `PROJ-142` identifier here returns `404`. |
  | `name` | string | No | New title. Maximum 255 characters. |
  | `description_html` | string | No | Replacement rich-text body as HTML. Sanitized on the way in; content that can't be sanitized is rejected with a `400`. Not part of the read shape, so it won't appear in the response. |
  | `priority` | string | No | One of `urgent`, `high`, `medium`, `low`, `none`. |
  | `state_id` | string | No | Move the work item to another state of the same project. This is the field workflow rules police — see \[Workflow rules]\(#workflow-rules-can-reject-a-transition). |
  | `state` | string | No | The target state's **name** instead of its id, for example `Done`. Matched case-insensitively within the project. Write-only. Sending both `state` and `state_id` is a `400`. |
  | `type_id` | string | No | Change the work item type. Send `null` to make the work item untyped. |
  | `type` | string | No | The type's **name** instead of its id, for example `Bug`. Write-only. |
  | `parent_id` | string | No | Re-parent the work item. The parent must be in the same workspace and may be in a different project. Send `null` to detach it and make it top-level. |
  | `parent` | string | No | The parent's **identifier** instead of its id, for example `PROJ-118`. Write-only. |
  | `assignee_ids` | json | No | **Replaces** the whole assignee set — it is not additive. Send the complete list you want, `\[\]` to unassign everyone, or omit the field to leave assignees untouched. |
  | `assignees` | json | No | Member **email addresses** instead of ids. Same replace-the-set semantics. Every address must belong to an active, assignable project member. Write-only. |
  | `label_ids` | json | No | **Replaces** the whole label set. Send `\[\]` to strip all labels, or omit the field to leave them untouched. |
  | `labels` | json | No | Label **names** instead of ids. Same replace-the-set semantics. A name that exists at both project and workspace level is ambiguous and returns a `400` telling you to use `label_ids`. Write-only. |
  | `estimate_point_id` | string | No | Change the estimate point, from the project's active estimate system. Send `null` to clear the estimate. |
  | `estimate` | string | No | The estimate point's **value** instead of its id, for example `5`. Write-only. |
  | `start_date` | string | No | Planned start, or `null` to clear it. Must not be after `target_date`. |
  | `target_date` | string | No | Planned due date, or `null` to clear it. |
  | `external_id` | string | No | Your system's identifier for this work item. Maximum 255 characters. Filterable on \[List work items]\([https://developers.plane.so/api-reference/v2/work-items/list-work-items](https://developers.plane.so/api-reference/v2/work-items/list-work-items)), but not returned on reads. |
  | `external_source` | string | No | The system `external_id` came from, for example `github` or `jira`. Maximum 255 characters. |
  | `fields` | string | No | Comma-separated list of fields to return. Unrequested keys are **omitted** from the response, not returned as `null`, so absent means "not requested" and `null` means "actually null". `id` always comes back whether or not you name it. Pass `all` for every requestable field. An unknown name is a `400` that lists the valid set and suggests the closest match, so a typo can't silently cost you the saving. Requestable here: `archived_at`, `assignee_ids`, `created_at`, `created_by_id`, `custom_fields`, `cycle_id`, `id`, `identifier`, `is_draft`, `label_ids`, `module_ids`, `name`, `parent_id`, `priority`, `project_id`, `sequence_id`, `start_date`, `state_id`, `target_date`, `type_id`. See \[Sparse fields]\([https://developers.plane.so/api-reference/v2/sparse-fields](https://developers.plane.so/api-reference/v2/sparse-fields)). |
  | `expand` | string | No | Comma-separated relations to embed alongside the ids: `assignees` (the assigned users), `cycle` (the cycle it belongs to), `labels` (the applied labels), `modules` (the modules it belongs to), `parent` (its parent work item), `state` (the work item's state object), `type` (its work item type). Expanded relations appear beside their ID fields and survive sparse field filtering. Use only the relation names listed above. |
  | `deleted_at` | string | No | v1 compatibility only. Deleted at. |
  | `point` | number | No | v1 compatibility only. Point. |
  | `sequence_id` | number | No | v1 compatibility only. Sequence id. |
  | `sort_order` | number | No | v1 compatibility only. Sort order. |
  | `archived_at` | string | No | v1 compatibility only. Archived at. |
  | `is_draft` | boolean | No | v1 compatibility only. Is draft. |
  | `created_by` | string | No | v1 compatibility only. Created by. |
  | `custom_fields` | json | No | JSON custom field values. API v2 only. |
  | `cycle_id` | string | No | Cycle ID. API v2 only. |
  | `module_ids` | json | No | Module IDs. API v2 only. |

  #### Output [#output-66]

  | Parameter | Type | Description |
  | - | - | - |
  | `result` | object | Plane V2 Work- Items |
  | ↳ `id` | json | Id |
  | ↳ `name` | json | Name |
  | ↳ `identifier` | string | Identifier |
  | ↳ `sequence_id` | json | Sequence id |
  | ↳ `priority` | json | Priority |
  | ↳ `state_id` | string | State id |
  | ↳ `type_id` | string | Type id |
  | ↳ `assignee_ids` | array | Assignee ids |
  | ↳ `label_ids` | array | Label ids |
  | ↳ `parent_id` | string | Parent id |
  | ↳ `start_date` | string | Start date |
  | ↳ `target_date` | string | Target date |
  | ↳ `is_draft` | json | Is draft |
  | ↳ `archived_at` | string | Archived at |
  | ↳ `created_at` | json | Created at |
  | ↳ `created_by_id` | string | Created by id |
  | ↳ `custom_fields` | json | Custom fields |
  | ↳ `assignees` | array | Assignees |
  | ↳ `id` | string | Asset Id |
  | ↳ `display_name` | string | Asset Id |
  | ↳ `avatar_url` | string | Asset Id |
  | ↳ `email` | string | Asset Id |
  | ↳ `first_name` | string | Asset Id |
  | ↳ `last_name` | string | Asset Id |
  | ↳ `avatar` | string | Asset Id |
  | ↳ `cycle` | json | Cycle |
  | ↳ `labels` | array | Labels |
  | ↳ `id` | string | Asset Id |
  | ↳ `deleted_by` | json | Id |
  | ↳ `created_at` | string | Asset Id |
  | ↳ `updated_at` | string | Asset Id |
  | ↳ `deleted_at` | json | Id |
  | ↳ `name` | string | Asset Id |
  | ↳ `description` | string | Asset Id |
  | ↳ `color` | string | Asset Id |
  | ↳ `sort_order` | number | Sort Order |
  | ↳ `external_source` | json | Id |
  | ↳ `external_id` | json | Id |
  | ↳ `created_by` | string | Asset Id |
  | ↳ `updated_by` | json | Id |
  | ↳ `workspace` | string | Asset Id |
  | ↳ `project` | string | Asset Id |
  | ↳ `parent` | json | Id |
  | ↳ `modules` | array | Modules |
  | ↳ `parent` | json | Parent |
  | ↳ `id` | string | Asset Id |
  | ↳ `name` | string | Asset Id |
  | ↳ `sequence_id` | number | Access |
  | ↳ `state` | json | State |
  | ↳ `id` | string | Asset Id |
  | ↳ `name` | string | Asset Id |
  | ↳ `color` | string | Asset Id |
  | ↳ `group` | json | Group |
  | ↳ `type` | json | Type |
  | ↳ `id` | string | Asset Id |
  | ↳ `name` | string | Asset Id |
  | ↳ `logo_props` | json | Logo Props |
  | ↳ `is_epic` | boolean | Has Pages |
  | ↳ `project_id` | string | Project id |
  | ↳ `cycle_id` | string | Cycle id |
  | ↳ `module_ids` | array | Module ids |
  | ↳ `updated_at` | string | Updated at |
  | ↳ `deleted_at` | string | Deleted at |
  | ↳ `point` | number | Point |
  | ↳ `description_html` | string | Description html |
  | ↳ `description_stripped` | string | Description stripped |
  | ↳ `description_binary` | string | Description binary |
  | ↳ `sort_order` | number | Sort order |
  | ↳ `completed_at` | string | Completed at |
  | ↳ `external_source` | string | External source |
  | ↳ `external_id` | string | External id |
  | ↳ `created_by` | string | Created by |
  | ↳ `updated_by` | string | Updated by |
  | ↳ `project` | json | Project |
  | ↳ `workspace` | string | Workspace |
  | ↳ `estimate_point` | string | Estimate point |
  | ↳ `description` | string | Description |
  | ↳ `deleted_by` | json | Deleted by |
  | ↳ `created_via` | json | Created via |
  | ↳ `updated_via` | json | Updated via |
  | ↳ `last_activity_at` | string | Last activity at |
  | ↳ `min_assignee_first_name` | string | Min assignee first name |
  | ↳ `min_label_name` | string | Min label name |
  | ↳ `min_module_name` | string | Min module name |
  | ↳ `priority_rank` | number | Priority rank |
  | ↳ `state_group` | string | State group |
</ReferenceDetails>

## Triggers [#triggers]

A trigger starts a workflow when a supported event occurs in this service.

### Plane All Events [#plane-all-events]

Trigger a workflow for any signed Plane event.

<ReferenceDetails label="Configuration and outputs">
  #### Configuration [#configuration]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `autoRegister` | boolean | No | Requires the Plane v2 webhook API. Use manual setup for Community Edition. |
  | `triggerApiKey` | string | No | API Token |
  | `triggerBaseUrl` | string | No | Instance URL |
  | `triggerWorkspaceSlug` | string | No | Workspace Slug |
  | `webhookSecret` | string | No | Webhook Secret |
  | `projectId` | string | No | Self-hosted v1 deletions without project information are skipped when this filter is set. |
  | `workspaceId` | string | No | Workspace ID |

  #### Output [#output-67]

  | Parameter | Type | Description |
  | - | - | - |
  | `version` | string | Payload version: v1 or v2. |
  | `event` | string | Original Plane event or v1 resource name. |
  | `eventName` | string | Normalized event name, such as workitem.updated. |
  | `action` | string | v1 action; null for v2. |
  | `event_id` | string | v2 event ID, stable across retries; null for v1. |
  | `delivery_id` | string | Delivery attempt ID from the payload or X-Plane-Delivery header. |
  | `entity_id` | string | v2 primary entity ID; null for v1. |
  | `entity_type` | string | v2 entity type; null for v1. |
  | `webhook_id` | string | Plane webhook configuration ID. |
  | `workspace_id` | string | Plane workspace ID. |
  | `workspace_slug` | string | v1 workspace slug; null for v2. |
  | `data` | json | Complete entity payload, including resource-specific fields. v2 deletions send an empty object. |
  | `activity` | json | v1 changed field, old/new values, actor and identifiers; null for v2. |
  | `previous_attributes` | json | v2 previous changed values or full deleted record; null for v1. |
</ReferenceDetails>

### Plane Cycle Archived [#plane-cycle-archived]

Trigger a workflow for Plane cycle archived events.

<ReferenceDetails label="Configuration and outputs">
  #### Configuration [#configuration-1]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `autoRegister` | boolean | No | Requires the Plane v2 webhook API. Use manual setup for Community Edition. |
  | `triggerApiKey` | string | No | API Token |
  | `triggerBaseUrl` | string | No | Instance URL |
  | `triggerWorkspaceSlug` | string | No | Workspace Slug |
  | `webhookSecret` | string | No | Webhook Secret |
  | `projectId` | string | No | Self-hosted v1 deletions without project information are skipped when this filter is set. |
  | `workspaceId` | string | No | Workspace ID |

  #### Output [#output-68]

  | Parameter | Type | Description |
  | - | - | - |
  | `version` | string | Payload version: v1 or v2. |
  | `event` | string | Original Plane event or v1 resource name. |
  | `eventName` | string | Normalized event name, such as workitem.updated. |
  | `action` | string | v1 action; null for v2. |
  | `event_id` | string | v2 event ID, stable across retries; null for v1. |
  | `delivery_id` | string | Delivery attempt ID from the payload or X-Plane-Delivery header. |
  | `entity_id` | string | v2 primary entity ID; null for v1. |
  | `entity_type` | string | v2 entity type; null for v1. |
  | `webhook_id` | string | Plane webhook configuration ID. |
  | `workspace_id` | string | Plane workspace ID. |
  | `workspace_slug` | string | v1 workspace slug; null for v2. |
  | `data` | json | Complete entity payload, including resource-specific fields. v2 deletions send an empty object. |
  | `activity` | json | v1 changed field, old/new values, actor and identifiers; null for v2. |
  | `previous_attributes` | json | v2 previous changed values or full deleted record; null for v1. |
</ReferenceDetails>

### Plane Cycle Created [#plane-cycle-created]

Trigger a workflow for Plane cycle created events.

<ReferenceDetails label="Configuration and outputs">
  #### Configuration [#configuration-2]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `autoRegister` | boolean | No | Requires the Plane v2 webhook API. Use manual setup for Community Edition. |
  | `triggerApiKey` | string | No | API Token |
  | `triggerBaseUrl` | string | No | Instance URL |
  | `triggerWorkspaceSlug` | string | No | Workspace Slug |
  | `webhookSecret` | string | No | Webhook Secret |
  | `projectId` | string | No | Self-hosted v1 deletions without project information are skipped when this filter is set. |
  | `workspaceId` | string | No | Workspace ID |

  #### Output [#output-69]

  | Parameter | Type | Description |
  | - | - | - |
  | `version` | string | Payload version: v1 or v2. |
  | `event` | string | Original Plane event or v1 resource name. |
  | `eventName` | string | Normalized event name, such as workitem.updated. |
  | `action` | string | v1 action; null for v2. |
  | `event_id` | string | v2 event ID, stable across retries; null for v1. |
  | `delivery_id` | string | Delivery attempt ID from the payload or X-Plane-Delivery header. |
  | `entity_id` | string | v2 primary entity ID; null for v1. |
  | `entity_type` | string | v2 entity type; null for v1. |
  | `webhook_id` | string | Plane webhook configuration ID. |
  | `workspace_id` | string | Plane workspace ID. |
  | `workspace_slug` | string | v1 workspace slug; null for v2. |
  | `data` | json | Complete entity payload, including resource-specific fields. v2 deletions send an empty object. |
  | `activity` | json | v1 changed field, old/new values, actor and identifiers; null for v2. |
  | `previous_attributes` | json | v2 previous changed values or full deleted record; null for v1. |
</ReferenceDetails>

### Plane Cycle Deleted [#plane-cycle-deleted]

Trigger a workflow for Plane cycle deleted events.

<ReferenceDetails label="Configuration and outputs">
  #### Configuration [#configuration-3]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `autoRegister` | boolean | No | Requires the Plane v2 webhook API. Use manual setup for Community Edition. |
  | `triggerApiKey` | string | No | API Token |
  | `triggerBaseUrl` | string | No | Instance URL |
  | `triggerWorkspaceSlug` | string | No | Workspace Slug |
  | `webhookSecret` | string | No | Webhook Secret |
  | `projectId` | string | No | Self-hosted v1 deletions without project information are skipped when this filter is set. |
  | `workspaceId` | string | No | Workspace ID |

  #### Output [#output-70]

  | Parameter | Type | Description |
  | - | - | - |
  | `version` | string | Payload version: v1 or v2. |
  | `event` | string | Original Plane event or v1 resource name. |
  | `eventName` | string | Normalized event name, such as workitem.updated. |
  | `action` | string | v1 action; null for v2. |
  | `event_id` | string | v2 event ID, stable across retries; null for v1. |
  | `delivery_id` | string | Delivery attempt ID from the payload or X-Plane-Delivery header. |
  | `entity_id` | string | v2 primary entity ID; null for v1. |
  | `entity_type` | string | v2 entity type; null for v1. |
  | `webhook_id` | string | Plane webhook configuration ID. |
  | `workspace_id` | string | Plane workspace ID. |
  | `workspace_slug` | string | v1 workspace slug; null for v2. |
  | `data` | json | Complete entity payload, including resource-specific fields. v2 deletions send an empty object. |
  | `activity` | json | v1 changed field, old/new values, actor and identifiers; null for v2. |
  | `previous_attributes` | json | v2 previous changed values or full deleted record; null for v1. |
</ReferenceDetails>

### Plane Cycle Updated [#plane-cycle-updated]

Trigger a workflow for Plane cycle updated events.

<ReferenceDetails label="Configuration and outputs">
  #### Configuration [#configuration-4]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `autoRegister` | boolean | No | Requires the Plane v2 webhook API. Use manual setup for Community Edition. |
  | `triggerApiKey` | string | No | API Token |
  | `triggerBaseUrl` | string | No | Instance URL |
  | `triggerWorkspaceSlug` | string | No | Workspace Slug |
  | `webhookSecret` | string | No | Webhook Secret |
  | `projectId` | string | No | Self-hosted v1 deletions without project information are skipped when this filter is set. |
  | `workspaceId` | string | No | Workspace ID |

  #### Output [#output-71]

  | Parameter | Type | Description |
  | - | - | - |
  | `version` | string | Payload version: v1 or v2. |
  | `event` | string | Original Plane event or v1 resource name. |
  | `eventName` | string | Normalized event name, such as workitem.updated. |
  | `action` | string | v1 action; null for v2. |
  | `event_id` | string | v2 event ID, stable across retries; null for v1. |
  | `delivery_id` | string | Delivery attempt ID from the payload or X-Plane-Delivery header. |
  | `entity_id` | string | v2 primary entity ID; null for v1. |
  | `entity_type` | string | v2 entity type; null for v1. |
  | `webhook_id` | string | Plane webhook configuration ID. |
  | `workspace_id` | string | Plane workspace ID. |
  | `workspace_slug` | string | v1 workspace slug; null for v2. |
  | `data` | json | Complete entity payload, including resource-specific fields. v2 deletions send an empty object. |
  | `activity` | json | v1 changed field, old/new values, actor and identifiers; null for v2. |
  | `previous_attributes` | json | v2 previous changed values or full deleted record; null for v1. |
</ReferenceDetails>

### Plane Milestone Created [#plane-milestone-created]

Trigger a workflow for Plane milestone created events.

<ReferenceDetails label="Configuration and outputs">
  #### Configuration [#configuration-5]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `autoRegister` | boolean | No | Requires the Plane v2 webhook API. Use manual setup for Community Edition. |
  | `triggerApiKey` | string | No | API Token |
  | `triggerBaseUrl` | string | No | Instance URL |
  | `triggerWorkspaceSlug` | string | No | Workspace Slug |
  | `webhookSecret` | string | No | Webhook Secret |
  | `projectId` | string | No | Self-hosted v1 deletions without project information are skipped when this filter is set. |
  | `workspaceId` | string | No | Workspace ID |

  #### Output [#output-72]

  | Parameter | Type | Description |
  | - | - | - |
  | `version` | string | Payload version: v1 or v2. |
  | `event` | string | Original Plane event or v1 resource name. |
  | `eventName` | string | Normalized event name, such as workitem.updated. |
  | `action` | string | v1 action; null for v2. |
  | `event_id` | string | v2 event ID, stable across retries; null for v1. |
  | `delivery_id` | string | Delivery attempt ID from the payload or X-Plane-Delivery header. |
  | `entity_id` | string | v2 primary entity ID; null for v1. |
  | `entity_type` | string | v2 entity type; null for v1. |
  | `webhook_id` | string | Plane webhook configuration ID. |
  | `workspace_id` | string | Plane workspace ID. |
  | `workspace_slug` | string | v1 workspace slug; null for v2. |
  | `data` | json | Complete entity payload, including resource-specific fields. v2 deletions send an empty object. |
  | `activity` | json | v1 changed field, old/new values, actor and identifiers; null for v2. |
  | `previous_attributes` | json | v2 previous changed values or full deleted record; null for v1. |
</ReferenceDetails>

### Plane Milestone Deleted [#plane-milestone-deleted]

Trigger a workflow for Plane milestone deleted events.

<ReferenceDetails label="Configuration and outputs">
  #### Configuration [#configuration-6]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `autoRegister` | boolean | No | Requires the Plane v2 webhook API. Use manual setup for Community Edition. |
  | `triggerApiKey` | string | No | API Token |
  | `triggerBaseUrl` | string | No | Instance URL |
  | `triggerWorkspaceSlug` | string | No | Workspace Slug |
  | `webhookSecret` | string | No | Webhook Secret |
  | `projectId` | string | No | Self-hosted v1 deletions without project information are skipped when this filter is set. |
  | `workspaceId` | string | No | Workspace ID |

  #### Output [#output-73]

  | Parameter | Type | Description |
  | - | - | - |
  | `version` | string | Payload version: v1 or v2. |
  | `event` | string | Original Plane event or v1 resource name. |
  | `eventName` | string | Normalized event name, such as workitem.updated. |
  | `action` | string | v1 action; null for v2. |
  | `event_id` | string | v2 event ID, stable across retries; null for v1. |
  | `delivery_id` | string | Delivery attempt ID from the payload or X-Plane-Delivery header. |
  | `entity_id` | string | v2 primary entity ID; null for v1. |
  | `entity_type` | string | v2 entity type; null for v1. |
  | `webhook_id` | string | Plane webhook configuration ID. |
  | `workspace_id` | string | Plane workspace ID. |
  | `workspace_slug` | string | v1 workspace slug; null for v2. |
  | `data` | json | Complete entity payload, including resource-specific fields. v2 deletions send an empty object. |
  | `activity` | json | v1 changed field, old/new values, actor and identifiers; null for v2. |
  | `previous_attributes` | json | v2 previous changed values or full deleted record; null for v1. |
</ReferenceDetails>

### Plane Milestone Updated [#plane-milestone-updated]

Trigger a workflow for Plane milestone updated events.

<ReferenceDetails label="Configuration and outputs">
  #### Configuration [#configuration-7]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `autoRegister` | boolean | No | Requires the Plane v2 webhook API. Use manual setup for Community Edition. |
  | `triggerApiKey` | string | No | API Token |
  | `triggerBaseUrl` | string | No | Instance URL |
  | `triggerWorkspaceSlug` | string | No | Workspace Slug |
  | `webhookSecret` | string | No | Webhook Secret |
  | `projectId` | string | No | Self-hosted v1 deletions without project information are skipped when this filter is set. |
  | `workspaceId` | string | No | Workspace ID |

  #### Output [#output-74]

  | Parameter | Type | Description |
  | - | - | - |
  | `version` | string | Payload version: v1 or v2. |
  | `event` | string | Original Plane event or v1 resource name. |
  | `eventName` | string | Normalized event name, such as workitem.updated. |
  | `action` | string | v1 action; null for v2. |
  | `event_id` | string | v2 event ID, stable across retries; null for v1. |
  | `delivery_id` | string | Delivery attempt ID from the payload or X-Plane-Delivery header. |
  | `entity_id` | string | v2 primary entity ID; null for v1. |
  | `entity_type` | string | v2 entity type; null for v1. |
  | `webhook_id` | string | Plane webhook configuration ID. |
  | `workspace_id` | string | Plane workspace ID. |
  | `workspace_slug` | string | v1 workspace slug; null for v2. |
  | `data` | json | Complete entity payload, including resource-specific fields. v2 deletions send an empty object. |
  | `activity` | json | v1 changed field, old/new values, actor and identifiers; null for v2. |
  | `previous_attributes` | json | v2 previous changed values or full deleted record; null for v1. |
</ReferenceDetails>

### Plane Module Archived [#plane-module-archived]

Trigger a workflow for Plane module archived events.

<ReferenceDetails label="Configuration and outputs">
  #### Configuration [#configuration-8]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `autoRegister` | boolean | No | Requires the Plane v2 webhook API. Use manual setup for Community Edition. |
  | `triggerApiKey` | string | No | API Token |
  | `triggerBaseUrl` | string | No | Instance URL |
  | `triggerWorkspaceSlug` | string | No | Workspace Slug |
  | `webhookSecret` | string | No | Webhook Secret |
  | `projectId` | string | No | Self-hosted v1 deletions without project information are skipped when this filter is set. |
  | `workspaceId` | string | No | Workspace ID |

  #### Output [#output-75]

  | Parameter | Type | Description |
  | - | - | - |
  | `version` | string | Payload version: v1 or v2. |
  | `event` | string | Original Plane event or v1 resource name. |
  | `eventName` | string | Normalized event name, such as workitem.updated. |
  | `action` | string | v1 action; null for v2. |
  | `event_id` | string | v2 event ID, stable across retries; null for v1. |
  | `delivery_id` | string | Delivery attempt ID from the payload or X-Plane-Delivery header. |
  | `entity_id` | string | v2 primary entity ID; null for v1. |
  | `entity_type` | string | v2 entity type; null for v1. |
  | `webhook_id` | string | Plane webhook configuration ID. |
  | `workspace_id` | string | Plane workspace ID. |
  | `workspace_slug` | string | v1 workspace slug; null for v2. |
  | `data` | json | Complete entity payload, including resource-specific fields. v2 deletions send an empty object. |
  | `activity` | json | v1 changed field, old/new values, actor and identifiers; null for v2. |
  | `previous_attributes` | json | v2 previous changed values or full deleted record; null for v1. |
</ReferenceDetails>

### Plane Module Created [#plane-module-created]

Trigger a workflow for Plane module created events.

<ReferenceDetails label="Configuration and outputs">
  #### Configuration [#configuration-9]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `autoRegister` | boolean | No | Requires the Plane v2 webhook API. Use manual setup for Community Edition. |
  | `triggerApiKey` | string | No | API Token |
  | `triggerBaseUrl` | string | No | Instance URL |
  | `triggerWorkspaceSlug` | string | No | Workspace Slug |
  | `webhookSecret` | string | No | Webhook Secret |
  | `projectId` | string | No | Self-hosted v1 deletions without project information are skipped when this filter is set. |
  | `workspaceId` | string | No | Workspace ID |

  #### Output [#output-76]

  | Parameter | Type | Description |
  | - | - | - |
  | `version` | string | Payload version: v1 or v2. |
  | `event` | string | Original Plane event or v1 resource name. |
  | `eventName` | string | Normalized event name, such as workitem.updated. |
  | `action` | string | v1 action; null for v2. |
  | `event_id` | string | v2 event ID, stable across retries; null for v1. |
  | `delivery_id` | string | Delivery attempt ID from the payload or X-Plane-Delivery header. |
  | `entity_id` | string | v2 primary entity ID; null for v1. |
  | `entity_type` | string | v2 entity type; null for v1. |
  | `webhook_id` | string | Plane webhook configuration ID. |
  | `workspace_id` | string | Plane workspace ID. |
  | `workspace_slug` | string | v1 workspace slug; null for v2. |
  | `data` | json | Complete entity payload, including resource-specific fields. v2 deletions send an empty object. |
  | `activity` | json | v1 changed field, old/new values, actor and identifiers; null for v2. |
  | `previous_attributes` | json | v2 previous changed values or full deleted record; null for v1. |
</ReferenceDetails>

### Plane Module Deleted [#plane-module-deleted]

Trigger a workflow for Plane module deleted events.

<ReferenceDetails label="Configuration and outputs">
  #### Configuration [#configuration-10]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `autoRegister` | boolean | No | Requires the Plane v2 webhook API. Use manual setup for Community Edition. |
  | `triggerApiKey` | string | No | API Token |
  | `triggerBaseUrl` | string | No | Instance URL |
  | `triggerWorkspaceSlug` | string | No | Workspace Slug |
  | `webhookSecret` | string | No | Webhook Secret |
  | `projectId` | string | No | Self-hosted v1 deletions without project information are skipped when this filter is set. |
  | `workspaceId` | string | No | Workspace ID |

  #### Output [#output-77]

  | Parameter | Type | Description |
  | - | - | - |
  | `version` | string | Payload version: v1 or v2. |
  | `event` | string | Original Plane event or v1 resource name. |
  | `eventName` | string | Normalized event name, such as workitem.updated. |
  | `action` | string | v1 action; null for v2. |
  | `event_id` | string | v2 event ID, stable across retries; null for v1. |
  | `delivery_id` | string | Delivery attempt ID from the payload or X-Plane-Delivery header. |
  | `entity_id` | string | v2 primary entity ID; null for v1. |
  | `entity_type` | string | v2 entity type; null for v1. |
  | `webhook_id` | string | Plane webhook configuration ID. |
  | `workspace_id` | string | Plane workspace ID. |
  | `workspace_slug` | string | v1 workspace slug; null for v2. |
  | `data` | json | Complete entity payload, including resource-specific fields. v2 deletions send an empty object. |
  | `activity` | json | v1 changed field, old/new values, actor and identifiers; null for v2. |
  | `previous_attributes` | json | v2 previous changed values or full deleted record; null for v1. |
</ReferenceDetails>

### Plane Module Updated [#plane-module-updated]

Trigger a workflow for Plane module updated events.

<ReferenceDetails label="Configuration and outputs">
  #### Configuration [#configuration-11]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `autoRegister` | boolean | No | Requires the Plane v2 webhook API. Use manual setup for Community Edition. |
  | `triggerApiKey` | string | No | API Token |
  | `triggerBaseUrl` | string | No | Instance URL |
  | `triggerWorkspaceSlug` | string | No | Workspace Slug |
  | `webhookSecret` | string | No | Webhook Secret |
  | `projectId` | string | No | Self-hosted v1 deletions without project information are skipped when this filter is set. |
  | `workspaceId` | string | No | Workspace ID |

  #### Output [#output-78]

  | Parameter | Type | Description |
  | - | - | - |
  | `version` | string | Payload version: v1 or v2. |
  | `event` | string | Original Plane event or v1 resource name. |
  | `eventName` | string | Normalized event name, such as workitem.updated. |
  | `action` | string | v1 action; null for v2. |
  | `event_id` | string | v2 event ID, stable across retries; null for v1. |
  | `delivery_id` | string | Delivery attempt ID from the payload or X-Plane-Delivery header. |
  | `entity_id` | string | v2 primary entity ID; null for v1. |
  | `entity_type` | string | v2 entity type; null for v1. |
  | `webhook_id` | string | Plane webhook configuration ID. |
  | `workspace_id` | string | Plane workspace ID. |
  | `workspace_slug` | string | v1 workspace slug; null for v2. |
  | `data` | json | Complete entity payload, including resource-specific fields. v2 deletions send an empty object. |
  | `activity` | json | v1 changed field, old/new values, actor and identifiers; null for v2. |
  | `previous_attributes` | json | v2 previous changed values or full deleted record; null for v1. |
</ReferenceDetails>

### Plane Page Archived [#plane-page-archived]

Trigger a workflow for Plane page archived events.

<ReferenceDetails label="Configuration and outputs">
  #### Configuration [#configuration-12]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `autoRegister` | boolean | No | Requires the Plane v2 webhook API. Use manual setup for Community Edition. |
  | `triggerApiKey` | string | No | API Token |
  | `triggerBaseUrl` | string | No | Instance URL |
  | `triggerWorkspaceSlug` | string | No | Workspace Slug |
  | `webhookSecret` | string | No | Webhook Secret |
  | `projectId` | string | No | Self-hosted v1 deletions without project information are skipped when this filter is set. |
  | `workspaceId` | string | No | Workspace ID |

  #### Output [#output-79]

  | Parameter | Type | Description |
  | - | - | - |
  | `version` | string | Payload version: v1 or v2. |
  | `event` | string | Original Plane event or v1 resource name. |
  | `eventName` | string | Normalized event name, such as workitem.updated. |
  | `action` | string | v1 action; null for v2. |
  | `event_id` | string | v2 event ID, stable across retries; null for v1. |
  | `delivery_id` | string | Delivery attempt ID from the payload or X-Plane-Delivery header. |
  | `entity_id` | string | v2 primary entity ID; null for v1. |
  | `entity_type` | string | v2 entity type; null for v1. |
  | `webhook_id` | string | Plane webhook configuration ID. |
  | `workspace_id` | string | Plane workspace ID. |
  | `workspace_slug` | string | v1 workspace slug; null for v2. |
  | `data` | json | Complete entity payload, including resource-specific fields. v2 deletions send an empty object. |
  | `activity` | json | v1 changed field, old/new values, actor and identifiers; null for v2. |
  | `previous_attributes` | json | v2 previous changed values or full deleted record; null for v1. |
</ReferenceDetails>

### Plane Page Comment Created [#plane-page-comment-created]

Trigger a workflow for Plane page comment created events.

<ReferenceDetails label="Configuration and outputs">
  #### Configuration [#configuration-13]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `autoRegister` | boolean | No | Requires the Plane v2 webhook API. Use manual setup for Community Edition. |
  | `triggerApiKey` | string | No | API Token |
  | `triggerBaseUrl` | string | No | Instance URL |
  | `triggerWorkspaceSlug` | string | No | Workspace Slug |
  | `webhookSecret` | string | No | Webhook Secret |
  | `projectId` | string | No | Self-hosted v1 deletions without project information are skipped when this filter is set. |
  | `workspaceId` | string | No | Workspace ID |

  #### Output [#output-80]

  | Parameter | Type | Description |
  | - | - | - |
  | `version` | string | Payload version: v1 or v2. |
  | `event` | string | Original Plane event or v1 resource name. |
  | `eventName` | string | Normalized event name, such as workitem.updated. |
  | `action` | string | v1 action; null for v2. |
  | `event_id` | string | v2 event ID, stable across retries; null for v1. |
  | `delivery_id` | string | Delivery attempt ID from the payload or X-Plane-Delivery header. |
  | `entity_id` | string | v2 primary entity ID; null for v1. |
  | `entity_type` | string | v2 entity type; null for v1. |
  | `webhook_id` | string | Plane webhook configuration ID. |
  | `workspace_id` | string | Plane workspace ID. |
  | `workspace_slug` | string | v1 workspace slug; null for v2. |
  | `data` | json | Complete entity payload, including resource-specific fields. v2 deletions send an empty object. |
  | `activity` | json | v1 changed field, old/new values, actor and identifiers; null for v2. |
  | `previous_attributes` | json | v2 previous changed values or full deleted record; null for v1. |
</ReferenceDetails>

### Plane Page Comment Deleted [#plane-page-comment-deleted]

Trigger a workflow for Plane page comment deleted events.

<ReferenceDetails label="Configuration and outputs">
  #### Configuration [#configuration-14]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `autoRegister` | boolean | No | Requires the Plane v2 webhook API. Use manual setup for Community Edition. |
  | `triggerApiKey` | string | No | API Token |
  | `triggerBaseUrl` | string | No | Instance URL |
  | `triggerWorkspaceSlug` | string | No | Workspace Slug |
  | `webhookSecret` | string | No | Webhook Secret |
  | `projectId` | string | No | Self-hosted v1 deletions without project information are skipped when this filter is set. |
  | `workspaceId` | string | No | Workspace ID |

  #### Output [#output-81]

  | Parameter | Type | Description |
  | - | - | - |
  | `version` | string | Payload version: v1 or v2. |
  | `event` | string | Original Plane event or v1 resource name. |
  | `eventName` | string | Normalized event name, such as workitem.updated. |
  | `action` | string | v1 action; null for v2. |
  | `event_id` | string | v2 event ID, stable across retries; null for v1. |
  | `delivery_id` | string | Delivery attempt ID from the payload or X-Plane-Delivery header. |
  | `entity_id` | string | v2 primary entity ID; null for v1. |
  | `entity_type` | string | v2 entity type; null for v1. |
  | `webhook_id` | string | Plane webhook configuration ID. |
  | `workspace_id` | string | Plane workspace ID. |
  | `workspace_slug` | string | v1 workspace slug; null for v2. |
  | `data` | json | Complete entity payload, including resource-specific fields. v2 deletions send an empty object. |
  | `activity` | json | v1 changed field, old/new values, actor and identifiers; null for v2. |
  | `previous_attributes` | json | v2 previous changed values or full deleted record; null for v1. |
</ReferenceDetails>

### Plane Page Comment Updated [#plane-page-comment-updated]

Trigger a workflow for Plane page comment updated events.

<ReferenceDetails label="Configuration and outputs">
  #### Configuration [#configuration-15]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `autoRegister` | boolean | No | Requires the Plane v2 webhook API. Use manual setup for Community Edition. |
  | `triggerApiKey` | string | No | API Token |
  | `triggerBaseUrl` | string | No | Instance URL |
  | `triggerWorkspaceSlug` | string | No | Workspace Slug |
  | `webhookSecret` | string | No | Webhook Secret |
  | `projectId` | string | No | Self-hosted v1 deletions without project information are skipped when this filter is set. |
  | `workspaceId` | string | No | Workspace ID |

  #### Output [#output-82]

  | Parameter | Type | Description |
  | - | - | - |
  | `version` | string | Payload version: v1 or v2. |
  | `event` | string | Original Plane event or v1 resource name. |
  | `eventName` | string | Normalized event name, such as workitem.updated. |
  | `action` | string | v1 action; null for v2. |
  | `event_id` | string | v2 event ID, stable across retries; null for v1. |
  | `delivery_id` | string | Delivery attempt ID from the payload or X-Plane-Delivery header. |
  | `entity_id` | string | v2 primary entity ID; null for v1. |
  | `entity_type` | string | v2 entity type; null for v1. |
  | `webhook_id` | string | Plane webhook configuration ID. |
  | `workspace_id` | string | Plane workspace ID. |
  | `workspace_slug` | string | v1 workspace slug; null for v2. |
  | `data` | json | Complete entity payload, including resource-specific fields. v2 deletions send an empty object. |
  | `activity` | json | v1 changed field, old/new values, actor and identifiers; null for v2. |
  | `previous_attributes` | json | v2 previous changed values or full deleted record; null for v1. |
</ReferenceDetails>

### Plane Page Created [#plane-page-created]

Trigger a workflow for Plane page created events.

<ReferenceDetails label="Configuration and outputs">
  #### Configuration [#configuration-16]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `autoRegister` | boolean | No | Requires the Plane v2 webhook API. Use manual setup for Community Edition. |
  | `triggerApiKey` | string | No | API Token |
  | `triggerBaseUrl` | string | No | Instance URL |
  | `triggerWorkspaceSlug` | string | No | Workspace Slug |
  | `webhookSecret` | string | No | Webhook Secret |
  | `projectId` | string | No | Self-hosted v1 deletions without project information are skipped when this filter is set. |
  | `workspaceId` | string | No | Workspace ID |

  #### Output [#output-83]

  | Parameter | Type | Description |
  | - | - | - |
  | `version` | string | Payload version: v1 or v2. |
  | `event` | string | Original Plane event or v1 resource name. |
  | `eventName` | string | Normalized event name, such as workitem.updated. |
  | `action` | string | v1 action; null for v2. |
  | `event_id` | string | v2 event ID, stable across retries; null for v1. |
  | `delivery_id` | string | Delivery attempt ID from the payload or X-Plane-Delivery header. |
  | `entity_id` | string | v2 primary entity ID; null for v1. |
  | `entity_type` | string | v2 entity type; null for v1. |
  | `webhook_id` | string | Plane webhook configuration ID. |
  | `workspace_id` | string | Plane workspace ID. |
  | `workspace_slug` | string | v1 workspace slug; null for v2. |
  | `data` | json | Complete entity payload, including resource-specific fields. v2 deletions send an empty object. |
  | `activity` | json | v1 changed field, old/new values, actor and identifiers; null for v2. |
  | `previous_attributes` | json | v2 previous changed values or full deleted record; null for v1. |
</ReferenceDetails>

### Plane Page Deleted [#plane-page-deleted]

Trigger a workflow for Plane page deleted events.

<ReferenceDetails label="Configuration and outputs">
  #### Configuration [#configuration-17]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `autoRegister` | boolean | No | Requires the Plane v2 webhook API. Use manual setup for Community Edition. |
  | `triggerApiKey` | string | No | API Token |
  | `triggerBaseUrl` | string | No | Instance URL |
  | `triggerWorkspaceSlug` | string | No | Workspace Slug |
  | `webhookSecret` | string | No | Webhook Secret |
  | `projectId` | string | No | Self-hosted v1 deletions without project information are skipped when this filter is set. |
  | `workspaceId` | string | No | Workspace ID |

  #### Output [#output-84]

  | Parameter | Type | Description |
  | - | - | - |
  | `version` | string | Payload version: v1 or v2. |
  | `event` | string | Original Plane event or v1 resource name. |
  | `eventName` | string | Normalized event name, such as workitem.updated. |
  | `action` | string | v1 action; null for v2. |
  | `event_id` | string | v2 event ID, stable across retries; null for v1. |
  | `delivery_id` | string | Delivery attempt ID from the payload or X-Plane-Delivery header. |
  | `entity_id` | string | v2 primary entity ID; null for v1. |
  | `entity_type` | string | v2 entity type; null for v1. |
  | `webhook_id` | string | Plane webhook configuration ID. |
  | `workspace_id` | string | Plane workspace ID. |
  | `workspace_slug` | string | v1 workspace slug; null for v2. |
  | `data` | json | Complete entity payload, including resource-specific fields. v2 deletions send an empty object. |
  | `activity` | json | v1 changed field, old/new values, actor and identifiers; null for v2. |
  | `previous_attributes` | json | v2 previous changed values or full deleted record; null for v1. |
</ReferenceDetails>

### Plane Page Updated [#plane-page-updated]

Trigger a workflow for Plane page updated events.

<ReferenceDetails label="Configuration and outputs">
  #### Configuration [#configuration-18]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `autoRegister` | boolean | No | Requires the Plane v2 webhook API. Use manual setup for Community Edition. |
  | `triggerApiKey` | string | No | API Token |
  | `triggerBaseUrl` | string | No | Instance URL |
  | `triggerWorkspaceSlug` | string | No | Workspace Slug |
  | `webhookSecret` | string | No | Webhook Secret |
  | `projectId` | string | No | Self-hosted v1 deletions without project information are skipped when this filter is set. |
  | `workspaceId` | string | No | Workspace ID |

  #### Output [#output-85]

  | Parameter | Type | Description |
  | - | - | - |
  | `version` | string | Payload version: v1 or v2. |
  | `event` | string | Original Plane event or v1 resource name. |
  | `eventName` | string | Normalized event name, such as workitem.updated. |
  | `action` | string | v1 action; null for v2. |
  | `event_id` | string | v2 event ID, stable across retries; null for v1. |
  | `delivery_id` | string | Delivery attempt ID from the payload or X-Plane-Delivery header. |
  | `entity_id` | string | v2 primary entity ID; null for v1. |
  | `entity_type` | string | v2 entity type; null for v1. |
  | `webhook_id` | string | Plane webhook configuration ID. |
  | `workspace_id` | string | Plane workspace ID. |
  | `workspace_slug` | string | v1 workspace slug; null for v2. |
  | `data` | json | Complete entity payload, including resource-specific fields. v2 deletions send an empty object. |
  | `activity` | json | v1 changed field, old/new values, actor and identifiers; null for v2. |
  | `previous_attributes` | json | v2 previous changed values or full deleted record; null for v1. |
</ReferenceDetails>

### Plane Project Archived [#plane-project-archived]

Trigger a workflow for Plane project archived events.

<ReferenceDetails label="Configuration and outputs">
  #### Configuration [#configuration-19]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `autoRegister` | boolean | No | Requires the Plane v2 webhook API. Use manual setup for Community Edition. |
  | `triggerApiKey` | string | No | API Token |
  | `triggerBaseUrl` | string | No | Instance URL |
  | `triggerWorkspaceSlug` | string | No | Workspace Slug |
  | `webhookSecret` | string | No | Webhook Secret |
  | `projectId` | string | No | Self-hosted v1 deletions without project information are skipped when this filter is set. |
  | `workspaceId` | string | No | Workspace ID |

  #### Output [#output-86]

  | Parameter | Type | Description |
  | - | - | - |
  | `version` | string | Payload version: v1 or v2. |
  | `event` | string | Original Plane event or v1 resource name. |
  | `eventName` | string | Normalized event name, such as workitem.updated. |
  | `action` | string | v1 action; null for v2. |
  | `event_id` | string | v2 event ID, stable across retries; null for v1. |
  | `delivery_id` | string | Delivery attempt ID from the payload or X-Plane-Delivery header. |
  | `entity_id` | string | v2 primary entity ID; null for v1. |
  | `entity_type` | string | v2 entity type; null for v1. |
  | `webhook_id` | string | Plane webhook configuration ID. |
  | `workspace_id` | string | Plane workspace ID. |
  | `workspace_slug` | string | v1 workspace slug; null for v2. |
  | `data` | json | Complete entity payload, including resource-specific fields. v2 deletions send an empty object. |
  | `activity` | json | v1 changed field, old/new values, actor and identifiers; null for v2. |
  | `previous_attributes` | json | v2 previous changed values or full deleted record; null for v1. |
</ReferenceDetails>

### Plane Project Created [#plane-project-created]

Trigger a workflow for Plane project created events.

<ReferenceDetails label="Configuration and outputs">
  #### Configuration [#configuration-20]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `autoRegister` | boolean | No | Requires the Plane v2 webhook API. Use manual setup for Community Edition. |
  | `triggerApiKey` | string | No | API Token |
  | `triggerBaseUrl` | string | No | Instance URL |
  | `triggerWorkspaceSlug` | string | No | Workspace Slug |
  | `webhookSecret` | string | No | Webhook Secret |
  | `projectId` | string | No | Self-hosted v1 deletions without project information are skipped when this filter is set. |
  | `workspaceId` | string | No | Workspace ID |

  #### Output [#output-87]

  | Parameter | Type | Description |
  | - | - | - |
  | `version` | string | Payload version: v1 or v2. |
  | `event` | string | Original Plane event or v1 resource name. |
  | `eventName` | string | Normalized event name, such as workitem.updated. |
  | `action` | string | v1 action; null for v2. |
  | `event_id` | string | v2 event ID, stable across retries; null for v1. |
  | `delivery_id` | string | Delivery attempt ID from the payload or X-Plane-Delivery header. |
  | `entity_id` | string | v2 primary entity ID; null for v1. |
  | `entity_type` | string | v2 entity type; null for v1. |
  | `webhook_id` | string | Plane webhook configuration ID. |
  | `workspace_id` | string | Plane workspace ID. |
  | `workspace_slug` | string | v1 workspace slug; null for v2. |
  | `data` | json | Complete entity payload, including resource-specific fields. v2 deletions send an empty object. |
  | `activity` | json | v1 changed field, old/new values, actor and identifiers; null for v2. |
  | `previous_attributes` | json | v2 previous changed values or full deleted record; null for v1. |
</ReferenceDetails>

### Plane Project Deleted [#plane-project-deleted]

Trigger a workflow for Plane project deleted events.

<ReferenceDetails label="Configuration and outputs">
  #### Configuration [#configuration-21]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `autoRegister` | boolean | No | Requires the Plane v2 webhook API. Use manual setup for Community Edition. |
  | `triggerApiKey` | string | No | API Token |
  | `triggerBaseUrl` | string | No | Instance URL |
  | `triggerWorkspaceSlug` | string | No | Workspace Slug |
  | `webhookSecret` | string | No | Webhook Secret |
  | `projectId` | string | No | Self-hosted v1 deletions without project information are skipped when this filter is set. |
  | `workspaceId` | string | No | Workspace ID |

  #### Output [#output-88]

  | Parameter | Type | Description |
  | - | - | - |
  | `version` | string | Payload version: v1 or v2. |
  | `event` | string | Original Plane event or v1 resource name. |
  | `eventName` | string | Normalized event name, such as workitem.updated. |
  | `action` | string | v1 action; null for v2. |
  | `event_id` | string | v2 event ID, stable across retries; null for v1. |
  | `delivery_id` | string | Delivery attempt ID from the payload or X-Plane-Delivery header. |
  | `entity_id` | string | v2 primary entity ID; null for v1. |
  | `entity_type` | string | v2 entity type; null for v1. |
  | `webhook_id` | string | Plane webhook configuration ID. |
  | `workspace_id` | string | Plane workspace ID. |
  | `workspace_slug` | string | v1 workspace slug; null for v2. |
  | `data` | json | Complete entity payload, including resource-specific fields. v2 deletions send an empty object. |
  | `activity` | json | v1 changed field, old/new values, actor and identifiers; null for v2. |
  | `previous_attributes` | json | v2 previous changed values or full deleted record; null for v1. |
</ReferenceDetails>

### Plane Project Updated [#plane-project-updated]

Trigger a workflow for Plane project updated events.

<ReferenceDetails label="Configuration and outputs">
  #### Configuration [#configuration-22]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `autoRegister` | boolean | No | Requires the Plane v2 webhook API. Use manual setup for Community Edition. |
  | `triggerApiKey` | string | No | API Token |
  | `triggerBaseUrl` | string | No | Instance URL |
  | `triggerWorkspaceSlug` | string | No | Workspace Slug |
  | `webhookSecret` | string | No | Webhook Secret |
  | `projectId` | string | No | Self-hosted v1 deletions without project information are skipped when this filter is set. |
  | `workspaceId` | string | No | Workspace ID |

  #### Output [#output-89]

  | Parameter | Type | Description |
  | - | - | - |
  | `version` | string | Payload version: v1 or v2. |
  | `event` | string | Original Plane event or v1 resource name. |
  | `eventName` | string | Normalized event name, such as workitem.updated. |
  | `action` | string | v1 action; null for v2. |
  | `event_id` | string | v2 event ID, stable across retries; null for v1. |
  | `delivery_id` | string | Delivery attempt ID from the payload or X-Plane-Delivery header. |
  | `entity_id` | string | v2 primary entity ID; null for v1. |
  | `entity_type` | string | v2 entity type; null for v1. |
  | `webhook_id` | string | Plane webhook configuration ID. |
  | `workspace_id` | string | Plane workspace ID. |
  | `workspace_slug` | string | v1 workspace slug; null for v2. |
  | `data` | json | Complete entity payload, including resource-specific fields. v2 deletions send an empty object. |
  | `activity` | json | v1 changed field, old/new values, actor and identifiers; null for v2. |
  | `previous_attributes` | json | v2 previous changed values or full deleted record; null for v1. |
</ReferenceDetails>

### Plane Work Item Archived [#plane-work-item-archived]

Trigger a workflow for Plane work item archived events.

<ReferenceDetails label="Configuration and outputs">
  #### Configuration [#configuration-23]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `autoRegister` | boolean | No | Requires the Plane v2 webhook API. Use manual setup for Community Edition. |
  | `triggerApiKey` | string | No | API Token |
  | `triggerBaseUrl` | string | No | Instance URL |
  | `triggerWorkspaceSlug` | string | No | Workspace Slug |
  | `webhookSecret` | string | No | Webhook Secret |
  | `projectId` | string | No | Self-hosted v1 deletions without project information are skipped when this filter is set. |
  | `workspaceId` | string | No | Workspace ID |

  #### Output [#output-90]

  | Parameter | Type | Description |
  | - | - | - |
  | `version` | string | Payload version: v1 or v2. |
  | `event` | string | Original Plane event or v1 resource name. |
  | `eventName` | string | Normalized event name, such as workitem.updated. |
  | `action` | string | v1 action; null for v2. |
  | `event_id` | string | v2 event ID, stable across retries; null for v1. |
  | `delivery_id` | string | Delivery attempt ID from the payload or X-Plane-Delivery header. |
  | `entity_id` | string | v2 primary entity ID; null for v1. |
  | `entity_type` | string | v2 entity type; null for v1. |
  | `webhook_id` | string | Plane webhook configuration ID. |
  | `workspace_id` | string | Plane workspace ID. |
  | `workspace_slug` | string | v1 workspace slug; null for v2. |
  | `data` | json | Complete entity payload, including resource-specific fields. v2 deletions send an empty object. |
  | `activity` | json | v1 changed field, old/new values, actor and identifiers; null for v2. |
  | `previous_attributes` | json | v2 previous changed values or full deleted record; null for v1. |
</ReferenceDetails>

### Plane Work Item Attachment Created [#plane-work-item-attachment-created]

Trigger a workflow for Plane work item attachment created events.

<ReferenceDetails label="Configuration and outputs">
  #### Configuration [#configuration-24]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `autoRegister` | boolean | No | Requires the Plane v2 webhook API. Use manual setup for Community Edition. |
  | `triggerApiKey` | string | No | API Token |
  | `triggerBaseUrl` | string | No | Instance URL |
  | `triggerWorkspaceSlug` | string | No | Workspace Slug |
  | `webhookSecret` | string | No | Webhook Secret |
  | `projectId` | string | No | Self-hosted v1 deletions without project information are skipped when this filter is set. |
  | `workspaceId` | string | No | Workspace ID |

  #### Output [#output-91]

  | Parameter | Type | Description |
  | - | - | - |
  | `version` | string | Payload version: v1 or v2. |
  | `event` | string | Original Plane event or v1 resource name. |
  | `eventName` | string | Normalized event name, such as workitem.updated. |
  | `action` | string | v1 action; null for v2. |
  | `event_id` | string | v2 event ID, stable across retries; null for v1. |
  | `delivery_id` | string | Delivery attempt ID from the payload or X-Plane-Delivery header. |
  | `entity_id` | string | v2 primary entity ID; null for v1. |
  | `entity_type` | string | v2 entity type; null for v1. |
  | `webhook_id` | string | Plane webhook configuration ID. |
  | `workspace_id` | string | Plane workspace ID. |
  | `workspace_slug` | string | v1 workspace slug; null for v2. |
  | `data` | json | Complete entity payload, including resource-specific fields. v2 deletions send an empty object. |
  | `activity` | json | v1 changed field, old/new values, actor and identifiers; null for v2. |
  | `previous_attributes` | json | v2 previous changed values or full deleted record; null for v1. |
</ReferenceDetails>

### Plane Work Item Attachment Deleted [#plane-work-item-attachment-deleted]

Trigger a workflow for Plane work item attachment deleted events.

<ReferenceDetails label="Configuration and outputs">
  #### Configuration [#configuration-25]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `autoRegister` | boolean | No | Requires the Plane v2 webhook API. Use manual setup for Community Edition. |
  | `triggerApiKey` | string | No | API Token |
  | `triggerBaseUrl` | string | No | Instance URL |
  | `triggerWorkspaceSlug` | string | No | Workspace Slug |
  | `webhookSecret` | string | No | Webhook Secret |
  | `projectId` | string | No | Self-hosted v1 deletions without project information are skipped when this filter is set. |
  | `workspaceId` | string | No | Workspace ID |

  #### Output [#output-92]

  | Parameter | Type | Description |
  | - | - | - |
  | `version` | string | Payload version: v1 or v2. |
  | `event` | string | Original Plane event or v1 resource name. |
  | `eventName` | string | Normalized event name, such as workitem.updated. |
  | `action` | string | v1 action; null for v2. |
  | `event_id` | string | v2 event ID, stable across retries; null for v1. |
  | `delivery_id` | string | Delivery attempt ID from the payload or X-Plane-Delivery header. |
  | `entity_id` | string | v2 primary entity ID; null for v1. |
  | `entity_type` | string | v2 entity type; null for v1. |
  | `webhook_id` | string | Plane webhook configuration ID. |
  | `workspace_id` | string | Plane workspace ID. |
  | `workspace_slug` | string | v1 workspace slug; null for v2. |
  | `data` | json | Complete entity payload, including resource-specific fields. v2 deletions send an empty object. |
  | `activity` | json | v1 changed field, old/new values, actor and identifiers; null for v2. |
  | `previous_attributes` | json | v2 previous changed values or full deleted record; null for v1. |
</ReferenceDetails>

### Plane Work Item Attachment Updated [#plane-work-item-attachment-updated]

Trigger a workflow for Plane work item attachment updated events.

<ReferenceDetails label="Configuration and outputs">
  #### Configuration [#configuration-26]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `autoRegister` | boolean | No | Requires the Plane v2 webhook API. Use manual setup for Community Edition. |
  | `triggerApiKey` | string | No | API Token |
  | `triggerBaseUrl` | string | No | Instance URL |
  | `triggerWorkspaceSlug` | string | No | Workspace Slug |
  | `webhookSecret` | string | No | Webhook Secret |
  | `projectId` | string | No | Self-hosted v1 deletions without project information are skipped when this filter is set. |
  | `workspaceId` | string | No | Workspace ID |

  #### Output [#output-93]

  | Parameter | Type | Description |
  | - | - | - |
  | `version` | string | Payload version: v1 or v2. |
  | `event` | string | Original Plane event or v1 resource name. |
  | `eventName` | string | Normalized event name, such as workitem.updated. |
  | `action` | string | v1 action; null for v2. |
  | `event_id` | string | v2 event ID, stable across retries; null for v1. |
  | `delivery_id` | string | Delivery attempt ID from the payload or X-Plane-Delivery header. |
  | `entity_id` | string | v2 primary entity ID; null for v1. |
  | `entity_type` | string | v2 entity type; null for v1. |
  | `webhook_id` | string | Plane webhook configuration ID. |
  | `workspace_id` | string | Plane workspace ID. |
  | `workspace_slug` | string | v1 workspace slug; null for v2. |
  | `data` | json | Complete entity payload, including resource-specific fields. v2 deletions send an empty object. |
  | `activity` | json | v1 changed field, old/new values, actor and identifiers; null for v2. |
  | `previous_attributes` | json | v2 previous changed values or full deleted record; null for v1. |
</ReferenceDetails>

### Plane Work Item Comment Created [#plane-work-item-comment-created]

Trigger a workflow for Plane work item comment created events.

<ReferenceDetails label="Configuration and outputs">
  #### Configuration [#configuration-27]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `autoRegister` | boolean | No | Requires the Plane v2 webhook API. Use manual setup for Community Edition. |
  | `triggerApiKey` | string | No | API Token |
  | `triggerBaseUrl` | string | No | Instance URL |
  | `triggerWorkspaceSlug` | string | No | Workspace Slug |
  | `webhookSecret` | string | No | Webhook Secret |
  | `projectId` | string | No | Self-hosted v1 deletions without project information are skipped when this filter is set. |
  | `workspaceId` | string | No | Workspace ID |

  #### Output [#output-94]

  | Parameter | Type | Description |
  | - | - | - |
  | `version` | string | Payload version: v1 or v2. |
  | `event` | string | Original Plane event or v1 resource name. |
  | `eventName` | string | Normalized event name, such as workitem.updated. |
  | `action` | string | v1 action; null for v2. |
  | `event_id` | string | v2 event ID, stable across retries; null for v1. |
  | `delivery_id` | string | Delivery attempt ID from the payload or X-Plane-Delivery header. |
  | `entity_id` | string | v2 primary entity ID; null for v1. |
  | `entity_type` | string | v2 entity type; null for v1. |
  | `webhook_id` | string | Plane webhook configuration ID. |
  | `workspace_id` | string | Plane workspace ID. |
  | `workspace_slug` | string | v1 workspace slug; null for v2. |
  | `data` | json | Complete entity payload, including resource-specific fields. v2 deletions send an empty object. |
  | `activity` | json | v1 changed field, old/new values, actor and identifiers; null for v2. |
  | `previous_attributes` | json | v2 previous changed values or full deleted record; null for v1. |
</ReferenceDetails>

### Plane Work Item Comment Deleted [#plane-work-item-comment-deleted]

Trigger a workflow for Plane work item comment deleted events.

<ReferenceDetails label="Configuration and outputs">
  #### Configuration [#configuration-28]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `autoRegister` | boolean | No | Requires the Plane v2 webhook API. Use manual setup for Community Edition. |
  | `triggerApiKey` | string | No | API Token |
  | `triggerBaseUrl` | string | No | Instance URL |
  | `triggerWorkspaceSlug` | string | No | Workspace Slug |
  | `webhookSecret` | string | No | Webhook Secret |
  | `projectId` | string | No | Self-hosted v1 deletions without project information are skipped when this filter is set. |
  | `workspaceId` | string | No | Workspace ID |

  #### Output [#output-95]

  | Parameter | Type | Description |
  | - | - | - |
  | `version` | string | Payload version: v1 or v2. |
  | `event` | string | Original Plane event or v1 resource name. |
  | `eventName` | string | Normalized event name, such as workitem.updated. |
  | `action` | string | v1 action; null for v2. |
  | `event_id` | string | v2 event ID, stable across retries; null for v1. |
  | `delivery_id` | string | Delivery attempt ID from the payload or X-Plane-Delivery header. |
  | `entity_id` | string | v2 primary entity ID; null for v1. |
  | `entity_type` | string | v2 entity type; null for v1. |
  | `webhook_id` | string | Plane webhook configuration ID. |
  | `workspace_id` | string | Plane workspace ID. |
  | `workspace_slug` | string | v1 workspace slug; null for v2. |
  | `data` | json | Complete entity payload, including resource-specific fields. v2 deletions send an empty object. |
  | `activity` | json | v1 changed field, old/new values, actor and identifiers; null for v2. |
  | `previous_attributes` | json | v2 previous changed values or full deleted record; null for v1. |
</ReferenceDetails>

### Plane Work Item Comment Updated [#plane-work-item-comment-updated]

Trigger a workflow for Plane work item comment updated events.

<ReferenceDetails label="Configuration and outputs">
  #### Configuration [#configuration-29]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `autoRegister` | boolean | No | Requires the Plane v2 webhook API. Use manual setup for Community Edition. |
  | `triggerApiKey` | string | No | API Token |
  | `triggerBaseUrl` | string | No | Instance URL |
  | `triggerWorkspaceSlug` | string | No | Workspace Slug |
  | `webhookSecret` | string | No | Webhook Secret |
  | `projectId` | string | No | Self-hosted v1 deletions without project information are skipped when this filter is set. |
  | `workspaceId` | string | No | Workspace ID |

  #### Output [#output-96]

  | Parameter | Type | Description |
  | - | - | - |
  | `version` | string | Payload version: v1 or v2. |
  | `event` | string | Original Plane event or v1 resource name. |
  | `eventName` | string | Normalized event name, such as workitem.updated. |
  | `action` | string | v1 action; null for v2. |
  | `event_id` | string | v2 event ID, stable across retries; null for v1. |
  | `delivery_id` | string | Delivery attempt ID from the payload or X-Plane-Delivery header. |
  | `entity_id` | string | v2 primary entity ID; null for v1. |
  | `entity_type` | string | v2 entity type; null for v1. |
  | `webhook_id` | string | Plane webhook configuration ID. |
  | `workspace_id` | string | Plane workspace ID. |
  | `workspace_slug` | string | v1 workspace slug; null for v2. |
  | `data` | json | Complete entity payload, including resource-specific fields. v2 deletions send an empty object. |
  | `activity` | json | v1 changed field, old/new values, actor and identifiers; null for v2. |
  | `previous_attributes` | json | v2 previous changed values or full deleted record; null for v1. |
</ReferenceDetails>

### Plane Work Item Created [#plane-work-item-created]

Trigger a workflow for Plane work item created events.

<ReferenceDetails label="Configuration and outputs">
  #### Configuration [#configuration-30]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `autoRegister` | boolean | No | Requires the Plane v2 webhook API. Use manual setup for Community Edition. |
  | `triggerApiKey` | string | No | API Token |
  | `triggerBaseUrl` | string | No | Instance URL |
  | `triggerWorkspaceSlug` | string | No | Workspace Slug |
  | `webhookSecret` | string | No | Webhook Secret |
  | `projectId` | string | No | Self-hosted v1 deletions without project information are skipped when this filter is set. |
  | `workspaceId` | string | No | Workspace ID |

  #### Output [#output-97]

  | Parameter | Type | Description |
  | - | - | - |
  | `version` | string | Payload version: v1 or v2. |
  | `event` | string | Original Plane event or v1 resource name. |
  | `eventName` | string | Normalized event name, such as workitem.updated. |
  | `action` | string | v1 action; null for v2. |
  | `event_id` | string | v2 event ID, stable across retries; null for v1. |
  | `delivery_id` | string | Delivery attempt ID from the payload or X-Plane-Delivery header. |
  | `entity_id` | string | v2 primary entity ID; null for v1. |
  | `entity_type` | string | v2 entity type; null for v1. |
  | `webhook_id` | string | Plane webhook configuration ID. |
  | `workspace_id` | string | Plane workspace ID. |
  | `workspace_slug` | string | v1 workspace slug; null for v2. |
  | `data` | json | Complete entity payload, including resource-specific fields. v2 deletions send an empty object. |
  | `activity` | json | v1 changed field, old/new values, actor and identifiers; null for v2. |
  | `previous_attributes` | json | v2 previous changed values or full deleted record; null for v1. |
</ReferenceDetails>

### Plane Work Item Deleted [#plane-work-item-deleted]

Trigger a workflow for Plane work item deleted events.

<ReferenceDetails label="Configuration and outputs">
  #### Configuration [#configuration-31]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `autoRegister` | boolean | No | Requires the Plane v2 webhook API. Use manual setup for Community Edition. |
  | `triggerApiKey` | string | No | API Token |
  | `triggerBaseUrl` | string | No | Instance URL |
  | `triggerWorkspaceSlug` | string | No | Workspace Slug |
  | `webhookSecret` | string | No | Webhook Secret |
  | `projectId` | string | No | Self-hosted v1 deletions without project information are skipped when this filter is set. |
  | `workspaceId` | string | No | Workspace ID |

  #### Output [#output-98]

  | Parameter | Type | Description |
  | - | - | - |
  | `version` | string | Payload version: v1 or v2. |
  | `event` | string | Original Plane event or v1 resource name. |
  | `eventName` | string | Normalized event name, such as workitem.updated. |
  | `action` | string | v1 action; null for v2. |
  | `event_id` | string | v2 event ID, stable across retries; null for v1. |
  | `delivery_id` | string | Delivery attempt ID from the payload or X-Plane-Delivery header. |
  | `entity_id` | string | v2 primary entity ID; null for v1. |
  | `entity_type` | string | v2 entity type; null for v1. |
  | `webhook_id` | string | Plane webhook configuration ID. |
  | `workspace_id` | string | Plane workspace ID. |
  | `workspace_slug` | string | v1 workspace slug; null for v2. |
  | `data` | json | Complete entity payload, including resource-specific fields. v2 deletions send an empty object. |
  | `activity` | json | v1 changed field, old/new values, actor and identifiers; null for v2. |
  | `previous_attributes` | json | v2 previous changed values or full deleted record; null for v1. |
</ReferenceDetails>

### Plane Work Item Dependency Created [#plane-work-item-dependency-created]

Trigger a workflow for Plane work item dependency created events.

<ReferenceDetails label="Configuration and outputs">
  #### Configuration [#configuration-32]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `autoRegister` | boolean | No | Requires the Plane v2 webhook API. Use manual setup for Community Edition. |
  | `triggerApiKey` | string | No | API Token |
  | `triggerBaseUrl` | string | No | Instance URL |
  | `triggerWorkspaceSlug` | string | No | Workspace Slug |
  | `webhookSecret` | string | No | Webhook Secret |
  | `projectId` | string | No | Self-hosted v1 deletions without project information are skipped when this filter is set. |
  | `workspaceId` | string | No | Workspace ID |

  #### Output [#output-99]

  | Parameter | Type | Description |
  | - | - | - |
  | `version` | string | Payload version: v1 or v2. |
  | `event` | string | Original Plane event or v1 resource name. |
  | `eventName` | string | Normalized event name, such as workitem.updated. |
  | `action` | string | v1 action; null for v2. |
  | `event_id` | string | v2 event ID, stable across retries; null for v1. |
  | `delivery_id` | string | Delivery attempt ID from the payload or X-Plane-Delivery header. |
  | `entity_id` | string | v2 primary entity ID; null for v1. |
  | `entity_type` | string | v2 entity type; null for v1. |
  | `webhook_id` | string | Plane webhook configuration ID. |
  | `workspace_id` | string | Plane workspace ID. |
  | `workspace_slug` | string | v1 workspace slug; null for v2. |
  | `data` | json | Complete entity payload, including resource-specific fields. v2 deletions send an empty object. |
  | `activity` | json | v1 changed field, old/new values, actor and identifiers; null for v2. |
  | `previous_attributes` | json | v2 previous changed values or full deleted record; null for v1. |
</ReferenceDetails>

### Plane Work Item Dependency Deleted [#plane-work-item-dependency-deleted]

Trigger a workflow for Plane work item dependency deleted events.

<ReferenceDetails label="Configuration and outputs">
  #### Configuration [#configuration-33]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `autoRegister` | boolean | No | Requires the Plane v2 webhook API. Use manual setup for Community Edition. |
  | `triggerApiKey` | string | No | API Token |
  | `triggerBaseUrl` | string | No | Instance URL |
  | `triggerWorkspaceSlug` | string | No | Workspace Slug |
  | `webhookSecret` | string | No | Webhook Secret |
  | `projectId` | string | No | Self-hosted v1 deletions without project information are skipped when this filter is set. |
  | `workspaceId` | string | No | Workspace ID |

  #### Output [#output-100]

  | Parameter | Type | Description |
  | - | - | - |
  | `version` | string | Payload version: v1 or v2. |
  | `event` | string | Original Plane event or v1 resource name. |
  | `eventName` | string | Normalized event name, such as workitem.updated. |
  | `action` | string | v1 action; null for v2. |
  | `event_id` | string | v2 event ID, stable across retries; null for v1. |
  | `delivery_id` | string | Delivery attempt ID from the payload or X-Plane-Delivery header. |
  | `entity_id` | string | v2 primary entity ID; null for v1. |
  | `entity_type` | string | v2 entity type; null for v1. |
  | `webhook_id` | string | Plane webhook configuration ID. |
  | `workspace_id` | string | Plane workspace ID. |
  | `workspace_slug` | string | v1 workspace slug; null for v2. |
  | `data` | json | Complete entity payload, including resource-specific fields. v2 deletions send an empty object. |
  | `activity` | json | v1 changed field, old/new values, actor and identifiers; null for v2. |
  | `previous_attributes` | json | v2 previous changed values or full deleted record; null for v1. |
</ReferenceDetails>

### Plane Work Item Link Created [#plane-work-item-link-created]

Trigger a workflow for Plane work item link created events.

<ReferenceDetails label="Configuration and outputs">
  #### Configuration [#configuration-34]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `autoRegister` | boolean | No | Requires the Plane v2 webhook API. Use manual setup for Community Edition. |
  | `triggerApiKey` | string | No | API Token |
  | `triggerBaseUrl` | string | No | Instance URL |
  | `triggerWorkspaceSlug` | string | No | Workspace Slug |
  | `webhookSecret` | string | No | Webhook Secret |
  | `projectId` | string | No | Self-hosted v1 deletions without project information are skipped when this filter is set. |
  | `workspaceId` | string | No | Workspace ID |

  #### Output [#output-101]

  | Parameter | Type | Description |
  | - | - | - |
  | `version` | string | Payload version: v1 or v2. |
  | `event` | string | Original Plane event or v1 resource name. |
  | `eventName` | string | Normalized event name, such as workitem.updated. |
  | `action` | string | v1 action; null for v2. |
  | `event_id` | string | v2 event ID, stable across retries; null for v1. |
  | `delivery_id` | string | Delivery attempt ID from the payload or X-Plane-Delivery header. |
  | `entity_id` | string | v2 primary entity ID; null for v1. |
  | `entity_type` | string | v2 entity type; null for v1. |
  | `webhook_id` | string | Plane webhook configuration ID. |
  | `workspace_id` | string | Plane workspace ID. |
  | `workspace_slug` | string | v1 workspace slug; null for v2. |
  | `data` | json | Complete entity payload, including resource-specific fields. v2 deletions send an empty object. |
  | `activity` | json | v1 changed field, old/new values, actor and identifiers; null for v2. |
  | `previous_attributes` | json | v2 previous changed values or full deleted record; null for v1. |
</ReferenceDetails>

### Plane Work Item Link Deleted [#plane-work-item-link-deleted]

Trigger a workflow for Plane work item link deleted events.

<ReferenceDetails label="Configuration and outputs">
  #### Configuration [#configuration-35]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `autoRegister` | boolean | No | Requires the Plane v2 webhook API. Use manual setup for Community Edition. |
  | `triggerApiKey` | string | No | API Token |
  | `triggerBaseUrl` | string | No | Instance URL |
  | `triggerWorkspaceSlug` | string | No | Workspace Slug |
  | `webhookSecret` | string | No | Webhook Secret |
  | `projectId` | string | No | Self-hosted v1 deletions without project information are skipped when this filter is set. |
  | `workspaceId` | string | No | Workspace ID |

  #### Output [#output-102]

  | Parameter | Type | Description |
  | - | - | - |
  | `version` | string | Payload version: v1 or v2. |
  | `event` | string | Original Plane event or v1 resource name. |
  | `eventName` | string | Normalized event name, such as workitem.updated. |
  | `action` | string | v1 action; null for v2. |
  | `event_id` | string | v2 event ID, stable across retries; null for v1. |
  | `delivery_id` | string | Delivery attempt ID from the payload or X-Plane-Delivery header. |
  | `entity_id` | string | v2 primary entity ID; null for v1. |
  | `entity_type` | string | v2 entity type; null for v1. |
  | `webhook_id` | string | Plane webhook configuration ID. |
  | `workspace_id` | string | Plane workspace ID. |
  | `workspace_slug` | string | v1 workspace slug; null for v2. |
  | `data` | json | Complete entity payload, including resource-specific fields. v2 deletions send an empty object. |
  | `activity` | json | v1 changed field, old/new values, actor and identifiers; null for v2. |
  | `previous_attributes` | json | v2 previous changed values or full deleted record; null for v1. |
</ReferenceDetails>

### Plane Work Item Link Updated [#plane-work-item-link-updated]

Trigger a workflow for Plane work item link updated events.

<ReferenceDetails label="Configuration and outputs">
  #### Configuration [#configuration-36]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `autoRegister` | boolean | No | Requires the Plane v2 webhook API. Use manual setup for Community Edition. |
  | `triggerApiKey` | string | No | API Token |
  | `triggerBaseUrl` | string | No | Instance URL |
  | `triggerWorkspaceSlug` | string | No | Workspace Slug |
  | `webhookSecret` | string | No | Webhook Secret |
  | `projectId` | string | No | Self-hosted v1 deletions without project information are skipped when this filter is set. |
  | `workspaceId` | string | No | Workspace ID |

  #### Output [#output-103]

  | Parameter | Type | Description |
  | - | - | - |
  | `version` | string | Payload version: v1 or v2. |
  | `event` | string | Original Plane event or v1 resource name. |
  | `eventName` | string | Normalized event name, such as workitem.updated. |
  | `action` | string | v1 action; null for v2. |
  | `event_id` | string | v2 event ID, stable across retries; null for v1. |
  | `delivery_id` | string | Delivery attempt ID from the payload or X-Plane-Delivery header. |
  | `entity_id` | string | v2 primary entity ID; null for v1. |
  | `entity_type` | string | v2 entity type; null for v1. |
  | `webhook_id` | string | Plane webhook configuration ID. |
  | `workspace_id` | string | Plane workspace ID. |
  | `workspace_slug` | string | v1 workspace slug; null for v2. |
  | `data` | json | Complete entity payload, including resource-specific fields. v2 deletions send an empty object. |
  | `activity` | json | v1 changed field, old/new values, actor and identifiers; null for v2. |
  | `previous_attributes` | json | v2 previous changed values or full deleted record; null for v1. |
</ReferenceDetails>

### Plane Work Item Page Link Created [#plane-work-item-page-link-created]

Trigger a workflow for Plane work item page link created events.

<ReferenceDetails label="Configuration and outputs">
  #### Configuration [#configuration-37]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `autoRegister` | boolean | No | Requires the Plane v2 webhook API. Use manual setup for Community Edition. |
  | `triggerApiKey` | string | No | API Token |
  | `triggerBaseUrl` | string | No | Instance URL |
  | `triggerWorkspaceSlug` | string | No | Workspace Slug |
  | `webhookSecret` | string | No | Webhook Secret |
  | `projectId` | string | No | Self-hosted v1 deletions without project information are skipped when this filter is set. |
  | `workspaceId` | string | No | Workspace ID |

  #### Output [#output-104]

  | Parameter | Type | Description |
  | - | - | - |
  | `version` | string | Payload version: v1 or v2. |
  | `event` | string | Original Plane event or v1 resource name. |
  | `eventName` | string | Normalized event name, such as workitem.updated. |
  | `action` | string | v1 action; null for v2. |
  | `event_id` | string | v2 event ID, stable across retries; null for v1. |
  | `delivery_id` | string | Delivery attempt ID from the payload or X-Plane-Delivery header. |
  | `entity_id` | string | v2 primary entity ID; null for v1. |
  | `entity_type` | string | v2 entity type; null for v1. |
  | `webhook_id` | string | Plane webhook configuration ID. |
  | `workspace_id` | string | Plane workspace ID. |
  | `workspace_slug` | string | v1 workspace slug; null for v2. |
  | `data` | json | Complete entity payload, including resource-specific fields. v2 deletions send an empty object. |
  | `activity` | json | v1 changed field, old/new values, actor and identifiers; null for v2. |
  | `previous_attributes` | json | v2 previous changed values or full deleted record; null for v1. |
</ReferenceDetails>

### Plane Work Item Page Link Deleted [#plane-work-item-page-link-deleted]

Trigger a workflow for Plane work item page link deleted events.

<ReferenceDetails label="Configuration and outputs">
  #### Configuration [#configuration-38]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `autoRegister` | boolean | No | Requires the Plane v2 webhook API. Use manual setup for Community Edition. |
  | `triggerApiKey` | string | No | API Token |
  | `triggerBaseUrl` | string | No | Instance URL |
  | `triggerWorkspaceSlug` | string | No | Workspace Slug |
  | `webhookSecret` | string | No | Webhook Secret |
  | `projectId` | string | No | Self-hosted v1 deletions without project information are skipped when this filter is set. |
  | `workspaceId` | string | No | Workspace ID |

  #### Output [#output-105]

  | Parameter | Type | Description |
  | - | - | - |
  | `version` | string | Payload version: v1 or v2. |
  | `event` | string | Original Plane event or v1 resource name. |
  | `eventName` | string | Normalized event name, such as workitem.updated. |
  | `action` | string | v1 action; null for v2. |
  | `event_id` | string | v2 event ID, stable across retries; null for v1. |
  | `delivery_id` | string | Delivery attempt ID from the payload or X-Plane-Delivery header. |
  | `entity_id` | string | v2 primary entity ID; null for v1. |
  | `entity_type` | string | v2 entity type; null for v1. |
  | `webhook_id` | string | Plane webhook configuration ID. |
  | `workspace_id` | string | Plane workspace ID. |
  | `workspace_slug` | string | v1 workspace slug; null for v2. |
  | `data` | json | Complete entity payload, including resource-specific fields. v2 deletions send an empty object. |
  | `activity` | json | v1 changed field, old/new values, actor and identifiers; null for v2. |
  | `previous_attributes` | json | v2 previous changed values or full deleted record; null for v1. |
</ReferenceDetails>

### Plane Work Item Relation Created [#plane-work-item-relation-created]

Trigger a workflow for Plane work item relation created events.

<ReferenceDetails label="Configuration and outputs">
  #### Configuration [#configuration-39]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `autoRegister` | boolean | No | Requires the Plane v2 webhook API. Use manual setup for Community Edition. |
  | `triggerApiKey` | string | No | API Token |
  | `triggerBaseUrl` | string | No | Instance URL |
  | `triggerWorkspaceSlug` | string | No | Workspace Slug |
  | `webhookSecret` | string | No | Webhook Secret |
  | `projectId` | string | No | Self-hosted v1 deletions without project information are skipped when this filter is set. |
  | `workspaceId` | string | No | Workspace ID |

  #### Output [#output-106]

  | Parameter | Type | Description |
  | - | - | - |
  | `version` | string | Payload version: v1 or v2. |
  | `event` | string | Original Plane event or v1 resource name. |
  | `eventName` | string | Normalized event name, such as workitem.updated. |
  | `action` | string | v1 action; null for v2. |
  | `event_id` | string | v2 event ID, stable across retries; null for v1. |
  | `delivery_id` | string | Delivery attempt ID from the payload or X-Plane-Delivery header. |
  | `entity_id` | string | v2 primary entity ID; null for v1. |
  | `entity_type` | string | v2 entity type; null for v1. |
  | `webhook_id` | string | Plane webhook configuration ID. |
  | `workspace_id` | string | Plane workspace ID. |
  | `workspace_slug` | string | v1 workspace slug; null for v2. |
  | `data` | json | Complete entity payload, including resource-specific fields. v2 deletions send an empty object. |
  | `activity` | json | v1 changed field, old/new values, actor and identifiers; null for v2. |
  | `previous_attributes` | json | v2 previous changed values or full deleted record; null for v1. |
</ReferenceDetails>

### Plane Work Item Relation Deleted [#plane-work-item-relation-deleted]

Trigger a workflow for Plane work item relation deleted events.

<ReferenceDetails label="Configuration and outputs">
  #### Configuration [#configuration-40]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `autoRegister` | boolean | No | Requires the Plane v2 webhook API. Use manual setup for Community Edition. |
  | `triggerApiKey` | string | No | API Token |
  | `triggerBaseUrl` | string | No | Instance URL |
  | `triggerWorkspaceSlug` | string | No | Workspace Slug |
  | `webhookSecret` | string | No | Webhook Secret |
  | `projectId` | string | No | Self-hosted v1 deletions without project information are skipped when this filter is set. |
  | `workspaceId` | string | No | Workspace ID |

  #### Output [#output-107]

  | Parameter | Type | Description |
  | - | - | - |
  | `version` | string | Payload version: v1 or v2. |
  | `event` | string | Original Plane event or v1 resource name. |
  | `eventName` | string | Normalized event name, such as workitem.updated. |
  | `action` | string | v1 action; null for v2. |
  | `event_id` | string | v2 event ID, stable across retries; null for v1. |
  | `delivery_id` | string | Delivery attempt ID from the payload or X-Plane-Delivery header. |
  | `entity_id` | string | v2 primary entity ID; null for v1. |
  | `entity_type` | string | v2 entity type; null for v1. |
  | `webhook_id` | string | Plane webhook configuration ID. |
  | `workspace_id` | string | Plane workspace ID. |
  | `workspace_slug` | string | v1 workspace slug; null for v2. |
  | `data` | json | Complete entity payload, including resource-specific fields. v2 deletions send an empty object. |
  | `activity` | json | v1 changed field, old/new values, actor and identifiers; null for v2. |
  | `previous_attributes` | json | v2 previous changed values or full deleted record; null for v1. |
</ReferenceDetails>

### Plane Work Item Updated [#plane-work-item-updated]

Trigger a workflow for Plane work item updated events.

<ReferenceDetails label="Configuration and outputs">
  #### Configuration [#configuration-41]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `autoRegister` | boolean | No | Requires the Plane v2 webhook API. Use manual setup for Community Edition. |
  | `triggerApiKey` | string | No | API Token |
  | `triggerBaseUrl` | string | No | Instance URL |
  | `triggerWorkspaceSlug` | string | No | Workspace Slug |
  | `webhookSecret` | string | No | Webhook Secret |
  | `projectId` | string | No | Self-hosted v1 deletions without project information are skipped when this filter is set. |
  | `workspaceId` | string | No | Workspace ID |

  #### Output [#output-108]

  | Parameter | Type | Description |
  | - | - | - |
  | `version` | string | Payload version: v1 or v2. |
  | `event` | string | Original Plane event or v1 resource name. |
  | `eventName` | string | Normalized event name, such as workitem.updated. |
  | `action` | string | v1 action; null for v2. |
  | `event_id` | string | v2 event ID, stable across retries; null for v1. |
  | `delivery_id` | string | Delivery attempt ID from the payload or X-Plane-Delivery header. |
  | `entity_id` | string | v2 primary entity ID; null for v1. |
  | `entity_type` | string | v2 entity type; null for v1. |
  | `webhook_id` | string | Plane webhook configuration ID. |
  | `workspace_id` | string | Plane workspace ID. |
  | `workspace_slug` | string | v1 workspace slug; null for v2. |
  | `data` | json | Complete entity payload, including resource-specific fields. v2 deletions send an empty object. |
  | `activity` | json | v1 changed field, old/new values, actor and identifiers; null for v2. |
  | `previous_attributes` | json | v2 previous changed values or full deleted record; null for v1. |
</ReferenceDetails>

### Plane Work Item Vote Created [#plane-work-item-vote-created]

Trigger a workflow for Plane work item vote created events.

<ReferenceDetails label="Configuration and outputs">
  #### Configuration [#configuration-42]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `autoRegister` | boolean | No | Requires the Plane v2 webhook API. Use manual setup for Community Edition. |
  | `triggerApiKey` | string | No | API Token |
  | `triggerBaseUrl` | string | No | Instance URL |
  | `triggerWorkspaceSlug` | string | No | Workspace Slug |
  | `webhookSecret` | string | No | Webhook Secret |
  | `projectId` | string | No | Self-hosted v1 deletions without project information are skipped when this filter is set. |
  | `workspaceId` | string | No | Workspace ID |

  #### Output [#output-109]

  | Parameter | Type | Description |
  | - | - | - |
  | `version` | string | Payload version: v1 or v2. |
  | `event` | string | Original Plane event or v1 resource name. |
  | `eventName` | string | Normalized event name, such as workitem.updated. |
  | `action` | string | v1 action; null for v2. |
  | `event_id` | string | v2 event ID, stable across retries; null for v1. |
  | `delivery_id` | string | Delivery attempt ID from the payload or X-Plane-Delivery header. |
  | `entity_id` | string | v2 primary entity ID; null for v1. |
  | `entity_type` | string | v2 entity type; null for v1. |
  | `webhook_id` | string | Plane webhook configuration ID. |
  | `workspace_id` | string | Plane workspace ID. |
  | `workspace_slug` | string | v1 workspace slug; null for v2. |
  | `data` | json | Complete entity payload, including resource-specific fields. v2 deletions send an empty object. |
  | `activity` | json | v1 changed field, old/new values, actor and identifiers; null for v2. |
  | `previous_attributes` | json | v2 previous changed values or full deleted record; null for v1. |
</ReferenceDetails>

### Plane Work Item Vote Deleted [#plane-work-item-vote-deleted]

Trigger a workflow for Plane work item vote deleted events.

<ReferenceDetails label="Configuration and outputs">
  #### Configuration [#configuration-43]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `autoRegister` | boolean | No | Requires the Plane v2 webhook API. Use manual setup for Community Edition. |
  | `triggerApiKey` | string | No | API Token |
  | `triggerBaseUrl` | string | No | Instance URL |
  | `triggerWorkspaceSlug` | string | No | Workspace Slug |
  | `webhookSecret` | string | No | Webhook Secret |
  | `projectId` | string | No | Self-hosted v1 deletions without project information are skipped when this filter is set. |
  | `workspaceId` | string | No | Workspace ID |

  #### Output [#output-110]

  | Parameter | Type | Description |
  | - | - | - |
  | `version` | string | Payload version: v1 or v2. |
  | `event` | string | Original Plane event or v1 resource name. |
  | `eventName` | string | Normalized event name, such as workitem.updated. |
  | `action` | string | v1 action; null for v2. |
  | `event_id` | string | v2 event ID, stable across retries; null for v1. |
  | `delivery_id` | string | Delivery attempt ID from the payload or X-Plane-Delivery header. |
  | `entity_id` | string | v2 primary entity ID; null for v1. |
  | `entity_type` | string | v2 entity type; null for v1. |
  | `webhook_id` | string | Plane webhook configuration ID. |
  | `workspace_id` | string | Plane workspace ID. |
  | `workspace_slug` | string | v1 workspace slug; null for v2. |
  | `data` | json | Complete entity payload, including resource-specific fields. v2 deletions send an empty object. |
  | `activity` | json | v1 changed field, old/new values, actor and identifiers; null for v2. |
  | `previous_attributes` | json | v2 previous changed values or full deleted record; null for v1. |
</ReferenceDetails>
