Submitted requests proceed through approve, enrich, and commit stages where they are assigned to users for approval. When a request enters a stage, request items in the request are matched to user groups configured for the stage and users in the matching groups have the request assigned to them in that stage. A request can be assigned to multiple users and groups for the same stage concurrently but only one user can claim the request at a time.