Chili Piper's Salesforce Auto Provisioning feature processes license additions, removals, and workspace or team changes in a single scheduled batch. When a batch runs and the account is at or near its license ceiling, addition actions can fail mid-run because the licenses that would have been freed by revocation actions in the same batch haven't been released yet.
The provisioning batch should execute all revoke and removal actions first, before processing any additions or changes. This ensures that freed licenses are available in the pool before new assignments are attempted, preventing batch failures caused by temporary license exhaustion.
A customer hit this directly: their batch failed on license limits, but once the batch completed, enough licenses had been freed that the failed assignments could have succeeded, had they run after the revocations. They had to manually re-trigger the failed provisioning run. Running revocations first would eliminate this entire class of failure for customers operating at or near their license limit.