# Linear

> Create and manage Linear issues with a personal API key.

App · Project Management · 6 actions · 1 trigger. Web page: https://docs.lodol.com/docs/integrations/linear

## Triggers

Start a workflow when something happens in Linear. See [how triggers work](https://docs.lodol.com/docs/concepts/triggers.md).

### Linear New Issue

Triggers when a new issue is created in a Linear team.

**Filters**: Narrow which events start a run.

- `team_id` (required)

**Event fields**: What a run starts with. Later steps read each field with an @ reference.

- `issue_id` (text)
- `identifier` (text)
- `title` (text)
- `state` (object)

## Actions

### Add a comment to a Linear issue

Post a comment on a Linear issue thread.

**Inputs**

- Issue ID (`issue_id`, text, required): Linear issue ID to comment on
- Comment (`body`, text, required): The comment text to post

**Outputs**

- `comment` (object): Comment details

**Example output**

```json
{
  "comment": {
    "body": "Sample text content",
    "id": "abc123xyz789"
  }
}
```

### Create a Linear issue

Create a new Linear issue with optional project, description, priority, and assignee.

**Inputs**

- Team ID (`team_id`, text, required): Linear team ID for the issue
- Title (`title`, text, required): Issue title
- Description (`description`, text): Issue description. Markdown formatting is supported.
- Project ID (`project_id`, text): ID of the project to add the issue to
- Priority (`priority`, number): Priority level, from 1 to 5
- Assignee ID (`assignee_id`, text): ID of the user to assign the issue to

**Outputs**

- `issue` (object): Issue details

**Example output**

```json
{
  "issue": {
    "id": "abc123xyz789",
    "identifier": "abc123xyz789",
    "state": {
      "id": "state123",
      "name": "Todo",
      "type": "unstarted"
    },
    "title": "Sample Item",
    "url": "https://example.com/path/123"
  }
}
```

### Get Linear issue details

Retrieve detailed information for a Linear issue.

**Inputs**

- Issue ID (`issue_id`, text, required): Linear issue ID to fetch

**Outputs**

- `issue` (object): Issue details

**Example output**

```json
{
  "issue": {
    "description": "example_value",
    "id": "abc123xyz789",
    "identifier": "abc123xyz789",
    "state": {
      "id": "state123",
      "name": "Active",
      "type": "started"
    },
    "title": "Sample Item",
    "url": "https://example.com/path/123"
  }
}
```

### List Linear issues for a team

Fetch the latest Linear issues for a specific team.

**Inputs**

- Team ID (`team_id`, text, required): Linear team ID to list issues for
- Maximum issues (`first`, number): Maximum number of issues to return (1-50)

**Outputs**

- `issues` (list): Array of Linear issues for the specified team. Each issue contains id (UUID for actions), identifier (human-readable), title, and state. Use issue id with linear_update_issue_state or linear_add_comment actions

**Example output**

```json
{
  "issues": [
    {
      "id": "item123",
      "name": "Sample Task"
    }
  ]
}
```

### List Linear teams

Fetch available Linear teams for the connected workspace.

**Inputs**: None.

**Outputs**

- `teams` (list): Array of Linear teams in the workspace. Each team contains id (use for creating/listing issues), name, and key (issue prefix). Use team id with linear_create_issue action

**Example output**

```json
{
  "teams": [
    {
      "id": "team123",
      "key": "ENG",
      "name": "Engineering"
    }
  ]
}
```

### Update Linear issue state

Move a Linear issue to a different workflow state, such as Todo or Done, using the new state's ID.

**Inputs**

- Issue ID (`issue_id`, text, required): Linear issue ID to update
- State ID (`state_id`, text, required): ID of the workflow state to move the issue to

**Outputs**

- `issue` (object): Issue details

**Example output**

```json
{
  "issue": {
    "id": "abc123xyz789",
    "identifier": "abc123xyz789",
    "state": {
      "id": "state123",
      "name": "Active",
      "type": "started"
    },
    "title": "Sample Item"
  }
}
```
