Tutorial: Configure Genesys Cloud for Azure for automatic user provisioning

This tutorial describes the steps you need to perform in both Genesys Cloud for Azure and Microsoft Entra ID to configure automatic user provisioning. When configured, Microsoft Entra ID automatically provisions and de-provisions users and groups to Genesys Cloud for Azure using the Microsoft Entra provisioning service. For important details on what this service does, how it works, and frequently asked questions, see Automate user provisioning and deprovisioning to SaaS applications with Microsoft Entra ID.

Capabilities supported

  • Create users in Genesys Cloud for Azure
  • Remove users in Genesys Cloud for Azure when they do not require access anymore
  • Keep user attributes synchronized between Microsoft Entra ID and Genesys Cloud for Azure
  • Provision groups and group memberships in Genesys Cloud for Azure
  • Single sign-on to Genesys Cloud for Azure (recommended)

Prerequisites

The scenario outlined in this tutorial assumes that you already have the following prerequisites:

  • A Microsoft Entra tenant
  • A user account in Microsoft Entra ID with permission to configure provisioning (for example, Application Administrator, Cloud Application administrator, Application Owner, or Global Administrator).
  • A PureCloud organization.
  • A User with permissions to create an Oauth Client.

Note

This integration is also available to use from Microsoft Entra US Government Cloud environment. You can find this application in the Microsoft Entra US Government Cloud Application Gallery and configure it in the same way as you do from public cloud.

Step 1: Plan your provisioning deployment

  1. Learn about how the provisioning service works.
  2. Determine who will be in scope for provisioning.
  3. Determine what data to map between Microsoft Entra ID and Genesys Cloud for Azure.

Step 2: Configure Genesys Cloud for Azure to support provisioning with Microsoft Entra ID

  1. Create an Oauth Client configured in your PureCloud organization.
  2. Generate a token with your oauth client.
  3. If you are wanting to automatically provision Group membership within PureCloud, you must create Groups in PureCloud with an identical name to the group in Microsoft Entra ID.

Add Genesys Cloud for Azure from the Microsoft Entra application gallery to start managing provisioning to Genesys Cloud for Azure. If you have previously setup Genesys Cloud for Azure for SSO, you can use the same application. However it is recommended that you create a separate app when testing out the integration initially. Learn more about adding an application from the gallery here.

Step 4: Define who will be in scope for provisioning

The Microsoft Entra provisioning service allows you to scope who will be provisioned based on assignment to the application and or based on attributes of the user and group. If you choose to scope who will be provisioned to your app based on assignment, you can use the following steps to assign users and groups to the application. If you choose to scope who will be provisioned based solely on attributes of the user or group, you can use a scoping filter as described here.

  • Start small. Test with a small set of users and groups before rolling out to everyone. When scope for provisioning is set to assigned users and groups, you can control this by assigning one or two users or groups to the app. When scope is set to all users and groups, you can specify an attribute based scoping filter.

  • If you need additional roles, you can update the application manifest to add new roles.

Step 5: Configure automatic user provisioning to Genesys Cloud for Azure

This section guides you through the steps to configure the Microsoft Entra provisioning service to create, update, and disable users and/or groups in TestApp based on user and group assignments in Microsoft Entra ID.

To configure automatic user provisioning for Genesys Cloud for Azure in Microsoft Entra ID:

  1. Sign in to the Microsoft Entra admin center as at least a Cloud Application Administrator.

  2. Browse to Identity > Applications > Enterprise applications

    Enterprise applications blade

  3. In the applications list, select Genesys Cloud for Azure.

    The Genesys Cloud for Azure link in the Applications list

  4. Select the Provisioning tab.

    Screenshot of the Manage options with the Provisioning option called out.

  5. Set the Provisioning Mode to Automatic.

    Screenshot of the Provisioning Mode dropdown list with the Automatic option called out.

  6. Under the Admin Credentials section, input your Genesys Cloud for Azure API URL and Oauth Token in the Tenant URL and Secret Token fields respectively. The API URL will be structured as {{API Url}}/api/v2/scim/v2, using the API URL for your PureCloud region from the PureCloud Developer Center. Click Test Connection to ensure Microsoft Entra ID can connect to Genesys Cloud for Azure. If the connection fails, ensure your Genesys Cloud for Azure account has Admin permissions and try again.

    Screenshot shows the Admin Credentials dialog box, where you can enter your Tenant U R L and Secret Token.

  7. In the Notification Email field, enter the email address of a person or group who should receive the provisioning error notifications and select the Send an email notification when a failure occurs check box.

    Notification Email

  8. Select Save.

  9. Under the Mappings section, select Synchronize Microsoft Entra users to Genesys Cloud for Azure.

  10. Review the user attributes that are synchronized from Microsoft Entra ID to Genesys Cloud for Azure in the Attribute-Mapping section. The attributes selected as Matching properties are used to match the user accounts in Genesys Cloud for Azure for update operations. If you choose to change the matching target attribute, you will need to ensure that the Genesys Cloud for Azure API supports filtering users based on that attribute. Select the Save button to commit any changes.

    Attribute Type Supported for filtering Required by Genesys Cloud for Azure
    userName String
    active Boolean
    displayName String
    emails[type eq "work"].value String
    title String
    phoneNumbers[type eq "mobile"].value String
    phoneNumbers[type eq "work"].value String
    phoneNumbers[type eq "work2"].value String
    phoneNumberss[type eq "work3"].value String
    phoneNumbers[type eq "work4"].value String
    phoneNumbers[type eq "home"].value String
    phoneNumbers[type eq "microsoftteams"].value String
    roles String
    urn:ietf:params:scim:schemas:extension:enterprise:2.0:User:department String
    urn:ietf:params:scim:schemas:extension:enterprise:2.0:User:manager Reference
    urn:ietf:params:scim:schemas:extension:enterprise:2.0:User:employeeNumber String
    urn:ietf:params:scim:schemas:extension:enterprise:2.0:User:division String
    urn:ietf:params:scim:schemas:extension:genesys:purecloud:2.0:User:externalIds[authority eq ‘microsoftteams’].value String
    urn:ietf:params:scim:schemas:extension:genesys:purecloud:2.0:User:externalIds[authority eq ‘ringcentral’].value String
    urn:ietf:params:scim:schemas:extension:genesys:purecloud:2.0:User:externalIds[authority eq ‘zoomphone].value String
  11. Under the Mappings section, select Synchronize Microsoft Entra groups to Genesys Cloud for Azure.

  12. Review the group attributes that are synchronized from Microsoft Entra ID to Genesys Cloud for Azure in the Attribute-Mapping section. The attributes selected as Matching properties are used to match the groups in Genesys Cloud for Azure for update operations. Select the Save button to commit any changes. Genesys Cloud for Azure does not support group creation or deletion and only supports updating of groups.

    Attribute Type Supported for filtering Required by Genesys Cloud for Azure
    displayName String
    externalId String
    members Reference
  13. To configure scoping filters, refer to the following instructions provided in the Scoping filter tutorial.

  14. To enable the Microsoft Entra provisioning service for Genesys Cloud for Azure, change the Provisioning Status to On in the Settings section.

    Provisioning Status Toggled On

  15. Define the users and/or groups that you would like to provision to Genesys Cloud for Azure by choosing the desired values in Scope in the Settings section.

    Provisioning Scope

  16. When you are ready to provision, click Save.

    Saving Provisioning Configuration

This operation starts the initial synchronization cycle of all users and groups defined in Scope in the Settings section. The initial cycle takes longer to perform than subsequent cycles, which occur approximately every 40 minutes as long as the Microsoft Entra provisioning service is running.

Step 6: Monitor your deployment

Once you've configured provisioning, use the following resources to monitor your deployment:

  • Use the provisioning logs to determine which users have been provisioned successfully or unsuccessfully
  • Check the progress bar to see the status of the provisioning cycle and how close it is to completion
  • If the provisioning configuration seems to be in an unhealthy state, the application will go into quarantine. Learn more about quarantine states here.

Change log

  • 09/10/2020 - Added support for extension enterprise attribute employeeNumber.
  • 05/18/2021 - Added support for core attributes phoneNumbers[type eq "work2"], phoneNumbers[type eq "work3"], phoneNumbers[type eq "work4"], phoneNumbers[type eq "home"], phoneNumbers[type eq "microsoftteams"] and roles. And also added support for custom extension attributes urn:ietf:params:scim:schemas:extension:genesys:purecloud:2.0:User:externalIds[authority eq ‘microsoftteams’], urn:ietf:params:scim:schemas:extension:genesys:purecloud:2.0:User:externalIds[authority eq ‘zoomphone] and urn:ietf:params:scim:schemas:extension:genesys:purecloud:2.0:User:externalIds[authority eq ‘ringcentral’].

More resources

Next steps