Skip to content

GitHub

Connect GitHub and every pull request becomes delivery signal: throughput, cost per merged PR, how much of what you ship is AI-assisted, and how code links back to tickets. Read-only. Flowstate never writes to your repositories.

Looking for Copilot seat costs? That is a separate connection. See GitHub Copilot.

What syncs

From GitHubInto FlowstateUsed for
Pull requestsPull request recordsThroughput, cost per merged PR, flow metrics
CommitsCommit activityEffort attribution, line authorship
ContributorsUser attributionMatching GitHub accounts to your people
Repository activity eventsSync feedKeeping the above current in real time

Flowstate reads metadata: titles, authors, timestamps, state changes, and line counts. It never writes back or modifies your repositories.

What you'll see in Flowstate

Connecting GitHub turns on the Code Delivery section at Insights → Code Delivery (/plan/main/delivery/code). It has four tabs:

TabWhat it shows
OverviewPull request throughput, cost per merged PR, effort per merged PR, spend across initiatives, and the AI cost trend
Pull requestsEvery PR with its author, team, person cost, AI cost, lines changed, and linked ticket
FlowHow work moves from first commit to merge: median cycle time, coding time, PR size distribution, and post-open churn
AI impactThe delivery mix (agent-authored, AI-assisted, human), AI cost per merged PR, and AI versus human line authorship

A few things worth knowing:

  • Per-PR cost has two parts. Person cost comes from the author's time and compensation. AI cost comes from the AI sessions linked to the pull request.
  • Bots are separated. Automated and utility accounts are excluded from person cost and flow medians, so a dependency bot never inflates your numbers.
  • PRs link back to tickets. Pull requests are matched to work items from your project management system, and you can link a PR to a project or initiative by hand from its drawer.
  • The Flow and AI impact tabs are part of Engineering insights. If they show sample data, ask Flowstate to turn the module on for your organisation.

GitHub as an effort signal

GitHub can also feed Flowstate's effort calculation:

  • Effort blend blends commit and pull-request timing into daily effort alongside your project management system. When off, GitHub activity is imported but does not affect effort figures.
  • Commit-timestamp attribution rebuilds each person's daily effort from their commit timestamps, including work with no ticket, and falls back to ticket status movements on days they did not commit. It is off by default because turning it on changes computed effort, and therefore CapEx and R&D figures. Enable it deliberately.

How data stays in sync

Webhooks (real-time): The GitHub App sends events to Flowstate as pull requests open, update, and merge. Changes appear within seconds.

Backfill (history): When you connect, Flowstate imports historical pull requests and commits from the selected repositories. You can re-run a backfill at any time from the integration page.

Getting started

The GitHub tile in Settings → Integrations is a step-by-step checklist. Each step carries a status pill so you can see what still needs attention.

1. Connect GitHub

  1. Go to Settings → Integrations and open the GitHub tile
  2. Click Connect GitHub to install the Flowstate GitHub App
  3. Choose the GitHub account, then grant access to all repositories or a selected list
  4. Approve the installation

You need admin rights on the GitHub organisation to install the app, and permission to manage integrations in Flowstate.

2. Map contributors

Flowstate matches GitHub accounts to your employees and contractors. The integration page shows your mapping coverage and flags contributors that still need mapping. Automated and utility accounts are excluded automatically.

Resolve unmapped contributors in Settings → Integrations → User attribution.

3. Choose how GitHub affects effort

Turn on Effort blend if you want GitHub activity to count towards effort. Optionally turn on Commit-timestamp attribution for daily-level accuracy. See GitHub as an effort signal above before enabling the latter.

4. Verify health

The final step shows a health badge (Healthy, Degraded, or Error) with the reasons behind it, the last event received, pending and failed events, and the backfill state. Use Run backfill to import or re-import history.

Troubleshooting

Code Delivery shows a "Connect GitHub" screen

  • GitHub is not connected for your organisation
  • You need permission to manage integrations to connect it. Otherwise, ask an administrator.

Pull requests are missing

  • Check the repository selection on the GitHub App installation
  • Run a backfill from the GitHub tile to import history

Person cost is empty on a PR

  • The author is probably unmapped. Check Settings → Integrations → User attribution.
  • Bot-authored pull requests carry no person cost by design

AI cost is empty

  • AI cost appears when AI sessions are linked to a pull request. Connect your AI usage providers so sessions and spend can be attributed.

For event and backfill history, check Settings → Integrations → Sync Health.

Flowstate Documentation