Linear issues filed and triaged by an AI agent

Turn bug reports, Slack threads and alerts into Linear issues with the right team, priority and labels, then keep them updated. Connects with an API key.

Category
Developer tools
Connect
Connect with one click (OAuth) · managing connections
Operations
22
Triggers
6

Most Linear automation is about getting work into Linear with the right fields, and keeping it honest afterwards. Coworkly does both inside one run: an AI agent reads a bug report, a support ticket or an alert, decides the team, priority and labels, and files the issue; later steps update its state or add a comment when something changes elsewhere. The run can also stop and show a person the draft before anything lands in your backlog. Describe it in plain English and Coworkly builds the graph, wires your Linear connection and tests each step on real data before you activate.

What teams build

  • A webhook from the error tracker runs an AI agent that writes a one-line title and a reproducible description, then create_issue files it on the platform team at the priority the agent chose and emails the reporter the ENG- link.
  • A :ticket: reaction in Slack reads the thread, an agent drafts the issue, and an approval step shows the draft in Slack; on approve the issue is created and its identifier is posted back in the thread.
  • Every Monday a schedule runs list_issues filtered to In Progress, a loop checks each one's last update, and comment_issue asks for a status on the stale ones before one digest goes to the team channel.

How it connects

Paste a personal API key from Linear (Settings, API, Personal API keys). Coworkly sends it the way Linear's GraphQL API expects, raw in the Authorization header with no Bearer prefix, stores it encrypted and never shows it again. Rotating the key is a reconnect on the same connection, and no step needs rewiring. Each Linear step picks its connection in the Inspector; see managing connections.

Related

Every Linear operation Coworkly can run

Straight from the integration's manifest, so this list is what the steps on the canvas can actually do today.

Operation What it does
archive issue Archive an issue (Linear's soft delete; it can be restored).
comment issue Add a comment to an issue.
create issue Create an issue on a Linear team.
create label Create an issue label, for the workspace or one team.
create project Create a project for one or more teams.
get issue Fetch one issue by UUID or its identifier (ENG-123).
get project Fetch a project with its lead, members, status, size (`scope`, the total of its issues' estimates) and issues.
link url Attach a link (a PR, a doc, a ticket elsewhere) to an issue.
list comments List an issue's comments, oldest first.
list cycles List a team's cycles (ids for cycle_id).
list issues List issues, optionally filtered. GraphQL `issues` query.
list labels List issue labels (ids for label_ids).
list project statuses List the workspace's project statuses (ids for status_id).
list projects List projects (ids for project_id).
list states List a team's workflow states (ids for state_id).
list teams List the workspace's teams (ids for create_issue and filters).
list users List the workspace's members (ids for assignee_id).
relate issues Link two issues. `blocks` means issue_id blocks related_issue_id (for "A is blocked by B", pass B as issue_id and A as related_issue_id). Also `related` and `duplicate` (issue_id duplicates related_issue_id).
search issues Full-text search across issue titles, descriptions and comments.
unrelate issues Remove a link between two issues by its relation id (from get_issue or relate_issues).
update issue Update an issue's fields (title, state, priority, etc.).
update project Update a project's name, description, lead or target date.

Linear events that can start a workflow

Comment

Fires when a comment on an issue is created, updated or removed.

Emoji reaction

Fires when someone adds or removes an emoji reaction on a comment or issue.

Issue

Fires when an issue is created, updated or removed. On an update, `changed` lists the fields that changed and `previous` holds their old values (`state_changed`, `assignee_changed` flag the common ones).

Project

Fires when a project is created, updated or removed.

Project label

Fires when a project label is created, updated or removed.

Project update

Fires when a project status update (the written check-in) is posted or edited.

Works with

Describe the workflow. Coworkly builds it and tests it on your data.

Free to start, no card. Connect your apps, say what should happen in plain English, and watch each step run against real data before anything goes live.