There are nevertheless different alternate options, that may make extra sense, particularly if you wish to reduce the quantity of code and plugins which can be accessible throughout the system.

The answer is easy. We create a Webhook and add to it the corresponding step and Pre-Picture, and upon execution it will likely be triggering a Cloud stream the place we will use the values from the Enter Parameters and the Pre-Entity Picture.

Let’s go forward and see how we implement this. Step one is to create a Cloud stream, and set the set off to When a HTTP request is acquired.

The HTTP POST URL shouldn’t be obtainable till the stream is saved, so enter the request Physique JSON Schema. You will have to enter an motion to Save the Circulation, so you possibly can enter an Initialize Variable, which we are going to use later set a reputation for the stream and Save the report. As soon as the report is saved, the HTTP POST URL can be stuffed in and it is possible for you to to configure the Webhook. Copy the HTTP POST URL and paste it in NotePad or different textual content editor. The end result ought to be just like what you see beneath:

https://prod-XXX.westus.logic.azure.com:443/workflows/41e03b6243cc47273a71f827fb3bd29b/triggers/guide/paths/invoke?api-version=2016-06-01&sp=%2Ftriggerspercent2Fmanualpercent2Frun&sv=1.0&sig=e5138Klq7cOcbG1RJ2bXA42et4vFM0-kZ3k8jyK7Txs

Add new traces between the url and the question string parameters and take away the separators in order that it appears like this:

https://prod-XXX.westus.logic.azure.com:443/workflows/41e03b6243cc47273a71f827fb3bd29b/triggers/guide/paths/invoke

api-version=2016-06-01

sp=%2Ftriggerspercent2Fmanualpercent2Frun

sv=1.0

sig=e5138Klq7cOcbG1RJ2bXA42et4vFM0-kZ3k8jyK7Txs

Change all of the %2F encodings with the corresponding character (/). It will change that line to seem like this: sp=/triggers/guide/run

Now, let’s go and open the Plugin Registration Software, and click on on the Register drop down and choose Register New Net Hook, or CTRL+W for brief.

Dataverse Web Hook - Cloud Flows - Register Web Hook

It will open the Register New Net Hook dialog once we will enter the HTTP URL and the totally different parameters that we specified above as proven within the screenshot beneath.

Dataverse Web Hook - Cloud Flows - Web Hook Registration

Now that we now have registered the Net Hook, you must be capable of see the brand new Net Hook within the checklist of Registered Plugins. Choose the Net Hook, and choose Register New Step (both by Proper Clicking on the Net Hook and deciding on Register New Step or from the highest tab menu).

Simply as you’ll carry out this step registration course of for a plugin, do the identical for the Net Hook. Choose the Message, Major Entity and Filtering Attributes as proven within the picture beneath. After all you must customise this in your personal message..

Dataverse Web Hook - Cloud Flows - Register New Step

Since we wish to get the worth earlier than the change and after the change, we have to register a brand new picture for the step of kind Pre Picture, as proven within the screenshot beneath. Add the title and entity alias, and specify the parameters that you really want for you Pre Picture.

Dataverse Web Hook - Cloud Flows - Register Pre Image

Now that we’re completed with the configuration throughout the Plugin Registration Software, let’s check out the place this knowledge can be saved. We created a brand new entity known as Change Log that accommodates details about the entity and the report that was modified, together with fields to retailer the values earlier than and after the change.

Dataverse Web Hook - Cloud Flows - Change Log Table

Subsequent, let’s return the stream that we created. We are going to begin by initializing a number of variables that can be used to retailer a few of the values, after which retrieve the values from the HTTP Submit technique.

It’s a good suggestion to run the stream as soon as so as to evaluation the Outputs of the When a HTTP request is acquired set off, and that may assist you to with establishing the expressions wanted for the totally different steps.

Dataverse Web Hook - Cloud Flows - HTTP Request received outputs

The variables are proven within the picture beneath. The Pre and Submit variables can be added later, whereas the Entity Id, Entity Title and Consumer Id could be stuffed out in the course of the initialization as follows:

  • triggerBody()?[‘PrimaryEntityId’]
  • triggerBody()?[‘PrimaryEntityName’]
  • triggerBody()?[‘UserId’]

Dataverse Web Hook - Cloud Flows - Initialize Variables

Since getting the values from the Enter Parameters and the PreImage is a bit more advanced, I used two compose actions for these, and set the Inputs to as follows:

  • triggerBody()?[‘InputParameters’][0][‘value’][‘Attributes’]
  • triggerBody()?[‘PreEntityImages’][0][‘value’][‘Attributes’]

Dataverse Web Hook - Cloud Flows - Compose Data Operations

The ultimate step earlier than storing the report is doing an Apply to every of the Enter parameters and verify the worth comparable to the attribute that was modified. We run this for each the PreEntity picture outcomes and the Enter Parameter outcomes and have a situation to verify for the Enter Parameter.

The Situation logic expression is: gadgets(‘Apply_to_each_PreEntity_Image’)?[‘key’], and the Set Variable Pre accommodates the next expression: gadgets(‘Apply_to_each_PreEntity_Image’)?[‘value’]

Dataverse Web Hook - Cloud Flows - Apply to Each, Conditions and Set Variables

The identical applies to the opposite apply to every motion. As soon as we now have retrieved all the data that we want, the change log report can be created. 

Dataverse Web Hook - Cloud Flows - Create Change Log Record

The outcomes will seem like this:

Dataverse Web Hook - Cloud Flows - Change Log Record Results

LEAVE A REPLY

Please enter your comment!
Please enter your name here