Guidance for dual-write setup

Important

Some or all of the functionality noted in this topic is available as part of a preview release. The content and the functionality are subject to change. For more information about preview releases, see Service update availability.

Note

Effective November 2020:

  • Common Data Service has been renamed to Microsoft Dataverse. For more information, see Power Automate Blog.
  • Some terminology in Microsoft Dataverse has been updated. For example, entity is now table and field is now column. For more information, see Terminology updates.

This topic will be updated soon to reflect the latest terminology.

You can set up a dual-write connection between a Finance and Operations environment and a Dataverse environment.

  • A Finance and Operations environment provides the underlying platform for Finance and Operations apps (for example, Microsoft Dynamics 365 Finance, Dynamics 365 Supply Chain Management, Dynamics 365 Commerce, and Dynamics 365 Human Resources).
  • A Dataverse environment provides the underlying platform for customer engagement apps (Dynamics 365 Sales, Dynamics 365 Customer Service, Dynamics 365 column Service, Dynamics 365 Marketing, and Dynamics 365 Project Service Automation).

Important

The Human Resources module in Dynamics 365 Finance supports dual-write connections, but the Dynamics 365 Human Resources app doesn't.

The setup mechanism varies, depending on your subscription and the environment:

  • For new instances of Finance and Operations apps, the setup of a dual-write connection begins in Microsoft Dynamics Lifecycle Services (LCS). If you have a license for Microsoft Power Platform, you will get a new Dataverse environment if your tenant doesn't have one.
  • For existing instances Finance and Operations apps, the setup of a dual-write connection begins in the Finance and Operations environment.

Before you start dual-write on an entity, you can run an initial synchronization to handle existing data on both sides: Finance and Operations apps and customer engagement apps. You can skip the initial synchronization if you don't have to sync data between the two environments.

An initial synchronization lets you copy existing data from one app to another bidirectionally. There are several setup scenarios, depending on the environments that you already have and the type of data in them.

The following setup scenarios are supported:

A new Finance and Operations app instance and a new customer engagement app instance

To set up a dual-write connection between a new instance of a Finance and Operations app that has no data and a new instance of a customer engagement app, follow the steps in Dual-write setup from Lifecycle Services. When the connection setup is completed, the following actions automatically occur:

  • A new, empty Finance and Operations environment is provisioned.
  • A new, empty instance of a customer engagement app is provisioned, where the CRM prime solution is installed.
  • A dual-write connection is established for DAT company data.
  • Table maps are enabled for live synchronization.

Both environments are then ready for live data synchronization.

A new Finance and Operations app instance and an existing customer engagement app instance

To set up a dual-write connection between a new instance of a Finance and Operations app that has no data and an existing instance of a customer engagement app, follow the steps in Dual-write setup from Lifecycle Services. When the connection setup is completed, the following actions automatically occur:

  • A new, empty Finance and Operations environment is provisioned.
  • A dual-write connection is established for DAT company data.
  • Table maps are enabled for live synchronization.

Both environments are then ready for live data synchronization.

To sync the existing Dataverse data to the Finance and Operations app, follow these steps.

  1. Create a new company in the Finance and Operations app.
  2. Add the company to the dual-write connection setup.
  3. Bootstrap the Dataverse data by using a three-letter International Organization for Standardization (ISO) company code.
  4. Run the Initial sync functionality for the tables that you want to sync data for.

For links to an example and an alternative approach, see the Example section later in this topic.

A new Finance and Operations app instance that has data and a new customer engagement app instance

To set up a dual-write connection between a new instance of a Finance and Operations app that has data and a new instance of a customer engagement app, follow the steps in the A new Finance and Operations app instance and a new customer engagement app instance section earlier in this topic. When the connection setup is completed, if you want to sync the data to the customer engagement app, follow these steps.

  1. Open the Finance and Operations app from the LCS page, sign in, and then go to Data Management > Dual-write.
  2. Run the Initial sync functionality for the tables that you want to sync data for.

For links to an example and an alternative approach, see the Example section.

A new Finance and Operations app instance that has data and an existing customer engagement app instance

To set up a dual-write connection between a new instance of a Finance and Operations app that has data and an existing instance of a customer engagement app, follow the steps in the A new Finance and Operations app instance and an existing customer engagement app instance section earlier in this topic. When the connection setup is completed, if you want to sync the data to the customer engagement app, follow these steps.

  1. Open the Finance and Operations app from the LCS page, sign in, and then go to Data Management > Dual-write.
  2. Run the Initial sync functionality for the tables that you want to sync data for.

To sync the existing Dataverse data to the Finance and Operations app, follow these steps.

  1. Create a new company in the Finance and Operations app.
  2. Add the company to the dual-write connection setup.
  3. Bootstrap the Dataverse data by using a three-letter ISO company code.
  4. Run the Initial sync functionality for the tables that you want to sync data for.

For links to an example and an alternative approach, see the Example section.

An existing Finance and Operations app instance and a new customer engagement app instance

The setup of a dual-write connection between an existing instance of a Finance and Operations app and a new instance of a customer engagement app occurs in the Finance and Operation environment.

  1. Set up the connection from the Finance and Operations app.
  2. Run the Initial sync functionality for the tables that you want to sync data for.

For links to an example and an alternative approach, see the Example section.

An existing Finance and Operations app instance and an existing customer engagement app instance

The setup of a dual-write connection between an existing instance of a Finance and Operations app and an existing instance of a customer engagement app occurs in the Finance and Operation environment.

  1. Set up the connection from the Finance and Operations app.
  2. To sync the existing Dataverse data to the Finance and Operations app, bootstrap the Dataverse data by using a three-letter ISO company code.
  3. Run the Initial sync functionality for the tables that you want to sync data for.

For links to an example and an alternative approach, see the Example section.

Example

For an example, see Enabling the Customers V3—Contacts table map

For an alternative approach that is based on data volumes in each entity that must run an initial synchronization, see Considerations for initial synchronization.

Note

Can you tell us about your documentation language preferences? Take a short survey.

The survey will take about seven minutes. No personal data is collected (privacy statement).