Projects & tasks
Linear setup guide
Plan and track engineering and product work in Linear. Agents search and read issues, create and update them, move them between workflow states, assign people and comment.
Agents keep projects moving: they read, create and update tasks and issues where your team works.
Ways to connect
Company admins connect apps, on the Integrations page in Everdeck: open Linear, choose one of the ways below, follow its steps and fill in its fields. Everdeck checks what you enter before it saves anything, and asks you to confirm it’s you (your second factor) before you type any secret. How connecting works.
Linear can be connected 2 ways. Where there’s a key or token to paste, that’s usually the quickest.
Personal API key
API key.
- Sign in to Linear as the user the agent should act as (a dedicated member keeps its work easy to spot).
- Open Settings > Account > Security & access (https://linear.app/settings/account/security) and create a personal API key. Give it Read and Write permissions (full access also works) and, if you like, limit it to the teams the agent works in.
- Paste the key into the form.
- Optional, to start work when an issue or comment changes: once connected, set up the Linear trigger you want on Everdeck's Intake page and copy the address it gives you. A workspace admin opens Settings > API > Webhooks in Linear, creates a webhook with that address as its URL, selects the Issues data type (issue changes) or Comments (new comments), and copies the signing secret Linear shows into this connection's Webhook signing secret field. Add one webhook per trigger.
| Field | What to enter |
|---|---|
| API key | A secret: Everdeck saves it encrypted and never shows it again. Where to find it. |
| Webhook signing secret (only for live updates) (optional) | A secret: Everdeck saves it encrypted and never shows it again. The signing secret Linear shows for each webhook you point at Everdeck. Everdeck accepts only deliveries signed with it. For several webhooks, separate their secrets with spaces. |
Disconnecting deletes the credentials Everdeck saved, but Everdeck can't revoke them: the key, token or password itself keeps working at Linear until you delete or rotate it there.
Your Linear OAuth app
Your OAuth app.
This way signs in with an OAuth app you create for Linear, as its steps describe: Everdeck never uses an app of its own. Register this redirect URI with your app:
https://everdeck.io/api/oauth/callback
Then save the app’s client ID and secret in Everdeck, on the connect page or under OAuth apps, and sign in.
- Create a new OAuth2 application in Linear at https://linear.app/settings/api/applications/new.
- Add the callback URL https://everdeck.io/api/oauth/callback.
- Leave the application's webhooks turned off for now: the address for live updates exists only once you have connected.
- Copy the Client ID and Client Secret into the form, then approve access for your workspace.
- Optional, to start work when an issue or comment changes: set up the Linear trigger you want on Everdeck's Intake page and copy the address it gives you. Turn on the application's webhook with that address as its URL and the Issues (issue changes) or Comments (new comments) data type, or have a workspace admin add a webhook under Settings > API > Webhooks. Copy the signing secret Linear shows into this connection's Webhook signing secret field. A webhook has one address, so add one per trigger.
| Field | What to enter |
|---|---|
| Webhook signing secret (only for live updates) (optional) | A secret: Everdeck saves it encrypted and never shows it again. The signing secret Linear shows for each webhook you point at Everdeck. Everdeck accepts only deliveries signed with it. For several webhooks, separate their secrets with spaces. |
The scopes Everdeck asks for:
readwrite
When you disconnect, Everdeck asks Linear to revoke the sign-in, then deletes the tokens it saved.
What agents can do
An agent uses an action only when its charter grants it, on the agent’s Tools tab, where you choose whether each one runs by itself (Auto), asks first or never runs. Each action has a risk tier: tier 3 actions, which customers or the public see, ask first unless you choose otherwise, and tier 4 actions (money, deleting things, access) always need a person. How tools and tiers work.
Actions marked Reads outside content return things people outside your company may have written. Agents treat what they read as information, never as instructions, and their riskier actions later in the same session need approval.
-
Search issuesTier 0 · ReadReads outside content
linear_search_issuesFull-text search across issue titles and descriptions (and comments if include_comments is true), ranked by relevance. Limited to 30 calls per minute; to list issues by team, state or assignee use list_issues.
-
List issuesTier 0 · ReadReads outside content
linear_list_issuesList issues matching a filter, most recently updated first. Returns identifier, title, state, assignee, priority, due date, team and project.
-
Read an issueTier 0 · ReadReads outside content
linear_get_issueRead one issue by identifier (for example ENG-123) or id: description (Markdown), state, assignee, priority, labels, project, team and the latest comments.
-
Create an issueTier 2 · ReversibleReads outside content
linear_create_issueCreate an issue in a team. Use list_teams for team and state ids, list_users for assignee ids and list_labels for label ids.
-
Update an issueTier 2 · ReversibleReads outside content
linear_update_issueChange an issue: title, description, workflow state (to move it), assignee, priority, labels, project or due date. Send only what changes; null clears a value (for example "assigneeId": null unassigns).
-
Comment on an issueTier 2 · ReversibleReads outside content
linear_add_commentAdd a Markdown comment to an issue. Subscribers of the issue are notified.
-
List teamsTier 0 · ReadReads outside content
linear_list_teamsList teams with their keys and workflow states (id, name and type: backlog, unstarted, started, completed or canceled). Use the state ids to move issues.
-
List peopleTier 0 · ReadReads outside content
linear_list_usersList workspace members with their ids, names and emails, optionally filtered.
-
List projectsTier 0 · ReadReads outside content
linear_list_projectsList projects with their status, lead, target date, progress and teams.
-
List labelsTier 0 · ReadReads outside content
linear_list_labelsList issue labels with their ids and teams (workspace labels have no team).
What can start work
These events from Linear can become tasks for your agents through Intake. How Intake works.
An issue was created, updated or removed (webhook type Issue).
Connect Linear first. Then, on the Intake page, open Webhooks and sources, find the connection under Connections without an address yet and select Get its URL. Give that address to Linear as the setup steps above describe: Everdeck shows it only once. Then, on the Rules tab, select New rule to say which requests become tasks and who gets them.
A comment was added to an issue (webhook type Comment, action create).
Connect Linear first. Then, on the Intake page, open Webhooks and sources, find the connection under Connections without an address yet and select Get its URL. Give that address to Linear as the setup steps above describe: Everdeck shows it only once. Then, on the Rules tab, select New rule to say which requests become tasks and who gets them.
Testing, problems and disconnecting
Everdeck checks the connection when you save it. On the connection’s page in Integrations, Test checks it again at any time.
If Linear later refuses the connection, for example because a key was deleted or a sign-in expired, the connection shows Needs attention on the Integrations page and the people who manage connections are told. Agents can’t use it until a company admin fixes it with Edit or Reconnect.
To stop agents using Linear, open the connection and select Disconnect. Agents stop using it at once and its saved credentials are deleted. What else happens depends on how it was connected: each way above says.
Still stuck?
Email [email protected] and say what you were trying to do. Or browse every guide.