I am a newbie and trying my hands on Power Automate. I need your help.
I am trying to create a dynamic email body based on the filtered data from excel spreadsheet. In the Filter Array function if I pass array of emails from excel spreadsheet it takes the Input data properly but generates blank  output but, when I replace array of matching emails with single static email ID the flow works properly.
Please help me to resolve my problem. Thanks in advance.
Below I have tried my best to explain the scenario along with the snapshots. Let me know if you need more details, Thanks!
Snapshot 1 to 4 explains the flow along with Excel table.
Snapshot 5 depicts Negative case
Snapshot 6 & 7 depict Positive case
Snapshot 1 - Excel table:
Snapshot 5: (Output of Filter array is shown blank  when inside Filter Array function Email equals to Current Item as shown in Snapshot 4)
Snapshot 6: (Output of Filter array is shows correct Output i.e it filters only two records from from excel table where email ID is matching when single email address is entered in Filter array as shown in below Snapshots)
Snapshot 7: Only two matching records are filtered where email ID is matching
Thank you for the details! It helps a lot.
Your flow looks good to me... have you tried putting your Current Item into a Compose to see what it looks like, and make sure there are no weird extra characters being brought in for whatever reasoN?
Thanks for your response. Appreciate it!
As suggested by you, I have included Current Item into Compose action. Please refer to the snapshots below for your reference.
Well, that makes it really easy to see your problem! It isn't actually grabbing your Current Item, it is still grabbing the entire array, as you can see in the output. That Compose should only be showing you a single email.
You don't need an "Append to Array" here. You can put your output from your union() Compose directly into it.
This gives me the Current Item I'd expect to see, ie, one email at a time. That means it should work in your filter in the loop.
Thanks @Rhiassuring 😊
Your solution looks perfect to me but somehow, it is not working at my side. I did tried this earlier as well.
It could be possible that I am missing something. Please check. ☹️
Below snapshots for your reference.
I note that your "Map" column for the Select isn't expanded (the button on the right, the little table) - can you click that and show me how it's set? Everything I can see from the screenshots looks right... so.. need to try and look deeper!
I have just checked, my Select action - It is in 'Map' mode and not 'Key Value' mode.
Below snapshot for your reference.
I have tried to switch from Map to 'Key value' mode and Run the Flow. Below snapshots for your reference.
Key Value Mode
Output after changing to Key value mode : If you closely observe the below snapshots after changing from Map to key value mode "Email": keyword is appended before each email address which was not there in my previous flow snapshots.
RE: Select / Map - yes, I know, I just wanted to check in case something was weird.
I've just tried this on my side, and we can actually do it directly from the union. I think the extra array might be confusing it.
The "Outputs" in the apply to each is from Compose - Union.
I have tried the above method but, unfortunately it is not working. Below is an error snapshot for your reference.
Looks like Power Automate is treating Output of Compose - Union as 'String' when I pass it into the Apply to each statement. To validate the same, if I add Compose action before passing the Output to the Apply to each statement. I am getting an array of emails in the Output. Below is a snapshot for your reference.
Today I did something different just for testing purpose. Instead of passing 'Outputs' from Compose - Union, I passed 'Output' from the Select statement which contains ALL the email address from Excel table. And, surprisingly the result was SUCCESS. The flow executed smoothly and as per the Excel table records I received 5 seperate emails.
That means, Apply to Each statement is working perfectly fine for Select statement (All email address array) but, not for Compose - Union Email array.
Below is the Expression of the Union statement:
Please check if something is wrong. Hope we will find the solution this time, 😌
What value is in the Compose where you load current item? Is that showing an email or a blank? If its an email is it only an email? Or is there a key associate with it?
Explore the latest innovations, learn from product experts and partners, level up your skillset, and create connections from around the world.
Learn to digitize and optimize business processes and connect all your applications to share data in real time.