Inactive user list
Buildkite organization administrators can audit inactive users within their organization using the inactive user list. An inactive user is an organization member who has not interacted with Buildkite within a selected time period. This helps administrators identify and remove users who no longer need access.
The inactive user list feature is only available to Buildkite customers on Enterprise plans, as it requires the Audit Logging feature.
View inactive users
To view inactive users in your organization:
Select Settings in the global navigation to access the Organization Settings page.
In the sidebar, select Audit > Inactive User List to access your organization's inactive user list.
Select a time period to filter the list. Available periods are 30 days, 90 days (the default), and 120 days. For example, selecting 30 days shows organization members who have not been active in the last 30 days.
Each entry displays the member's name, email address, and the date they were last active.
The inactive user list relies on each member's last seen timestamp. Members who have never logged in appear in the list with a placeholder date of 30 July 2020, indicating that no activity has been recorded for that user.
Export inactive users to CSV
You can export the current filtered list of inactive users to a CSV file by selecting the Export to CSV button at the top of the page.
Remove inactive users
After identifying inactive users, you can remove them from your organization to maintain a clean membership list. Removing a user from the organization does not delete their user account, and builds created by the user will not be deleted.
To remove inactive users:
From the Inactive User List page, select the checkbox next to each user you want to remove. You can select multiple users.
Select Remove selected users.
Confirm the removal when prompted.
You can also remove users programmatically using the GraphQL API.
Query inactive users with the GraphQL API
You can query inactive organization members programmatically using the GraphQL API. Use the inactiveSince argument on the members field to filter for members who have not been active since a specific date.
query getInactiveOrgMembers {
organization(slug: "organization-slug") {
members(first: 100, inactiveSince: "2025-01-01T00:00:00Z") {
count
edges {
node {
id
lastSeenAt
user {
name
email
}
}
}
}
}
}
The inactiveSince value is an ISO 8601 encoded UTC date string. The query returns all members whose lastSeenAt is either null (never seen) or before the specified date, along with the total count of matching members.
For more GraphQL recipes related to organization member management, see the Organizations cookbook.