Wicked Smart Data
LearnArticlesAbout
Sign InSign Up
LearnArticlesAboutContact
Sign InSign Up
Wicked Smart Data

The go-to platform for professionals who want to master data, automation, and AI — from Excel fundamentals to cutting-edge machine learning.

Platform

  • Learning Paths
  • Articles
  • About
  • Contact

Connect

  • Contact Us
  • RSS Feed

© 2026 Wicked Smart Data. All rights reserved.

Privacy PolicyTerms of Service
All Articles
Hero image for Automate Email Notifications with Power Automate

Automate Email Notifications with Power Automate

Power Automate🌱 Foundation19 min readMar 23, 2026Updated Mar 24, 2026
Table of Contents
  • Prerequisites
  • Understanding Power Automate Email Fundamentals
  • How Email Automation Works
  • Types of Email Triggers
  • Creating Your First Email Automation Flow
  • Setting Up the Data Source
  • Building the Automation Flow
  • Adding the Email Action
  • Testing Your Flow
  • Advanced Email Customization Techniques
  • Conditional Email Content
  • Rich HTML Email Formatting
  • Including Attachments and Links

Automate Email Notifications with Power Automate

Picture this: Every Monday morning, your sales team needs a report of last week's performance delivered to their inboxes. Your marketing manager wants an alert whenever a lead form submission comes in. Your operations director needs to know immediately when inventory drops below critical levels. Right now, someone on your team is manually sending these emails, or worse — people are checking dashboards hoping they don't miss something important.

This is exactly the kind of repetitive, time-sensitive work that Power Automate was designed to handle. Power Automate is Microsoft's workflow automation platform that connects your apps and services, allowing you to create automated processes called "flows" that work 24/7 without human intervention.

By the end of this lesson, you'll know how to build reliable email notification systems that keep your team informed without any manual effort. You'll create flows that respond to data changes, schedule regular reports, and ensure critical information reaches the right people at the right time.

What you'll learn:

  • How to create automated flows that send emails based on triggers
  • How to customize email content with dynamic data from your sources
  • How to set up scheduled email reports for regular business updates
  • How to configure approval workflows that notify stakeholders
  • How to troubleshoot common email automation failures and delivery issues

Prerequisites

To follow along with this lesson, you'll need:

  • Access to Power Automate (included with most Microsoft 365 business plans)
  • A basic understanding of email and how business workflows operate
  • Access to at least one data source like SharePoint, Excel Online, or Dataverse (we'll use SharePoint in our examples)

You don't need any programming experience. Power Automate uses a visual, drag-and-drop interface that makes automation accessible to business users.

Understanding Power Automate Email Fundamentals

Power Automate handles email through what it calls "connectors" — pre-built integrations that let your flows interact with email services. The most common connector is "Office 365 Outlook," which works with your organization's email system.

How Email Automation Works

Think of Power Automate as a digital assistant that watches for specific events and responds according to your instructions. When you create an email automation flow, you're essentially telling this assistant:

  1. Watch for this trigger (like a new item in a SharePoint list)
  2. Check these conditions (like whether the item is marked as "urgent")
  3. Send an email with this content (to specific people with customized information)

This happens instantly and consistently, every time the trigger occurs.

Types of Email Triggers

Power Automate offers several ways to trigger email notifications:

Event-based triggers respond to something happening in your data:

  • New items added to SharePoint lists
  • File uploads to specific folders
  • Form submissions
  • Database record changes

Time-based triggers run on a schedule:

  • Daily status reports
  • Weekly performance summaries
  • Monthly compliance reminders

Approval triggers start human-driven processes:

  • Document review requests
  • Budget approval workflows
  • Policy exception requests

Let's start by building your first automated email notification.

Creating Your First Email Automation Flow

We'll create a flow that sends an email notification whenever someone submits a new customer inquiry through a SharePoint list. This is a common scenario that demonstrates the core concepts you'll use in more complex automations.

Setting Up the Data Source

First, let's create a SharePoint list to capture customer inquiries. In SharePoint Online:

  1. Create a new list called "Customer Inquiries"
  2. Add these columns:
    • Customer Name (Single line of text)
    • Email Address (Single line of text)
    • Company (Single line of text)
    • Inquiry Type (Choice: General, Support, Sales)
    • Message (Multiple lines of text)
    • Priority (Choice: Low, Medium, High)

This gives us a realistic data structure that a sales or customer service team might use.

Building the Automation Flow

Now let's create the flow:

  1. Go to flow.microsoft.com and sign in
  2. Click "Create" then "Automated cloud flow"
  3. Name your flow "Customer Inquiry Email Notifications"
  4. Search for "SharePoint" in the trigger search box
  5. Select "When an item is created" trigger
  6. Click "Create"

You'll see the flow designer with your trigger step already added. Configure the trigger:

  • Site Address: Select your SharePoint site from the dropdown
  • List Name: Choose "Customer Inquiries"

Adding the Email Action

Now add an email action:

  1. Click "New step"
  2. Search for "Send an email"
  3. Select "Send an email (V2)" from Office 365 Outlook

Configure the email action with these settings:

To: Enter your email address (or a team distribution list) Subject: New Customer Inquiry - {{Customer Name}} from {{Company}} Body:

A new customer inquiry has been submitted:

Customer: {{Customer Name}}
Company: {{Company}}
Email: {{Email Address}}
Priority: {{Priority}}
Inquiry Type: {{Inquiry Type}}

Message:
{{Message}}

Please review and respond appropriately.

---
This is an automated notification from the Customer Inquiry system.

Notice the double curly braces {{}} — these are placeholders for dynamic content. When you click in the Subject or Body fields, Power Automate shows you available data from previous steps.

Pro tip: Always include context in automated emails. Recipients should immediately understand what the email is about and what action (if any) they need to take.

Testing Your Flow

Save your flow and test it:

  1. Click "Save" in the top-right corner
  2. Go to your SharePoint list
  3. Add a new item with sample data:
    • Customer Name: Sarah Johnson
    • Email: sarah.johnson@techcorp.com
    • Company: TechCorp Industries
    • Inquiry Type: Sales
    • Priority: High
    • Message: Interested in enterprise pricing for 500 users

Within a few minutes, you should receive an email that looks like this:

Subject: New Customer Inquiry - Sarah Johnson from TechCorp Industries

Body:

A new customer inquiry has been submitted:

Customer: Sarah Johnson
Company: TechCorp Industries
Email: sarah.johnson@techcorp.com
Priority: High
Inquiry Type: Sales

Message:
Interested in enterprise pricing for 500 users

Please review and respond appropriately.

---
This is an automated notification from the Customer Inquiry system.

This basic flow demonstrates the core pattern you'll use for most email automations: trigger → get data → send formatted email.

Advanced Email Customization Techniques

Now let's enhance our flow with more sophisticated features that make your automated emails more professional and actionable.

Conditional Email Content

Not every inquiry needs the same response. Let's modify our flow to send different emails based on the priority level:

  1. Add a "Condition" step after the trigger (before the email step)
  2. Configure the condition:
    • Choose a value: Select "Priority" from dynamic content
    • Condition: "is equal to"
    • Choose a value: Type "High"

This creates an "If yes" and "If no" branch. Move your existing email action into the "If yes" branch and modify it for high-priority inquiries:

Subject: URGENT: High Priority Customer Inquiry - {{Customer Name}} Body: Include escalation instructions and faster response commitments

In the "If no" branch, add another condition to check if Priority equals "Medium", creating three different email templates for different priority levels.

Rich HTML Email Formatting

Power Automate supports HTML in email bodies, letting you create more professional-looking notifications. Here's an enhanced version of our email body:

<html>
<body>
<h2 style="color: #0078d4;">New Customer Inquiry Received</h2>

<table style="border-collapse: collapse; width: 100%; font-family: Arial, sans-serif;">
<tr style="background-color: #f2f2f2;">
    <td style="padding: 8px; border: 1px solid #ddd; font-weight: bold;">Customer</td>
    <td style="padding: 8px; border: 1px solid #ddd;">{{Customer Name}}</td>
</tr>
<tr>
    <td style="padding: 8px; border: 1px solid #ddd; font-weight: bold;">Company</td>
    <td style="padding: 8px; border: 1px solid #ddd;">{{Company}}</td>
</tr>
<tr style="background-color: #f2f2f2;">
    <td style="padding: 8px; border: 1px solid #ddd; font-weight: bold;">Priority</td>
    <td style="padding: 8px; border: 1px solid #ddd; color: red;">{{Priority}}</td>
</tr>
<tr>
    <td style="padding: 8px; border: 1px solid #ddd; font-weight: bold;">Inquiry Type</td>
    <td style="padding: 8px; border: 1px solid #ddd;">{{Inquiry Type}}</td>
</tr>
</table>

<h3>Message:</h3>
<div style="background-color: #f9f9f9; padding: 10px; border-left: 4px solid #0078d4;">
{{Message}}
</div>

<p><strong>Action Required:</strong> Please respond within 2 business hours for high-priority inquiries.</p>

<hr>
<small>This is an automated notification. Do not reply to this email.</small>
</body>
</html>

This creates a professional table layout with consistent styling that matches your organization's branding.

Including Attachments and Links

You can make your automated emails more actionable by including relevant attachments or links. Add these elements to your email:

Attachments: If your trigger involves file uploads, you can attach those files to the notification email Action Links: Include direct links to relevant systems:

<p><a href="https://yourcompany.sharepoint.com/sites/customer-service/Lists/Customer%20Inquiries/DispForm.aspx?ID={{ID}}" style="background-color: #0078d4; color: white; padding: 10px 15px; text-decoration: none; border-radius: 5px;">View Full Inquiry</a></p>

Setting Up Scheduled Email Reports

Many business scenarios require regular email reports rather than event-driven notifications. Let's create a weekly sales summary that automatically compiles data and emails it to your team every Monday morning.

Creating a Scheduled Flow

  1. Create a new flow: "Automated cloud flow"
  2. Name it "Weekly Sales Summary Report"
  3. Choose "Recurrence" as the trigger
  4. Configure the schedule:
    • Interval: 1
    • Frequency: Week
    • Time zone: Your local time zone
    • Start time: Set to Monday at 8:00 AM
    • On these days: Monday

Gathering Report Data

Add a "Get items" action to retrieve data from your sales tracking list:

  1. Add a new step
  2. Search for "SharePoint"
  3. Select "Get items"
  4. Configure:
    • Site Address: Your SharePoint site
    • List Name: Your sales tracking list
    • Filter Query: Created ge datetime'{{addDays(utcnow(), -7)}}'

This filter query gets only items created in the last 7 days. The addDays(utcnow(), -7) expression calculates the date 7 days ago from the current time.

Calculating Summary Statistics

Add a "Compose" action to calculate key metrics:

  1. Add new step → "Compose"
  2. Name it "Calculate Metrics"
  3. In the Inputs box, build a JSON object with your calculations:
{
  "totalDeals": "@{length(body('Get_items')?['value'])}",
  "totalValue": "@{sum(body('Get_items')?['value'], 'DealValue')}",
  "averageDealSize": "@{div(sum(body('Get_items')?['value'], 'DealValue'), length(body('Get_items')?['value']))}"
}

These expressions calculate total number of deals, total deal value, and average deal size from your data.

Building the Report Email

Create an email action with a comprehensive report format:

Subject: Weekly Sales Report - {{formatDateTime(utcnow(), 'MMM dd, yyyy')}}

Body:

<html>
<body>
<h2>Weekly Sales Summary</h2>
<p>Report Period: {{formatDateTime(addDays(utcnow(), -7), 'MMM dd')}} - {{formatDateTime(utcnow(), 'MMM dd, yyyy')}}</p>

<h3>Key Metrics</h3>
<table style="border-collapse: collapse; margin: 20px 0;">
<tr style="background-color: #0078d4; color: white;">
    <th style="padding: 10px; border: 1px solid #ddd;">Metric</th>
    <th style="padding: 10px; border: 1px solid #ddd;">Value</th>
</tr>
<tr>
    <td style="padding: 8px; border: 1px solid #ddd;">Total New Deals</td>
    <td style="padding: 8px; border: 1px solid #ddd;">{{outputs('Calculate_Metrics')?['totalDeals']}}</td>
</tr>
<tr>
    <td style="padding: 8px; border: 1px solid #ddd;">Total Deal Value</td>
    <td style="padding: 8px; border: 1px solid #ddd;">${{formatNumber(outputs('Calculate_Metrics')?['totalValue'], 'N0')}}</td>
</tr>
<tr>
    <td style="padding: 8px; border: 1px solid #ddd;">Average Deal Size</td>
    <td style="padding: 8px; border: 1px solid #ddd;">${{formatNumber(outputs('Calculate_Metrics')?['averageDealSize'], 'N0')}}</td>
</tr>
</table>

<h3>Individual Deals</h3>
<!-- We'll add deal details here -->
</body>
</html>

Adding Dynamic Deal Details

To include a list of individual deals, add an "Apply to each" action:

  1. Add new step → "Apply to each"
  2. Select "value" from the "Get items" output
  3. Inside the loop, add a "Compose" action to build HTML for each deal:
<tr>
    <td style="padding: 8px; border: 1px solid #ddd;">{{items('Apply_to_each')?['CustomerName']}}</td>
    <td style="padding: 8px; border: 1px solid #ddd;">{{items('Apply_to_each')?['DealType']}}</td>
    <td style="padding: 8px; border: 1px solid #ddd;">${{formatNumber(items('Apply_to_each')?['DealValue'], 'N0')}}</td>
    <td style="padding: 8px; border: 1px solid #ddd;">{{items('Apply_to_each')?['SalesRep']}}</td>
</tr>

Then concatenate all these HTML rows and include them in your final email body.

Pro tip: For complex reports with lots of data, consider creating a Power BI report and including a link or screenshot in the email instead of trying to format everything in HTML.

Building Approval Workflow Email Notifications

Approval workflows are one of Power Automate's most powerful features for business processes. Let's create a document approval workflow that sends notifications to approvers and tracks the approval status.

Setting Up the Approval Trigger

  1. Create a new flow: "When an item is created" in SharePoint
  2. Use a document library or list called "Documents Pending Approval"
  3. Add columns:
    • Document Title (text)
    • Submitted By (person)
    • Department (choice)
    • Approval Status (choice: Pending, Approved, Rejected)
    • Approver (person)

Creating the Approval Request

Add a "Start and wait for an approval" action:

  1. Add new step → Search "Approval"
  2. Select "Start and wait for an approval"
  3. Configure:
    • Approval type: Approve/Reject - First to respond
    • Title: Please review: {{Title}}
    • Assigned to: Use the "Approver" field from your list item
    • Details:
    Document: {{Title}}
    Submitted by: {{Author/DisplayName}}
    Department: {{Department}}
    
    Please review this document and approve or reject.
    
    • Item link: Link to the actual document
    • Item link description: "View Document"

This action sends a professional approval email to the designated approver and waits for their response before continuing the flow.

Handling Approval Responses

Add a condition to check the approval outcome:

  1. Add "Condition" step
  2. Choose a value: Select "Outcome" from the approval step
  3. Condition: "is equal to"
  4. Choose a value: "Approve"

Sending Approval Notifications

In the "If yes" branch (approved), send a confirmation email to the document submitter:

To: {{Author/Email}} Subject: Document Approved: {{Title}} Body:

<html>
<body>
<h2 style="color: green;">Document Approved ✓</h2>
<p>Your document "<strong>{{Title}}</strong>" has been approved by {{responses('Start_and_wait_for_an_approval')?['responder/displayName']}}.</p>

<p><strong>Approval Details:</strong></p>
<ul>
<li>Approved by: {{responses('Start_and_wait_for_an_approval')?['responder/displayName']}}</li>
<li>Approval date: {{formatDateTime(responses('Start_and_wait_for_an_approval')?['responseTime'], 'MMM dd, yyyy h:mm tt')}}</li>
<li>Comments: {{responses('Start_and_wait_for_an_approval')?['comments']}}</li>
</ul>

<p>You can now proceed with your document process.</p>
</body>
</html>

In the "If no" branch (rejected), send a different email explaining the rejection and next steps.

Updating Status and Sending Summary

Add actions to update the SharePoint item status and send a summary to managers:

  1. Update item: Change the Approval Status field to "Approved" or "Rejected"
  2. Send summary email: Notify managers about the approval decision

This creates a complete approval workflow that keeps everyone informed automatically.

Hands-On Exercise

Now it's your turn to build a comprehensive email automation system. You'll create a customer support ticket system that demonstrates multiple concepts from this lesson.

Exercise Requirements

Create a SharePoint list called "Support Tickets" with these columns:

  • Ticket Title (text)
  • Customer Email (text)
  • Priority (choice: Low, Medium, High, Critical)
  • Category (choice: Technical, Billing, Account, General)
  • Description (multiple lines)
  • Status (choice: New, In Progress, Resolved, Closed)
  • Assigned To (person)

Build three separate flows:

Flow 1: New Ticket Notifications

  • Trigger when a new ticket is created
  • Send immediate email to support team
  • Include all ticket details in a professional format
  • For Critical priority tickets, send additional email to manager

Flow 2: Daily Support Summary

  • Run every weekday at 5 PM
  • Gather all tickets created today
  • Send summary email showing tickets by priority and category
  • Include metrics like total tickets, average priority, most common category

Flow 3: Ticket Assignment Workflow

  • Trigger when "Assigned To" field changes
  • Send email to the newly assigned support agent
  • Include ticket details and customer history (if available)
  • Send confirmation email to customer with agent contact info

Starter Data

Add these sample tickets to test your flows:

Ticket 1:
- Title: Login issues with mobile app
- Customer Email: john.doe@company.com
- Priority: High
- Category: Technical
- Description: Cannot log into mobile app after latest update
- Status: New

Ticket 2:
- Title: Billing discrepancy on invoice #12345
- Customer Email: sarah.smith@business.org
- Priority: Medium
- Category: Billing
- Description: Invoice shows incorrect pricing for premium features
- Status: New

Ticket 3:
- Title: System completely down - urgent
- Customer Email: mike.wilson@enterprise.com
- Priority: Critical
- Category: Technical
- Description: Our entire system is inaccessible, affecting all users
- Status: New

Solution Approach

Start with Flow 1 (new ticket notifications) since it follows the pattern we learned earlier. Then build Flow 2 using the scheduled report techniques, and finally tackle Flow 3 which combines triggers with assignment logic.

For the critical priority escalation in Flow 1, use a condition that checks if Priority equals "Critical", then add a parallel branch that sends an additional email to managers.

For Flow 2, use the recurrence trigger with a filter query to get today's tickets: Created ge datetime'{{formatDateTime(utcnow(), 'yyyy-MM-dd')}}T00:00:00Z'

Test each flow thoroughly with your sample data before moving to the next one.

Common Mistakes & Troubleshooting

Here are the most frequent issues people encounter when building email automation flows, along with solutions:

Mistake 1: Emails Not Sending or Delayed

The Problem: You created a flow but emails aren't arriving, or they're significantly delayed.

Why it happens: Most often, this is due to connector authentication issues or the flow being turned off accidentally. Sometimes emails are being sent but caught by spam filters.

The Fix:

  1. Check your flow's run history (click the flow name → "Run history")
  2. Look for any failed runs or authentication errors
  3. Re-authenticate your Office 365 Outlook connector if needed
  4. Check recipient spam/junk folders
  5. Ensure the flow is turned "On" (flows can accidentally get disabled)

Mistake 2: Dynamic Content Not Displaying Correctly

The Problem: Your email shows {{CustomerName}} instead of the actual customer name, or shows empty values.

Why it happens: This occurs when the dynamic content reference doesn't match the actual field name from your data source, or when the field is empty.

The Fix:

  1. Verify field names match exactly (including spaces and special characters)
  2. Use the dynamic content picker instead of typing field names manually
  3. Add conditions to check if fields have values before including them in emails
  4. Use expressions like if(empty(triggerOutputs()?['body/CustomerName']), 'Not provided', triggerOutputs()?['body/CustomerName']) to handle empty fields gracefully

Mistake 3: Too Many Emails Being Sent

The Problem: Your flow is sending duplicate emails or triggering more frequently than expected.

Why it happens: This usually occurs with "When an item is modified" triggers that fire on every small change, or when flows are accidentally saved multiple times creating duplicates.

The Fix:

  1. Use "When an item is created" instead of "When an item is modified" when you only want notification for new items
  2. Add conditions to check specific field changes before sending emails
  3. Check for duplicate flows and delete extras
  4. Use the "Settings" in your trigger to specify which columns should trigger the flow

Mistake 4: HTML Formatting Not Working

The Problem: Your carefully crafted HTML email template displays as plain text or looks broken.

Why it happens: The email action might not be set to HTML format, or there are syntax errors in your HTML.

The Fix:

  1. In the email action, click "Show advanced options"
  2. Set "Is HTML" to "Yes"
  3. Validate your HTML syntax (missing closing tags are common)
  4. Test with simple HTML first, then add complexity gradually
  5. Remember that email HTML has limited CSS support compared to web pages

Mistake 5: Approval Flows Getting Stuck

The Problem: Your approval workflow stops working and doesn't complete after someone approves or rejects.

Why it happens: The "Start and wait for an approval" action has a 30-day timeout, or the approver's email changed, or there are permission issues.

The Fix:

  1. Check that approvers can access the approval email and interface
  2. Verify email addresses are current and correct
  3. Add a parallel branch with a "Delay" action set to 28 days, then send a reminder email before the 30-day timeout
  4. Test approval flows with your own email address first
  5. Check the approval history in the Power Automate approval center

Pro tip: Always test your flows with realistic data in a development environment before deploying to production. Create a test SharePoint list with the same structure and run through various scenarios.

Summary & Next Steps

You've now learned how to build sophisticated email automation systems using Power Automate. Let's recap the key concepts that will serve as the foundation for more advanced automation work:

Trigger patterns: You understand how event-based triggers (like SharePoint item creation) and time-based triggers (like scheduled recurrence) form the backbone of different automation scenarios. Event-based triggers handle real-time notifications, while scheduled triggers power regular reporting.

Dynamic content and expressions: You can now pull data from your triggers and data sources into email templates, format that data appropriately, and use expressions to calculate values and handle conditional logic. This skill translates directly to other Power Automate actions beyond email.

Conditional logic: The ability to create different email paths based on data conditions (like priority levels or approval outcomes) allows you to build intelligent, context-aware automations that respond appropriately to different business scenarios.

HTML email formatting: Professional-looking automated emails build trust and engagement with your recipients. The HTML skills you've learned here apply to any communication automation you build.

Error handling and testing: Understanding how to troubleshoot common issues and test your flows thoroughly ensures your automations work reliably in production environments.

These fundamentals prepare you for much more sophisticated automation scenarios. Here are three specific areas to explore next:

Power Automate with Microsoft Teams integration would be a natural next step. You can extend your email notifications to also post messages in Teams channels, create adaptive cards for rich interactions, and build approval flows directly in Teams. This is particularly valuable as many organizations use Teams as their primary collaboration platform.

Advanced data manipulation and API integrations will let you build automations that work with external systems beyond Microsoft 365. You'll learn to work with REST APIs, transform data between different formats, and create automations that span multiple business systems. This opens up possibilities for integrating CRM systems, databases, and third-party services.

Power Apps integration with Power Automate allows you to create custom applications that trigger your automated workflows. Instead of relying on SharePoint lists for data entry, you can build purpose-built mobile and web apps that capture exactly the information you need and immediately trigger your email automations. This combination creates powerful business solutions that feel professional and are tailored to your specific processes.

The email automation skills you've developed here form the communication layer that makes all these advanced scenarios valuable to end users. Every sophisticated business process ultimately needs to keep people informed, and you now have the tools to do that effectively and automatically.

Learning Path: Flow Automation Basics

Next

Your First Power Automate Flow: Automated Email Notifications That Actually Work

Related Articles

Power Automate⚡ Practitioner

Advanced Power Automate: Custom Connectors and HTTP Actions for Production Integration

12 min
Power Automate🌱 Foundation

Power Automate Best Practices: Master Flow Naming, Testing, and Monitoring

13 min
Power Automate🔥 Expert

Building Approval Workflows with Power Automate

21 min

On this page

  • Prerequisites
  • Understanding Power Automate Email Fundamentals
  • How Email Automation Works
  • Types of Email Triggers
  • Creating Your First Email Automation Flow
  • Setting Up the Data Source
  • Building the Automation Flow
  • Adding the Email Action
  • Testing Your Flow
  • Advanced Email Customization Techniques
  • Conditional Email Content
Setting Up Scheduled Email Reports
  • Creating a Scheduled Flow
  • Gathering Report Data
  • Calculating Summary Statistics
  • Building the Report Email
  • Adding Dynamic Deal Details
  • Building Approval Workflow Email Notifications
  • Setting Up the Approval Trigger
  • Creating the Approval Request
  • Handling Approval Responses
  • Sending Approval Notifications
  • Updating Status and Sending Summary
  • Hands-On Exercise
  • Exercise Requirements
  • Starter Data
  • Solution Approach
  • Common Mistakes & Troubleshooting
  • Mistake 1: Emails Not Sending or Delayed
  • Mistake 2: Dynamic Content Not Displaying Correctly
  • Mistake 3: Too Many Emails Being Sent
  • Mistake 4: HTML Formatting Not Working
  • Mistake 5: Approval Flows Getting Stuck
  • Summary & Next Steps
  • Rich HTML Email Formatting
  • Including Attachments and Links
  • Setting Up Scheduled Email Reports
  • Creating a Scheduled Flow
  • Gathering Report Data
  • Calculating Summary Statistics
  • Building the Report Email
  • Adding Dynamic Deal Details
  • Building Approval Workflow Email Notifications
  • Setting Up the Approval Trigger
  • Creating the Approval Request
  • Handling Approval Responses
  • Sending Approval Notifications
  • Updating Status and Sending Summary
  • Hands-On Exercise
  • Exercise Requirements
  • Starter Data
  • Solution Approach
  • Common Mistakes & Troubleshooting
  • Mistake 1: Emails Not Sending or Delayed
  • Mistake 2: Dynamic Content Not Displaying Correctly
  • Mistake 3: Too Many Emails Being Sent
  • Mistake 4: HTML Formatting Not Working
  • Mistake 5: Approval Flows Getting Stuck
  • Summary & Next Steps