Power Apps  

๐Ÿšซ Stop Using Power Automate to Send Emails from Power Apps

Power Apps โ†’ Trigger Power Automate โ†’ Send email

But this approach is usually slower, more expensive, harder to maintain , and often completely unnecessary.

โŒ Why you should stop using Power Automate for in-app emails

1๏ธโƒฃ It burns your Power Automate quota

Every email = Flow run.
Flow runs cost capacity and can throttle at scale.

If your app sends hundreds or thousands of emails, youโ€™re paying for something you donโ€™t need.

2๏ธโƒฃ You add latency for no reason

Power Apps โ†’ Flow calls are asynchronous , take multiple seconds, and sometimes fail silently.

Direct connectors inside Power Apps are instant.

3๏ธโƒฃ More moving parts = more failures

With a Flow you now have:

  • Connection references

  • Flow environment-level dependencies

  • Permissions challenges

  • Errors that never display in the app

The maintenance burden is unnecessary.

4๏ธโƒฃ Most email scenarios are 100% doable directly inside Power Apps

Microsoft has added new first-party connectors and Graph integration , removing the need for a Flow middleman.

โœ… What you should do instead

Option A โ€” Use the โ€œOffice365Outlookโ€ connector directly in Power Apps

Perfect for simple emails.

Office365Outlook.SendEmail(
    "[email protected]",
    "Subject goes here",
    "Body goes here"
)

Benefits:
โœ” Zero flow runs
โœ” Instant
โœ” Very stable

Option B โ€” Use Outlook โ€œSendEmailV2โ€ (Modern Connector)

If your environment is using the new connector-privileged model.

fully functional email sender built directly into your app. 

1๏ธโƒฃ ๐—”๐—ฑ๐—ฑ ๐˜๐—ต๐—ฒ ๐—–๐—ผ๐—ป๐—ป๐—ฒ๐—ฐ๐˜๐—ผ๐—ฟ: First, add the 'Office365 Outlook' connector to your app. 

2

2๏ธโƒฃ ๐——๐—ฒ๐˜€๐—ถ๐—ด๐—ป ๐—™๐—ผ๐—ฟ๐—บ: Create a custom form using: 

1
  • A ๐—ง๐—ฒ๐˜…๐˜ ๐—œ๐—ป๐—ฝ๐˜‚๐˜ for the User email. 

  • A ๐—ง๐—ฒ๐˜…๐˜ ๐—œ๐—ป๐—ฝ๐˜‚๐˜ for the email subject.

  • A ๐—ฅ๐—ถ๐—ฐ๐—ต ๐—ง๐—ฒ๐˜…๐˜ ๐—˜๐—ฑ๐—ถ๐˜๐—ผ๐—ฟ for the beautiful email body.  

  • An ๐—”๐˜๐˜๐—ฎ๐—ฐ๐—ต๐—บ๐—ฒ๐—ป๐˜ control to allow file uploads. 

3๏ธโƒฃ ๐—ง๐—ต๐—ฒ ๐—ฆ๐—ฒ๐—ป๐—ฑ ๐—•๐˜‚๐˜๐˜๐—ผ๐—ป: Add a button and paste this expression into its ๐—ข๐—ป๐—ฆ๐—ฒ๐—น๐—ฒ๐—ฐ๐˜ property: 

  
 Office365Outlook.SendEmailV2( 
    TxtSendTo.Text, 
    TxtSubject.Text, 
    RichTextEditor.HtmlText, 
    { 
        IsHtml: true, 
        Attachments: ForAll( 
            EmailAttachment.Attachments, 
            { 
                Name: ThisRecord.Name, 
                ContentBytes: ThisRecord.Value, 
                '@odata.type': "" 
            } 
        ) 
    } 
); 
Notify("Email Sent Successfully",NotificationType.Success)
  

Option C โ€” Use Microsoft Graph (for advanced scenarios)

For apps that need:

  • Attachments

  • Rich formatting

  • Shared/Delegated mailboxes

  • Org-wide templates

You can call Graph using a Custom Connector or a Graph Federated API (no Flow needed).

๐Ÿง  When to choose what

ScenarioBest Method
Simple โ€œnotify userโ€ emailOffice365Outlook connector
Email with dynamic attachmentsGraph API
Shared mailbox emailGraph API or modern Outlook connector
Complex workflowsPower Automate
Bulk email (thousands)Graph API with App Registration