Linear

Issue trackers

Publish approved user stories straight into Linear

Spectr drafts the stories. Linear is where the approved ones go. Connect a Linear team and each story you approve becomes a Linear issue with its description, acceptance criteria, priority, labels, estimate and assignee in place. Whenever you refresh story status, Spectr reads each issue's state back, so what is finished in Linear is what Spectr and your budget forecast believe is finished. A cancelled issue counts as cancelled, not quietly as done.

How Linear fits in

Import your call. Let Spectr take over.

A call is imported from a note-taker (Fathom, Granola, Read.ai, or Fireflies.ai). Spectr picks out a requirement, a bug, an action item and an out-of-scope ask, and drafts a story and a bug with acceptance criteria. A person approves both, they are published to Linear, and the requirements, scope log and project memory update from the same call.

How it connects

OAuth. You authorise Spectr on Linear's consent screen, then pick the team in Spectr. Tokens rotate on every refresh, and Spectr stores each new pair itself.

Before you start

A Linear workspace, and a decision about which single team this project publishes to. One Spectr project maps to one Linear team.

What Spectr reads from Linear

Teams
Read at setup so you can pick exactly one team for the project. One team per project keeps a published backlog attributable to a single destination.
Workflow state of published issues
Batched in a single GraphQL query per hundred issues. Completed maps to done, cancelled to its own terminal bucket, started to in-progress. A story is only done when every tracker it was published to agrees.
Labels and assignees
Labels applied in Linear sync back onto the Spectr story, and a fetched assignee is resolved against the project's live roster so the same person is not stored twice.

What Spectr writes to Linear

Edited before, kept in step after
Title, description, acceptance criteria, priority, estimate and labels can all be corrected before publishing. Correct the story again later and the change syncs to the Linear issue, so a fix never leaves a stale issue behind.
Priority, labels, estimates and assignee
Mapped onto Linear's own priority, estimate and assignee fields, plus the labels that already exist in the team, so an issue arrives ready to triage rather than waiting to be filled in.
Parent and sub-issue nesting
A spec-sheet task marked as a parent publishes as a parent issue with its stories nested beneath it, rather than as a flat list that loses the grouping.

Setting it up

  1. In Spectr, open the project and go to Integrations.

  2. Choose Linear and click Connect, then authorise on Linear.

  3. Select the Linear team new issues should be created in.

  4. Generate stories from a meeting and open the review page.

  5. Approve the ones you want - individually or in bulk - and publish. Each story in Spectr links to its Linear issue.

Frequently asked questions

Anything else? Email hello@crowdlinker.com and a person will answer.

What happens when an issue is cancelled in Linear?

Spectr records it as cancelled - a terminal state of its own - rather than counting it as done, so dropped work never inflates delivery progress or the budget projection.

Can one project publish to both Linear and Jira?

Yes. A story can be published to more than one tracker, and Spectr only marks it done when every tracker it went to reports it done.

Will I need to reconnect Linear?

Not routinely. Linear rotates its refresh tokens and Spectr updates both tokens atomically on every refresh, well ahead of the 24-hour access-token expiry.

Who can stories be assigned to?

Members of the Linear team the project publishes to. Spectr syncs them into the project team, so an assignee picked in review is a real Linear user.

Related

Use case

Write user stories your developers can actually start

Draft stories with real acceptance criteria, then approve, edit or reject each one

See all 20 integrations →

AI ProductOps for the entire team.

Start for free at spectr.pm
  • Free plan
  • No credit card to sign up
  • 30-day free trial on Starter