Search This Blog

Saturday 23 February 2019

Integrating D365 PSA and Finance & Operations with the CDS Data Integrator

Over the past few months, I've been delving deep into the realms of integrating the different modules within Microsoft Dynamics 365. One thing I've noticed when coming up against obstacles is the sheer lack of content online for this aspect of the Common Data Service (CDS). As a result, I thought it would be a great chance to blog about the common issues I've come across and the necessary configuration when integrating Project Service Automation with Finance and Operations. 

Prerequisites 
In order to use the CDS Data Integrator (DI), I needed Administrator access and licenses to the following:
  • Power Apps
  • D365 Customer Engagement
  • D365 Finance and Operations

First Steps - Environment
The first step to using the DI is to create an Environment (if you use Flow or PowerApps you'll be familiar with this concept already). An Environment essentially stores all of your flows, apps and data in one place. A default one will be created for you, but it's always good practice to create your own to maintain consistency and if you need to restrict access. To create an environment, log into https://admin.powerapps.com and go to Environments













Then click New Environment in the top right of the UI.













Give your environment a name and select the Type, then click Create Environment.




























Connections
The next point of call is to create connections to your D365 instances. In order to do this, you need to go to https://web.powerapps.com and go to Connections (tip: make sure you are in your newly created environment as per below). 

















Navigate to Connections under the Data drop down.

















Click New Connection and add connections to replicate the screenshot below. You will need to verify your credentials for each credential (tip: if you are trying to connect to D365 for Talent, that uses the Customer Engagement connection). Often, if your integration projects are failing and the error message isn't clear/data isn't making it into staging in FinOps; this should be your first check to ensure all connections have a healthy 'Connected' status.
















Connection Sets
Now I've created my Environment and connected to the relevant data sources, I need to create a Connection Set to link the two together. Go back to https://admin.powerapps.com and open the Data Integration tab.
















Click Connection Sets and then New Connection Set.








Give your Connection Set a relevant name and try to be consistent in your naming conventions, this will make your life easier in the long run. Select your D365 Sales instance for the first Connection and then the D365 FinOps environment for your second. If these don't appear, it's likely due to security permissions. 

















Once you've done that, you need to add your mappings. Essentially, these are your default Business Unit in Customer Engagement and the main Company in FinOps. If you are unsure what these are, a good tactic is to enter jibberish in the field and click Create - the error message thrown back will give you the values you can use. Tip: you can always add more mappings at a later stage.

















Integration Projects
In short, that's the prerequisites complete. You can now go and create integration projects from templates, create tasks against these and use advanced filtering. 












By clicking New project, you can give your project a name (remember to be consistent), select a Template, select the Connection Set and select your Organization (environment). It's worth noting that you can't change these details in the future, so if something changes you would need to create a new project i.e. if your Business Unit name is changed in Customer Engagement, your project would fail. Then you would need to create a new Connection Set, save your project as a template and create a new one from the template.












Once created, your Project will have any tasks imported from the template. From the Project page, you can do the following:
  • Run and schedule the Project
  • View Execution history (although you will get better error logs in the Data Management section of FinOps)
  • Add Mappings
  • Enable Advanced Filtering (more on this later..)
  • View the Connection the Project is set for













Out of the box templates are a great starting point, but often you will need to make changes and add filters relevant to your requirements, but more on the mapping specifics next time - starting with Accounts and Vendors! If you want to take a look at the Microsoft road map for this space, you can find details here - https://docs.microsoft.com/en-us/business-applications-release-notes/april18/dynamics365-finance-operations/integration-dynamics365-project-service-automation.

Thanks for reading and a big shout out to Nathan Rodgers for offering his help and enlightening me to the world of the Data Integrator.