ePrivacy and GPDR Cookie Consent by Cookie Consent Skip to main content

Connector Microsoft Dynamics

Microsoft Dynamics is a comprehensive suite of business applications designed to streamline and integrate various aspects of an organization, including customer relationship management (CRM) and enterprise resource planning (ERP). It encompasses solutions such as Dynamics 365 Sales, Finance, and Supply Chain Management, providing tools to manage sales, customer service, financials, and operations.

When utilized as a connector to export data from Microsoft Dynamics to a CDP, it enables seamless data transfer and synchronization between the CRM and CDP. This integration enhances the efficiency of marketing and customer engagement strategies by ensuring that up-to-date and accurate customer information is readily available in the CDP, fostering personalized and targeted communication. 

Data In/Data Out

Data In N/A
Data Out

All data queried will be output into CSV tables in the data/out/tables folder. Output CSV file will be named as specified in the Endpoint and Extract All sections.

 

Learn more: about the folder structure here.

Prerequisites

It is needed to generate a token, Client ID and Client Secret to access the account.

Parameters

Auth

dynamics 01.png

Client ID (required)

Client ID needs to be generated in the Microsoft application. 

The Client ID name that was used. Client ID needs to be generated in the Microsoft application.

 

Learn more: about Client ID here

Client Secret (required)

Client Secret needs to be generated in the Microsoft application.

The Client Secret is obtained upon registering your app here.
Redirect URI (required)

It is the location where the authorization server sends the user once the app has been successfully authorized and granted an authorization code or access token.

Learn more:  about Redirect URI, please refer to this article.

Resource (required)

The URL of your CRM Instance.
The URL should look like https://<my-company>.crmX.dynamics.com/

Refresh Token (required)

Refresh tokens are the credentials that can be used to acquire new access tokens. Follow the procedure here to obtain the refresh token.

Extract by modified on

dynamics 02.png

Hours Back (required)

The number of hours for which history will be downloaded.

Hours Back can be set to a value of “infinity” to download the whole history. Otherwise, it can be specified to the particular number of hours.

Endpoint (required)

This describes the entity you want to download from the CRM. You can choose to download only a few hours/ days/ weeks of data.

Tablename (required)

Tablename is the name of the output table if one wants to customize it.

If not entered, the endpoint will be used.

If left empty, the default value will be used which is derived from the query (i.e. accounts?$select=acccountid,foo,bar becomes accounts, so everything before the first ?)

Primary Key (required)

The Primary Key indicates which column from the downloaded table (endpoint) is unique (used as Primary Key) for the incremental load.

Extract all

dynamics 03.png

Endpoint (required)

This describes the entity you want to download from the CRM. the whole table will be downloaded.

Learn more: How to query data here.

Tablename (optional)

Tablename is the name of the output table if one wants to customize it.

If not entered, the endpoint will be used.

If left empty, the default value will be used which is derived from the query (i.e. accounts?$select=acccountid,foo,bar becomes accounts, so everything before the first ?)

Example

Example of configuration that downloads:

  • All incident reports
  • Contacts updated in the last 72 hours
  • Gender option sets (a key-value pair describing possible gender values for contact entity). 

To get a list of all endpoints/entities in your CRM, please go to this article.

{
  "parameters": {
	"auth": {
  	"client_id": "{{CRM_CLIENT_ID}}",
  	"#client_secret": "{{#CRM_CLIENT_SECRET}}",
  	"redirect_uri": "{{CRM_REDIRECT_URI}}",
  	"resource": "{{CRM_RESOURCE}}",
  	"#refresh_token": "{{#CRM_REFRESH_TOKEN}}"
	},
	"extract_all": [
    	{
        	"endpoint": "incidents",
        	"primary_key": [
            	"incidentid"
        	]
    	}
	],
	"extract_by_modifiedon": {
  	"hours_back": "72",
  	"endpoints": [
    	{
      	"endpoint": "contacts",
      	"primary_key": [
        	"contactid"
      	]
    	}
  	]
	},
	"extract_option_set": [
  	{
    	"entity": "contact",
    	"attribute": "gendercode",
    	"tablename": "gendercode_optionset"
  	}
	]
  }
}