This article shows how to retrieve a User ID from a different Dynamics 365 instance using Azure.

North52 BPA Solution

The North52 BPA solution works like this:

  • A formula is created that will trigger whenever a workflow activates it
  • The formula will gather the Azure token using its directory(tenant id),  client_id and client_secret
  • The formula will then use this token to retrieve this userid using a CallRestAPI

Setup - Create App

  • Navigate to and login to your Azure instance
  • Click on Azure Active Directory in the blade
  • Click on App Registration 
  • Click New registration
  • Give the App a name and leave everything else default. 
    • In this example we called it North52TestApp
  • Click Register
  • From the Overview section make note of the Application ID and the Directory (Tenant) ID

Setup - Create Secret in App

  • From the App you created above, navigate to Certificates Secrets
  • Click New Client Secret
  • Give it a Description and set its expiry date.
    • In this example we called it North52TestAppSecret
  • Click Add
  • Copy the Value of the secret and save it for later

Setup - Grant Permission in App

From inside your Azure App:

  • Click API Permissions
  • Click Add a permission
  • Select Dynamics CRM
  • Tick user_impersonation
  • Click Add permissions
  • Click Grant admin consent for your company name

Setup Formula

  • Navigate to Settings > N52 Formula
  • Create a new formula, setting the following values in the Formula Guide:
    • Source Entity set to Account
    • Set Formula Type to Clientside Calculation
    • Select the Classic editor
    • Change the Name of the formula to Retrieve Userid from a different CRM Instance using Azure
  • Copy and paste the following into the Classic editor
    • (Note: you will need to change the parameters to match yours, 6e50330d-7376-4348-aacb-xxxxxxxxxxxx is your Directory (tenant) ID
                                SetRequestParams('resource', '',
                                                 'username', '',
                                                 'password', 'xxxPasswordxxxx',
                                                 'client_id', '017c67b7-b07b-4c6f-bd26-xxxxxxxxxxx',
                                                 'client_secret', 'I:mH%xxxxxxxx;FOf',
                                                 'grant_type', 'password'))),

 SetRequestHeaders('Authorization', 'Bearer ' + GetVar('token'), 'Content-Type', 'application/json; charset=utf-8', 'Accept', 'application/json', 'Data-MaxVersion', '4.0', 'OData-Version', '4.0'),
 'NoOp') , 


  • Click Save


Within the Formula editor click the lightning bolt button on the right hand side and click Execute. You will see the Guid of the User like below. 

Note: Ignore any prompts for input you may get like below, click Execute.