Hi All,
I currently use D365 CE / SaleHub
I am trying to build an approval workflow that allows me to get approvals before user input is committed to the table.
i.e. If a user tries to change a field in a table, an approval should be fired off and depending on the outcome the changes may be committed to the table or dropped.
In the workflow I would like to see old value and new value of the field.
In the current D365/PowerApps setup i can only do that after the changes have been committed to the table.
@Anonymous
If you want a perfect solution to "get approvals before user input is committed to the table on a model-driven app", you will definitely need a Pre-Operation plug-in to capture the old/new values and create an approval in "change queue table" as @FLMike mentioned and then, remove those changes from the Target. There is no way to achieve it with low-code components without any development (at the moment).
One alternative solution is to revert the data asynchronously and get approval before updating it with new values.
@Expiscornovus has an awesome blog post on how to get the old value from the Audit table.
https://www.expiscornovus.com/2023/09/19/get-dataverse-row-changes/
Hi @FLMike Thank you for your response I wanted to enable this feature on the account table, and I am using the D365 forms on a model driven app. The problems are
Firstly Hello 🙂
I agree with what you have said. Unless you are using plugins + workflows or just plugins this is the case.
The issue I see with trying to do it in Power Apps (Canvas Apps) and Power Automate is that what would happen is person A goes to make a change and the approval goes out.
Then person B does and theirs gets approved and written but A's is still not done.
Like anything you'd have to capture the current state, and then at approval time compare that to the "current current state" to show the approver, but by then Person A may not want the change anyway because B's supersedes it.
I mean you could do this and I'm just showing you what's possible
1. create a change queue table
2. put the changes there
3. kick off approval
4. if approval apply the change via the Flow
Cheers
If you like my answer, please Mark it as Resolved, and give it a thumbs up, so it can help others
Thank You
Michael Gernaey MCT | MCSE | Ex-Microsoft
https://gernaeysoftware.com
LinkedIn: https://www.linkedin.com/in/michaelgernaey
mmbr1606
22
Super User 2025 Season 1
stampcoin
19
Michael E. Gernaey
15
Super User 2025 Season 1