In this post, we will highlight how PowerApps Data Integration projects are set up to facilitate data integration between Dynamics 365 for Sales (D365 for Sales) and Dynamics 365 for Finance and Operations (D365FO). This is based on my implementation experience in a recent D365FO implementation, where we used the capabilities available in Common Data Service 2.0 for data integration in D365 for Sales. With the release of Common Data Service (CDS) 2.0, there are additional integration points that are being offered where the integration capabilities are extended to facilitate integration between Salesforce and Common Data Service (CDS).
PowerApps Data Integration:
PowerApps is an integrated environment on the cloud which enables businesses to build applications, connect data across those multiple systems through those applications and automate data flow and business processes across those systems.
Login to https://web.powerapps.com and one should be able to view the PowerApps studio with the default selected environment, as shown below.
Fig 1 – PowerApps Home Page
Data Integration Project Pre-requisites:
1. The first step is to create a PowerApps Environment. Select the gear icon and choose Admin Center.
Fig 2 – Admin Center
2. The next step is to select ‘New Environment‘ and then provide the new Environment name. In this case, we have given a name to our environment as FlowD365.
Fig 3 – Create Environments
3. After setting up the PowerApps environment, the first step is to assign roles to the PowerApps users. Environment roles and user roles are the two types of roles available in the PowerApps studio.
Fig 4- Default Roles In PowerApps
4. The Environment Roles available by default include the following:
|Type of Role||Description|
|Environment administrator||Responsible for managing the resources in the PowerApps studio that include managing permission sets, resources, database|
|Environment maker||Responsible for creating new resources in the PowerApps environment|
Table 1 – Environment Role Types
5. In addition to the environment roles, there are user roles that include the following:
Fig 5 – Default User Roles In PowerApps
User Roles include the following:
|Type of Role||Description|
|Organization user||Responsible for access to public data|
|Database owner||Full access to the database including database schema, all database related resources|
Table 2 – User roles in PowerApps
1. Permission Sets are access levels assigned to user roles. The permission sets are available under Admin Center -> Environments -> Security. Under security, choose User roles, and under User roles sub-section, the two user roles highlighted below will pop-up.
Fig 6 – User Role Types in PowerApps
A few permission sets are available out of the box. For example, view account contact, Maintain account data are a few permission sets available, by default, in the PowerApps Studio.
Fig 7 – Permission Sets
2. Assigning Users to Custom Security Roles:
To assign users to the custom role, which in this case is Sales representative, select Users after selecting the role and assign the user to the custom role.
Fig 8 – Custom Security Role – Sales Representative
3. Assigning a User To a Custom User Role:
After the permission sets are created, the users can be assigned the user roles. For example, in the screen clip below, we have designated two user roles to a user. One role is a Database Owner, and the other user is the Organization User. Similarly, we can appoint
administrators/ environment managers to the environment roles.
Fig 9 – Assigning users to the Database Role
4. Custom Roles and Custom permission sets:
One can create custom permission roles inside the PowerApps environment. Custom permission roles can have custom permission
sets defined. For example, here a custom role called Sales representative is defined.
Fig 10 – Custom Roles
One can create custom permission sets too and have custom permission sets assigned to custom roles, also.
Fig 11 – Custom Permission Sets
Later, we can assign access permissions to the various entities that exist in the Common Data Service (CDS) 2.0.
Fig 12 – Access Levels In Permission Sets
5. Test the data entity after assigning the permissions to the user. To test the data, we are going to use the Organization entity (i.e.
Legal entities, in Operations,) available in Microsoft Dynamics 365 for Finance and Operations. Search the Organization entity and
then open the Organization entity in Excel.
Fig 13 – Open In Excel In The PowerApps Studio
Save the excel spreadsheet and after saving open the Excel spreadsheet.
Fig 14 – Save Excel Spreadsheet
One of the essential pre-requisites to setup Data Integration projects is Connections and Connection Sets. A connection is a pre-requisite to set up Connection Sets. While creating the data integration projects, one needs to establish the connection set. The Connection sets are one of the steps that the system prompts for a while building projects. In this case, we have created a Dynamics 365 for Finance and Operations connection.
Fig 15 – Connection Setups In PowerApps
Once the connection is successfully set up, the status of the connection is set to ‘Connected.’ In case of an unsuccessful connection, the connection status will be set to ‘Can’t sign in. Fix Connection‘.
Fig 16 – Connection Status In Connections List
In the above list, we can see a list of connection strings that are created with the various cloud services provided. Similarly, a connection can be established with Dynamics 365 for Sales.
Note: Connections are pre-requisites for Connection Sets and Connection Sets serve as a pre-requisite for Data Integration Projects.
Fig 17 – Connection Details
In addition to this, there are other details that one can view related to a connection. This also includes workflows (Microsoft Flow service) that one can see related to a connection.
Fig 18 – Apps Using A Connection
Fig 19 – Flows Using the Connection
Setup Connection Sets:
1. The pre-requisite for Data Integration projects is connection sets. While creating data integration projects, one needs to establish the connection set. The connection set is one of the steps that the system prompts for a while building projects. Once the connection set is setup, one can view the details of the connection.
Fig 20 – New Connection Set
Note: You can’t create a connection set from the Data Integration wizard.
2. To create a new connection set, select the Data Integration project and create Connection Sets. On choosing the connection set, the following screen appears. Ensure that the name of the organizations is mentioned there. In this case, there is a data
integration project that is set up between Dynamics 365 for Sales (D365 for Sales) to Common Data Service (CDS) to Dynamics 365
Finance and Operations (D365 FinOps) environments. Also, the user/administrator setting up the Common Data Service (CDS)
to manage data flow between Dynamics 365 for Sales and Operations should have the privileges and the access levels, both within
Dynamics 365 for Sales and Dynamics 365 for Finance and Operations.
Fig 21 – Connection Set In Data Integration Project
Once the connection set is set up, the Data Integration project which consists of various tasks that can be used to map different data sources (Common Data Service, Dynamics 365 for Finance and Operations, Dynamics 365 for Sales, etc.)
3. Another vital setup while setting up the Connection setting is to mention the Organization name. The organization name is a
pre-requisite to creating the Data Integration project and is one of the core steps while creating Data Integration projects. To
navigate to the Organizations section in the Data Integration section, choose Data Integration -> Organizations.
Fig 22 – Organizations In Data Integration Projects
Data Integration Project Setup:
1. Once the connection set is ready, the data integration projects can be created. To create a Data integration project, Go to the
PowerApps Admin center and select Data integration in the navigation pane.
Fig 23 – Data Integration New Project Creation
2. Choose the Data Integration Project, if there is already one created or else create a new project, as depicted in the figure above.
Once the data integration project is created, choose a template to move data between D365 for Sales and D365 For Finance And
Operations via the Common Data Service (CDS).
Fig 24 – Templates In The New Data Integration Project
3. In the next step, choose the Connection set that was created in the previous step and select Next. In this case, a connection set by the name ‘D365SalestoOperations‘ and choose next. D365SalestoOperations is the connection settings that will push data from
D365 for Sales to D365 FinOps through the Common Data Service (CDS).
Fig 25 – Data Integration Project Connection Sets
4. On choosing the connection sets and on selecting Next, choose the organization that was specified while setting up the Connection
sets. The <source:CDS: Operations Company Name> mentioned in the Connection Set should show up in the Organizations section while
creating the Data Integration project.
Fig 26 – Organization Names In New Data Integration Project
5. On selecting Next, the new Data Integration project will be created. The data integration project allows one to share with the
external systems located in the same region or different regions. This is the consent that shows up because it involves sharing
organizational data from multiple systems.
Fig 27 – New Data Integration Project Consent
6. The Data Integration project will be created in a few minutes. In this case, a new project will be created with the entities being
mapped. Once the project is created a message will show up, in case if there are any fields that are not mapped. If the fields are all
mapped, then the mapping error message won’t show up.
Fig 28 – Post Data Integration Project Creation
If there are fields that are not mapped in the data integration project, then an error message as highlighted in Fig 29, will show up.