Appearance
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 GitHub | Into Flowstate | Used for |
|---|---|---|
| Pull requests | Pull request records | Throughput, cost per merged PR, flow metrics |
| Commits | Commit activity | Effort attribution, line authorship |
| Contributors | User attribution | Matching GitHub accounts to your people |
| Repository activity events | Sync feed | Keeping 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:
| Tab | What it shows |
|---|---|
| Overview | Pull request throughput, cost per merged PR, effort per merged PR, spend across initiatives, and the AI cost trend |
| Pull requests | Every PR with its author, team, person cost, AI cost, lines changed, and linked ticket |
| Flow | How work moves from first commit to merge: median cycle time, coding time, PR size distribution, and post-open churn |
| AI impact | The 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
- Go to Settings → Integrations and open the GitHub tile
- Click Connect GitHub to install the Flowstate GitHub App
- Choose the GitHub account, then grant access to all repositories or a selected list
- 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.