The Ultimate Guide to Extending Dynamics 365 With Power Platform

Dual-write offers a direct integration between Dynamics 365 applications (notably between CRM and ERP applications). With the use of this integration, application architects can now systemize end-to-end business processes and centralize previously siloed data. 

Caroline Mayou

Caroline Mayou

Introduction

Since the birth of Microsoft’s Power PlatformCFO’s observed the low-code/no-code capabilities of the scalable platform with jealousy. After all, Dynamics 365 Finance & Operations implementations remain highly complex, and the concept of a citizen developer is almost non-existent. Furthermore, what good is the Dynamics 365 ecosystem if it can’t be seamlessly integrated? In today’s modern world, a transaction’s lifecycle begins in a CRM and ends in an ERP system. But to truly understand the lifecycle of a sale and generate reporting around its successes and failures, the two systems must communicate 

Understanding a full lifecycle is important across all industries and the informational gain is relevant to all roles in a company. A Chief Marketing Offer (CMO), for example, must be able to understand Lifetime Value. A Sales Director, on the other hand, may want to understand Churn. A CFO may have a separate set of obstacles- they could want to understand primary acquisition strategies in order to continue funding the methods that work and pull back from the ones that don’t.  

In this Ultimate Guide to Extending Dynamics 365 Finance With Power Platformwe’ll be consoling executives and citizen developers around the world by explaining how Dynamics 365 Finance can now fully integrate with Microsoft’s Power Platform. Furthermore, we’ll be discussing how Dynamics 365 Finance and Supply Chain Management can be extended using Power Apps. The scalability of the two platforms’ marriage will drive unique opportunities to garner data across all systems that can be leveraged by almost any role in a business.  

What is Power Platform and Why Does It Matter?

Before we tap into the extensibility of Dynamics 365 Finance using the Power Platform, we must first understand the general architecture of Power Platform and its underlying database, DataverseI’d like to introduce some of Microsoft’s terminology wrapped around these aforementioned topics so that you may better understand the rest of the guide.  

Dynamics 365 and Dataverse

The first term worth acquainting yourself with is Dataverse. Dataverse is the underlying database. That is leveraged Dynamics 365 Customer Engagement as well as model-driven. Apps. Built using the Power Platform. The advantage of Dataverse lies in its ability to seamless centralize data across. All Dynamics 365 Customer Engagement applications (Dynamics 365 Sales, Customer Service, Field Service, and Marketing) along with model-driven apps and Power Apps (if you so choose to use the connector). This database is specific to the environment your applications reside in.  

Power Platform integrates with Dynamics 365 Finance

Data within Dataverse is stored within a collection of tables. For those familiar with SQL databases or Excel spreadsheets, you can think of Dataverse in terms of rows and columns. A table represents a set of rows and their relevant columns, or attributes. Each column contained in a table stores a type of data. A table could for example, represent a person (Contact).  This Contact table could have relevant columns, or fields, that store their name, job title, phone number and more. When deploying a new Dataverse database, you’ll notice the base set of standard tables. Thanks to Microsoft’s use of the Common Data Model this out-of-box set of tables covers common business scenarios. This doesn’t mean, however, that you can’t create your own custom tables specific to your business. On the contrary, the upper-hand of Dataverse is its customizability and scalability– you can create as many custom tables and fields as needed.  The Common Data Model simply offers a head-start by offering up data points leveraged by most businesses around the world.  

Once your database is deployed and configured, you can use Dynamics 365 Customer Engagement applications and Power Apps to expose the tables and columns you’ve created. 

So, let’s take a moment to talk about why a business would use Dataverse opposed to a SQL database, or another option. I’ve outlined some of the benefits of using Dataverse below: 

  • Direct access to your Dynamics 365 data: As the underlying database to Dynamics 365 Customer Engagement applications, Dataverse acts as a centralized repository for all of your business apps.  
  • Contributing to Productivity– Tables are available within Microsoft Excel’s add-ins, to help your team increase productivity and ensure data remains centralized and accessible.  
  • Easily Securable Data- Your business data is securely stored so that users can only access what. You want them to access. In fact, security options allow for data to be controlled at a role level (individual), team level (department), and even at a field level. This means you can control access to different tables and columns based on different users in your organization.  
  • Business Logic Capabilities– The days of programming are over. Dataverse allows you to define business rules, workflows, business process flows and calculated columns- all using an easy-to-use visual interface. This type of logic and validation helps drive data integrity and optimized business processes.  
  • Simple Administration– Both the data and metadata are stored in the cloud, keeping you from worrying about the technical details of how they’re saved. Several administration platforms centralize all administrative settings. Furthermore, Microsoft offers concise digital courses to help train and your team and drive system adoption.  
  • Rich Metadata– Because of the ecosystem wrapped around Dataverse, data types and relationships between tables can be used directly inside of Power Apps- for easy application editing and configuration.  

Opportunities Unlocked With Power Platform Integration

Now that we’ve taken some time to understand the fundamentals of Microsoft’s Power Platform and relevant integration terminology, we can begin to understand how these components play together. Together, dual-write, business events, data events and virtual entities make up the shared data layer that acts as the convergence of Finance and Operations applications and the Dataverse platform. You. Can begin to view them not as separate platforms, but rather complimentary technologies intended to work together seamlessly. 

Business Events allow you to use Power Platform to respond to events happening in Dynamics 365 Finance & Operations applications. When a process is run in the app with business logic, an event occurs.  Business events can be raised from any app, including Finance, Supply Chain Management, Sales, Customer Service, Commerce, and more. These events subsequently can be handled by Power Platform business logic. The handling of the event includes querying or interacting with additional data through either tables native to the platform (native entities), or what we call virtual entitiesVirtual entities differ from other tables, which you’ve learned about tables in the section above.  

Virtual Entities are somewhat different from the tables covered above in that they are read only. Virtual entities enable scenarios where access to Dynamics 365 F&O data from Power Platform applications is required. For example, if you wanted to expose a Dynamics 365 Finance table inside of Dynamics 365 Sales, you would use a virtual entity to do so. When you do this data isn’t copied between systems. Instead, it’s accessed through a virtual entity infrastructure that Power Platform technologies can already bind to. Using this out-of-box infrastructure you can query data, bind forms and views to it, and use the full power of Power Platform against the full breadth of Dynamics 365 Finance and Operations applications.  

Data Events, are similar to business events in that they enable external apps to receive notifications from Finance and Operations applications when an event occurs. An example of what could cause a data event, is a change to a record inside of Finance and Operations. External systems can then react to a notification with a record is created, updated, or deleted in the database. This allows Finance and Sales, or Customer Service to work closely together in a more transparent setting. 

In some scenarios, data has to be physically copied over between platforms (Finance and Operations applications and native Dataverse tables). These scenarios involve overlapping tables that have out-of-box bound logic attached to them in both Dataverse applications and Dynamics 365 Finance applications. For this reason, data has to reside in the local database. For each type of app. These scenarios specifically wrap around the Core Tables. For example, it would make sense that both Dynamics 365 Sales and Dynamics 365 Finance have a table called Account. Another example of this scenario are the tables Company, Product, and Sales Order. To tackle these core tables, Microsoft has created dual-write, an integration connecting Dynamics 365 Finance applications and Dataverse. This integration works in near real-time synchronous physical copying of data. This way, existing applications can continue to operate against local data while ensuring that overlapping tables are kept in sync.  

Common Scenarios that Leverage Dual-write

Dual-write can solve common business obstacles that require insight into end-to-end data. In the paragraph above, I offered a CMO (Chief Marketing Offer), having the obstacle of needing to see acquisitions data and how it translates into actual transactions. The acquisitions portion of this data could sit inside of Dynamics 365 Sales, while the recurring transactions, may sit inside of Dynamics 365 Finance- two completely separate platforms. A scenario like this could benefit from a Dual-write integration.   

Below, I offer a few more typical scenarios that use Dual-write to address their obstacles: 

  1. An address change needs to be made by a sales or customer service representatives.  This change needs to also be reflected inside of Dynamics 365 Finance and Operations on a Customer record so that both systems reflect the same data. Let’s take the common scenario of a customer relocating to a different office or location and thus wanting to change their billing and/or shipping address on file. The customer might make this change through an online platform, or, contact a customer service representative to request a change of address. The customer service rep would take the call and change the customer’s billing address and/or shipping address inside of the Dynamics 365 Customer Service application- but this change won’t reflect in your ERP system. So, let’s break down the requirements in the table below and then we’ll discuss a solution.  

Requirement 

Is there a requirement for real-time data? 

Yes 

Peak data volume 

Not applicable 

Frequency of scenario 

Ad hoc 

 

The best way to remedy this obstacle is to create a real-time data synchronization between two systems- using Dual-write. Here’s a step by step explanation of how we can mirror our data using a Dual-write integration: 

  • In this case, we know the customer’s information is sourced in a Finance and Operations application (this is our source of truth application).  
  • A customer calls a customer service representative to request an address change.  
  • The customer service representative pulls the customer’s record up inside of Dynamics 365 Customer Service.  
  • The customer service representative updates the address information and saves the record with the new information.  
  • The new billing/shipping addresses are synced back to the Finance and Operations app in real-time.  

 

2. A sales representative needs to change a customer’s credit limits without leaving CRM and having to sign-in to a Finance and Operations application. In this case, let’s assume that a customer currently has a credit limit of $4,000 and wants to increase it to $6,000. This particular customer calls in and requests this increase. The support ticket is assigned to an Account Executive in the sales department. The Sales Manage reviews this request, reviews the customer’s payment history and determines that the customer is eligible for an increase in credit limit. The Sales Manager approves this request and resolves the ticket. The customer then receives an email about the approval for a $6,000 credit limit. Again, let’s break down the requirements in the table below and then discuss a Dual-write use to solve it.  

Requirement 

Is there a requirement for real-time data? 

Yes 

Peak data volume 

Not applicable 

Frequency 

Ad hoc 

The best way to address this scenario would be to implement Dual-write.  Here’s a step by step explanation of how Dual-write would address this:  

  • The customer calls and requests a credit limit increase from $4,000 to $6,000 dollars.  
  • The customer support representative creates a ticket inside of Dynamics 365 Customer Service.  
  • The customer support representative then assigns the ticket to the Sales Manager. Remember that the ‘Case’ table also lives inside of Dynamics 365 Sales, so the Sales Manager is immediately able to see this ticket, or case.  
  • The Manager from the sales department reviews and approves the request.  
  • The customer’s credit limit is then increased to $6,000 dollars inside of Dynamics 365 Sales.  
  • Through the Dual-write integration, the credit limit in Dynamics 365 Finance is updated to $6,000.  
  • The sales representative responds to the case, or ticket and then resolves it.  
  • The customer receives an email letting them know their credit limit has been increased and the ticket has been resolved.  

Integrating Dynamics 365 Finance and Power Platform Step-by-step

When you create a new Finance and Operations applications environment inside of Microsoft Dynamics Lifecycle Services (LCS), you can enable the integration of Finance & Operations apps with Microsoft Power Platform.  

Prerequisites for Setting Up the Power Platform Integration

Below, I outline the prerequisites for setting up the integration between Power Platform and Finance and Operations applications: 

  • You’ll want to make sure that you have at least 1 GB (Gigabyte) of Power Platform database storge capacity space inside of your tenant. Without this available space, the entire set up will fail. You can view this capacity inside of the Power Platform admin center.  
Understanding capacity in Power Platform Admin Center
Understanding capacity in Power Platform Admin Center
  • Next, you’ll want too ensure that you are a Finance and Operations applications envrionment administrator, or at least have an understanding of the individual in your company who has the role. This information can be found in the Environment Details section of the apps. 
Environment Administrator Details Finance and Operations
View the Enviroment Administrator under the environment details section
  • Another detail administrators often miss is the need to vsalidate the governance policy inside oof your Power Platform environment. You won’t need to do this for each environment you are installing Dual-write in. To perform this action, you need the Global Administrator role or the Power Platform Administrator role. 
    • Sign in to the Power Platform Admin Center
    • Go to the Power Platform Settings by click on Settings in the upper right-hand corner of the window. I am not referring to the settings relevant to the environment. 
Accessing Power Platform Settings
Click on Settings to locate the Power Platform Settings panel
    • This will open up the Power Platform settings pane in which you can control governance settings. If your organization does not allow everyone to create environments, the Finance & Operations apps environment admin account will need to be added to a Power Platform role. The admin account can have a Global Admin role, Dynamics 365 role, or a Power Platform Admin role. In order to make changes or assign this role, the user making the change will need the Global Administrator role. Keep in mind that once the integration has been configured, you can remove this role as it has very important permissions that may be too powerful. In other for a user to create a Power Platform environment, they must be licensed. You can use a Dynamics 365 Unified Operations Plan license or a Dynamics 365 Finance license. 

Deploy the Environment and Enable the Integration

Upon deploying a new environment in LCS (Life Cycle Services), you are faced with a deployment wizard that offers several sections where you set values. One of these sections is titled Power Platform Integration.

Below, I’ve outlined the steps you’ll need to take in order to configure the Power Platform integration section. 

  1. You’ll configure the first toggle option, ‘Configue Power Platfom Environment’, to Yes. Once you toggle this option on several additional settings will pop up. 
  2. The next dropdown, is Power Platform Template. You can select one of two values:
    • Dynamics 365 Standard- This template is applicable to all Finance and Operations applications environments. If you don’t require a more specific template, like Project Operations, select this template. 
    • Project Operations- This tempplate is specifically for a Project Operations scenario. To use this template, you’ll need licenses and entitlement for Project Operations inside of your tenant. 
  3. If you’re deploying for cloud or a Sandbox environment, the Environment Type dropdown becomes available. Herem you can select which type of Power Platform environment you are creating and linking. By default, this option is set to Sandbox for Tier 2 through Tier 5 acceptance environments and Production to match Production environments. 
  4. The last step is to check Agree in order to sign off on agreeing to terms and conditions of the integration you are implementing. 

I’m going to pause right here and advise you of a few important things:

  • The language and currency in the Power Platform environment that is being linked to your F&O environment is automatically determined for you. It is determined based on the physical address of your Azure AD (Active Directory) tenant. If you are located in San Diego, California, for example, the language will be set to English and the currency will be set to USD (US Dollars). 
  • To change these values, you’ll need to contact Microsoft support directly. They can help link an existing environment that gets manually provisioned to a Unified Operations apps environment. 

Enable the Power Platform Integration

In some cases, the integration is enabled during deployment of the Finance & Operations apps environment. If it isn’t, you can enable it inside of LCS after deployment. Below, I’ll walk you through the steps to set up the integration post-deployment:

  1. Open the Environment Details page in LCS once you have deployed your Unified Operations apps environment. 
  2. In the Power Platform integration section of the environment, click on Setup. 
  3. In the dialogue box, agree to the terms and conditions and then click Setup again. You’ll see a pop-up that states he environment is being deployed. At this point, a Dataverse environment gets provisioned in the background within the Power Platform environment. As mentioned above, the environment requies about 1 GB of available storage. The environment will take on the same name as your Finance and Operations apps environment, to minimize confusion. The Dual-write platform components will be installed, but the application components won’t be set up for you- you will have to tackle this separately. If you hit a refresh on this screen, you’ll notice a change on the Environment Details section- in the Power Platform Integration section, the value of the status field will have changed to In Progress

Tip: The environment can take anywhere from an hour to an hour and a half to provision.

Once the Power Platform environment is provisioned, you’ll be able to see the Install a New Add-In and Dual-write Application buttons under the Power Platform integration section. 

Unlock Dualwrite Setup

Now that the Power Platform environment has been deployed, and the integration is enabled, you unlock the ability to set up Dual-write. You can complete this portion of the set-up directly inside of Lifecyle Services (LCS). As mentioned above, Virtual Entities are tucked into the Power Platform environment through the Power Platform integration- this saves you serious time from having to sync these tables, since they are pre-connected. For the remaining tables, you can choose which to map between environments. 

Share Post

Explore more content

Start Conversation

Book a free meeting and let us have a look at your opportunities with Microsoft Solutions

Team working on presentation

Request a free Dynamics 365 demo

Discover how Avantiico helps you improve business processes, provide customers with a seamless experience and transform the way you do business.