Newer Version Available
UserProvisioningRequest
Represents an individual provisioning request to create, update or delete a user account in a third-party service system (or another Salesforce organization). A UserProvisioningRequest object is created for each provisioning action (such as creating, updating or deleting a user account) for each user, and for each connected app available to the user. For example, if a user has two connected apps, and a provisioning request is sent to two different services to create an account for the user, Salesforce creates two UserProvisioningRequest objects.
Supported Calls
Fields
| Field | Details |
|---|---|
| AppName |
|
| ApprovalStatus |
|
| ConnectedAppId |
|
| ExternalUserId |
|
| ManagerId |
|
| Name |
|
| Operation |
|
| OwnerId |
|
| SalesforceUserId |
|
| ScheduleDate |
|
| State |
|
| UserProvAccountId |
|
| UserProvConfigId |
|
Usage
The State value changes during a reconciliation process (Operation = Reconcile) to gather and compare users on the third-party system to Salesforce users. Typically, when a UserProvisioningRequest entry is first created, it has a State value of New. When a collection process is triggered, the State transitions to Collecting until that process is finished and the State is Collected. When an analyze process is triggered, the State transitions to Analyzing until that process is finished and the State is Analyzed. If a process commits the request, the State then transitions to Committing, and the properties move from the UserProvAccountStaging object to the UserProvAccount object. When those properties are saved in the UserProvAccount object, the State transitions to Completed.
However, the State does not necessarily start at New. For example, UserProvAccountStaging entries can be inserted programmatically. If a process is initiated that triggers linking these rows to accounts on the third-party service, a UserProvisioningRequest entry could start with the Analyzing State.
Also, the State cannot go backwards from an active task. For example, a successful Analyzing State must progress to Analyzed; unless the active process fails, and then the State must change to Failed. Certain State transitions cannot be made programmatically and must be triggered by Salesforce.
-
— the transition to
this value is not allowed. -
— the
transition to this value is allowed. -
— only Salesforce can
transition the State to this value.
| New | Requested | Collecting | Collected | Analyzing | Analyzed | Committing | Completed | Failed | |
|---|---|---|---|---|---|---|---|---|---|
| New | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
| Requested | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
| Collecting | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
| Collected | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
| Analyzing | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
| Analyzed | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
| Committing | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
| Completed | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
| Failed | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |