cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
FlowQs
Microsoft
Microsoft

Send a single email with filtered SharePoint list items

Hi, I am trying to create a flow that sends a weekly email containing a table of SharePoint list items that are not 'closed'. I am able to filter the list based on an existing column however I can not figure out how to format the list items in a single email body. Flow adds 'for each' and mails are generated for individual items. Any help/pointer on achieving this would be appreciated. Thanks!

14 REPLIES 14
clamanna
Power Automate
Power Automate

Today, there is no way to map an array / table into a single string or piece of text (e.g. to take an array of SPO items, and build a table in an email).

The only way to enable it is to create a custom API that does the text formatting (e.g. details on those steps here: https://powerapps.microsoft.com/en-us/blog/custom-api-with-authentication/).

There is work in flight to enable this scenario natively, and without a custom API - it should be supported by the end of March.

WiggityZwiggity
Helper V
Helper V

Sp this is now natively supported?  Still can't figure out how to configure the table into anything meaningul without directly editing the JSON

Yes, this is natively possible now with the new Create HTML Table, Create CSV Table and join string actions. They are described in more detail here: https://flow.microsoft.com/en-us/blog/html-tables-csvs-computer-vision/

 

e.g. in the Flow designer:

 

e.g. in the resulting email:

Is it possible to eliminate columns as part of the customization listed in the workflow trigger documentation?  I get an error when trying to do this when only selecting 2 columns from a larger data set

 

 

"ConvertToTable" : {
    "type": "table",
    "inputs": {
        "from": "@triggerBody()",
        "format": "html",
        "columns": [{
          "header": "produce id",
          "value": "@item().id"
        },{
          "header": "description",
          "value": "@concat('fresh ', item().name)"
        }]
    }
}

This is not possible today for arrays of objects through the visual designer in Flow - but it is something we plan on enabling in the future. Is this blocking your scenario?

 

Also - please vote / add the request on the Flow idea site: https://powerusers.microsoft.com/t5/Flow-Ideas/idb-p/FlowIdeas We use that for all of our planning for future releases.

Currently this is blocking what I am trying to do - so even in the code view this is not possible by directly using hte convertotable action?

If you are using Azure Logic Apps (the pro developer version of Microsoft Flow), then it is possible with code view. More details on Logic Apps here: https://azure.microsoft.com/en-us/services/logic-apps/

 

If you are using Flow, then there actually may be a workaround possible today (talked to some more folks on the team). You can do this by using the "Select" action to narrow down the columns you want.

 

select_action.png

 

Thanks!  That helps a lot, but you cannot seem to control the order of the columns when using the map/key tags.  I actually am using Logic Apps vs Flow, every time I select several columns it defaults to alphabetical layout of the columns.

Good point - we do not give full control of the column ordering today due to the way the visual designer is interacting with the backend. We will take a look to see if we can improve that & make it match what you see / set. Thanks for all the feedback!

Where i can find selecting column action?

If you search for "select" you should see it in the visual workflwo designer. It is under the "Data Operations" category. Hope that helps!

 

Select Columns Action.png

Thanks, I want to send an email of selected columns in a sharepoint list, for this i tried to created array variable and assign the value from sharepoint column. 

 

Here i am not able to select the arry varibale as key (in select action.)

 

Do you have any idea to get the selected sharepoint list coulumn?

Parmi
Advocate IV
Advocate IV

Hi,

 

if you follow the same logic as given in the solution of this qustion https://powerusers.microsoft.com/t5/Building-Flows/Convert-array-to-string/td-p/79125

 

you can send a single mail from a filtered list. I have applied it in few scenarios. Above article has helped me a lot. 

 

1. send a newsletter to either 'All' or specific Business Units(BU). BU's are selected from a drop down in a list where all the subscribers and their email is store in a SharePoint list. Flow will filter all the user as per the BU selected and send a Single mail to them. 

2. Use HTTP REST API to get the groups from a SPO Site and filter only few properties from the output. create an HTML table out of it and send to a user. 

Parmi
Advocate IV
Advocate IV

Helpful resources

Announcements
UG GA Amplification 768x460.png

Launching new user group features

Learn how to create your own user groups today!

Community Connections 768x460.jpg

Community & How To Videos

Check out the new Power Platform Community Connections gallery!

M365 768x460.jpg

Microsoft 365 Collaboration Conference | December 7–9, 2021

Join us, in-person, December 7–9 in Las Vegas, for the largest gathering of the Microsoft community in the world.

Users online (2,402)