Skip to main content

Get help for ARIS Process Mining functions and services

HTTP extraction from MS Dynamics 365 CRM

Use the following settings to configure the connection and HTTP extraction for a MS Dynamics 365 CRM system.

Disclaimer

Any references to third-party applications in this documentation are provided solely for informational purposes. Such references do not constitute any contractual commitment, representation, or warranty of any kind. The information is provided “as is,” and no guarantee is made as to the accuracy, completeness, or currentness of information relating to third-party applications.

Connection

REST-API base URL

Use your organization’s Dynamics 365 Web API service root:

https://<yourorg>.crm[region].dynamics.com

Test-connection resources

  • There is not a built-in /ping or /health on Dynamics 365, but the unbound function WhoAmI is the default connectivity check.

  • You can use the Service Root URL provided on Dynamics 365 (by default, https://yourorganization.crm.dynamics.com/api/data/v9.2).

  • GET /api/data/{{apiVersion}}/WhoAmI (requires authentication)

    Replace <apiVersion> with the api version.

    Example: /api/data/v9.2/WhoAmI

Supported authentication methods

  • OAuth 2.0 (client credentials)

    Requires client ID, client secret, and scopes.

    Tip

    • In the Microsoft Entra admin center, register an app and save the application (client) ID and directory (tenant) ID. Create and save a client secret. Configure API permissions and grant admin consent for your organization.

      For more information, please refere to the Microsoft Entra admin center documentation.

    • In the Power Platform Admin Center, create an Application User and assign a security role.

      For more information, please refere to the Power Platform Admin Center documentation.

    • Token endpoint: https://login.microsoftonline.com/<tenant-id>/oauth2/v2.0/token

    • Scope: https://<yourorg>.crm[region].dynamics.com/.default

  • Bearer token

    Tip

    In the Microsoft Entra admin center, configure an OAuth client that issues the bearer token once you have successfully completed one of the OAuth 2.0 flows (authorization code, implicit, or client credentials).

  • Basic Auth

    Not supported for online Dynamics 365.

Permissions or scopes

Scopes define access to specific resources.

Token type

Where you configure access

What to grant

Client credentials (app)

Entra ID (App Registration), Dataverse (Application User mapping)

Assign a Dynamics 365 security role to the Application User that allows CRUD on tables you willll access (for example, Accounts, Contacts, Incidents).

Extraction

MS Dynamics 365 CRM API resource endpoints

Note that each sample response structure is simplified to show the main fields typically returned by Zendesk. Actual responses may include more nested objects and links.

Resource type

Endpoint

Method

Sample response structure

Contacts

/contacts?$select=fullname,emailaddress1
GET
{
"@odata.nextLink" : "",
"@odata.context" : "",
"value" : [ {
"contactid" : "",
"@odata.etag" : "",
"fullname" : "",
"emailaddress1" : ""
} ]
}

Accounts

/accounts?$select=name,accountnumber
GET
{
"@odata.nextLink" : "",
"@odata.context" : "",
"value" : [ {
"accountid" : "",
"accountnumber" : "",
"@odata.etag" : "",
"name" : ""
} ]
}

Pagination

  • Type: next-link in response paging with @odata.nextLink

  • Parameters: @odata.nextLink

  • Response includes @odata.nextLink when more data is available

  • Set Prefer: odata.maxpagesize=<N> request header (up to 5,000 rows per page). Change this number to view pagination for fewer records.

Limitations and known issues

Rate limits

  • Service protection API limits (short-term; 5-minute sliding window): excessive request volume results in HTTP 429 Too Many Requests with guidance to retry/back off.

  • Request entitlement limits (24-hour allocations per user/app/tenant depending on license)

Data freshness

  • There is no platform-level caching delay in the API itself, but client-side caching, replication (for exampe, Synapse Link), or near-real-time integrations may introduce delays outside the Web API. (General docs reference operational behavior; plan your SLAs accordingly.)

Known bugs or API instabilities

  • Paging “nextLink is null” when using $top incorrectly: $top limits the total rows, but not the page size. Use Prefer: odata.maxpagesize and follow @odata.nextLink.