Power Automate Basics: Create Your First Email Approval Workflow
Every organization has approval processes: expense reports, time-off requests, document sign-offs, purchase orders. These workflows often involve endless email chains, lost requests, and frustrated employees wondering "Did anyone ever approve my thing?"
Microsoft Power Automate solves this elegantly. In this guide, you'll build your first approval workflow that automatically routes requests, collects decisions via email, and keeps everyone informed—all without writing a single line of code.
Why Power Automate for Approvals?
If your organization uses Microsoft 365, Power Automate is already included in most plans. Here's why it excels at approval workflows:
Native integration: Works seamlessly with Outlook, Teams, SharePoint, and other Microsoft tools you already use.
Mobile approvals: Approvers can respond directly from their phone via the Power Automate app or email buttons.
Audit trail: Every request, response, and timestamp is logged automatically.
Parallel and sequential approvals: Route to multiple people simultaneously or in sequence based on your business rules.
What We're Building
By the end of this tutorial, you'll have a workflow that:
- Triggers when someone submits a request (via a Microsoft Form)
- Sends an approval email to the designated approver
- Waits for the approver's decision
- Notifies the requester of the outcome
- Logs everything to a SharePoint list for tracking
This pattern applies to virtually any approval scenario—expenses, leave requests, content publishing, vendor approvals, and more.
Prerequisites
Before starting, ensure you have:
- Microsoft 365 account (Business Basic or higher for full Power Automate features)
- Access to Power Automate (formerly Microsoft Flow)
- Permissions to create Microsoft Forms
- A SharePoint site for logging (optional but recommended)
Step 1: Create Your Request Form
First, let's create the form that captures approval requests.
Create the Microsoft Form
- Go to forms.microsoft.com
- Click "New Form"
- Title it "Approval Request Form"
- Add these fields:
Request Title (Text - Required)
- Short text field
- Make it required
Request Description (Text - Long answer)
- Allows detailed explanations
Amount (if applicable) (Number)
- For expense or budget requests
- Make it optional
Urgency (Choice)
- Options: Low, Medium, High
- Helps approvers prioritize
Your Email (Text - Required)
- So we know who to notify
- Click "Share" to get the form URL for testing later
Step 2: Create the Power Automate Flow
Now let's build the automation.
Access Power Automate
- Go to make.powerautomate.com
- Sign in with your Microsoft 365 account
- Click "Create" in the left navigation
Choose Your Starting Point
- Select "Automated cloud flow"
- Name your flow: "Approval Request Workflow"
- Search for "Microsoft Forms" in the trigger list
- Select "When a new response is submitted"
- Click "Create"
Configure the Trigger
- In the trigger step, select your form from the "Form Id" dropdown
- If you just created the form, you may need to refresh the list
Step 3: Get Form Response Details
The trigger only tells us a response was submitted—we need to fetch the actual answers.
- Click "+ New step"
- Search for "Microsoft Forms"
- Select "Get response details"
- Form Id: Select the same form
- Response Id: Click in the field, then select "Response Id" from the Dynamic content panel
Step 4: Add the Approval Action
Here's where Power Automate shines.
Add Start and Wait for Approval
- Click "+ New step"
- Search for "Approvals"
- Select "Start and wait for an approval"
Configure Approval Settings
Approval type: Choose based on your needs:
- Approve/Reject - First to respond: Any approver can decide (fastest)
- Approve/Reject - Everyone must approve: Requires unanimous approval
- Custom Responses: Define your own response options
For this tutorial, select "Approve/Reject - First to respond"
Title: Click and add dynamic content:
Approval Request: [Request Title from form]
Assigned to: Enter the approver's email address. For dynamic routing, you could:
- Use a lookup table in SharePoint
- Pull from the form if requester selects their manager
- Hardcode for testing:
approver@yourcompany.com
Details: Build an informative approval message:
A new request requires your approval: Requester: [Your Email from form] Request: [Request Title from form] Description: [Request Description from form] Amount: $[Amount from form] Urgency: [Urgency from form] Please review and approve or reject this request.
Item link: Optionally link to related documents or the original form response
Step 5: Handle the Approval Decision
After the approver responds, we need to act on their decision.
Add a Condition
- Click "+ New step"
- Search for "Condition"
- Select "Condition" under Control
Configure the Condition
Set up the check:
- Click the first box and select "Outcome" from Dynamic content (under the Approval action)
- Set the operator to "is equal to"
- Enter "Approve" in the value field
This creates two branches: "If yes" (approved) and "If no" (rejected)
Step 6: Send Notification Emails
If Approved
- In the "If yes" branch, click "Add an action"
- Search for "Send an email (V2)" - select the Office 365 Outlook version
- Configure:
- To:
[Your Email from form] - Subject:
✅ Your request has been approved: [Request Title] - Body:
PromptGood news! Your request has been approved. Request: [Request Title from form] Approved by: [Responses Approver Email from approval] Date: [Responses Completion Date from approval] Comments: [Responses Comments from approval] Thank you for your submission.
- To:
If Rejected
- In the "If no" branch, click "Add an action"
- Add another "Send an email (V2)"
- Configure:
- To:
[Your Email from form] - Subject:
❌ Your request was not approved: [Request Title] - Body:
PromptUnfortunately, your request was not approved. Request: [Request Title from form] Reviewed by: [Responses Approver Email from approval] Date: [Responses Completion Date from approval] Reason/Comments: [Responses Comments from approval] If you have questions, please contact the approver directly.
- To:
Step 7: Log to SharePoint (Optional but Recommended)
Tracking approvals in a SharePoint list creates an audit trail and enables reporting.
Create a SharePoint List
- Go to your SharePoint site
- Click "New" → "List"
- Name it "Approval Log"
- Add columns:
- Request Title (Single line of text)
- Requester Email (Single line of text)
- Amount (Number)
- Status (Choice: Approved, Rejected, Pending)
- Approver (Single line of text)
- Approval Date (Date and time)
- Comments (Multiple lines of text)
Add SharePoint Actions to Your Flow
After the Condition (outside both branches so it always runs):
- Click "+ New step" at the bottom of your flow
- Search for "SharePoint"
- Select "Create item"
- Configure:
- Site Address: Select your SharePoint site
- List Name: Select "Approval Log"
- Map each column to the appropriate dynamic content
Step 8: Test Your Flow
Save and Test
- Click "Save" in the top right
- Click "Test" → "Manually" → "Test"
- Open your Microsoft Form and submit a test request
- Watch the flow run in real-time
Monitor the Run
Power Automate shows you each step executing:
- Green checkmarks indicate success
- You can click each step to see inputs and outputs
- Red X marks indicate failures with error details
Complete the Test
- Check your approver's email for the approval request
- Click Approve or Reject in the email
- Verify the requester receives the notification
- Check SharePoint for the logged entry
Troubleshooting Common Issues
"My flow isn't triggering"
- Ensure the flow is turned ON (check the flow details page)
- Verify you have the correct form selected
- Forms triggers can take up to 5 minutes—be patient
- Check "Run history" for any hidden errors
"Approval email not received"
- Check spam/junk folders
- Verify the approver email is correct
- Ensure the approver has a Power Automate license
- Try using a distribution list or Teams channel approval instead
"Dynamic content not showing"
- Make sure previous steps are fully configured
- Try clicking "See more" in the dynamic content panel
- Remove and re-add the action that's missing content
- Save and refresh the flow
"Connection errors"
- Go to "Data" → "Connections" in Power Automate
- Find any connections with warning icons
- Click to refresh or reauthorize
Advanced Enhancements
Once your basic flow works, consider these upgrades:
Sequential Approvals
Need multiple approvers in order? Add another "Start and wait for an approval" action after the first approval, with a condition to only proceed if approved.
Parallel Approvals
Set Assigned to as a semicolon-separated list of emails. Configure the approval type to require all approvers or first response.
Teams Notifications
Add a "Post message in a chat or channel" action to notify a Teams channel of new requests or decisions.
Escalation
Add a "Delay" action followed by a condition checking if the approval is still pending. Send reminder emails or escalate to a manager.
Dynamic Routing
Use a SharePoint list to store approver assignments by department or request type. Look up the correct approver dynamically based on form inputs.
Best Practices
Test thoroughly: Always test with yourself as both requester and approver first.
Use descriptive names: Name your flows and actions clearly for future maintenance.
Handle errors: Add parallel branches to handle failures gracefully.
Document your flows: Add comments using the Notes feature on each action.
Start simple: Get the basic flow working before adding complexity.
What's Next?
You've now built a foundational approval workflow. This same pattern extends to countless scenarios:
- Expense approvals: Add receipts as attachments
- Document publishing: Integrate with SharePoint document libraries
- Leave requests: Connect to your HR system
- Vendor onboarding: Create multi-stage approval chains
- Contract approvals: Add digital signature integration
The key insight is that every approval workflow follows this structure: trigger → gather details → route for approval → act on decision → notify stakeholders.
Ready to automate more of your Microsoft 365 workflows? Check out our other Power Automate tutorials for Teams integration, SharePoint automation, and advanced flow patterns.
Sponsored Content
Interested in advertising? Reach automation professionals through our platform.