Linear node reference - all 114 operations, the credential it needs, and a worked example.
Linear. Issues (create, update, archive, delete, batch create and update, search, subscribe, relate, remind), comments, labels, attachments and links, projects, milestones and project updates, cycles, teams, memberships and workflow states, users and the workspace, documents, reactions, favorites, file uploads, initiatives, customers, templates and webhook registrations.
Credential: Linear personal API key - see Credentials.
Each operation below lists the scope it needs. Scopes are carried by the personal API key, which inherits the ISSUING USER'S full read+write access rather than a scope subset - so the scope named below is what an OAuth app would need, and what actually gates an operation for an API key is that user's own workspace permissions. If a run fails with a permission error, the node names the missing scope in the error - grant it and re-run; you do not need to rebuild the workflow.
| Operation | What it does | Scope |
|---|
getIssue | Get issue | read |
listIssues | List issues | read |
searchIssues | Search issues by text | read |
listIssueRelations | List an issue's relations | read |
listIssueAttachments | List an issue's attachments | read |
listIssueSubscribers | List an issue's subscribers | read |
listIssuePriorityValues | List priority values | read |
| Operation | What it does | Scope |
|---|
createIssue | Create issue | write (or issues:create) |
updateIssue | Update issue | write |
archiveIssue | Archive issue | write |
unarchiveIssue | Unarchive issue | write |
deleteIssue | Delete (trash) issue | write |
batchCreateIssues | Create many issues | write (or issues:create) |
batchUpdateIssues | Update many issues | write |
addLabel | Add label to issue | write |
removeLabel | Remove label from issue | write |
subscribeToIssue | Subscribe a user to an issue | write |
unsubscribeFromIssue | Unsubscribe a user from an issue | write |
createIssueRelation | Link two issues | write |
deleteIssueRelation | Unlink two issues | write |
createIssueReminder | Set a reminder on an issue | write |
| Operation | What it does | Scope |
|---|
addComment | Add comment | write (or comments:create) |
listComments | List an issue's comments | read |
getComment | Get comment | read |
listAllComments | List comments (filterable) | read |
updateComment | Update comment | write |
deleteComment | Delete comment | write |
resolveComment | Resolve comment thread | write |
unresolveComment | Unresolve comment thread | write |
| Operation | What it does | Scope |
|---|
getLabel | Get label | read |
listLabels | List labels | read |
createLabel | Create label | write |
updateLabel | Update label | write |
deleteLabel | Delete label | write |
| Operation | What it does | Scope |
|---|
getAttachment | Get attachment | read |
createAttachment | Create attachment | write |
linkUrlToIssue | Link a URL to an issue | write |
updateAttachment | Update attachment | write |
deleteAttachment | Delete attachment | write |
findAttachmentsByUrl | Find issues by attached URL | read |
| Operation | What it does | Scope |
|---|
getProject | Get project | read |
listProjects | List a team's projects | read |
listAllProjects | List projects (workspace) | read |
searchProjects | Search projects by text | read |
createProject | Create project | write |
updateProject | Update project | write |
deleteProject | Delete (trash) project | write |
unarchiveProject | Restore a trashed project | write |
addProjectLabel | Add label to project | write |
removeProjectLabel | Remove label from project | write |
| Operation | What it does | Scope |
|---|
getMilestone | Get project milestone | read |
listMilestones | List project milestones | read |
createMilestone | Create project milestone | write |
updateMilestone | Update project milestone | write |
deleteMilestone | Delete project milestone | write |
| Operation | What it does | Scope |
|---|
getProjectUpdate | Get project update | read |
listProjectUpdates | List project updates | read |
createProjectUpdate | Post a project update | write |
editProjectUpdate | Edit a project update | write |
archiveProjectUpdate | Archive a project update | write |
| Operation | What it does | Scope |
|---|
getCycle | Get cycle | read |
listCycles | List a team's cycles | read |
listAllCycles | List cycles (workspace) | read |
createCycle | Create cycle | write |
updateCycle | Update cycle | write |
archiveCycle | Archive cycle | write |
| Operation | What it does | Scope |
|---|
getTeam | Get team | read |
listTeams | List teams | read |
createTeam | Create team | write (workspace admin) |
updateTeam | Update team | write |
addTeamMember | Add a member to a team | write |
removeTeamMember | Remove a team membership | write |
getWorkflowState | Get workflow state | read |
listWorkflowStates | List workflow states | read |
createWorkflowState | Create workflow state | write |
updateWorkflowState | Update workflow state | write |
archiveWorkflowState | Archive workflow state | write |
| Operation | What it does | Scope |
|---|
getViewer | Get the authenticated user | read |
getUser | Get user | read |
listUsers | List users | read |
updateUser | Update user | admin |
getOrganization | Get the workspace | read |
| Operation | What it does | Scope |
|---|
getDocument | Get document | read |
listDocuments | List documents | read |
searchDocuments | Search documents by text | read |
createDocument | Create document | write |
updateDocument | Update document | write |
deleteDocument | Delete document | write |
| Operation | What it does | Scope |
|---|
addReaction | Add an emoji reaction | write |
removeReaction | Remove an emoji reaction | write |
addFavorite | Add a favorite | write |
removeFavorite | Remove a favorite | write |
requestFileUpload | Request a file upload URL | write |
uploadImageFromUrl | Import an image from a URL | write |
| Operation | What it does | Scope |
|---|
getInitiative | Get initiative | read |
listInitiatives | List initiatives | read |
createInitiative | Create initiative | write |
editInitiative | Update initiative | write |
addProjectToInitiative | Add a project to an initiative | write |
postInitiativeUpdate | Post an initiative update | write |
| Operation | What it does | Scope |
|---|
getCustomer | Get customer | read |
listCustomers | List customers | read |
createCustomer | Create customer | write |
editCustomer | Update customer | write |
upsertCustomer | Create or update customer | write |
createCustomerNeed | Link a customer need to an issue | write |
| Operation | What it does | Scope |
|---|
getTemplate | Get template | read |
listTemplates | List templates | read |
createTemplate | Create template | write |
| Operation | What it does | Scope |
|---|
getWebhook | Get webhook | read |
listWebhooks | List webhooks | read |
createWebhook | Create webhook | write |
editWebhook | Update webhook | write |
deleteWebhook | Delete webhook | write |
Create an issue on the right team without hardcoding UUIDs
Linear's API addresses everything by UUID, and a workflow author does not have those to hand — they know the team is "Engineering" and the label is "bug". This creates the issue with the ids resolved from list operations upstream, which is the pattern that survives someone renaming a team.
Set Operation to createIssue, then fill in:
| Field | Value | Notes |
|---|
teamId | {{ teams.nodes.[0].id }} | From a listTeams node upstream — Linear has no create-by-team-key |
title | {{ myTrigger.subject }} | The issue title |
description | Reported by {{ myTrigger.email }} {{ myTrigger.body }} | Markdown |
priority | 2 | 0 none, 1 urgent, 2 high, 3 normal, 4 low |
labelIds | {{ labels.nodes.[0].id }} | Comma-separated list of label UUIDs |
Sets {{bug.id}}, {{bug.identifier}} (the human key, e.g. ENG-1423 — this is the one to put in a Slack message), {{bug.url}} and {{bug.title}}.