Table of Contents
- Overview
- Before You Begin
- Milestone 1 — Integrations & Data Foundations
- Milestone 2 — Clean Data
- Milestone 3 — Your Org Structure
- Milestone 4 — Map Work Sources to Teams
- Milestone 5 — DORA & Incident Tracking
- Option 1 — Rules-Based Incident Detection (Most Common)
- Option 2 — API-Based Incident Detection
- How LinearB Matches Incidents → Deployments
- Milestone 6 — AI & Automation: WorkerB + gitStream
Get Started - LinearB Enterprise Setup Guide
A complete implementation guide to configure LinearB for your engineering organization. Overview. This guide walks you through setting up LinearB across your engineering organization using the recomm…
- Overview
- Before You Begin
- Milestone 1 — Integrations & Data Foundations
- Milestone 2 — Clean Data
- Milestone 3 — Your Org Structure
- Milestone 4 — Map Work Sources to Teams
- Milestone 5 — DORA & Incident Tracking
- Option 1 — Rules-Based Incident Detection (Most Common)
- Option 2 — API-Based Incident Detection
- How LinearB Matches Incidents → Deployments
- Milestone 6 — AI & Automation: WorkerB + gitStream
A complete implementation guide to configure LinearB for your engineering organization.
Overview
This guide walks you through setting up LinearB across your engineering organization using the recommended implementation flow:
- Connect Git & PM systems
- Clean data (branches, files, bots, metrics calc)
- Organize groups, teams, and users
- Map repos and PM boards to teams
- Track releases, DORA, and incidents
- Automate workflows with WorkerB & GitStream
Before You Begin
LinearB Enterprise Setup Checklist (Available in Google Sheets or Excel Format)
Use this checklist to track progress as you move through the Enterprise Setup Guide. We recommend sharing it with collaborators so everyone stays aligned on status and next steps.
Prerequisites:
- LinearB admin privileges
- Admin access to Git provider (GitHub, GitLab, Bitbucket, or Azure DevOps)
- Admin access to your project management tool (e.g., Jira, ADO, Shortcut)
- Slack or MS Teams admin rights (for WorkerB setup)
Estimated Time: 30–60 minutes
Roles Required: Admin
Milestone 1 — Integrations & Data Foundations
1. Connect Your Git Provider
Why
Your Git integration is the foundation for all delivery metrics in LinearB — including PR size, review time, cycle time, deployment detection, WorkerB automations, and project health insights.
Estimated Time: 5–20 minutes (varies by Git provider & repo volume)
Prerequisites
- LinearB User: Admin
- Access to your Git provider account (or service account)
Steps
- In LinearB, go to Settings → Integrations → Git.
- Click Add Integration.
- Choose your Git provider below and follow the native workflow.
- After connecting, wait for repositories to load (loading time is dependamt on volume).
- Select the checkboxes for repos you want LinearB to follow.
Uncheck any repos you want LinearB to ignore.
GitHub (Cloud & Enterprise Server)
Use this if your code is hosted on GitHub.com or GitHub Enterprise Server.
Includes OAuth, PAT, and optional Organization-Level Webhook setup for real-time sync.
GitLab (Cloud & Self-Managed)
Use this if your repos are on GitLab.com or a self-managed GitLab instance.
Supports PAT authentication and optional webhook configuration.
Bitbucket (Cloud & Server)
Use this if you're hosted on Bitbucket Cloud or Bitbucket Server / Data Center.
Includes OAuth (Cloud) or PAT (Server) setup, plus server allowlisting details.
Azure DevOps Repos
Use this if your repositories are in Azure DevOps (ADO) Repos.
Requires an Azure DevOps PAT with read scopes for Projects, Teams, Code, Build, User Profile, and Graph.
Need help?
Please Contact support if you need assistance connecting multiple Git providers or migrating from one provider to another.
Sync Timing
- First Load: ~2–3 hours, backfill period: 3 months
- Maintenance Sync: every 2 hours, backfill period: 1 week
- Maintenance Sync (with webhook): every 2 minutes, backfill: near real-time
Troubleshooting
- Missing repos under “Add Repositories” → Insufficient OAuth/PAT permissions.
- Repo data stale → Token permissions issue.
- Connecting multiple Git providers → Please contact support
2. Enable LinearB AI Services (Required for AI Insights and Iteration Summary)
Note: This is the same org-wide AI toggle mentioned in earlier milestones. If you’ve already enabled LinearB AI Services, you can simply confirm it’s still turned ON and move on.
Why enable this?
This toggle activates LinearB's AI capabilities across your organization, including:
- AI Iteration Summary (automatic iteration-level analysis)
- gitStream AI services (AI code review, AI PR context, AI insights)
- Improved PR intelligence and automation behavior
Where to enable:
Go to Company Settings → General and toggle on:
“Enable LinearB AI Services”.
Notes:
- This setting applies org-wide and must be enabled before AI-powered features can run.
- To learn more about AI Iteration Summary, see: Feature – Iterations.
Effects of disabling or not enabling AI Services
If you turn off AI Services, the following behavior applies across LinearB:
- AI Automations (AI Review, AI Description) stop running.
- GitHub Copilot and Cursor metrics dashboards continue reporting activity, since they use external APIs rather than LinearB AI Services.
- Dependabot automations will not run.
- Other dashboards (DORA, Delivery, Quality, Throughput) continue to function, but without AI-driven enhancements (eg., AI Iteration Summary).
3. Connect Your PM Tool (Jira / Azure Boards / Shortcut)
Why
PM integration enables issue tracking, delivery metrics, planning accuracy, and investment profiles.
Prerequisites
- LinearB user: Admin
- Azure: Org Owner or Project Collection Admin
- Jira: Admin
- Shortcut: Admin
Steps (High-Level)
- In LinearB, navigate to Company Settings → Project Management.
- Click Connect next to your project management tool and follow the on-screen authentication steps to grant LinearB access.
What PM tool are you using?
Jira Setup (Cloud & Data Center)
Jira Cloud (OAuth)
What you’ll need: Jira Admin access
- In LinearB, go to Company Settings → Project Management.
- Click Connect next to Jira.
- Enter your Jira Cloud URL (e.g.,
https://company.atlassian.net) and test the connection. - Approve the OAuth permissions prompt.
- Select which Jira projects LinearB should sync.
Troubleshooting (Cloud)
- Disable browser pop-up blockers if the OAuth window does not appear.
- Ensure your Jira admin account is the one approving the integration.
Jira Data Center (Application Link)
What you’ll need: Jira Admin access
- In LinearB, enter your Jira base URL.
- Create an Application Link in Jira pointing to:
https://app.linearb.io - When prompted:
- Application Type: Generic Application
- Application Name: any descriptive label
- Ignore any “no response received” warnings and continue.
- Copy the Consumer Key / Public Key from LinearB into the Jira Application Link form.
- Authorize the app and return to LinearB.
- Select which Jira projects and boards LinearB should sync.
Troubleshooting (Data Center)
- Connection fails: confirm the Application Link URL is exactly
https://app.linearb.io. - Firewall issues: allow outbound traffic to
18.118.232.229. - Authentication fails: ensure you pasted the Consumer Key and Public Key correctly.
Azure Boards Setup
- In Azure, create a Personal Access Token (PAT) with:
- Work Items (Read)
- Analytics (Read)
- Projects & Teams (Read)
- In LinearB, navigate to Company Settings → Project Management.
- Click Connect next to Azure Boards and follow the prompts.
- Paste the token into LinearB and click Connect.
- Select projects to follow (checkbox list of projects).
Shortcut Setup
- In Shortcut, create a new API token.
- In LinearB, navigate to Company Settings → Project Management.
- Click Connect next to Shortcut and follow the prompts.
- Select workflows to sync.
Sync Timing
- First Load: ~2–3 hours, backfill period: 3 months
- Maintenance Sync: every 1 hour, backfill period: 1 week
Milestone 2 — Clean Data
1. Configure Release Detection (4 Supported Methods)
Why
Releases define Deployment Frequency, Lead Time, and accurate cycle-time closure.
LinearB supports four release triggers:
Method A — Release by Tag (default)
- Most popular option if you tag your releases.
- Triggered when a Git push occurs to a tagged commit.
- Every commit appearing in the tagged branch is considered released.
- Supports regular expression (regex) to filter tag names by prefix/suffix.
Method B — Release by PR to a Dedicated Branch
Note: This method will cause Deploy Time to register as 0 (deploy time measured from PR approval to deploy is effectively skipped).
- LinearB listens for PRs merged into dedicated branch(es) to define a release.
- Any PR merged to a release branch (e.g.
main) is treated as a deploy. - Set which branch(es) LinearB should listen to using a regex expression.
- Default expression:
^(main|master|production|prod)$
Method C — Release by Direct Merge to a Branch
- Used when your org merges directly into a dedicated release branch without using PRs.
- LinearB detects the merged commit and marks included branches as deployed at time of merge.
- Set which branch(es) to listen to by regex.
- Default expression:
^(main|master|production|prod)$
Method D — Release by Deployment API
- Report deployments and release events from your CI/CD system.
- Best for teams relying on CI/CD for release management and seeking deployment metric accuracy.
- Supports multi-stage release detection with LinearB’s custom stages.
- Deployments are matched to merged branches using Git ancestry (i.e. is this branch’s commit an ancestor of the deployed commit?).
Note: Please follow this link to learn more details about our Deployment API
Where to Configure Release Detection
Set the organization-wide release detection method
- In LinearB, go to Company Settings → Advanced.
- In the Release Detection section, select your desired release detection method.
- Click Save to apply your changes.
Override release detection per team
Individual teams can use a different release detection method than the organization default. For example, the org may use tag–based released, while a specific team uses the Deployment API.
- Go to Settings → Git.
- Select the gear icon to the right of the repo you'd like to configure differently.
- In the Release Detection section, select your desired release detection method.
- Click Save to apply your changes.
2. Set Branch Exclusions
Why
Exclude test or non-production branches that shouldn’t count toward metrics to improve data accuracy.
Defaults
^develop$^development$^master$^staging$^integration$^release$^production$^main$
Custom Examples
test/*demo/*sandbox/*
Where to configure
Set the organization-wide branch exclusion configuration
- In LinearB, go to Company Settings → Advanced.
- Scroll to the Exclude Branches section.
- Add one regular expression per line to describe the branch patterns you want LinearB to ignore.
Override branch exclusion configuration per repo
Individual teams can use a different branch exclusion configuration than the organization default.
- Go to Settings → Git.
- Select the gear icon to the right of the repo you'd like to configure differently.
- In the Exclude Branches section, add one regular expression per line to describe the branch patterns to ignore for this repo.
3. Set File Exclusions
Why
Prevents non-code files from affecting PR size, new code %, and overall accuracy.
Defaults
.*package-lock\.json$.*dist/.*\.js.*public/assets/.*\.js.*\.(ini|csv|xlsx|txt|doc|rtf|ipynb|resx)$
Where to configure
Set the organization-wide file exclusion configuration
- In LinearB, go to Company Settings → Advanced.
- In the Exclude File Extensions section, add one regular expression per line to describe the file patterns LinearB should ignore.
Override file exclusion configuration per repo
Individual teams can use a different file exclusion configuration than the organization default.
- Go to Settings → Git.
- Select the gear icon to the right of the repo you'd like to configure differently.
- In the Exclude File Extensions section, add one regular expression per line to describe the file patterns to ignore for this repo.
4. Configure Draft Pull Requests
Why
Draft Pull Requests ensure that early or incomplete work does not distort Cycle Time,
Pickup Time, or Review Time. LinearB automatically excludes draft PRs from key metrics
until they are ready for review, giving you a cleaner and more accurate view of delivery performance.
How LinearB identifies draft PRs
LinearB can treat a pull request as draft when it matches either (or both) of the following:
- Has one of your configured labels for draft work.
- Has a title that matches a regular expression pattern you define.
Where to configure Draft Pull Requests
Set the organization-wide draft pull request configuration
- In LinearB, go to Company Settings → Advanced.
- Scroll to the Draft Pull Requests section.
Override draft pull request configuration per repo
Individual teams can use a different draft PR configuration than the organization default.
- Go to Settings → Git.
- Select the gear icon to the right of the repo you'd like to configure differently.
- Open the Draft Pull Requests section.
Steps — Configure labels and title pattern
-
In the Draft Pull Requests section, add the labels your organization uses for draft work. For example:
wipdo_not_mergework in progresswork_in_progress
-
Optionally, specify a regular expression for PR titles that should be treated as draft.
A common example is:
^.*wip.*$ - Click Save to apply your changes.
Note: Changes to draft PR settings are applied from the time of the saved configuration, moving forward.
Best practices
- Standardize on one or two labels (for example,
wipanddo_not_merge) across all teams. - Use labels for clarity, and the title pattern as a safety net for ad-hoc “WIP” titles.
- Review your existing PR conventions before changing these settings, so historical behavior remains intuitive for developers.
5. Exclude Bot Accounts
Why
Bot commits can inflate activity and PR metrics if not excluded.
Steps
- Please contact support to send bot email addresses for exclusion.
- Bot exclusion will soon be configurable in-product.
6. Configure Global Metric Calculations
Why
Determines how PR Size, Cycle Time, Pickup Time, Review Time, and Deploy Time aggregate.
Options & Examples
- Average – Sum ÷ count
Example: 4 PRs took 2, 4, 6, and 8 hours → (2 + 4 + 6 + 8) ÷ 4 = 5 hours average. - Median – Middle value
Example: PR merge times are 2, 4, 6, 8, 10 → Median = 6 hours. - 75th Percentile – 75% of PRs are faster than or equal to this.
Example: Most PRs take 2–6 hours but a few take 10+ → 75th percentile ≈ 6 hours (captures the “typical upper range”). - 90th Percentile – 90% of PRs are faster than or equal to this.
Example: Most PRs take 2–8 hours, but a few outliers take 20+ → 90th percentile ≈ 8 hours (shows performance excluding rare outliers).
How to choose the right calculation method
Different engineering teams prefer different aggregation strategies depending on their size, workflow variability, and how sensitive they are to outliers. Below is guidance to help you choose the method that best reflects your team’s “true” performance.
-
Average (Mean)
Best when your team’s PR sizes and cycle times are relatively consistent.
Why choose it: You want a simple, familiar metric and your data does not contain extreme outliers. -
Median
A stable representation of your “typical” PR because it ignores outliers on both ends.
Why choose it: Your workflow produces occasional very large or unusual PRs, and you don’t want those to skew the overall metric. -
75th Percentile (Industry Standard)
Captures the performance of most PRs while still reflecting friction in the system.
Why choose it: You want a balanced view that smooths outliers but still highlights when work takes longer than expected. Most DORA-focused teams prefer this. -
90th Percentile
Highlights the slowest part of your process without being dominated by true one-off outliers.
Why choose it: You want more sensitivity to delays — great for teams optimizing flow efficiency or monitoring tail behavior.
Where to configure
Configure at Company Settings → General → Metrics Calculation.
Milestone 3 — Your Org Structure
Managing Teams in LinearB
1. Create Groups & Teams
Why
Clean team structure ensures accurate KPI reporting, PR ownership, and dashboards.
Group Hierarchy Notes
- Groups can nest.
- Used for director-level or org-level reporting.
- Teams belong inside groups.
- Users must belong to teams for accurate metrics.
Team & Group Setup Steps
- Ensure the Users | Teams toggle is set to Teams under Settings → Users & Teams.
- Click + Add Team to add a team, fill in the fields → Save & Close.
- Important: You must first create a team you’d like nested within a group in order to create that group.
- Once at least one team exists, click + Add Group, fill in the fields, and under Subgroups & Teams, select the team(s) you’d like nested within it.
- To nest a new team in an existing group, create the team with the desired Parent Group set, then Save & Close.
- To revise a team’s group, click the pencil icon next to the team and edit the Parent Group field.
2. User Management
The following Instructions are for our new User Managment UI (Users & Teams). If you are a customer pre-December 2025, please reference our guide for instructions on migrating to the new User Management UI.
Why
Centralized user management (under Settings → Users & Teams) allows you to:
- Add, remove, and modify users.
- Manage role-based permissions (Viewer, Editor, Admin).
- Manage Git and PM connections.
- Manage team membership and licensing.
Adding a New User
- Go to Settings → Users & Teams and ensure the toggle is set to Users.
- Click + Add User.
- Fill in the user’s full name, email, and role.
- Define the user’s team scope and membership.
- Click Save & Close.
When creating or modifying user permissions, ensure all active users have correct access. See permissions matrix below as reference.
User Permissions Matrix| Access | Admin | Editor | Viewer | Basic |
|---|---|---|---|---|
| Company Settings | View/Edit | No Access | No Access | No Access |
| Connect Git/PM/Slack/MS Teams | View/Edit | No Access | No Access | No Access |
| User Settings | View/Edit/Invite | No Access | No Access | No Access |
| Teams Settings & Team Contributors | View/Write | View/Write* | No Access | No Access |
| Dashboards | View/Write | View/Write* | View* | No Access |
| Projects Tab | View | View* | View* | No Access |
| Teams Tab | View/Write | View/Write* | View/Write* | No Access |
| Surveys | View/Create/Delete | Response | Response | Response |
| Metrics Tab / Reports | Public & Private Reports View/Create/Delete |
Private Reports View/Create/Delete |
View | No Access |
| Project Delivery Trackers | View/Create/Edit/Delete | View/Create/Edit/Delete | View | No Access |
| Resource Allocation | View/Edit | View | No Access | No Access |
| Investment Strategy Report | View/Edit | View | View | No Access |
* Editors cannot create new teams; they can only edit existing teams.
* Access for assigned teams onl
Merging Users
Why
When you have multiple Git organizations or connections, developers may appear under multiple emails/usernames. LinearB supports cross-platform merges so all data for a user is unified.
Steps
- Click the ⋮ menu next to the primary user.
- Select Merge Account.
- Choose the secondary (duplicate) account.
- Confirm to merge.
Adding an Existing User to a Team
Why
Users on a team are the contributors LinearB will follow and count toward that team’s metrics.
Note: Users who are on a team are the users who count toward your billable license count.
Two options
- From Users view:
- Toggle to Users.
- Locate the user and click the ellipsis (⋮) → Edit Profile.
- Click + Add Team, select team(s) → Save & Close.
- From Teams view:
- Toggle to Teams.
- Hover over the team row and click the pencil icon.
- Search for and select the user in the Direct Users field → Save & Close.
Frequently Asked Question:
“If a user is not assigned to a team, do they count toward my license?”
Answer: No. Only users who are added to at least one team count toward your billable license count.
Users who exist in the system but are not on a team do not count toward licensing and do not appear in team metrics.
strong>Frequently Asked Question:
“If a user who was not previously assigned to a team joins a team, does any of their git history get brought in?”
Answer: Yes. We will bring in 3 months of git history. If you do not want historical data brought in, you check the box at the bottom of the Edit Team page that states, This member just joined the team. (Do not include previous work as part of the team's work) before saving.
Coming Soon: filters to quickly identify billable and non-billable users, and to filter by status (active, inactive, hidden).
Minimize ▲3. Authentication, SSO & SCIM (Optional)
Note: SSO and SCIM are not enabled by default. Please contact LinearB Support to enable these features for your organization.
Why configure this during onboarding?
Setting up SSO (and SCIM for Okta) early ensures users log in securely with corporate credentials and reduces manual user management as you roll LinearB out across teams.
What you can configure
- SAML SSO with:
- Okta
- Google Workspace (GSuite)
- Azure AD / Microsoft Entra
- SCIM Provisioning (Okta only)
Where to configure in LinearB:
Settings → SSO
Recommended onboarding flow
- Choose your IdP (Okta, Google, or Azure AD).
- Set up SAML SSO using your provider’s guide:
- (Optional) Enable SCIM in Okta if you want automatic provisioning:
- Test SSO with a small pilot group, then roll out broadly.
- (Optional) Enforce SSO so all users must authenticate via your IdP.
Milestone 4 — Map Work Sources to Teams
1. Define Team Git Scope (Repositories & Services)
Why
Git Scope determines which repositories and services LinearB uses when calculating a team’s metrics. This ensures each team’s dashboards reflect only the work they own — preventing noise, duplication, and misattribution.
When this is especially helpful
- When contributors work across multiple teams.
- When repos or services are shared or partially owned across teams.
- When teams want clean, accurate Cycle Time, PR activity, and Deployment metrics.
By defining Git Scope, LinearB ensures:
- Contributor work is attributed correctly to the right team.
- No double-counting of branches, PRs, or deployments.
- Dashboards only display activity for repos and services relevant to that team.
Where to configure Git Scope
- Select the team using the team dropdown (top-right).
- Click the gear icon → Team Settings → Git.
Steps — Assign repositories and/or services to a team
- In Team Settings → Git, review the list of available repositories and services.
- Select the repos and/or services this team owns or contributes to.
- Use the tabs Integrations & Repositories and Services to toggle between repo- and service-level scope.
- Click Save to apply Git Scope filtering.
What happens next:
- A Git Scope banner appears on team dashboards, Goals, and Activity pages.
- Metrics automatically filter to only the selected Git Scope.
- Branches, PRs, and deployments outside the scope are hidden from this team’s views.
Managing Git Scope
- Refine over time: update Git Scope anytime in Team Settings → Git.
- Temporarily disable filtering: toggle off the Git Scope banner in dashboards.
- Permissions: only Admins and Editors can modify Git Scope.
Common Questions
Can I override Git Scope filtering?
Yes. You can toggle off the Git Scope filter in dashboards if you need to view all data.
What happens if a team contributor works outside the selected Git Scope?
Any branches, commits, or PR/MRs outside the defined Git Scope will not appear in the filtered team view.
Who can modify the Git Scope?
Only Linear Users with a Editor or Admins can adjust Git Scope in Team Settings.
Does Git Scope change how contributors are assigned to a team?
No. Git Scope only affects which repositories appear in team dashboards. Contributor assignment still depends on activity across repos connected to your organization.
Will Git Scope remove data or delete historical activity?
No. Git Scope is a filter, not a data deletion mechanism. All historical activity remains accessible when Git Scope is turned off.
Should every team use Git Scope filtering?
It’s recommended if teams share contributors or repositories. Git Scope helps prevent double-counting and keeps team metrics focused and accurate.
Can a repository belong to multiple teams?
Yes. Some organizations intentionally allow shared repos. In those cases, Git Scope ensures each team still sees only the activity they choose to include.
2. Associate Relevant Boards (Jira) or Projects (Azure) to Teams
Why
Mapping boards/projects to teams allows better task tracking, iteration-based decision making, estimated completion times, and better visibility into context switching.
Steps
- Select the team in the dropdown at the top-right of the window.
- Click the gear icon → Team Settings → Project Management.
- Select the relevant board(s)/project(s) from the dropdown list.
- Select the methodology: Scrum or Kanban as appropriate.
- Save to confirm the assignment.
Note: Depending on the amount of data, allow up to 1 hour for LinearB to filter the data accordingly.
Troubleshooting
- Board/Project not appearing in dropdown → Ensure the board and related project are checked to follow in Company Settings → Project Management (see Milestone 1, Step 2).
Milestone 5 — DORA & Incident Tracking
1. Configure DORA Metrics
Why
Enables full visibility into Lead Time (Cycle Time), Deployment Frequency, MTTR, and CFR.
How LinearB calculates Cycle Time phases
- Coding Time – from the first commit on a branch to PR/MR creation.
- Pickup Time – from PR/MR creation to when review begins.
- Review Time – from review start to PR/MR merge.
- Deploy Time – from merge to production release (based on your Release Detection settings).
To get complete DORA coverage in LinearB, make sure you have:
- Release Detection configured (see Milestone 2 – Clean Data).
- Incident Tracking configured (see Step 12, Configure Incident Tracking).
- A confirmed Coding Time strategy (below).
Configure your Coding Time strategy
Goal: Ensure “work started” in LinearB aligns with how your teams actually begin coding.
Default Coding Time in LinearB:
- Start: first commit on a branch
- End: when PR/MR is opened
Optional alternative strategy (when using a PM tool):
- Start: when an issue linked to a branch is moved to In Progress
- End: when PR/MR is opened
Use the alternative strategy if you want Coding Time to reflect the moment work officially begins in your PM workflow, not just the first commit.
Where to configure Coding Time strategy
- In LinearB, go to Company Settings → Advanced.
- Locate the Coding Time Strategy section and choose your preferred option.
- Click Save to apply.
2. Configure Incident Tracking
Why
Enables LinearB to detect production failures, associate them with deployments, and calculate Change Failure Rate (CFR) and Mean Time to Recovery (MTTR). This is critical to understanding reliability, stability, and the end-to-end impact of engineering work.
Where to Configure Incidents
Set the organization-wide incident detection method
- In LinearB, go to Company Settings → Project Management → Incidents.
Once API Integration is selected at the organization level, incidents reported via the API are used to calculate CFR and MTTR for your LinearB environment.
Override incident detection per team
Individual teams can use a different incident detection method than the organization default. For example, the org may use project-management–based incidents, while a specific team uses the Incident API.
- In LinearB, select the team in thr drop down (top right corner) that should use a different incident detection method.
- Go to Team Settings, open the Project Management tab, then click the Incidents tab.
This affects how LinearB calculates CFR and MTTR for that team and any parent groups that aggregate it.
From here you can choose:
- Rules-based detection (detect incidents using fields in your PM tool)
- API-based detection (detect incidents through direct API calls from your incident system)
Option 1 — Rules-Based Incident Detection (Most Common)
This method uses data from your PM tool (Jira, Azure Boards, etc.) to recognize when an issue becomes an “incident.”
Where to Configure
Company Settings → Project Management → Incidents → CFR
Company Settings → Project Management → Incidents → MTTR
CFR Rule Builder
Define how LinearB should recognize a “critical bug” that counts toward CFR.
You can define incidents using:
- Issue type (e.g., Bug, Incident, Sev-1)
- Labels (e.g., production, hotfix, outage)
- Status (e.g., In Progress → Resolved)
- Custom fields (severity, environment, impact level)
- Date fields
- Start time — when the incident began
- End time — when the incident was resolved
CFR Calculation: CFR = Incidents / Deployments
MTTR Rule Builder
Defines how LinearB should recognize the start and end of an incident to calculate MTTR.
You can define MTTR timing using:
- A status transition (e.g., “In Progress” → “Resolved”)
- A date field (e.g.,
started_at,ended_at) - Custom incident timing fields
MTTR Calculation: MTTR = Time from incident start → incident resolution
Option 2 — API-Based Incident Detection
When to use: Your incident system is external (PagerDuty, Opsgenie, ServiceNow, in-house alerting), or you want precise incident timing beyond what exists in your PM tool.
Where to Configure
Company Settings → Project Management → Incidents → API Integration.
Steps
- Go to Settings → API Tokens and create a token for your incident system.
- Switch the incident detection method to API Integration.
- Send incident lifecycle events to the LinearB Incident API:
- create (incident opened)
- update (optional fields during handling)
- resolve (incident ended)
- Each event must include:
provider_id(unique identifier from your system)titlehttp_url(link to the incident)issued_at(when the incident occurred)started_atandended_atfor MTTR
Note: Please follow this link to learn more details about our Incident API
How LinearB Matches Incidents → Deployments
Regardless of detection method (Rules or API), LinearB automatically links incidents to deployments using Git ancestry analysis:
- LinearB evaluates the commit SHA or ref of each deployment.
- Checks if the PR’s tip commit is an ancestor of that deployed ref.
- If true, the PR is marked as deployed.
- If a deployed PR is associated with an incident, CFR increments and MTTR is calculated.
Milestone 6 — AI & Automation: WorkerB + gitStream
1. Confirm LinearB AI Services is Enabled (Required for AI features)
Why
LinearB AI Services power AI-enhanced features across the platform, including:
- gitStream AI automations (AI code review, PR descriptions, auto-analysis)
- AI Iteration Summary (automated iteration insights for managers)
- AI-powered delivery insights throughout dashboards and reports
Without enabling AI Services, gitStream’s AI actions and AI Iteration Summary will not run, even if gitStream is installed correctly.
Where to enable AI Services
- Go to Company Settings → General.
- Scroll to the AI Services section.
- Toggle Enable LinearB AI Services to ON.
Recommended: Enable this before rolling out gitStream or WorkerB to ensure AI insights collect from day one.
Effects of disabling, or not enabilng, AI Services
If you turn off AI Services, the following behavior applies across LinearB:
- AI Automations (AI Review, AI Description) stop running.
- GitHub Copilot and Cursor metrics dashboards continue reporting activity, since they use external APIs rather than LinearB AI Services.
- Dependabot automations will not run.
- Other dashboards (DORA, Delivery, Quality, Throughput) continue to function, but without AI-driven enhancements (eg., AI Iteration Summary).
2. AI Tools Configuration
Why
Essentials provides visibility into AI-assisted development, so you can measure usage, adoption, and the downstream impact of AI-generated code.
Supported AI tools
- GitHub Copilot
- Cursor
Where to configure
Go to Company Settings → AI Tools to enter API tokens for Copilot and/or Cursor. Once configured, LinearB automatically detects AI contributions and attributes them to developers.
Ensure the required scopes are checked:
read:org,
read:user,
manage_billing:copilot
Outcome: AI activity is tracked per developer, included in PR analysis, and available to gitStream rules.
3. Enable WorkerB (Slack or MS Teams)
Why
Automates cycle-time improvements with nudges, reminders, and alerts.
Included:
- 13a. Configure Team Notifications
- 13b. Enable WorkerB Personal Notifications
What communication app do you use?
Slack
Slack – Prerequisites
- LinearB User: Admin
- Slack: Admin
- Your Slack workspace should include the public teams/channels you want to connect.
- To connect a private channel, please contact support with the Slack channel name, Slack channel ID, and LinearB team name.
Slack – Steps
- In LinearB, navigate to Settings → Company Settings → Slack.
- On the redirect to Slack authorization, click Allow (only required for initial workspace connection).
- Verification: you should receive a confirmation message in your Slack workspace.
Connect Additional Teams (Slack)
- If you haven’t already, add a team in LinearB (see Milestone 3, Step 7).
- In Settings → Company Settings → Slack, connect the LinearB team by clicking Connect Slack and ensure Status is toggled ON for that team.
MS Teams
MS Teams – Prerequisites
- LinearB User: Admin
- MS Teams: Admin
- WorkerB installed in MS Teams.
MS Teams – Steps
- In LinearB, navigate to Settings → Company Settings → MS Teams.
- Note:contact supportto enable it.
- Follow prompts to connect your Teams tenant and channels.
Connect Additional Teams (MS Teams)
- If you haven’t already, add a team in LinearB (see Milestone 3, Step 7).
- In Settings → Company Settings → MS Teams, connect the LinearB team by clicking Connect and ensure Status is toggled ON for that team.
Note: If your organization uses an on-prem Git provider, WorkerB setup must be completed manually. Please contact support for assistance.
Configure Team Notifications for Visibility
Why
Keep teams aligned in Slack/Teams with WorkerB notifications. Surface potential issues early (stale PRs, long pickup time), highlight progress (deploys, merged PRs), and alert when goals are approaching or exceeded.
Prerequisites
- WorkerB is installed in your Slack or MS Teams workspace and connected to LinearB.
- LinearB User: Admin or Team Editor.
Steps
- Navigate to Settings → Team Settings → Goals.
- Click Edit to customize each goal’s threshold.
- Select how you’d like to be notified:
- Send your team a heads up when goals are at risk.
- Send a notification when a PR outside of the goal threshold has been merged.
- Optionally, track team progress on the Goals dashboard.
Troubleshooting: For further assistance, please contact support.
Enable WorkerB Personal Notifications for Developers
Why
Developers receive real-time WorkerB notifications for their pull requests, helping them stay on top of reviews, approvals, CI status, and more.
Prerequisites
- WorkerB is installed in your Slack or MS Teams workspace and connected to LinearB.
MS Teams – Personal Setup
- Open the WorkerB bot in Teams.
- Type
LinkUserin the chat. - In the popup window, click Link my account → you’ll be redirected to the LinearB browser login.
- Login using your Git provider credentials to authenticate and link your Git identity.
Tip: Pin WorkerB in Teams by clicking the three dots next to the chat and selecting Pin.
Alert Customization (Teams)
- Open WorkerB chat in Teams.
- Type
Prefto open preferences. - Edit selections as desired and save.
Available Commands in Teams DM
- LinkUser – Link your Teams account with your LinearB account.
- Invite – Invite your team members to use personal notifications and commands.
- Pref – Customize your personal notification preferences.
- Prs – Display all open PRs you’ve authored.
- Prs long – Display long-living PRs.
- Prs done – Display completed PRs.
- Updates – Display your latest PR updates.
- Reviews – Display all your open PR reviews.
- Unlink – Unlink your Teams account from LinearB.
Slack – Personal Setup
- Type
/lb connectin any DM. - If you’re not already connected, you’ll receive a prompt to connect with your Git server.
- Click Let’s do it! to open the LinearB browser login.
- Login using your Git provider credentials to authenticate and link your Git identity.
Alert Customization (Slack)
- In Slack, type
/lb prefto open your Personal Preference Panel. - Edit selections as desired and save.
Available Commands in Slack DM
- /lb connect – Connect your Slack handle to LinearB.
- /lb help – Display available WorkerB commands.
- /lb updates – View updates on your open PRs.
- /lb reviews – Show PRs assigned to you for review.
- /lb prs – List all open PRs you’ve authored.
- /lb prs long – List long-living PRs.
- /lb prs done – List your recently completed PRs.
- /lb pref – Customize alert preferences.
- /lb unlink – Unlink your Slack and Git accounts.
- /lb invite – Invite teammates to connect WorkerB.
4. Enable GitStream Automation
gitStream automates PR workflows, reduces manual review burden, enforces standards, and supports AI-assisted review. Enabling it early accelerates time-to-value and powers key AI insights in LinearB.
Why enable gitStream + AI now?
As teams adopt AI coding tools, most leaders lack visibility into whether AI is actually improving delivery or introducing quality risks. LinearB helps you measure the real impact of AI-assisted development.
- Compare delivery speed for AI-assisted vs. non-AI PRs.
- See how much AI-generated code is merged — and how often it requires rework.
- Identify which AI-assisted PRs introduce incidents or rollbacks.
Enabling gitStream + AI during onboarding ensures you begin collecting AI performance data from day one.
Install gitStream
Installation depends on your Git provider. Use the guide that matches your environment:
- GitStream for GitHub Cloud
- GitStream for GitHub Enterprise Server
- GitStream for GitLab (Cloud & Self-Managed)
- GitStream for Bitbucket Cloud
- Managed Mode (Essentials plan)
Not sure which guide applies? See the GitStream Enablement Hub.
Enable gitStream in LinearB
After installation is complete:
- Go to Automations → GitStream in LinearB.
- Select the repositories where you want gitStream to run.
- Enable the recommended base rules (best for most teams starting out).
Optional: Add additional rules (Advanced)
Once your team is comfortable, you can add custom YAML rules to support your specific workflow.
rules:
- name: safe_changes
if: low_risk
approve: auto
For help choosing the right rules for your teams, see the GitStream Quick Start.
Verify Implementation
You should now see:
- Git syncing
- PM syncing
- Accurate branch/file exclusions
- Correct team structure
- Repos mapped to teams
- Release detection functioning
- DORA metrics populating
- WorkerB notifications
- GitStream automations firing as expected
🎉 Implementation Complete!
Your LinearB system is now fully configured for enterprise-scale visibility, performance measurement, and workflow automation.
Next Steps
How did we do?
Get Started - LinearB Essentials Setup Guide