top of page

How to Build an Approval Flow in Power Automate with Dataverse

Fotios Machairas
Aug 18
3 min read

Approval processes are one of the most common automation needs in any organization. Whether it's approving a purchase request, a time-off request, or in our case, a new machine procurement request, manually chasing people down for a "yes" or "no" wastes time and creates bottlenecks.



In this walkthrough, we'll build an automated approval flow in Power Automate that's triggered directly from a Dataverse table. Every time a new machine request record is created, the flow automatically routes it to the right approver, complete with all the relevant request details.


What we're building

The end result is a flow that:

  • Watches a Dataverse table for new or updated machine request records

  • Automatically starts an approval and assigns it to the correct approver

  • Populates the approval with key details: machine name, price, department contribution, and comments

  • Notifies the approver and allows the approval to be reassigned if needed


Step 1: Start with your Dataverse table

Before building any flow, it helps to know the shape of your data. In this example, we're working with a machine procurement table inside a model-driven app, which stores fields like machine name, price, department, and requestor.


Step 2: Create a new automated cloud flow

From Power Automate, create a new flow and give it a descriptive name — something like "New machine approval request." Skip the template gallery so you can configure the trigger from scratch.


Step 3: Configure the Dataverse trigger

Add the "When a row is added, modified or deleted" trigger. This is the piece that connects your flow directly to Dataverse. You'll need to specify:

  • Change type — whether the flow should fire on create, update, or delete

  • Table name — the specific Dataverse table to watch

  • Scope — which records the trigger applies to (organization, business unit, or user-level)


Optionally, you can filter which columns or rows should trigger the flow, which is useful if you only want the approval to fire under certain conditions.


Step 4: Add the approval action

Next, add a new step and search for "approval." Select Start and wait for an approval from the Standard Approvals connector. This action pauses the flow until someone responds, making it ideal for gatekeeping processes like procurement sign-off.


Step 5: Configure the approval details

This is where the flow becomes genuinely useful. Rather than hardcoding text, we pull in dynamic content straight from the triggering record:

  • Approval type: Approve/Reject – First to respond

  • Title: dynamically built using the machine name

  • Assigned to: the approver field from the record

  • Details: a combination of dynamic fields, including machine name, price, department contribution, and any comments submitted with the request

  • Requestor: who originally submitted the request

  • Enable notifications and Enable reassignment: both set to Yes, so approvers are notified immediately and can hand off the approval if they're unavailable


Because everything is pulled from dynamic content rather than typed manually, the approval will always reflect the actual data in the record — no manual copy-pasting required.


Step 6: Save and test

Once the fields are configured, save the flow. Power Automate will confirm the connection to your approvals connector and bind each field to its underlying data column. From there, you can check the flow's run history to confirm it fires correctly whenever a new record is created.


Why this approach works well

Building the approval flow directly off a Dataverse trigger keeps everything in sync with your source data. There's no need for a separate form or manual data entry — the approval is generated automatically, using live data, the moment a new request comes in. This pattern scales easily too: the same structure can be adapted for expense approvals, onboarding requests, or any other process that needs a sign-off step.


Wrapping up

Automated approvals like this remove a common friction point in business processes: waiting on someone to notice a request exists. By connecting Power Automate directly to Dataverse, you get a flow that's both reliable and easy to maintain, with dynamic content doing the heavy lifting instead of manual configuration.

If you're just getting started with Power Automate, this pattern — trigger on data change, start an approval, pull in dynamic content — is a great foundation to build on for almost any approval-based workflow.


Comments


Follow

© 2025, Fotios Machairas.

  • Youtube
  • LinkedIn
  • Youtube
  • LinkedIn
bottom of page