Seats are assigned in a hurry and reclaimed never. Seat Drift reads what each console says is assigned: subscribedSkus with consumedUnits and each user's licenseDetails in Microsoft Entra ID, license assignments per product and SKU in Google Workspace, Copilot seats with last_activity_at and the plan's filled_seats in GitHub, and application user assignments in Okta. It reads when each person last signed in from the Okta System Log, the Entra sign-in log, and the Google login audit, and it reads the renewal dates you enter.
For each product it separates seats in use, seats idle past your threshold, and seats held by users who have left. Ahead of each renewal it proposes the reclaims, one per seat, to the license owner, and a true-up count with the evidence behind it. Removals run through the same console APIs after approval.
This is a reference listing. It documents what Fibric would read from Seat Drift and what it could propose, based on the vendor's published interfaces. Fibric builds it under a managed deployment when you request it; selecting it here installs nothing.
Inputs
subscribedSkus with skuPartNumber, consumedUnits, and prepaidUnits, and each user's licenseDetails, through Microsoft Graph
License assignments per productId and skuId through the Google Workspace Enterprise License Manager API
Copilot seat assignments with assignee, last_activity_at, and pending_cancellation_date, and the organization plan's filled_seats and seats, from GitHub
Application user assignments with scope, status, and lastSync through the Okta Apps API
Last sign-in per person: user.session.start events in the Okta System Log, /auditLogs/signIns in Entra ID, and login_success events in the Google Reports API
Renewal dates, contracted seat counts, and the license owner per product, entered by you
Proposed actions
Target capability: propose removing a license from a user through POST /users/{id}/assignLicense with removeLicenses, one seat per proposal
Target capability: propose deleting a license assignment through the Enterprise License Manager API for an idle Google Workspace seat
Target capability: propose removing users from Copilot through DELETE /orgs/{org}/copilot/billing/selected_users
Target capability: propose unassigning an application from a user through DELETE /api/v1/apps/{appId}/users/{userId} in Okta
Target capability: propose a true-up summary per product before renewal, with seats in use, idle, and reclaimable, as a Jira issue for the owner
Proposed actions are target capabilities. Every action runs propose-first and needs a validated deployment and the appropriate permissions.
What you can build
Reclaim Copilot seats nobody uses
Copilot seats whose last_activity_at is older than your threshold are listed with the assignee. The operator proposes removing each from selected_users; the owner approves the list before the billing cycle.
licenseDetails show SKUs on users whose last Entra sign-in is months old or whose account is disabled. Seat Drift proposes removeLicenses per user and shows consumedUnits against prepaidUnits.
Ahead of the renewal date you entered, the operator counts assignments per SKU against login_success events and proposes a Jira issue with the seats to keep, reclaim, and renew.
Microsoft Graph Organization.Read.All for subscribedSkus and LicenseAssignment.ReadWrite.All if removals are to be applied
A Google Workspace admin grant for the apps.licensing scope and reports.audit.readonly for login events
A GitHub token from an organization owner with manage_billing:copilot, since only owners manage Copilot seats
Okta scopes okta.apps.read and okta.logs.read, with okta.apps.manage for unassignments
The renewal date, seat count, and owner for each product, kept by you
Authentication
Seat Drift keeps no credentials. License reads and approved removals run through the Microsoft Entra ID, Google Workspace, GitHub, and Okta connectors, and true-up tickets through Jira, each with the grant you made.
Limits
Retention bounds the evidence: 90 days in the Okta System Log, 180 days in the Google login audit, 30 days for Entra P1 or P2.
Google audits only explicit password and SAML sign-ins. Apps reached another way show no login event and are flagged as unknown, not idle.
Removing a Google Workspace license on a flexible plan changes what you are billed. The proposal says so before you approve.
It proposes reclaims and a true-up count. It does not change the contract, cancel a subscription, or buy seats.
Access and pricing
Reference listing. Fibric builds the operator under a managed deployment when you request it. Your quote covers the build, capabilities, usage, and support.
One reclaim per seat, each showing the user, the product, the last sign-in and its source, and the API call that will remove it. And one true-up per product, which is a count and its evidence, not a change to any account.
What record is left?
Per product and renewal: the assignments read, the sign-in evidence per user, each reclaim proposed and approved, the API response, and how to reassign the seat. The true-up summary is kept as the basis for the renewal conversation.
Will it remove a seat by itself?
No. A seat is removed only after its owner approves that row, through the console's own API. Users the operator cannot match to a sign-in source are listed as unknown and never proposed for reclaim.
Ask about Seat Drift
Ask about the capabilities and requirements in this listing.
This operator is developed, published, and supported by Fibric. Third-party names and logos identify the systems an integration connects to; they are the property of their respective owners, who are not affiliated with Fibric and do not sponsor or endorse this listing. Trademark policy