Troubleshooting Power Automate Triggers in Dataverse
There are scenarios in Power Automate where a flow is correctly configured, turned on, and yet does not get triggered at all, with no errors or run history available. One such lesser-known but critical cause is an issue with the CallbackRegistration record in Dataverse.
Each Dataverse trigger in Power Automate relies on an underlying CallbackRegistration record to listen for data changes. If this record becomes corrupted, stale, or improperly registered, the trigger silently stops working—even though the flow appears healthy in the Power Automate UI.
In this blog, I will highlight how a faulty CallbackRegistration record can prevent a flow from triggering and how deleting the specific record forces Dataverse to recreate it, thereby restoring normal trigger behavior without rebuilding the flow.
Step 1: Get the Workflow ID
Before identifying or deleting the problematic CallbackRegistration record, we need to determine the Workflow ID of the affected Power Automate flow. This ID uniquely identifies the flow within Dataverse and is required to locate the corresponding callback registration entry.
Every Power Automate flow created using a Dataverse trigger is stored internally as a Workflow record. The CallbackRegistration entity maintains a reference to this Workflow record to listen for create, update, or delete events on the target table.
Step 2: Retrieve the CallbackRegistration Record for the Flow
Once the Workflow ID is identified, the next step is to locate the corresponding CallbackRegistration record in Dataverse. This record links the Power Automate flow to the Dataverse event listener. If this record is corrupted or stale, the flow will not trigger.
You can retrieve the CallbackRegistration record using the Dataverse Web API, filtering by the Workflow ID.
https://<your-org>.crm.dynamics.com/api/data/v9.2/callbackregistrations?$filter=name eq '<WorkflowId>'
Step 3: Turn Off the Flow
Before making any changes to the CallbackRegistration record, it is important to turn off the Power Automate flow. This ensures that Dataverse releases the existing callback listener and prevents the flow from attempting to trigger while the registration record is being modified.
Step 4: Delete the CallbackRegistration Record Using Browser Console
After turning off the flow, the next step is to delete the identified CallbackRegistration record. This can be done directly using the Dataverse Web API from the browser console.
Steps:
-
Open your Dynamics 365 / Dataverse environment in the browser.
-
Open Developer Tools (
F12or right-click → Inspect). -
Navigate to the Console tab.
-
Run the following generic command:
CallbackRegistration record when the flow is turned back on.Conclusion
After deleting the CallbackRegistration record, wait for a few minutes to allow Dataverse to fully clean up the existing trigger references. Once the wait period is complete, turn the Power Automate flow back on.
When the flow is enabled, Dataverse automatically creates a new callback registration record for the flow. At this point, try triggering the flow again by creating or updating a record based on the configured trigger.
In most cases, the flow should now trigger as expected, confirming that the issue was caused by a corrupted or stale CallbackRegistration record.

Comments
Post a Comment