list_work_items
List and filter work items across a workspace or project using PQL queries. Supports pagination, sorting, and selecting specific fields for efficient retrieval.
Instructions
List work items with optional PQL filtering.
Omit project_id to list across the entire workspace. Pass project_id to scope results to a single project.
For UUID fields (assignee, state, label, cycle, module, type, milestone) call the relevant list tool first to get the UUID.
Args:
project_id: UUID of the project. Omit for workspace-wide results.
pql: PQL filter. See field description for syntax.
order_by: Sort field; prefix - for descending (e.g. -created_at).
per_page: 1-100, default 25.
cursor: From previous response's next_cursor.
expand: Comma-separated relations to expand (e.g. assignees,labels,state).
fields: Sparse fieldset - id, name, sequence_id, priority, state,
project, assignees, labels, type_id, description_html, start_date,
target_date, created_at, updated_at, created_by, is_draft. Use
project (not project_id) and description_html (there is no
description field). Any field you omit or misname comes back
null - a null here does NOT mean the item lacks that value; it
means it was not requested. To read the description, include
description_html; for the type, include type_id.
external_id / external_source: Filter by external system.
Returns: results: Paginated list of work items. total_count: True DB total, not page-bounded - use for counts. next_cursor: Cursor for the next page. prev_cursor: Cursor for the previous page.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| pql | No | Optional Plane Query Language (PQL) filter. Examples: `priority = "urgent" AND assignee = currentUser()`, `stateGroup IN openStates() AND isOverdue()`. UUID fields (project, assignee, state, label, cycle, module, type, milestone, createdBy) need UUIDs - call the relevant `list_*` tool first if you only have a name or short identifier (e.g. `LSS` → call `list_projects` and match `identifier` to get `id`). Call `get_pql_reference` for full PQL syntax before composing complex queries. | |
| cursor | No | ||
| expand | No | ||
| fields | No | ||
| order_by | No | ||
| per_page | No | ||
| project_id | No | ||
| external_id | No | ||
| external_source | No |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||