How to Send One Email with SharePoint PMs in CC via Power Automate
Question details
The user needs a Power Automate flow that aggregates project managers from a SharePoint list into the CC field of a single email, rather than triggering multiple individual emails.

- Product
- Power Automate & SharePoint
- Device & OS
- not provided
- Scenario
- Sending a consolidated email notification to a distribution list while keeping all relevant project managers informed via CC.
- Observed behavior
- Without proper aggregation, the flow sends one email per list item. The goal is to collect all PM emails, eliminate duplicates, and append them to a single email's CC field.
Ensure your SharePoint list has a 'Person or Group' column configured to allow multiple selections, and that you have the necessary permissions to read the list and trigger email actions in Power Automate.
Consolidate Emails Using Array Operations
Use Power Automate's data operations to extract email addresses, remove duplicates with the union expression, and format them for a single email action.
To avoid sending an email for every single list item, you must extract the necessary data before the email action occurs. By utilizing the 'Select' and 'Join' data operations, along with a 'union' expression, you can cleanly format multiple email addresses into a single semicolon-separated string.
Add a 'Get items' action to your flow. Connect to your SharePoint site and select the relevant list. Use the 'Filter Query' field to retrieve only the applicable records.
Add a 'Select' data operation. In the 'From' field, use the output of your 'Get items' action. In the 'Map' field, select the 'Email' property from your Person or Group (PM) column.
Add a 'Compose' action to filter out duplicate users. In the inputs field, insert the union expression: union(body('Select'), body('Select')). This compares the array against itself and outputs only unique values.
Add a 'Join' data operation. Use the outputs from your 'Compose' action as the 'From' input. In the 'Join with' field, type a single semicolon (;) to properly delimit the email addresses.
Add a 'Send an email (V2)' action. Place this action completely outside of any 'Apply to each' loops. Put your distribution list in the 'To' field, and place the output of the 'Join' action in the 'CC' field.

Looking for a Lightweight Alternative to Manage Your Documents?
While Power Automate and SharePoint are great for complex, automated workflows, dealing with everyday documents, spreadsheets, and presentations shouldn't require heavy subscription costs. WPS Office offers a free, powerful, and intuitive suite for all your personal and professional document needs.
- 1. Download the Installer: Click the download button to get the latest free version of WPS Office.
- 2. Install WPS Office: Run the setup file and follow the quick installation wizard.
- 3. Open Your Files: Launch WPS Office and seamlessly open your existing Microsoft Office documents without formatting loss.

Frequently Asked Questions
Why is Power Automate sending an email for every single SharePoint item?
This happens when your 'Send an email' action is accidentally placed inside an 'Apply to each' loop. To send just one email, you must aggregate your data (like email addresses) into a single string and place the send action outside of the loop.
How do I remove duplicate email addresses in Power Automate?
You can remove duplicates from an array of email addresses using the union() expression inside a Compose action. Passing the same array twice to the union function, like union(variables('Emails'), variables('Emails')), will output an array with only unique items.
Can I CC a SharePoint group directly in Power Automate?
No, Power Automate cannot send emails directly to a SharePoint group name. You must first fetch the group members using HTTP requests or the 'Send an HTTP request to SharePoint' action, extract their individual email addresses, and format them with semicolons.
What delimiter should I use for multiple emails in the CC field?
In Power Automate's 'Send an email' action, multiple email addresses must be separated by a semicolon (;). Use the 'Join' data operation to easily format your collected array of addresses with this delimiter.




