Dynamics 365 Finance and Operations continues to come closer together with the Power Platform through automation of business logic and integration with other systems, which is enabled through Dataverse business and data events. In other words, it means, once something relevant has happened in a business application, an event occurs for a system to respond to.
Dataverse Business events provide new ways to expose events and compose your business logic to respond to them asynchronously, such as the Power Automate Dataverse When an action is performed trigger.
Let’s delve deeper into this.
Data events are associated with operations that are happening directly against the database record. Meaning, these are the ‘create’, ‘update’, and ‘delete’ operations that happen against a record in the database table. Once an event has occurred, we can then use it as a trigger for additional business logic.
Should you do these on native tables that are native to your Dataverse environment, these then would be ‘create’, ‘update’, and ‘delete’ operations.
Otherwise, If you register an event against a virtual table or an external virtual table from an external system, then, you would register the event against the ‘oncreated’, ‘onupdated’, and ‘ondeleted’ operations for the tables.
The other category is business events, which defer from data events by being high-value activities based on business logic and application. For example, such activities would be:
- invoice posted;
- payment approved;
- collection letters sent;
- a status that’s updated on a record within the application where business logic is run and happening within an application needs to act as a trigger for an additional activity.
The integrating system can then subscribe to these events to trigger additional business logic.
Dataverse Business Events
There are several things to note about Dataverse Business Events:
- They enable a model for business logic extensibility. By having this business logic, these triggers happen across platforms. You can write plugins to extend business functionality from Finance and Operations or any other integrating system into Power Platform to use that as a trigger for additional functionality as well;
- It enables the first-class construct for first- and third-party events in Dataverse. Such events can sit physically in Dataverse and be triggered from external systems;
- Business processes can communicate outcomes, which is done with your request and response parameters to associate with the custom API. When you create a custom API for that business event, which is the implementation of that business event and Dataverse, you assign a response API to it. Once the event occurs, a response gets sent to communicate the outcome;
- Enables asynchronous integrations across platforms and applications;
- Enables advanced notifications capabilities across organizational boundaries. You are not limited to just the organizational boundaries.
Finally, event categorization. Events are categorized in Dataverse as Catalogs, in a hierarchical way, whereas each Catalog has its specific assignment.
The highest catalog is a single catalog for the solution that helps teams to categorize all the additional business and data events that will be assigned to those catalogs.
The second-level catalog exists to categorize them – it’s like you will have multiple categories that are catalogs assigned to the top-level catalog.
Finally, we have different event types which are dependent on the second level catalog, whereas you can have table events (table activities), custom API, and custom process action.