web
You’re offline. This is a read only version of the page.
close
Skip to main content

Notifications

Announcements

Community site session details

Community site session details

Session Id :
Power Platform Community / Forums / Power Automate / Filter a SharePoint li...
Power Automate
Unanswered

Filter a SharePoint list and send notification according a person or group column

(0) ShareShare
ReportReport
Posted on by 14

Hello,

I have a Task list that has columns DueDate [dateTime], TaskOwner[Person or group], ProjectOwner[Person or group]

I would like to create a flow that sends email to TaskOwners and ProjectOwners weekly based on Due Date.

I also wanted each TaskOwner or Project owner to be able to see only their tasks and receive the email only one time ( even if there are more than one Tasks for each one)

Firstly I get the items for Sp list , I do a filter array with the below condition:

@And(

         greaterOrEquals(item()?['DueDate'],

                                     utcnow()

                                     ),

          lessOrEquals(item()?[DueDate'],

                                 AddDays(utcnow(),7)

                                     )

     )

flow 1.png

 

After I create a table with my parameters and send items

flow2.png

 

 

I receive multiple emails because I am Task Owner for many items in my list , also I receive the tasks that aren’t assigned to me. Could anyone please indicate a solution?

Thank you in advance

Categories:
I have the same question (0)
  • yashag2255 Profile Picture
    24,769 Super User 2024 Season 1 on at

    Hi @Tereza 

     

    Assuming that the person type columns are not multiselect ones, here is one trick you can use: 

    1. Initialize an array variable before the get items action. 

    2. Get items, use filter query: 

    DueDate ge 'utcnow()' and DueDate le 'AddDays(utcnow(),7)'

     

    (expressions to be written in the expression editor and added to the query)

    3. Apply to each item returned from the list items action

    4. Condition, check if the array does not contain the person email

    5. Append to array variable : value: person email. 

    6. Outside the apply to each loop, add another loop this time on the array

    7. filter array from sp list items where person email is equal to current item

    8. create html table

    9. send email. 

     

    Hope this Helps!

     

    If this reply has answered your question or solved your issue, please mark this question as answered. Answered questions helps users in the future who may have the same issue or question quickly find a resolution via search. If you liked my response, please consider giving it a thumbs up. THANKS!

  • efialttes Profile Picture
    14,756 on at

    @Tereza 

    What an amazing coincidence!

    I've just conducted a session in Microsoft 365 Virtual Summit Madrid this very morning on how to consolidate data with Power Automate, the session has been uploaded in Youtube but unfortunately it is in Spanish.

    Anyway, my suggestion is to folllow a totally different approach:

    1.- Build a Task Owner dictionaire. So, you can add a 'Select' action block and assign 'Get items' output as its input. THen flip to text mode and assing 'Task Owner' email from dynamic menu.

    2.- Next, initialize a variable, let's call it myDictionaryArray, type array, value the expression you will see in this screenshot (it is from the session I run this morning). THis way you will ensure unique values in your array

    Blog_consolidacion_5.png

    3.- Once done, remove 'Get items' output and assign 'Filter Array' output as 'Select' input instead

    4.- Now, add an 'Apply to each' rename it as 'Apply to each TaskOwner', assign as its input variable 'myDictionaryArray'

    5.- Inside the 'Apply to each' you should add a 'Filter Array', rename it as 'Filter Array tasks', assign as its input 'Get items' output and declare a condition rule to get the tasks whose Task Owner email matches with the following expression

     

    items('Apply_to_each_TaskOwner')

     

    6.- Next, still inside 'Apply to each' remove 'Get items' output and assign your first 'Filter Array' output as 'Filter Array tasks' input instead

    7.- Now, still inside 'Apply to each' add a 'Create HTML table', assign as its input 'GEt items' output, change the Columns input from default to 'customized', select whatever SP list column you want to show

    8.- Next, still inside 'Apply to each' remove 'Get items' output and assign your 'Filter Array Tasks' output as 'Create HTML table' input instead

    9.- Finally, still inside 'Apply to each', add a 'Send an email', add 'Create HTML output' in the body (flip to HTML view first) and assign as its destination the following expression:

     

     

    items('Apply_to_each_TaskOwner')

     

     

     

    Hope this makes sense

  • Tereza Profile Picture
    14 on at

    The filter query at Get Items doesn't work so I used filter array again.

    Now I get the below error in step 7. 

    Screenshot_1.png

  • efialttes Profile Picture
    14,756 on at

    Hi!

    I guess the Flow is quite complex, anyway can you share a screenshot from your current Flow design?

    THere must be something wrong in the steps you followed since you are comparing the following expressions in your Filter Array:

     

    items('Apply_to_each_4')?['TaskOwner']?['Email']

     

     

    items('Apply_to_each_4')

     

     

    This explains the error displayed

    Thanx!

  • efialttes Profile Picture
    14,756 on at

    Tereza

    The error says that in your 'Filter array 2' you are comparing...

    items('Apply_to_each_4')

    with

    items('Apply_to_each_4')?['TaskOwner']?['Email']

     

    ...so this comparation does not make any sense

    Hope this helps

  • Tereza Profile Picture
    14 on at

    I can't understand what I must map at select function and at set variable text. 

Under review

Thank you for your reply! To ensure a great experience for everyone, your content is awaiting approval by our Community Managers. Please check back later.

Helpful resources

Quick Links

Forum hierarchy changes are complete!

In our never-ending quest to improve we are simplifying the forum hierarchy…

Ajay Kumar Gannamaneni – Community Spotlight

We are honored to recognize Ajay Kumar Gannamaneni as our Community Spotlight for December…

Leaderboard > Power Automate

#1
Michael E. Gernaey Profile Picture

Michael E. Gernaey 538 Super User 2025 Season 2

#2
Tomac Profile Picture

Tomac 405 Moderator

#3
abm abm Profile Picture

abm abm 252 Most Valuable Professional

Last 30 days Overall leaderboard