Dynamics 365 as a platform has so much to offer for your organization. Be it, best in class Talent management, Sales & Marketing, Customer Service Management, Field Service, Project Service automation(PSA), Retail, Finance & Operations management, Microsoft Dynamics 365 offers purpose-built apps for each of these areas for organizations of any size, ranging from 5 – 10 employees to large enterprise organizations with 10,000 + users. Any Tier 1 cloud ERP in the market today will probably provide you pretty much the major functionalities, that you would expect for your organization. However, what sets Microsoft Dynamics 365 apart from the crowd, is the platform itself. Along with purpose-built, best-of-breed apps and functionality for all areas of your businesses, you also get the tools, services, technology and the best of Microsoft cloud. A few to name are Common data Service for integrating business apps seamlessly. Microsoft Power Apps to build mobile apps and extend business processes easily with minimal or no coding needed. Microsoft Flow to automate routing, approvals, event-based actions, and notifications, etc. Power BI for incredibly stunning data visualizations and data intelligence. Microsoft Azure technology stack, such as Azure functions, Artificial intelligence, Machine learning and much more.
Probably, no other business application platform provides this breadth of technology and functionality that Microsoft Dynamics 365 provides today. One of the most common requirements of every ERP implementation is the integration of the Sales and marketing application with the Finance and operations application, to exchange business data such as Customer accounts, contacts, quotations, sales orders, products, invoices and more, so that the respective team members from different teams can get a 360 degree view of the customer’s data. The Microsoft Common data service aims to make it possible to integrate Dynamics 365 For Sales and Dynamics 365 For Finance and Operations out of the box, with various data project templates readily available for use.
Why Common Data Service?
You may argue why to use Common Data Service to build an integration between the apps/services Vs. just leveraging OData Service or even Customer services (REST/JSON). Sure, you can always leverage either OData Service or the Customs Services to build your integrations between D365 for Operations with other Dynamics 365 or other 3rd part services if you feel more comfortable with that approach. However, leveraging the CDS will give you advantages such as, voiding significant investments in writing custom integration that you need to maintain at a cost. Additionally surfacing business data from multiple business applications of your organization into CDS provides you the capability to create mission-critical business intelligence using Power BI or even build custom apps with ease leveraging PowerApps.
Connection Sets In CDS
Connection Sets defines what apps/services/systems you are going to connect for data exchange. In PowerApps Admin center, I have already created my Connection Set, that establishes the connection between my D365 For Sales and D365 For Finance and Operations apps. I also have done the Organization(s) mapping between these two apps, so that my data will surface in the required entities/organizations. The screenshot below shows the Connection set I have established. This is the first thing you need to set up before you actually set up the data integration projects.
Data Integration Projects In CDS
The Data integration projects define what entities are being integrated/synced between the two apps defined in the Connection set. It contains the following information.
1. A template Of the Project
A predefined list of Data integration projects provided by Microsoft. Note: Currently, when you create a new data integration project, you are required to select a predefined template. This might change in the future, where you can create your own mapping.
2. Connection Set
Select the connection settings you want to use within the data integrator project.
3. Organization Mapping
Since you could define more than one organization mapping within one connection set, you will select an organization mapping that is applicable for the data integrator project.
The data from the source app (D365 For Sales ) flows through the Common Data Service(CDS) to the Destination app(D365 For Operations). The tasks under the project contain the individual data field mapping between the entities in the source app, CDS and destination app. It also contains the information such as how frequently the project should run (Manually Vs in Batch).
A default task comes automatically when you use a template to create a data integrator project, however, you can add your own tasks to the project, where you can map additional entities.
Now that the Data Integrator Project and the Connection sets are configured, let us see how the Customer account data automatically flows from D365 Sales to CDS and then from CDS to D365 For Operations. In this case, I will just run the project manually ( I could set it to run automatically also)
Below screenshot shows the new customer I have set up in D365 For Sales.
I ran the data integrator project now manually in the CDS admin center. In an ideal scenario, you would set it up to run automatically.
When the project runs successfully, you can see the detailed execution history which will tell that the data got successfully transmitted from source to destination (D365 Sales to D365 For Operations in this case). See screenshots below. This execution log helps you identify issues with data sync if any and take necessary actions.
Now that the execution happened successfully, let us go verify if the Customer account got successfully created in D365 For Operations.
This was my testing just for 1 scenario of passing the Customer account data from D365 from Sales to Operations for this blog post. There are other templates that address the full picture of Prospect to cash scenario(See screenshot below) such as syncing, Contacts from Sales to Operations, Products Operations to Sales, Quotes from Sales to Operations, Sales orders from Sales to Operations, Sales Invoice details from Operations to Sales.
A Few Important Notes about These Out Of The Box Integrations In D365 Using Common Data Service
- The Common Data Service platform seems to be very promising and is absolutely the right step in the right direction for enabling integrations and extension scenarios for Dynamics 365.
- With all honesty, the CDS platform and functionality is fairly new and we are seeing new capabilities being added frequently. At this point, I have some important questions such as the below, for which I have still trying to get answers. I certainly need to learn more. How does data updates/modifications/deletions sync. Why do I need to choose the template always to create a new data project? What about notifications on execution history/results. What happens to Bi-directional information update for an entity. what is the information size/volume limitations for the Data integrator?
- I am not clear on the data security management of CDS. It looks like there are security roles and permissions that MS gives in CDS, but looks like this needs to mature more.
- Right now, it seems like you can connect only Azure-based services/apps. I don’t know how this will work with the non-azure/external applications/services.
- In my view, it does not look like the out of the box integration is ready for prime time, that customers can simply deploy and get going smoothly without problems. This will change the sign for sure in the months to come when more features are released and bug fixes are out. I would imagine by the Fall of 2017, we should view the much robust out of the box integration using the CDS.
- Customers who are flexible to adopt the platform with a long term vision for success, can adopt the CDS integrations right away and go through the process of learning and will certainly get a return on the investments in the long term.