A complete step-by-step guide based on a popular tutorial covering basic emails, CC/BCC, rich text formatting, and file attachments.
Power Apps allows you to send professional emails directly using the Office 365 Outlook connector.
This includes support for To, CC, BCC, rich HTML formatting, and attachments.
1. Prepare Your Power Apps Screen
Create a new screen with the following controls:
- Text inputs for: To, CC, BCC, Subject
- A body field (initially a simple Text input, later upgraded to Rich text editor)
- A Send button
Place them inside a container for better organization.
2. Add the Office 365 Outlook Connector
- Go to the Data pane.
- Click Add data.
- Search for and select Office 365 Outlook (make sure to choose the correct one, not older versions).
Tip: Once added, the connector provides access to SendEmailV2, the latest and most feature-rich method.
3. Basic Email – Send To, Subject, and Body
Select the Send button and set its OnSelect property to the following formula:
Office365Outlook.SendEmailV2(
TextInputTo.Text,
TextInputSubject.Text,
TextInputBody.Text)
Test it by entering an email address, subject, and body, then click Send. The email should arrive in the recipient’s inbox.
4. Reset the Form After Sending
Improve user experience by clearing the fields after sending. Update the OnSelect to:
Office365Outlook.SendEmailV2(TextInputTo.Text,
TextInputSubject.Text,
TextInputBody.Text);
Reset(TextInputTo);
Reset(TextInputCC);
Reset(TextInputBCC);
Reset(TextInputSubject);
Reset(TextInputBody)
This resets all inputs so users can immediately compose a new email.
5. Add CC and BCC Recipients
CC and BCC are added using an optional record as the fourth parameter:
Office365Outlook.SendEmailV2(TextInputTo.Text,
TextInputSubject.Text,
TextInputBody.Text,{Cc:TextInputCC.Text,
Bcc:TextInputBCC.Text})
You can add more options like Importance: "High" inside the same record.
6. Use Rich Text Formatting (Bold, Links, Colors, etc.)
- Delete the plain Text input for the body.
- Insert a Rich text editor control from the Insert menu.
- Resize it as needed.
Update the formula to use the rich text output:
Office365Outlook.SendEmailV2(TextInputTo.Text,
TextInputSubject.Text,
RichTextEditor1.HtmlText,
{Cc:TextInputCC.Text, Bcc:TextInputBCC.Text})
Also update the Reset to target the rich text editor:
Reset(RichTextEditor1)
Now users can format text with bold, italics, colors, font sizes, and insert clickable links.
The email will render as rich HTML.
7. Add File Attachments (The Attachment Control Hack)
Power Apps does not have a standalone Attachments control in the Insert menu, but you can get one using this workaround:
Step-by-step hack:
- In SharePoint, create a temporary list (e.g., “TempAttachments”) with attachments enabled (default setting). No need to add fields nor content.
- In Power Apps, add the SharePoint connector and connect to this list.
- Create a new temporary screen and insert an Edit form connected to the list.
- Add the Attachments field to the form. This gives you the full Attachments data card control.
- Copy the Attachments control (or just the data card value control).
- Paste it into your main email screen inside the container.
- Rename it to something like
attAttachments. - You can now safely delete the temporary SharePoint list and the extra screen — the control remains usable.
Important: Clean up any warnings in the control properties (remove unnecessary Items, Tooltip, or BorderColor formulas).
Update the Send formula with attachments:
Office365Outlook.SendEmailV2(TextInputTo.Text,
TextInputSubject.Text,
RichTextEditor1.HtmlText,
{Cc:TextInputCC.Text,
Bcc:TextInputBCC.Text, Attachments:ForAll(attAttachmentsControl.Attachments,
{Name:ThisRecord.Name, ContentBytes:ThisRecord.Value})})
Finally, reset the attachments control too:
Reset(attAttachments)
Final Complete OnSelect Formula Example
Complete formula with rich text + CC/BCC + attachments + reset
Office365Outlook.SendEmailV2( txtTo.Text,
txtSubject.Text,
rtbBody.HtmlText,
Cc:txtCC.Text,
Bcc:txtBCC.Text, Attachments:ForAll( attAttachments.Attachments,
{Name:ThisRecord.Name,
ContentBytes:ThisRecord.Value})});
// Reset all controls
Reset(txtTo);
Reset(txtCC);
Reset(txtBCC);
Reset(txtSubject);
Reset(rtbBody);
Reset(attAttachments)
Tips & Best Practices
- Use SendEmailV2 — it supports HTML by default.
- Test with your own email first to avoid spamming others.
- For production apps, consider adding validation (e.g., check if To field is not blank).
- Attachments are limited by Outlook/Exchange policies (size and type restrictions).
- You can extend this further with variables, collections, or Power Automate for more advanced scenarios.
Note: The attachment control hack using a temporary SharePoint list is a workaround. In the future, Microsoft may provide a native Attachments control.
That’s it! You can now build a fully functional email composer inside Power Apps with rich formatting and attachments.

Leave a Comment