Stitchflow
Buildkite logo

Buildkite User Management Guide

Manual workflow

How to add, remove, and manage users with operational caveats that matter in production.

UpdatedMar 4, 2026

Summary and recommendation

Buildkite user management can be run manually, but complexity usually increases with role models, licensing gates, and offboarding dependencies. This guide gives the exact mechanics and where automation has the biggest impact.

Buildkite uses a two-level permission model: organization roles (Administrator or Member) and team roles (Maintainer or Member). Pipeline access is granted to teams at read, build, or manage levels - individual users inherit permissions from their team memberships. There are no custom roles; the model is fixed at both levels.

The Teams feature is unavailable on the free and Startup plans. On those plans, every app member shares access to all pipelines with no team-level scoping.

Quick facts

Admin console pathOrganization Settings > Members (and Teams)
Admin console URLOfficial docs
SCIM availableYes
SCIM tier requiredPro/Enterprise
SSO prerequisiteYes

User types and roles

Role Permissions Cannot do Plan required Seat cost Watch out for
Organization Administrator Full access to all organization settings, billing, SSO configuration, member management, all pipelines, and all teams. All plans Counts as a full user seat Admins can see and modify all pipelines regardless of team membership.
Organization Member Access to pipelines and teams they are explicitly added to. Can trigger builds, view logs, and manage resources within their team scope. Cannot access organization settings, billing, SSO, or pipelines outside their assigned teams. All plans Counts as a full user seat Pipeline visibility and access is controlled at the team level; members not in any team with pipeline access cannot see those pipelines.
Team Maintainer Can manage team membership (add/remove members) and team pipeline access within their specific team. Cannot manage organization-level settings or other teams. Team plan and above (Teams feature required) Counts as a full user seat Teams feature is not available on the free/Startup plan.
Team Member Access to pipelines assigned to the team with the permission level set on that team (read, build, or manage). Cannot manage team membership or organization settings. Team plan and above Counts as a full user seat Pipeline access level (read/build/manage) is set per team-pipeline assignment, not per individual user.

Permission model

  • Model type: role-based
  • Description: Buildkite uses a two-level role model: organization-level roles (Administrator or Member) and team-level roles (Maintainer or Member). Pipeline access is granted to teams at one of three levels: read, build, or manage. Individual users inherit pipeline permissions from their team memberships. There are no custom roles; permissions are fixed at the organization and team levels.
  • Custom roles: No
  • Custom roles plan: Not documented
  • Granularity: Organization-level (admin vs. member) and team-level (maintainer vs. member) with per-pipeline access levels (read, build, manage) assigned to teams.

How to add users

  1. Navigate to Organization Settings > Members (https://buildkite.com/organizations/~/members).
  2. Click 'Invite Members'.
  3. Enter the email address(es) of the user(s) to invite.
  4. Select the organization role: Member or Administrator.
  5. Optionally assign the invitee to one or more teams during the invite flow.
  6. Click 'Send Invitations'. The invitee receives an email to accept and create or link their Buildkite account.

Required fields: Email address, Organization role (Member or Administrator)

Watch out for:

  • Invitations expire; if the user does not accept in time, a new invitation must be sent.
  • If SSO is enforced, users must authenticate via the configured SSO provider; email/password login is disabled for those users.
  • Users are not automatically added to any team unless explicitly assigned during invite or afterward.
  • On the free/Startup plan, the Teams feature is unavailable, so all members share access to all pipelines.
Bulk option Availability Notes
CSV import No Not documented
Domain whitelisting No Automatic domain-based user add
IdP provisioning Yes Enterprise

How to remove or deactivate users

  • Can delete users: Yes
  • Delete/deactivate behavior: Buildkite allows removing (revoking) a member from the organization. This removes their access immediately. There is no separate 'deactivate' state; removal is the primary offboarding action. If SCIM is configured (Enterprise), deprovisioning via the IdP removes the user from the organization automatically.
  1. Navigate to Organization Settings > Members (https://buildkite.com/organizations/~/members).
  2. Locate the user in the member list.
  3. Click the user's name or the options menu next to their name.
  4. Select 'Remove from Organization' (or equivalent removal action).
  5. Confirm the removal. The user loses access immediately.
Data impact Behavior
Owned records Build history, pipeline configurations, and audit log entries created by the user are retained in the organization after removal.
Shared content Pipelines, teams, and builds the user contributed to remain intact and accessible to other members.
Integrations API tokens and agent tokens created by the removed user may remain active unless explicitly revoked; administrators should audit and revoke these separately.
License freed Removing a member frees their user seat, reducing the billable seat count at the next billing cycle.

Watch out for:

  • API tokens belonging to the removed user are not automatically revoked; they must be manually invalidated to prevent continued API access.
  • If SSO is enforced but SCIM is not configured, removing a user from the IdP does not automatically remove them from Buildkite; manual removal in Buildkite is required.
  • SCIM-based automatic deprovisioning is only available on the Enterprise plan.
  • A removed user can be re-invited using the same email address.

License and seat management

Seat type Includes Cost
User seat Full access per role assignment; all organization members (admins and regular members) consume one seat each. $15/user/month (Team plan), $25/user/month (Business plan), custom (Enterprise)
  • Where to check usage: Organization Settings > Billing (https://buildkite.com/organizations/~/billing) shows current seat count and usage.
  • How to identify unused seats: Review the Members list (Organization Settings > Members) and cross-reference last login activity or build activity. Buildkite does not natively surface a 'last active' timestamp in the UI as of available documentation; audit logs may be used to identify inactive users on plans that include audit logging.
  • Billing notes: Buildkite combines per-seat pricing with usage-based pricing for build minutes and compute. The free plan includes up to 1,000 build minutes. The Startup plan is free for up to 3 users. Team plan is $15/user/month. Business plan is $25/user/month. Enterprise is custom pricing. SCIM provisioning is only available on Enterprise. SSO is available on Team plan and above.

The cost of manual management

Every app in your stack that lacks automated provisioning creates the same offboarding gap - and Buildkite is a meaningful one for engineering orgs. Removing a user from your IdP does not remove them from Buildkite unless SCIM is configured, which requires the Enterprise plan.

On Team or Business plans, manual removal in Buildkite is a required step every time someone leaves.

Compounding this: removing a member via the UI does not revoke their personal API tokens. Those remain valid until manually invalidated, leaving a live credential behind after offboarding. There is also no native last-active timestamp in the Members UI, so identifying unused seats requires parsing audit logs - a feature itself gated to higher-tier plans.

What IT admins are saying

The most consistent friction reported by Buildkite admins centers on the SCIM paywall. Automated user lifecycle management - provisioning and deprovisioning - is locked to Enterprise, forcing teams on Team or Business plans to manage membership manually at scale.

A secondary complaint is the absence of self-serve SCIM setup for custom SAML configurations; that path requires contacting Buildkite support.

Admins also flag the lack of last-login visibility in the Members UI as a practical obstacle to seat hygiene, since there is no built-in way to surface inactive users without log analysis.

Common complaints:

  • SCIM provisioning is restricted to the Enterprise plan, requiring an upgrade from Team or Business plans solely for automated user lifecycle management.
  • Custom SAML SCIM configuration requires contacting Buildkite support rather than self-serve setup.
  • No built-in 'last active' or 'last login' visibility in the Members UI makes it difficult to identify unused seats without parsing audit logs.
  • Removing a user from an SSO/IdP provider does not automatically remove them from Buildkite unless SCIM is configured (Enterprise only), creating a deprovisioning gap on lower plans.
  • No custom roles; permission granularity is limited to the fixed organization and team role model.

The decision

Every app in a CI/CD stack eventually surfaces the same question: how much access governance can you automate without upgrading every tool to its highest tier? For small engineering teams with low turnover, Buildkite's manual workflow is manageable and the fixed role model covers most access patterns without configuration overhead.

The model breaks down at scale or with compliance requirements. The deprovisioning gap on sub-Enterprise plans - where IdP removal does not cascade to Buildkite - is a real risk for any org with regular offboarding.

Teams that need automated lifecycle management, audit-ready deprovisioning, or seat hygiene visibility should factor the Enterprise plan requirement into their evaluation.

Bottom line

Buildkite's permission model is straightforward but deliberately tiered: the features most relevant to access governance - SCIM provisioning, automated deprovisioning, and audit logging - are concentrated at the Enterprise tier.

On lower plans, every offboarding event requires a manual step in Buildkite, and a missed step leaves API tokens active.

For small, stable teams the manual workflow is manageable; for orgs with regular headcount changes or compliance obligations, the gap between what the UI offers and what automated governance requires is significant.

Automate Buildkite workflows without one-off scripts

Stitchflow builds and maintains end-to-end IT automation across your SaaS stack, including apps without APIs. Built for exactly how your company works, with human approvals where they matter.

Every app coverage, including apps without APIs
60+ app integrations plus browser automation for apps without APIs
IT graph reconciliation across apps and your IdP
Less than a week to launch, maintained as APIs and admin consoles change
SOC 2 Type II. ~2 hours of your team's time

UpdatedMar 4, 2026

* Details sourced from official product documentation and admin references.

Keep exploring

Related apps

15Five logo

15Five

Full API + SCIM
AutomationAPI + SCIM
Last updatedFeb 2026

15Five uses a fixed role-based permission model with six predefined roles: Account Admin, HR Admin, Billing Admin, Group Admin, Manager, and Employee. No custom roles can be constructed. User management lives at Settings gear → People → Manage people p

1Password logo

1Password

Full API + SCIM
AutomationAPI + SCIM
Last updatedFeb 2026

1Password's admin console at my.1password.com covers the full user lifecycle — invitations, group assignments, vault access, suspension, and deletion — without any third-party tooling. Like every app that mixes role-based and resource-level permissions

8x8 logo

8x8

Full API + SCIM
AutomationAPI + SCIM
Last updatedFeb 2026

8x8 Admin Console supports full lifecycle user management — create, deactivate, and delete — across its X Series unified communications platform. Every app a user can access (8x8 Work desktop, mobile, web, Agent Workspace) is gated by license assignmen