logo_smallAxellero.io

Linear

Professional project management and issue tracking integration with comprehensive Linear GraphQL API support.

Linear Node

Comprehensive integration with Linear project management platform, enabling automated issue tracking, team coordination, and project management workflows with full GraphQL API support.

Available Operations

  • Issue Management: Create, update, retrieve, and search issues with comprehensive filtering
  • Team Coordination: Access teams, users, workflow states, labels, and cycles
  • Project Management: Manage projects, cycles, and organizational structure
  • Collaboration: Add comments and manage threaded discussions
  • Resource Discovery: List and filter all Linear workspace resources

Connection Configuration

ParameterTypeRequiredDescription
apiKeyTEXTYesLinear API key from Settings → API in your Linear workspace
baseUrlTEXTNoLinear GraphQL API endpoint (default: https://api.linear.app/graphql)
{
  "apiKey": "{{ctx.consts.LINEAR_API_KEY}}",
  "baseUrl": "https://api.linear.app/graphql"
}

Issue Management Operations

createIssue

Create a new issue with comprehensive options for assignment, prioritization, and organization.

ParameterTypeRequiredDescription
titleTEXTYesIssue title (required)
teamIdTEXTYesTeam ID where the issue will be created
descriptionTEXTNoIssue description in Markdown format
assigneeIdTEXTNoUser ID to assign the issue to
priorityINTNoIssue priority: 0=No Priority, 1=Urgent, 2=High, 3=Normal, 4=Low
stateIdTEXTNoWorkflow state ID for the issue
labelIdsTEXTNoComma-separated list of label IDs to attach
cycleIdTEXTNoCycle ID to assign the issue to
projectIdTEXTNoProject ID to assign the issue to
projectMilestoneIdTEXTNoProject milestone ID to assign the issue to
estimateINTNoEstimation points for the issue
dueDateTEXTNoDue date in ISO format (YYYY-MM-DD)
parentIdTEXTNoParent issue ID to create this as a sub-issue
{
  "title": "{{ctx.vars.issueTitle}}",
  "teamId": "{{ctx.vars.teamId}}",
  "description": "## Overview\n\n{{ctx.nodes.descriptionGenerator.outputs.description}}",
  "assigneeId": "{{ctx.vars.assigneeId}}",
  "priority": 2,
  "estimate": 8,
  "dueDate": "{{ctx.vars.dueDate}}"
}

updateIssue

Update an existing issue with new values for any supported field.

ParameterTypeRequiredDescription
issueIdTEXTYesLinear issue ID or identifier to update
titleTEXTNoNew issue title
descriptionTEXTNoNew issue description in Markdown format
assigneeIdTEXTNoUser ID to assign the issue to (empty string to unassign)
priorityINTNoNew issue priority (0-4)
stateIdTEXTNoNew workflow state ID for the issue
teamIdTEXTNoMove issue to different team (team ID)
labelIdsTEXTNoComma-separated list of label IDs to set
cycleIdTEXTNoCycle ID to assign the issue to
projectIdTEXTNoProject ID to assign the issue to
estimateINTNoEstimation points for the issue
dueDateTEXTNoDue date in ISO format (YYYY-MM-DD)
parentIdTEXTNoParent issue ID to set this as a sub-issue
{
  "issueId": "{{ctx.vars.issueId}}",
  "stateId": "{{ctx.vars.newStateId}}",
  "assigneeId": "{{ctx.user.linearUserId}}",
  "estimate": "{{ctx.vars.updatedEstimate}}"
}

getIssue

Retrieve detailed information about a specific issue including metadata and optional comments.

ParameterTypeRequiredDescription
issueIdTEXTYesLinear issue ID or identifier (e.g., 'ENG-123')
includeCommentsBOOLEANNoInclude issue comments in response
{
  "issueId": "{{ctx.vars.issueIdentifier}}",
  "includeComments": true
}

listIssues

Search and list issues with advanced filtering and pagination support.

ParameterTypeRequiredDescription
teamIdTEXTNoFilter by team ID
assigneeIdTEXTNoFilter by assignee user ID
stateIdTEXTNoFilter by workflow state ID
priorityINTNoFilter by priority (0-4)
labelIdTEXTNoFilter by specific label ID
cycleIdTEXTNoFilter by cycle ID
projectIdTEXTNoFilter by project ID
searchTEXTNoSearch query to filter issues by title and description
limitINTNoMaximum number of issues to return (default: 20, max: 100)
includeArchivedBOOLEANNoInclude archived issues in results
{
  "teamId": "{{ctx.vars.teamFilter}}",
  "assigneeId": "{{ctx.user.linearUserId}}",
  "stateId": "{{ctx.vars.activeStateId}}",
  "search": "{{ctx.vars.searchQuery}}",
  "limit": 50
}

addComment

Add a comment to an existing issue with support for threaded replies.

ParameterTypeRequiredDescription
issueIdTEXTYesLinear issue ID to comment on
bodyTEXTYesComment body text in Markdown format
parentIdTEXTNoParent comment ID for threaded replies
{
  "issueId": "{{ctx.vars.issueId}}",
  "body": "{{ctx.nodes.commentGenerator.outputs.commentText}}",
  "parentId": "{{ctx.vars.parentCommentId}}"
}

Resource Discovery Operations

listTeams

Retrieve all teams in the Linear workspace for use in other operations.

No parameters required - returns all accessible teams with IDs, names, keys, and metadata.

{}

listUsers

Retrieve all users in the Linear workspace for assignee operations.

No parameters required - returns all accessible users with IDs, names, email addresses, and metadata.

{}

listWorkflowStates

Retrieve workflow states for a specific team to understand available issue states.

ParameterTypeRequiredDescription
teamIdTEXTYesTeam ID to get workflow states for
{
  "teamId": "{{ctx.vars.teamId}}"
}

listLabels

Retrieve labels in the workspace, optionally filtered by team.

ParameterTypeRequiredDescription
teamIdTEXTNoOptional team ID to filter labels by team
{
  "teamId": "{{ctx.vars.teamFilter}}"
}

listCycles

Retrieve cycles for a specific team with completion status filtering.

ParameterTypeRequiredDescription
teamIdTEXTYesTeam ID to get cycles for
includeCompletedBOOLEANNoInclude completed cycles (default: false)
{
  "teamId": "{{ctx.vars.teamId}}",
  "includeCompleted": false
}

listProjects

Retrieve projects in the workspace with team and completion filtering.

ParameterTypeRequiredDescription
teamIdTEXTNoOptional team ID to filter projects by team
includeCompletedBOOLEANNoInclude completed projects (default: false)
{
  "teamId": "{{ctx.vars.teamFilter}}",
  "includeCompleted": true
}

Workflow Integration

Use workflow context for dynamic issue management:

{
  "title": "{{ctx.vars.eventType}} - {{ctx.user.department}}",
  "teamId": "{{ctx.nodes.teamSelector.outputs.selectedTeam}}",
  "description": "**Automated Issue**\n\n{{ctx.nodes.issueGenerator.outputs.description}}\n\n**Context:**\n- User: {{ctx.user.name}}\n- Triggered: {{ctx.vars.currentDateTime}}",
  "assigneeId": "{{ctx.nodes.userLookup.outputs.assigneeId}}",
  "priority": "{{ctx.vars.calculatedPriority}}",
  "labelIds": "{{ctx.nodes.labelMapper.outputs.applicableLabels}}"
}

Response Format

Success Response

{
  "success": true,
  "issue": {
    "id": "issue_abc123",
    "identifier": "ENG-456",
    "title": "Implement user dashboard",
    "state": {
      "name": "In Progress",
      "type": "started"
    },
    "assignee": {
      "name": "John Doe",
      "email": "john@company.com"
    },
    "team": {
      "name": "Engineering",
      "key": "ENG"
    },
    "url": "https://linear.app/company/issue/ENG-456"
  }
}

Error Response

{
  "success": false,
  "error": "Team not found",
  "code": "TEAM_NOT_FOUND"
}

Priority Levels

ValueLabelDescription
0No PriorityDefault priority level
1UrgentRequires immediate attention
2HighImportant, should be addressed soon
3NormalStandard priority level
4LowCan be addressed when time allows

Use Cases

  • Automated Issue Creation: Generate issues from monitoring alerts, user feedback, or workflow events
  • Issue Lifecycle Management: Move issues through workflow states based on external triggers
  • Team Coordination: Automatically assign issues based on team capacity or expertise
  • Project Tracking: Link issues to projects and cycles for comprehensive project management
  • Progress Reporting: Query issues and projects to generate status reports and metrics
  • Integration Workflows: Sync Linear issues with external tools and systems

Authentication

Linear uses API key authentication with the GraphQL endpoint. The API key provides access based on the user's permissions in the Linear workspace.

Required Permissions:

  • Read access to teams, users, and workspace metadata
  • Create/update access for issue management operations
  • Comment access for collaboration features

Getting Started

  1. Obtain API Key: Generate an API key in Linear Settings → API
  2. Identify Resources: Use list operations to discover team IDs, user IDs, and other required identifiers
  3. Configure Operations: Set up issue creation and management operations with proper team and user mappings
  4. Test Integration: Validate issue operations and workflow integration before production deployment
  5. Monitor Usage: Track API usage and implement rate limiting as needed for high-volume operations