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:
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:
You can call Graph using a Custom Connector or a Graph Federated API (no Flow needed).
๐ง When to choose what
| Scenario | Best Method |
|---|
| Simple โnotify userโ email | Office365Outlook connector |
| Email with dynamic attachments | Graph API |
| Shared mailbox email | Graph API or modern Outlook connector |
| Complex workflows | Power Automate |
| Bulk email (thousands) | Graph API with App Registration |