Dialogue Cloud

Microsoft Graph Presence Source (Get) Configuration

Introduction

The Microsoft Graph Cloud Communications Presence APIs are used by AnywhereNow for two distinct presence actions, Get Presence states of agents and Set Presence state of agents:

High Level Steps

In order to start collecting presence for Microsoft Teams users, there are two requirements per tenant:

  1. Microsoft Entra ID Formerly known as Azure Active Directory (or Azure AD, or AAD) App Registration:

    1. Register an app in Microsoft Entra ID to query the Microsoft Graph APIs.

  2. Choose Authentication Method:

    1. Application Permissions (recommended):

      Authenticate using a Client ID and Client Secret. This is the recommended approach as it does not require a dedicated user account and avoids the security concerns associated with disabling MFA on a service account.

    2. Delegated Permissions:

      Authenticate using a user account (username and password). Note that this method requires a service-style user account with MFA disabled, which is why Application Permissions is preferred.

Microsoft Entra Id App Registration setup

Tip

As Microsoft enabled throttling to prevent an overload off API calls, it is advised to use a separate Microsoft Entra ID App registration per UCC Service.
In order to prevent throttling, AnywhereNow queries a maximum of 650 users per request. With the limitation of a maximum of 1.500 requests per 30 seconds. This way AnywhereNow is able to collect presence of 15.000 uniquely configured Agents per App registration.

Please find below the steps to setup an App Registration in Azure.

  1. Navigate to: https://entra.microsoft.com/
  2. Under Applications -> App registrations create a new App registration

    1. Provide a Name for the application, for example: AnywhereNow Graph Get Presence Application

    2. Select the account type Single tenant only

    3. Click “Register”

  3. On the API permissions tab,

    Add the following Delegated Microsoft Graph permissions:

    Note

    Introduced in DC2024.02: The option to make this available via the OnePortal was enabled with the release of Bundle DC2024.02b.

    Add the following Application Microsoft Graph permissions:

  4. Since the Admin consent are required, click the button “Grant admin consent for <tenant>”.

    Note

    Only a tenant administrator can grant the admin consent

  5. On the Authentication tab, change “Allow public client flows” to “Yes”.

    • Click “Save”

    Note:

    This is a setting mainly required for Delegated authentication permissions method. If all your Graph Presence services are setup for Application authentication permissions this op is not required.

  6. On the Overview tab, copy both the Application (client) ID and the Directory (tenant) ID

    • These IDs can then be shared with your AnywhereNow contact to be entered in OnePortal.

Authentication Methods

User Account

Note

You will need one user account for each tenant.

The user account that is used to retrieve presence must be a Microsoft Entra ID Useraccount. This useraccount has the default ability to retrieve presence of other users in the same tenant.

The account does not require any permissions, nor does it need any licenses. Simply create an new user account without any licenses to use it like a service account.

Note

During the setup procedure, the account requires access to Teams to read the presence and complete the setup.

  • This username and password can then be shared with your AnywhereNow contact

Password policy

Client Secret

Note

Introduced in DC2024.02: The option to make this available via the OnePortal was enabled with the release of Bundle DC2024.02b.

An App authenticated with a ClientId and ClientSecret is used to get presence via the Graph API. The ClientSecret needs to be created separately (and periodically renewed) on the Entra ID App registration.

  1. Navigate to the Application you created in Microsoft Entra Id App Registration setup
  2. On the Client secret tab, click on New client secret:

  3. Enter a Description and set the Expires value

  4. On the next screen, copy the Value of this secret (so not the Secret ID)

    • The Value can then be shared with your AnywhereNow contact

Configure Agents for presence collection via MS Graph

In order to collect presence for Agents using Microsoft Graph, make sure that the UPN field in the SharePoint Agent list is populated with the correct UPN of the Agent.

Configure the Presence Source

In Dialogue Cloud, the Microsoft Graph Presence Source is configured through OnePortal at service level.

First Time configuration

First time configuration of the Presence Source is done when creating a new Service in OnePortal. See Presence Configuration

Editing an existing configuration

Note

The procedure below assumes the service already has a Presence Source configured with delegated permissions (UsernamePassword) and you want to change it to application permissions using ClientIdSecret, or to edit an existing Presence App.

  1. Open AnywhereNow OnePortal.

  2. Select the customer and then select the relevant service.

  3. Open the Replace dropdown and select Graph Client ID.

  4. Verify that the expected Microsoft Entra ID application is shown in Current Client ID. If not, enter the correct value in New Client ID and click Submit.

  5. Open the Change dropdown and select Graph Connection Type.

  6. Change the connection type to Client ID/Secret, enter the application secret in Graph Secret, and click Submit.

  7. Apply the change by performing a restart, see: Restart Options and service behavior.

    If the restart dialog provides the options, include Clear UCC Cache, Clear Graph Cache, and App Pool Restart so the updated Graph connection settings are reloaded cleanly.

Tip

After the restart, verify that presence collection resumes as expected for agents whose UPN values are correctly populated in the Agent list.