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. Spectr reads each issue's state back on a schedule, 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 it connects
OAuth. You authorise Spectr from Linear's consent screen and choose the team. Tokens rotate on every refresh and Spectr handles that itself.
Before you start
No plan requirement. Connections are configured per project, and every credential is encrypted at rest.
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
- Issues, only after approval
- Nothing reaches Linear until a person approves it in review. You can edit a story inline first - title, description, acceptance criteria, priority, estimate, labels - and publish the corrected version.
- Priority, labels, estimates and assignee
- Mapped onto Linear's own fields. Later edits in Spectr sync across, so a story corrected after publish does not leave a stale issue behind.
- Parent and sub-issue nesting
- A spec-sheet task that generates several stories publishes as a parent issue with the rest nested beneath it, rather than as a flat list that loses the grouping.
A person approves everything before it is published
Spectr generates specs and stories, then stops. Every story goes to a review page where you approve it, edit it inline, or reject it - individually or in bulk. Only approved stories reach an issue tracker. There is no auto-publish setting to switch on, because a backlog nobody read is not a saving.
Setting it up
In Spectr, open the project and go to Integrations.
Choose Linear and click Connect, then authorise on Linear.
Select the Linear team new issues should be created in.
Generate stories from a meeting and open the review page.
Approve the ones you want - individually or in bulk - and publish. Each issue links back to its Spectr story.
Frequently asked questions
Does Spectr publish to Linear automatically?
No. Every story requires explicit human approval first. That review step is the product, not a setting you can switch off.
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.
Related
Use case
Write user stories your developers can actually start
Draft stories with real acceptance criteria, then approve, edit or reject each one
Jira
Publish approved stories as Jira issues, with sub-task nesting, and read their status back
Shortcut
Publish approved stories into a Shortcut team and read their workflow state back
Fathom
Import a Fathom call and get structured specs and stories from its notes, action items, and transcript
Granola
Native Granola import - no Zapier, no scripts - straight through to Jira, Linear or Shortcut
Connect Linear to Spectr
Free plan available - five spec sheets a month, two seats, no card required.
Free plan available. 30-day free trial on Starter.