Microsoft Power Platform integration with finance and operations apps
Microsoft Power Platform provides a suite of capabilities for Dynamics 365 applications via the Power Platform admin center. Today, finance and operations apps are not managed by the Power Platform admin center. However, over time more and more management capabilities will be migrated from Microsoft Dynamics Lifecycle Services (LCS) over to the admin center. In the interim, customers will be able to unlock features, such as dual-write functionality, virtual entities, add-ins, and more via Microsoft Power Platform integration functionality in LCS.
Environment lifecycle considerations
By default, all finance and operations apps environments that are managed by LCS will receive a linked Power Platform environment without Dataverse. The relationship is one to one. Over time, your finance and operations apps will be migrated to this location. You can determine whether an environment is linked to an environment from LCS by looking at the finance and operations apps URL on the environment details page in the Power Platform admin center.
This environment can't be deleted or reset, and a Dataverse database can't be manually added to it. To add Dataverse and fully set up the Microsoft Power Platform integration, follow the instructions in Enable the Microsoft Power Platform integration.
Alternatively, if you want to reuse an existing Dataverse environment for your Microsoft Power Platform integration scenarios (virtual entities, add-ins, dual-write functionality, and more), follow the instructions in Enable integration with an existing Power Platform environment.
To understand the architecture of Microsoft Power Platform, Dataverse, dual-write, and virtual entities for finance and operations apps, you must understand how they work. Therefore, the following documentation is a prerequisite:
- Administer Power Platform
- What is Dataverse?
- Tables in Dataverse
- Entity relationships overview
- Create and edit virtual tables that contain data from an external data source
- What is Power Apps portals?
- Overview of creating apps in Power Apps
Tools and services unlocked with Microsoft Power Platform integration
Together, virtual entities, dual-write, business events, and data events make up the shared data layer for the convergence of finance and operations apps and the Dataverse platform. They are complementary technologies that are intended to work together.
Virtual entities enable scenarios where access to finance and operations data from Microsoft Power Platform or native Dataverse apps is required. You can query that data, bind forms to it, and generally use the full power of Microsoft Power Platform against the full breadth of finance and operations apps. Data isn't copied between systems. Instead, it's accessed directly through the standard virtual entity infrastructure that Microsoft Power Platform technologies can already bind to. For more information, see Virtual entities overview.
Business events let you use Microsoft Power Platform to respond to events that are occurring in finance and operations apps. These events occur when a process is run in the application with business logic. Business events can be raised from any app, including finance and operations apps, and can be handled by Microsoft Power Platform business logic. This handling will often include querying or interacting with additional data through either native entities or virtual entities.
Data events, similar to business events, enable external applications to receive notifications from finance and operations apps when events occur. Data events occur when there is a change to a record in the application data. External systems can react to notifications when a create, update, or delete (CUD) operation occurs in the data.
For a subset of scenarios, data must be physically copied between finance and operations apps and native Dataverse entities. These scenarios are for overlapping entities that already have a large amount of bound logic in both native Dataverse apps and finance and operations apps, so that the data must reside in the local database of each type of app. Although the number of these entities is relatively small, it includes some of the most important entities, such as Account/Customer, Company, Product, and Sales order. For these scenarios, dual-write enables near-real-time synchronous copying of data. This capability enables existing apps to continue to operate against local data, as designed, and also ensures that the corresponding overlapping entity is kept in sync. For more information, see the Dual-write home page.
Together, virtual entities, dual-write, business events, and data events let you build apps and business processes that span the boundaries between finance and operations apps and native Dataverse apps. Most apps and business processes will use either a combination of these three parts of the shared data layer or all of them. As always, extension and customization should reduce the amount of data that is copied between databases as much as possible, and should also optimize for the best possible user experience when these tools are used.
Add-ins provide a way to extend the functionality of finance and operations apps. All add-ins are installed and managed via Lifecycle Services on the environment details page for sandbox and production-type environments. The metadata regarding which add-ins are installed and the configuration options for each add-in are stored in the Microsoft Dataverse database that is provisioned as part of the Microsoft Power Platform integration. Some add-ins also store business data in the Dataverse database. To learn more about available add-ins, see Add-ins overview.
Typical scenarios and patterns that use dual-write
Here are some typical scenarios that use dual-write.
Customer service representatives can facilitate a change of address for finance and operations customers
A customer relocates and wants to change their billing and shipping address information. This customer contacts a customer service representative and requests a change of address. The customer service representative takes the call and changes the customer's billing and shipping address information.
|Is real-time data required?||Yes|
|Peak data volume||Not applicable|
This scenario that involves near-real-time data synchronization is best implemented by using dual-write.
- The customer's information is sourced in a finance and operations app.
- A customer calls customer service and asks to change their billing and shipping address information.
- A customer service representative retrieves the customer's record in Dynamics 365 Customer Service.
- The customer service representative updates the billing and shipping addresses, and saves the data.
- The new billing and shipping addresses are synced back to the finance and operations app in real time.
Sales representatives can change customer credit limits without signing in to a finance and operations app
A customer has a credit limit of $2,000 and wants to increase it to $5,000. This customer calls and requests the increase. The ticket is assigned to the sales department. The head of sales reviews the request, reviews the customer's payment history, and determines that the customer is eligible for an increased credit limit. The head of sales approves the request and responds to the ticket. The customer receives an email about the approval of the $5,000 credit limit.
|Is real-time data required?||Yes|
|Peak data volume||Not applicable|
This scenario is best implemented by using dual-write.
- A customer calls and wants to increase their credit limit from $2,000 to $5,000.
- A customer support representative creates a ticket in Dynamics 365 Customer Service.
- The ticket is assigned to the sales unit.
- A sales representative from the sales unit reviews and approves the request.
- The customer's credit limit is increased to $5,000 in Dynamics 365 Sales.
- The credit limit in the finance and operations app is updated to $5,000.
- The sales representative responds to the ticket and resolves it.
- The customer receives an email about the increased credit limit.