Integrations with the Common Data Service

Azure | Power platform | Integration

The challenge

In this post series I will take a look at the integration options available for integrating between model driven power apps and external systems. When implementing and using the an application in current times, the application is rarely able stand on it own. Most of the times the application either depends on data from other applications or other application depend on the data from your application. In more complex business scenarios applications in enterprise environments are interlinked and interdependent.

When we consider a classic sales scenario from prospect to cash, many applications can be involved in an enterprise.

We are dealing with:

  • Marketing Automation applications
  • Opportunity management applications
  • External validation services
  • External data providers (address validation, industry specific information)
  • Pricing or quoting engines
  • Contract management applications
  • Document management applications
  • XYZ internally developed applications

As an added complexity the systems involved in processes are usually from different vendors, based on different technologies, reside in different environments (different providers) and most annoying of all they can be from different centuries.

Types of integrations

Event driven integration

Event Driven integrations are triggered by an event in one system and trigger a predefined corresponding event in another. Events can really be anything that happens in a particular system that you’ve integrated. A new lead in a CRM, a new webinar registrant, a new marketing lead – all these are events and that can trigger an event in another system. Event driven integrations are great in many circumstances, but don’t allow for all data to be synced quickly and easily. Many event driven integration systems have setup processes that involve simply setting up a one event to another, which can be tedious to achieve a fully functional integration between two business systems (marketing and CRM for instance).

Data Driven integration

Data Driven integrations have a different action that triggers synchronization. This action is a change in the data that you have in place in either system. This can be a new record created or a change in an existing record, any data change will trigger a sync of that new data to the other system or systems. The data driven integration scenario is focused on the exchange of information amongst applications to ensure consistency across multiple systems.

Process driven integrations

Process driven integration supports holistic business processes that span multiple applications - applications or application components are integrated with a business objective that is determined by a higher level component. The objective of the integrations is not only to transfer data from application to application or to trigger a proces from one application in another, but to ensure that all applications work together to ensure the business objective of the process is achieved.

There are good uses for all three types of integrations. Data driven integrations tend to be better for integrations with CRMs, ERPs and marketing systems where you want to keep you data in sync regardless of the event that takes place. Event driven integrations are great for simple point to point data transfer when events take place in a system and you want to trigger a corresponding event in the other system, without transferring large amounts of data with the event - event can trigger a data sync. Process driven integration can be used when multiple systems are involved in a single business process or part of a business process.

UI based “integrations”

This type of integrations consists of building or deploying components which are able to surface data from external in the application’s user interface - also referred to as mashups. Mashups can come in many forms, in the Power Platform these are commonly:

  • Integrations with Microsoft 1st party applications (PowerBi, Bing Maps, …)
  • Using IFrames for hosting external web applications in the Power Apps Model driven application forms
  • JavaScript / HTML web resources hosted in forms
  • PCF Controls
  • Embedded Canvas Apps
  • Custom controls for the Unified Service Desk
  • Extensions to the Omnichannel client interface
  • Virtual Entities - the cross between UI and Data Driven integration

To be continued

In the next blog post we will take a deeper look into each of the integration types.