Overview
The Linear tools connect to the Linear GraphQL API so your workflows can create and update issues, add comments, look up teams, and track project progress.Key Features
LINEAR_CREATE_ISSUE- Create a new issue in a Linear team.
- Key inputs:
team_id(required),title(required),description(Markdown),state_id,assignee_id,project_id,label_ids,subscriber_ids,priority(integer 0–4),estimate(integer ≥ 0).
LINEAR_GET_ISSUES- Retrieve a list of issues with optional server-side filters.
- Key inputs:
team_id,state_id,assignee_id,project_id,label_ids(matches issues containing any of the given labels),updated_after/updated_before(ISO 8601, e.g.2024-01-01T00:00:00Z),first(1–100, default 20).
LINEAR_UPDATE_ISSUE- Update fields on an existing issue. At least one update field must be provided.
- Key inputs:
issue_id(required), plus any oftitle,description,state_id,assignee_id,project_id,label_ids,subscriber_ids,priority,estimate.
LINEAR_ADD_ISSUE_COMMENT- Add a comment to an issue — useful for triage context or workflow notifications.
- Key inputs:
issue_id(required),comment_body(required, Markdown).
LINEAR_LIST_TEAMS- Fetch teams to look up their internal IDs, names, and keys.
- Key inputs:
first(1–100, default 20).
LINEAR_GET_PROJECT_PROGRESS- Retrieve a project’s progress and status, including scope, completed scope, health, milestones, members, and recent project updates.
- Key inputs:
project_id(required).
Authentication
All Linear tools authenticate with a personal API key (OAuth is not supported). Generate one in Linear under Settings → Security & access → Personal API keys, then store it as aLINEAR_API_KEY secret in your workspace.
Each step takes a single config field:
Note: Treat API keys as sensitive information and never commit them to public repositories.
Usage Examples
Example: Look up a team and create an issue
Fetch your teams once to find the internal team ID, then create an issue in that team:Example: Weekly progress digest
Collect issues updated in the past week and the current project status, then summarize with an AI step:Notes
- IDs, not names: All references (
team_id,state_id,assignee_id,project_id,label_ids) are Linear’s internal identifiers. UseLINEAR_LIST_TEAMSandLINEAR_GET_ISSUESto discover them. - List inputs:
label_idsandsubscriber_idsaccept a JSON array (e.g.["id1", "id2"]) or a comma-separated string (id1, id2). - Updates replace lists: In
LINEAR_UPDATE_ISSUE,label_idsandsubscriber_idsreplace the existing lists rather than appending to them. - Fields cannot be cleared: Empty values are ignored on update, so you cannot blank out a title or description — only overwrite it.
LINEAR_UPDATE_ISSUEfails if no update field is provided. - Pagination:
LINEAR_GET_ISSUESandLINEAR_LIST_TEAMSreturn at most 100 items per run. ApageInfoobject (hasNextPage,endCursor) is returned, but there is no cursor input, so only the first page is retrievable in a single step. Narrow results with filters instead. - Error handling:
LINEAR_GET_PROJECT_PROGRESSreturns anerrorobject in its output instead of failing the step when the request fails.