Pipory
Node reference

Linear

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.

Scopes

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.

Operations (114)

Issues — read

OperationWhat it doesScope
getIssueGet issueread
listIssuesList issuesread
searchIssuesSearch issues by textread
listIssueRelationsList an issue's relationsread
listIssueAttachmentsList an issue's attachmentsread
listIssueSubscribersList an issue's subscribersread
listIssuePriorityValuesList priority valuesread

Issues — write

OperationWhat it doesScope
createIssueCreate issuewrite (or issues:create)
updateIssueUpdate issuewrite
archiveIssueArchive issuewrite
unarchiveIssueUnarchive issuewrite
deleteIssueDelete (trash) issuewrite
batchCreateIssuesCreate many issueswrite (or issues:create)
batchUpdateIssuesUpdate many issueswrite
addLabelAdd label to issuewrite
removeLabelRemove label from issuewrite
subscribeToIssueSubscribe a user to an issuewrite
unsubscribeFromIssueUnsubscribe a user from an issuewrite
createIssueRelationLink two issueswrite
deleteIssueRelationUnlink two issueswrite
createIssueReminderSet a reminder on an issuewrite

Comments

OperationWhat it doesScope
addCommentAdd commentwrite (or comments:create)
listCommentsList an issue's commentsread
getCommentGet commentread
listAllCommentsList comments (filterable)read
updateCommentUpdate commentwrite
deleteCommentDelete commentwrite
resolveCommentResolve comment threadwrite
unresolveCommentUnresolve comment threadwrite

Labels

OperationWhat it doesScope
getLabelGet labelread
listLabelsList labelsread
createLabelCreate labelwrite
updateLabelUpdate labelwrite
deleteLabelDelete labelwrite
OperationWhat it doesScope
getAttachmentGet attachmentread
createAttachmentCreate attachmentwrite
linkUrlToIssueLink a URL to an issuewrite
updateAttachmentUpdate attachmentwrite
deleteAttachmentDelete attachmentwrite
findAttachmentsByUrlFind issues by attached URLread

Projects

OperationWhat it doesScope
getProjectGet projectread
listProjectsList a team's projectsread
listAllProjectsList projects (workspace)read
searchProjectsSearch projects by textread
createProjectCreate projectwrite
updateProjectUpdate projectwrite
deleteProjectDelete (trash) projectwrite
unarchiveProjectRestore a trashed projectwrite
addProjectLabelAdd label to projectwrite
removeProjectLabelRemove label from projectwrite

Project milestones

OperationWhat it doesScope
getMilestoneGet project milestoneread
listMilestonesList project milestonesread
createMilestoneCreate project milestonewrite
updateMilestoneUpdate project milestonewrite
deleteMilestoneDelete project milestonewrite

Project updates

OperationWhat it doesScope
getProjectUpdateGet project updateread
listProjectUpdatesList project updatesread
createProjectUpdatePost a project updatewrite
editProjectUpdateEdit a project updatewrite
archiveProjectUpdateArchive a project updatewrite

Cycles

OperationWhat it doesScope
getCycleGet cycleread
listCyclesList a team's cyclesread
listAllCyclesList cycles (workspace)read
createCycleCreate cyclewrite
updateCycleUpdate cyclewrite
archiveCycleArchive cyclewrite

Teams and workflow states

OperationWhat it doesScope
getTeamGet teamread
listTeamsList teamsread
createTeamCreate teamwrite (workspace admin)
updateTeamUpdate teamwrite
addTeamMemberAdd a member to a teamwrite
removeTeamMemberRemove a team membershipwrite
getWorkflowStateGet workflow stateread
listWorkflowStatesList workflow statesread
createWorkflowStateCreate workflow statewrite
updateWorkflowStateUpdate workflow statewrite
archiveWorkflowStateArchive workflow statewrite

Users and workspace

OperationWhat it doesScope
getViewerGet the authenticated userread
getUserGet userread
listUsersList usersread
updateUserUpdate useradmin
getOrganizationGet the workspaceread

Documents

OperationWhat it doesScope
getDocumentGet documentread
listDocumentsList documentsread
searchDocumentsSearch documents by textread
createDocumentCreate documentwrite
updateDocumentUpdate documentwrite
deleteDocumentDelete documentwrite

Reactions, favorites and files

OperationWhat it doesScope
addReactionAdd an emoji reactionwrite
removeReactionRemove an emoji reactionwrite
addFavoriteAdd a favoritewrite
removeFavoriteRemove a favoritewrite
requestFileUploadRequest a file upload URLwrite
uploadImageFromUrlImport an image from a URLwrite

Initiatives

OperationWhat it doesScope
getInitiativeGet initiativeread
listInitiativesList initiativesread
createInitiativeCreate initiativewrite
editInitiativeUpdate initiativewrite
addProjectToInitiativeAdd a project to an initiativewrite
postInitiativeUpdatePost an initiative updatewrite

Customers

OperationWhat it doesScope
getCustomerGet customerread
listCustomersList customersread
createCustomerCreate customerwrite
editCustomerUpdate customerwrite
upsertCustomerCreate or update customerwrite
createCustomerNeedLink a customer need to an issuewrite

Templates

OperationWhat it doesScope
getTemplateGet templateread
listTemplatesList templatesread
createTemplateCreate templatewrite

Webhooks

OperationWhat it doesScope
getWebhookGet webhookread
listWebhooksList webhooksread
createWebhookCreate webhookwrite
editWebhookUpdate webhookwrite
deleteWebhookDelete webhookwrite

Example

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:

FieldValueNotes
teamId{{ teams.nodes.[0].id }}From a listTeams node upstream — Linear has no create-by-team-key
title{{ myTrigger.subject }}The issue title
descriptionReported by {{ myTrigger.email }} {{ myTrigger.body }}Markdown
priority20 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}}.