> ## Documentation Index
> Fetch the complete documentation index at: https://docs.sync.cdata.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Microsoft Dynamics 365

You can use the Microsoft Dynamics 365 connector from the CData Sync application to move data
from any supported source to the Microsoft Dynamics 365 destination. To do so, you need to add
the connector, authenticate to the connector, and complete your connection.

## Add the Microsoft Dynamics 365 Connector

To enable Sync to use data from Microsoft Dynamics 365, you first must add the
connector, as follows:

<ol>
  <li>Open the **Connections** page of the Sync dashboard.</li>
  <li>Click **Add Connection** to open the **Select Connectors** page.</li>
  <li>Click the **Destinations** tab and locate
  the **Microsoft Dynamics 365** row.</li>

  <li>
    Click the **Configure Connection** icon at the end of that row to open
    the **New Connection** page. This action opens the
    **Add Connection** dialog.

    **Note:** If the **Configure Connection** icon is not
    available, click the **Download Connector** icon to install
    the Microsoft Dynamics 365 connector.
  </li>

  <li>Enter a name for your connection in the **Add Connection** dialog.</li>
  <li>Click **Add** to open the **Settings** tab for your connector.</li>
</ol>

For more information about installing new connectors, see
[Connections](https://docs.sync.cdata.com/26.4/en/connections/connections.md).

## Authenticate to Microsoft Dynamics 365

After you add the connector, you need to set the required properties.

**Organizational URL:** Enter the URL to your Microsoft Dynamics 365 organization (for example, [https://abc123.cloudax.dynamics.com](https://abc123.cloudax.dynamics.com)).

CData Sync supports authenticating to Microsoft Dynamics 365 in several ways. Select your authentication method below to proceed to the relevant section that contains the authentication details.

* [**AzureAD**](#azure-active-directory) (default)
* [**AzureMSI**](#azure-managed-service-identity)
* [**AzureServicePrincipal**](#azure-service-principal)
* [**AzureServicePrincipalCert**](#azure-service-principal-certificate)

### Azure Active Directory

To connect with an Azure Active Directory (AD) user account, select **AzureAD**
for **Auth Scheme**. CData Sync provides an embedded OAuth application with
which to connect, so no additional properties are required.

### Azure Managed Service Identity

To leverage Azure Managed Service Identity (MSI) when CData Sync is running on an Azure
virtual machine, select **Azure MSI** for **Auth Scheme**. No
additional properties are required.

### Azure Service Principal

To connect with an Azure service principal and client secret, set the following properties:

<ul><li>**Auth Scheme:** Select **AzureServicePrincipal**.</li>
<li>**Azure Tenant:** Enter the Microsoft Online tenant to which you want to connect.</li>
<li>**OAuth Client Id:** Enter the client Id that you were assigned when you registered your application with an OAuth authorization server.</li>
<li>**OAuth Client Secret:** Enter the client secret that you were assigned when you registered your application with an OAuth authorization server.</li></ul>

To obtain the OAuth client Id and client secret for your application:

<ol><li>Log in to the [Azure portal](https://portal.azure.com).</li>
<li>In the left navigation pane, select **All services**. Then, search for and select **App registrations**.</li>
<li>Click **New registrations**.</li>
<li>Enter an application name and select **Any Azure AD Directory - Multi Tenant**.</li>
<li>After you create the application, copy the application (client) Id value that is displayed in the **Overview** section. Use this value as the OAuth client Id.</li>
<li>Navigate to the **Certificates & Secrets** section and select **New Client Secret** for the application.</li>
<li>Specify the duration and save the client secret. After you save it, the key value is displayed.</li>
<li>Copy this value because it is displayed only once. You will use this value as the OAuth client secret.</li>
<li>On the **Authentication** tab, make sure to select **Access tokens (used for implicit flows)**.</li></ol>

### Azure Service Principal Certificate

To connect with an Azure service principal and client certificate, set the following properties:

<ul><li>**Auth Scheme:** Select **AzureServicePrincipalCert**.</li>
<li>**Azure Tenant:** Enter the Microsoft Online tenant to which you want to connect.</li>
<li>**OAuth Client Id:** Enter the client Id that you were assigned when you registered your application with an OAuth authorization server.</li>
<li>**OAuth JWT Cert:** Enter your Java web tokens (JWT) certificate store.</li>
<li>**OAuth JWT Cert Type:** Enter the type of key store that contains your JWT Certificate. The default type is **PEMKEY\_BLOB**.</li>
<li>(Optional) **OAuth JWT Cert Password:** Enter the password for your OAuth JWT certificate.</li>
<li>(Optional) **OAuth JWT Cert Subject:** Enter the subject of your OAuth JWT certificate.</li></ul>

To obtain the OAuth certificate for your application:

<ol><li>Log in to the [Azure portal](https://portal.azure.com).</li>
<li>In the left navigation pane, select **All services**. Then, search for and select **App registrations**.</li>
<li>Click **New registrations**.</li>
<li>Enter an application name and select **Any Azure AD Directory - Multi Tenant**.</li>
<li>After you create the application, copy the application (client) Id value that is displayed in the **Overview** section. Use this value as the OAuth client Id.</li>
<li>Navigate to the **Certificates & Secrets** section and select **Upload certificate**. Then, select the certificate to upload from your local machine.</li>
<li>Specify the duration and save the client secret. After you save it, the key value is displayed.</li>
<li>Copy this value because it is displayed only once. You will use this value as the OAuth client secret.</li>
<li>On the **Authentication** tab, make sure to select **Access tokens (used for implicit flows)**.</li></ol>

## Complete Your Connection

To complete your connection:

1. For **Edition**, select the edition for your version of Microsoft Dynamics 365.

   * **CustomerService**
   * **FieldService**
   * **Marketing**
   * **ProjectOperations**
   * **Sales**
   * **Commerce**

   **Note:** The FinOpsOnline, FinOpsOnPremise, and HumanResources editions do not support the Microsoft Dynamics 365 destination.

2. Define advanced connection settings on the **Advanced** tab. (In most cases, though, you should not need these settings.)

3. If you authenticate with AzureAd, click **Connect to Microsoft Dynamics 365** to connect to your Microsoft Dynamics 365 account.

4. Click **Create & Test** to create your connection.

## Create Alternate Keys

Using alternate keys is a key component in a CData Sync reverse ETL workflow, enabling simplification of data integration. Because Microsoft Dynamics 365 stores data in Microsoft Dataverse tables, alternate keys play a crucial role in facilitating data movement between Sync and Microsoft Dynamics 365. These keys provide a reliable way to match records when Dataverse globally unique identifiers (GUIDs) are unavailable. Similar to how Salesforce uses an external Id for record identification, alternate keys ensure seamless synchronization and data updates without relying on primary identifiers (Ids).

When you create an alternate key for a Dataverse table, that key is displayed as a column on the **Column Mapping** tab for your reverse ETL job in Sync.

To create an alternate key:

1. Sign in to Microsoft Power Apps and navigate to the Dataverse tables.
2. Select the table that you (for example, the **Account** table).This selection opens the table view.
3. In the table view, select **Keys** to open the alternate-keys view.
4. On the **Keys** page, follow these steps:
   1. Click **New Key**, which opens a pop-up dialog on the right.

   2. In the **Key** dialog, specify the following information:
      * **Display Name:** Enter a name for this key. This name will be displayed in label is the label that will be displayed in the Sync application's ID mapping section.
      * **Columns:** Select a column that you want to use as an alternate key. Note that alternate keys must be unique and they must meet the requirements that are described in the Microsoft Dynamics 365 documentation. If you do not have a column that meets the requirements, you can add a column manually to use.

        **Note:** If you add a new column to use as an external identifier (Id), make sure to backfill it with unique values before you use it to prevent accidental duplicates.

   3. Click **Save** to create your alternate key and to display it on the **Column Mapping** tab for your Sync job.
5. Select the name of your alternate key on the **Column Mapping** tab and map it to the appropriate column for your source in Sync.

## More Information

For more information about interactions between CData Sync and Microsoft Dynamics 365, see
[Microsoft Dynamics 365 Connector for CData Sync](https://cdn.cdata.com/help/LJN/synch/default.htm).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.