You have situation where your Power Automate flow is triggered twice within two seconds. This happens when Dynamics 365 or Power Platform model-driven app form is saving a row into Dataverse table the first time and user is pressing the Save and Close button on the ribbon. That riggers both Create and Update functions and your Power Automate flow trigger has Change type as Added or Modified.
This can be easily fixed if you have some default value for the row which will be updated later on. You can terminate the duplicate Updated event with information from trigger which event it is with following expression gives value Create or Update
triggerOutputs()?['body/SdkMessage']
Condition for recognizing the duplicate event
Create a scope for this termination, add there Condition checking that we are in Update event.
Then create another condition to check a column which confirms that you really want to terminate this flow. In my case there is integration to another place, where the row gets something else than initial value for Column B. This is why Create event is always fired and updates this Column B value and I can skip Update event when Column B has initial value.

No you can see that when user press Save and Close it still fires two Power Automate flow runs but the other is under one second which goes into this new scope and terminates the flow. The other does the wanted functionality running the flow.

If you don’t have initial value to check?
If you don’t have the same case, you could always add “Done” Yes/No column stating that this functionality has been run. Then you need to update the Yes value int he end of the flow. Here you could add Delay action and then Get row by ID action to check if the value has changed. Meaning when Create event has triggered and done the functionality and eventually updated the row value “Done” to Yes, then Update event goes into 30 second delay, gets the row again and checks that column “Done” is Yes, then you can terminate the flow.
