INTRODUCTION
This quick guide explains an easy and effective way to figure out whether a Dataverse-triggered Power Automate flow is running because of a Create, Update, or Delete action in Microsoft Dynamics 365 CRM Solutions. By capturing the sdkmessage value from the trigger’s output, we can clearly identify what kind of operation started the flow.
With this method, used frequently by experienced Dynamics 365 CRM consultants, we can build more intelligent flows that adjust their steps based on the type of change made to a record. It helps reduce the need for multiple separate flows and gives us better control and flexibility when automating business logic.
STEPS
1. To begin with, we create a new Power-Automate cloud flow, setting the Dataverse trigger to – “When a row is added, modified or deleted”.

2. After naming the flow as per its intended relevance, we set the table name = Accounts in the trigger. We specify that in the case of the UPDATE operation, the flow must trigger only when the name of an Account is updated.

3. We then initialize a variable named varSdkMessage to triggerOutputs()?[‘body/sdkmessage’], that is, to the SDK Message property of the output body of the above trigger.

4. We save these customizations of the Flow.
UNIT TESTING
- We navigate to our Dynamics 365 CE/CRM (Dataverse) environment and create a new Account row.

- We verify that our flow is executed successfully and the variable varSdkMessage is initialized correctly with the value “CREATE”.

- Next, we update the name of the account that we created and confirm that this UPDATE operation is also captured in our flow as desired.


- And finally, we delete the account and confirm that this DELETE operation also triggers the flow and initializes the variable to “Delete” SDK message.

CONCLUSION
Being able to identify the exact type of CRM operation that started a flow plays a key role in building smart and adaptable automations. Whether it’s sending specific email alerts, updating related records, logging activity for audits, or triggering different actions in external systems — this approach makes it easy to fine-tune how the flow behaves.
It’s a practical solution that fits into many everyday use cases — like applying different logic for new records vs updates, skipping steps when something is deleted, or handling errors in a more targeted way. Best of all, it’s quick to implement and works seamlessly within any Dataverse-triggered Power Automate flow.