Fleet 1.13:Teams are now shipping 5x more PRs with autonomous pipelines.See what's new →
FleetFleet
Integration

Fleet + Linear: Native Work-Item Polling That Triggers Agents

Linear is a native Fleet work-item provider. Fleet's Linear adapter calls the Linear GraphQL API at https://api.linear.app/graphql, polling a configured team for issues updated since the last cursor. Each Linear issue is normalized into Fleet's common WorkItem shape (title, body, status, labels, assignee, URL), and trigger rules match conditions over those normalized fields — for example, when status equals "Ready" or a specific label is present — to start a pipeline or dispatch a single agent.

The Linear provider is configured through the Fleet dashboard, not hand-written into .fleet/config.yaml. At fleet watcher start, Fleet fetches the integration config (provider type, team key, and the Linear API key held in memory only) from the dashboard via FetchIntegrationConfig and starts a poller. The default poll interval for Linear is five minutes, with exponential backoff on consecutive errors.

Setup

1

Install Fleet and initialize your repo

curl -fsSL https://fleetctl.ai/install | sh
fleet init
2

Add the Linear integration in the Fleet dashboard

# Dashboard → Integrations → Linear
# type: linear
# team: <team key, e.g. ENG>
# + Linear API key (stored server-side, fetched at watcher start)
3

Define a trigger rule (status/label/assignee → start_pipeline or agent) in the dashboard

# e.g. provider: linear, condition: status equals "Ready" → start agent backend-developer
4

Start the watcher — it fetches the Linear config and begins polling

fleet watcher start

What you gain

  • Linear issues are a first-class work-item source: tickets poll in and normalize into Fleet's WorkItem shape automatically
  • Trigger rules over status, labels, or assignee dispatch the right agent or pipeline with no custom bridge script
  • Configuration lives in the Fleet dashboard; the Linear API key is held in memory at the watcher, never written to disk

Honest limits

  • Linear is a polling provider (default five-minute interval), not webhook-driven — there is a poll-cycle delay before a status change is picked up
  • The integration is configured via the Fleet dashboard; it is not a `.fleet/config.yaml` field you hand-edit
  • Polling is one-directional: Fleet reads Linear issues to trigger work and does not write status back to Linear

Frequently asked questions

Is Linear a real Fleet integration or just a GitHub label sync?

It is a real native provider. Fleet's Linear adapter calls the Linear GraphQL API directly, normalizes issues into WorkItems, and runs trigger rules against them. It does not depend on Linear's GitHub label sync.

Where do I configure the Linear team and API key?

In the Fleet dashboard under Integrations. The watcher fetches that config (team key + API key) at `fleet watcher start` via FetchIntegrationConfig. You do not put the API key in .fleet/config.yaml.

Run your first agent fleet

One binary. Five minutes. See every agent, coordinate every handoff, and keep a full audit trail of what your fleet did.