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_issuefiles it on the platform team at the priority the agent chose and emails the reporter theENG-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_issuesfiltered to In Progress, a loop checks each one's last update, andcomment_issueasks 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
Fires when a comment on an issue is created, updated or removed.
Fires when someone adds or removes an emoji reaction on a comment or 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).
Fires when a project is created, updated or removed.
Fires when a project label is created, updated or removed.
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.