Docs · Integrations

Linear integration setup

Connect a Linear workspace to SprintBee so moderators can pull real issues into a room's queue, write accepted estimates back onto them, and split oversized work into new Linear issues without leaving the room. This is a Pro feature.

Last updated: July 11, 2026

Overview

The Linear integration lets a moderator connect a Linear workspace to their SprintBee organization, then attach that connection to individual rooms as a work item source. Once a room has a Linear source, moderators can search Linear from inside the room and import issues into the queue with one click, and participants without search access can paste an issue identifier or URL to request an import.

When a room has estimate write-back turned on, accepting an estimate for an imported Linear issue writes it to that issue's Estimate field automatically — no separate sync step. Splitting a work item in the room can also create the new items as real Linear issues, linked back to the original.

This integration is available on Pro plans. Free plans don't see a working Linear connect option.

Prerequisites

Before connecting, make sure you have:

  • A Linear workspace, and permission in it to authorize a third-party app (your Linear workspace admin may need to approve the app the first time).
  • A SprintBee organization on a Pro plan. The Integrations tab shows "Integrations are a Pro feature" until then.
  • For estimate write-back: estimates turned on for the Linear team(s) you'll be estimating for. If a team's estimation is off in Linear, SprintBee skips write-back for that team's issues rather than inventing a scale.

Connect SprintBee to Linear

Connections are made once per SprintBee organization (not per room) from the Organization Dashboard.

  • Go to Dashboard → Integrations.
  • Click "Add connection" and choose Linear.
  • You're redirected to Linear's consent screen. Approve access: SprintBee requests the read, write, and issues:create scopes, authorized for SprintBee as an application (see FAQ for what that means for attribution).
  • After approving, you're returned to Integrations with the connection listed as "Connected", showing the Linear workspace it can reach.
  • Open a room's settings and pick that Linear workspace as the room's work item source, then save. Each room uses one source at a time; the same organization-level connection can be attached to as many rooms as you like.

Import work items

Inside a room, moderators add issues from the "Add work items" panel's Linear tab. The search box does double duty: paste an issue identifier (like ENG-123) or a Linear issue URL and it imports directly; type anything else and it runs a full-text search across your issues, ranked by relevance. Leave it empty and search to browse the newest issues first. The panel starts with that listing, so it's never an empty search box.

Linear has no query language like Jira's JQL, so there's no raw-query mode. Instead, searches narrow with structured filters: pick a Team, then filter by workflow state, assignee, and label, each a set of toggle chips loaded from that team. State, assignee, and label filters are team-scoped in Linear, so they unlock once a team is selected. Filters apply to keyword searches and to the newest-first listing alike.

Room settings can scope import search to specific Linear teams under "Team scope". When one or more teams are selected, searches only cover those teams and the Team filter only offers them; leaving the scope empty searches every team in the workspace. With a team scope saved, you can also enable "Refresh queue items automatically from Linear updates", which keeps imported items' title, description, and status in sync when the issue changes in Linear.

Participants who aren't moderators don't get inline search. Instead they can paste one or more issue identifiers or URLs into the Linear tab to submit an import request, which a moderator approves or dismisses from the queue.

Estimate write-back

Write-back is configured per room, under the Linear source's "Estimate write-back" section, and is off by default. Unlike Jira's per-field mapping, it's a single toggle: Linear issues have exactly one native Estimate field, so there's no field to choose.

Write-back fires once, automatically, when a moderator accepts an estimate for a round linked to a connected Linear issue. Before writing, SprintBee validates the value against the issue's team estimation settings in Linear — the team's scale type plus its "extended" and "allow zero" toggles — and only writes values that are actually on that scale. It never rounds or coerces a value to fit.

The allowed values per team scale are: Fibonacci 1, 2, 3, 5, 8 (extended adds 13 and 21); Exponential 1, 2, 4, 8, 16 (extended adds 32 and 64); Linear 1, 2, 3, 4, 5 (extended adds 6 and 7); and T-shirt, which Linear stores as the Fibonacci numbers (XS/S/M/L/XL are 1/2/3/5/8, with extended adding XXL/XXXL as 13/21) and renders as sizes in its own UI. Every scale also allows 0 when the team's allow-zero setting is on.

Anything that can't be written is skipped rather than erroring: non-numeric cards (T-shirt card labels, "?", "☕"), numeric values that aren't on the team's scale, and issues whose team has estimation turned off. Each attempt records an outcome (succeeded, failed, or skipped, with the reason) against the round, so moderators can see whether the last accepted estimate actually reached Linear.

Splitting work items

When an imported Linear issue turns out to be several pieces of work, moderators can split it from the room, and the new items are created as real issues in Linear on the same team as the original.

The new issues are independent, flat issues linked to the original with Linear's built-in "related" relation, deliberately not sub-issues. A split doesn't create a parent/child or epic hierarchy, so SprintBee declines Linear's sub-issue relationship on purpose, and since Linear has no custom link types there's no link-type choice to configure either.

Each new item is created with just its title and description — Linear doesn't require any extra fields at creation, so there are no additional prompts. Each new issue and its link back to the original succeed or fail independently, and the room shows which ones landed.

Troubleshooting

Most Linear integration problems fall into a few known categories:

  • "Linear connection needs to be reconnected.": the stored access/refresh token is missing or Linear rejected a refresh attempt. Reconnect Linear from Dashboard → Integrations.
  • "Linear rejected this connection. Reconnect Linear and try again.": Linear turned down an API call, usually an expired or revoked authorization. Reconnect.
  • "Configure a Linear source in room settings before importing issues.": the room has no Linear source attached yet; add one from room settings using an existing dashboard connection.
  • Write-back skipped. Check the recorded reason on the round: the accepted card wasn't a plain number, the value isn't on the team's estimate scale in Linear (for example 13 on a non-extended Fibonacci team), or the team has estimation turned off.
  • State, assignee, and label filters are greyed out: pick a team first. Those lists belong to a single team in Linear, so the pickers unlock once the Team filter is set.
  • "No Linear teams were returned for this connection.": the connected workspace has no teams the authorization can see; check the workspace you connected, or reconnect.

FAQ

What scopes does SprintBee request, and why? read lets SprintBee search and read issues, teams, and their states, labels, and members; write lets it set an issue's estimate and link split issues to the original; issues:create lets it create the new issues a split produces.

Who do writes show up as in Linear? "SprintBee" — the connection is authorized for SprintBee as an application, not as your Linear user. That's deliberate: the moderator running a session doesn't need to hold a Linear seat, and no one's personal name is stamped onto issues SprintBee creates or updates.

Is there a JQL-style advanced search? No. Linear has no query language. Use full-text search plus the team, state, assignee, and label filters; an empty search lists the newest issues first.

My team uses T-shirt sizing in Linear: what gets written? The number Linear stores behind each size (XS/S/M/L/XL are 1/2/3/5/8). Estimate with a numeric deck and the accepted number is written if it's one of those values; cards with the size letters themselves aren't numeric and are skipped.

Does splitting create sub-issues? No. Split items are created as independent issues joined to the original by Linear's "related" relation, so no parent/child or epic hierarchy is implied.

Can I disconnect Linear? Yes, from Dashboard → Integrations click Disconnect on the connection. SprintBee deletes the stored OAuth tokens; issues already imported into room queues stay as they are.

Docs · Integrations

Connect your Linear workspace

Set up the connection once from your dashboard, then attach it to any room that needs it.

Open Integrations settings