← Integrations
Linear logo

Linear

Your team's throughput, queue health, and active cycle progress visible on your iPhone home screen, without opening Linear.

Know whether your team is flowing

Team Pulse tracks seven metrics for any Linear team: total open issues, work in progress, triage queue depth, completed issues in the last 24 hours and 7 days, new issues created in the last 24 hours, and items open for more than 30 days. Each number answers a specific question engineering leaders ask every morning. Is work-in-flight growing unchecked? Is the triage queue clearing or backing up? Did the team ship anything yesterday? Stale open issues older than 30 days are a backlog hygiene signal, visible before they compound into a retro finding.

Cycle health without the app-open habit

Cycle Pulse shows the active cycle's completion percentage, current scope, completed and remaining issue counts, and net scope change since the cycle started. Scope change is the metric that earns its place on a home screen: a positive delta means work was added mid-cycle. Seeing that number climb on day three of a two-week sprint is a signal to act, not a post-mortem data point. When a team has no active cycle, the widget surfaces a clear message rather than showing empty data, so you always know where you stand.

Pairs with GitHub on the engineering-leader home screen

Linear answers whether the team is working on the right things. GitHub answers whether that work is shipping as code. PulseKit runs both side by side, connected with the same API-key pattern: install once, see metrics immediately. Each module is independently configured with a team picker, so you can track the Mobile team's cycle progress while watching the Platform team's triage queue on the same screen. Metrics are fetched on demand and the last 30 days of history is retained for trend charts.

How to get your Linear API key

Generate a Personal API Key in Linear:

  1. Open Linear → Settings → Account → Security & access.
  2. Under Personal API Keys, click New API key.
  3. Label it "PulseKit".
  4. Copy the value (shown once) and paste it here.

The key is full-workspace-scope, but PulseKit only reads issues, cycles, and teams. It never writes.

Security

How we protect your credentials

Your Linear API key is sealed on this device with AES-256-GCM before it ever leaves your iPhone. Only your device holds the unwrap secret, stored in the iOS Keychain. The PulseKit backend wraps that already-encrypted payload again with its STORAGE_SECRET and writes the double-envelope blob to Postgres, so the server never sees your plaintext key at rest. Each fetch request includes a one-time unwrap secret that decrypts the inner envelope only long enough to call Linear. The key is scoped to this device, can be revoked from PulseKit at any time, and is never written to logs.

What you can track

Pick the metrics you care about and pin them as widgets.

Team Pulse

Open / in-progress / triage / throughput counts and stale-item health for a team

  • 56
    Open Issues
  • 98
    In Progress
  • 17
    Triage Queue
  • 78
    Completed (24h)
  • 15
    Completed (7d)
  • 65
    New Issues (24h)
  • 75
    Stale Open (>30d)

Cycle Pulse

Active cycle progress %, scope, completed, remaining, and scope change

  • 39
    Cycle Progress
  • 30
    Cycle Scope
  • 17
    Cycle Completed
  • 70
    Cycle Remaining
  • 88
    Scope Change

Numbers shown are illustrative — your widgets show your live data.

Who uses this

  • Engineering leads

    CTOs and VP Engs overseeing multiple teams can add one Team Pulse widget per team to compare throughput, in-progress counts, and triage queue depth side by side on the home screen. A growing triage queue or a stale-issue spike on one team stands out immediately against a healthier team's numbers.

  • Tech leads

    Staff engineers and tech leads who own a single team's delivery use Cycle Pulse to answer the question 'are we on track?' before standup starts. Completion percentage and remaining issue count are visible the moment you unlock your phone, without navigating to the active cycle in Linear.

  • Engineering managers

    EMs running biweekly cycles watch the Scope Change metric for early warning on mid-cycle additions. A rising positive delta in the first few days of a sprint is a process signal worth raising before it affects delivery, and seeing it on the home screen means it will not be missed until the retro.

  • Technical founders

    Founders who manage engineering directly and want a quick read on team health without the overhead of daily Linear check-ins. Team Pulse condenses open queue, daily throughput, and stale issues into a single widget that replaces the morning habit of scanning the issue tracker.

FAQs

How do I connect Linear to PulseKit?

Open Linear and go to Settings > Account > Security & access. Under Personal API Keys, click New API key, label it "PulseKit", and copy the key (it is shown only once). Paste it into PulseKit's Linear setup screen. The key starts with lin_api_ and PulseKit validates that prefix before submission to catch paste errors.

What metrics does the Linear integration show?

Team Pulse shows open issues, work in progress, triage queue size, completions in the last 24 hours and 7 days, new issues in the last 24 hours, and items open longer than 30 days. Cycle Pulse shows the active cycle's completion percentage, total scope, completed count, remaining issues, and net scope change since the cycle began.

Does PulseKit write to Linear or modify any issues?

No. PulseKit only reads from Linear's GraphQL API using read-only queries. It fetches issues, cycles, and teams and never executes mutations. Your Personal API key has full-workspace scope by Linear's design, but PulseKit's fetcher contains no write calls.

What happens if my team has no active cycle?

The Cycle Pulse widget displays a message telling you the selected team has no active cycle and prompting you to start one in Linear. It does not show broken or empty data without explanation. Team Pulse is unaffected and continues showing all seven throughput and queue metrics regardless of whether the team uses cycles.

How often does PulseKit fetch data from Linear?

PulseKit uses iOS's widget timeline system, which triggers a fetch roughly once every five minutes per widget. Each fetch sends two HTTP requests to Linear's GraphQL API: one for Team Pulse and one for Cycle Pulse. Both fit well within Linear's limit of 2,500 requests per hour per user, leaving headroom for many active widgets.

Can I track multiple Linear teams in PulseKit?

Yes. Each Team Pulse and Cycle Pulse widget is independently configured with a team picker. Add one widget per team to track throughput, queue health, or cycle progress for as many teams as you need. Widgets update independently and do not share configuration or cached state with each other.

Is my Linear API key stored securely in PulseKit?

Your key is sealed on-device with AES-256-GCM before it leaves your iPhone, with the unwrap secret stored in the iOS Keychain. The PulseKit server stores only a double-encrypted envelope and never sees your plaintext key at rest. You can revoke the key from Linear at any time without affecting other PulseKit integrations.

Linear logo

Add Linear widgets to your iPhone

Install PulseKit, paste your credentials, pick a widget.

Download