Draft preview
Home / Guides / Power Automate

How to Build a Power Automate Approval Flow from a Shared Mailbox

Create approval workflow turning inbox requests into tracked decisions.

Create approval workflow turning inbox requests into tracked decisions.

Power Automate mastery here means move from scattered admin to controlled, measurable workflows.. This guide is written for operations leaders, analysts using microsoft 365.

Draft awaiting review

This draft was generated for the Power Automate track. Review content accuracy, add screenshots where useful, then mark it reviewed or publish it.

Who this is for

Operations leaders, analysts using Microsoft 365.

The business problem

Shared inbox approvals have no ownership or tracking.

Mastery focus

Build the smallest repeatable workflow that removes friction first, then scale once the output is trusted.

Before you start

  • Microsoft 365 with shared mailbox.

How to build it

1Set up your SharePoint audit list

Create a SharePoint list called "Approval Log" with these columns:

ColumnType
RequestSubjectSingle line of text
RequesterEmailSingle line of text
AmountCurrency
DecisionChoice (Approved/Rejected)
ApproverEmailSingle line of text
DecisionDateDate/Time
CommentsMultiple lines of text

2Create the Power Automate flow

  1. Go to make.powerautomate.com
  2. Create a new Automated cloud flow
  3. Trigger: When a new email arrives (V2)
  4. Set the mailbox address to your shared inbox
  5. Add a condition: Subject contains "approval" (or your trigger keyword)

3Parse the email for request details

If your emails follow a template, use Parse JSON to extract fields:

{
  "type": "object",
  "properties": {
    "amount": { "type": "number" },
    "requester": { "type": "string" },
    "description": { "type": "string" }
  }
}

If no template, use expressions like:

float(replace(json(decodeBase64(triggerOutputs()?['body']['bodyPreview'])))?['amount'], '£', ''))

4Add the approval action

  1. Add Start and wait for an approval action
  2. Approval type: Approve/Reject - First to respond
  3. Title: Approval Request: @{triggerOutputs()?['body']['subject']}
  4. Assign to: your approver email (or use a dynamic value)
  5. Details: include the requester, amount, and description

5Log the decision

Add a Create item action (SharePoint):

  • RequestSubject: triggerOutputs()?['body']['subject']
  • RequesterEmail: from your parsed JSON or email From
  • Amount: from your parsed JSON
  • Decision: if(equals(outputs('Start_and_wait_for_an_approval')?['body']['outcome'], 'Approve'), 'Approved', 'Rejected')
  • ApproverEmail: outputs('Start_and_wait_for_an_approval')?['body']['responder']['email']
  • DecisionDate: utcNow()
  • Comments: outputs('Start_and_wait_for_an_approval')?['body']['comments']

6Send confirmation back to requester

Add a Send an email (V2) action:

  • To: requester email
  • Subject: Your request has been @{outputs('Start_and_wait_for_an_approval')?['body']['outcome']}
  • Body: Include decision, approver comments, and any next steps.

Common mistakes

Watch out

Automating without audit logging.

What good looks like

Approval flow with trail.

Next steps

Once the first version is trusted, fold it into the weekly or daily operating routine that owns the outcome. A guide without a standing cadence becomes a forgotten document.

Relevant Digital Adaption links

Planned next guides in this track

  • How to Build a Supplier Chase Workflow in Power Automate
  • How to Automate a Daily Operations Pack with Power Automate

Need this built for your business?

If you need the workflow mapped, validated, or turned into a working report/app/process, use the linked service page to start the conversation.

Book a fractional delivery slot

Frequently Asked Questions

The best owner is the person who understands both the business pain and the operational decision that must improve after the guide is used.

Run the proposed steps against a handful of live examples, then confirm the output with the team that already trusts the current process or source system.

It should answer a real operational problem with a repeatable workflow, clear ownership, and an outcome the reader can measure.