What can you do with it?

The Linear integration provides comprehensive project management and issue tracking through GraphQL API. You can manage issues with detailed tracking, organize teams and projects, track workflow states, assign tasks, add comments, and manage labels for organization. This integration supports the full Linear workflow including creating issues, updating status, team collaboration, and project management. Perfect for development teams looking to automate their Linear workflows and integrate with other tools.

How to use it?

Basic Command Structure

/your-linear-connection [action] [required-parameters] [optional-parameters]

Parameters

Required:

  • action - The operation you want to perform (get_user, get_issues, create_issue, update_issue, get_teams, get_projects, etc.)

Optional:

  • team_id - Team identifier for team-specific operations
  • issue_id - Issue identifier for issue-specific operations
  • project_id - Project identifier for project operations

Tools

Get Current User

Retrieve information about the authenticated user

Parameters:

  • action (required) - Set to “get_user”

Example:

/your-linear-connection
action: get_user

Response:

{
  "viewer": {
    "id": "[User ID]",
    "name": "[User name]",
    "email": "[User email]"
  }
}

Get Issues

Retrieve a list of issues with filtering options

Parameters:

  • action (required) - Set to “get_issues”
  • team_id (optional) - Filter by specific team

Example:

/your-linear-connection
action: get_issues

Response:

{
  "issues": {
    "nodes": "[Array of issue objects with id, identifier, title, description, priority, state, assignee, team, and timestamps]"
  }
}

Get Issue by ID

Retrieve detailed information about a specific issue

Parameters:

  • action (required) - Set to “get_issue”
  • issue_id (required) - The issue identifier

Example:

/your-linear-connection
action: get_issue
issue_id: issue-123

Response:

{
  "issue": {
    "id": "[Issue ID]",
    "identifier": "[Issue identifier like DEV-123]",
    "title": "[Issue title]",
    "description": "[Issue description]",
    "priority": "[Priority level]",
    "estimate": "[Story points]",
    "state": "[Current state with name and type]",
    "assignee": "[Assignee information]",
    "team": "[Team information]",
    "labels": "[Array of labels]",
    "comments": "[Array of comments]"
  }
}

Create Issue

Create a new issue in Linear

Parameters:

  • action (required) - Set to “create_issue”
  • title (required) - Issue title
  • description (required) - Issue description
  • team_id (required) - Team identifier
  • priority (optional) - Priority level (1-4, where 1 is urgent)
  • assignee_id (optional) - User ID to assign the issue to
  • label_ids (optional) - Array of label IDs

Example:

/your-linear-connection
action: create_issue
title: New feature request
description: Add dark mode support
team_id: team-123
priority: 3
assignee_id: user-456
label_ids: label-789

Response:

{
  "issueCreate": {
    "success": "[Boolean indicating success]",
    "issue": {
      "id": "[Created issue ID]",
      "identifier": "[Issue identifier]",
      "title": "[Issue title]",
      "description": "[Issue description]",
      "url": "[Linear app URL]"
    }
  }
}

Update Issue

Update an existing issue

Parameters:

  • action (required) - Set to “update_issue”
  • issue_id (required) - Issue identifier
  • title (optional) - Updated title
  • description (optional) - Updated description
  • priority (optional) - Updated priority
  • state_id (optional) - New workflow state ID

Example:

/your-linear-connection
action: update_issue
issue_id: issue-123
title: Updated issue title
description: Updated description
priority: 1
state_id: state-789

Response:

{
  "issueUpdate": {
    "success": "[Boolean indicating success]",
    "issue": {
      "id": "[Issue ID]",
      "identifier": "[Issue identifier]",
      "title": "[Updated title]",
      "description": "[Updated description]",
      "state": "[New state information]"
    }
  }
}

Get Teams

Retrieve all teams and their information

Parameters:

  • action (required) - Set to “get_teams”

Example:

/your-linear-connection
action: get_teams

Response:

{
  "teams": {
    "nodes": "[Array of team objects with id, name, key, description, issue count, and members]"
  }
}

Get Team Issues

Retrieve issues for a specific team

Parameters:

  • action (required) - Set to “get_team_issues”
  • team_id (required) - Team identifier

Example:

/your-linear-connection
action: get_team_issues
team_id: team-123

Response:

{
  "team": {
    "id": "[Team ID]",
    "name": "[Team name]",
    "issues": {
      "nodes": "[Array of team-specific issues]"
    }
  }
}

Get Projects

Retrieve all projects with progress and details

Parameters:

  • action (required) - Set to “get_projects”

Example:

/your-linear-connection
action: get_projects

Response:

{
  "projects": {
    "nodes": "[Array of project objects with id, name, description, state, progress, target date, lead, and teams]"
  }
}

Get Workflow States

Retrieve workflow states for teams

Parameters:

  • action (required) - Set to “get_workflow_states”

Example:

/your-linear-connection
action: get_workflow_states

Response:

{
  "workflowStates": {
    "nodes": "[Array of workflow state objects with id, name, type, position, color, and team]"
  }
}

Create Comment

Add a comment to an issue

Parameters:

  • action (required) - Set to “create_comment”
  • issue_id (required) - Issue identifier
  • body (required) - Comment text

Example:

/your-linear-connection
action: create_comment
issue_id: issue-123
body: This is a comment on the issue

Response:

{
  "commentCreate": {
    "success": "[Boolean indicating success]",
    "comment": {
      "id": "[Comment ID]",
      "body": "[Comment text]",
      "user": "[User information]",
      "createdAt": "[Creation timestamp]"
    }
  }
}

Get Labels

Retrieve labels for filtering and organization

Parameters:

  • action (required) - Set to “get_labels”

Example:

/your-linear-connection
action: get_labels

Response:

{
  "issueLabels": {
    "nodes": "[Array of label objects with id, name, color, and description]"
  }
}

Get Users

Retrieve team members for assignment

Parameters:

  • action (required) - Set to “get_users”

Example:

/your-linear-connection
action: get_users

Response:

{
  "users": {
    "nodes": "[Array of user objects with id, name, email, avatar URL, active status, and admin rights]"
  }
}

Notes

Linear uses GraphQL API with all requests as POST to the graphql endpoint. Team IDs are mandatory for creating issues - always ask users for team_id when required. Issue identifiers follow the pattern TEAM-NUMBER (e.g., DEV-123). Priority levels are 1-4 where 1 is urgent and 4 is low. Workflow states have types like backlog, unstarted, started, completed, and canceled. All timestamps are in ISO 8601 format. Labels have color codes for visual organization. The system supports nested data structures for comprehensive issue tracking.