Let's POWER Automate

From no-code to low-code

Menu
  • Expressions
  • Filters
  • General
  • Application specific solutions
    • Dataverse
    • Excel
    • Forms
    • Outlook
    • Planner
    • Power Apps
    • SharePoint
    • Teams
  • Triggers
  • Ready to use solutions
    • Approval Process Solution
    • Task Delegation App
    • The Ultimate Power Automate expressions cheat sheet
    • Power Automate HTTP requests to SharePoint cheat sheet
    • Power Automate HTTP requests to Graph API cheat sheet
  • ABOUT ME
  • Get help with your flow
  • POWER PLATFORM SERVICES
Menu

Power Automate filter based on Person or Group column

Posted on October 18, 2020April 14, 2021 by Tom

Does your Power Automate flow need to filter only items or documents assigned to a specific person and ignore the rest? And the User eq ‘User’ OData Filter Query doesn’t return anything?


The ‘Person or Group’ column contains a user object. It’s not a simple information as ‘user name’ that you can compare, but a collection of user attributes. You’ve got user name, user email, user claims login and more. The OData Filter Query in Power Automate can’t filter on the person object. It can filter only on a specific attribute of the user.

Let’s consider ‘Person or Group’ column called ‘Person’. The column by itself is an object, but you can easily access its attributes. Instead of just Person in the filter, get deeper by selecting an attribute.

Instead of just:
Person eq ...

Use:
Person/EMail eq 'person@company.com'
Person/Title eq 'Firstname Lastname'

My preference is the email attribute, as it’s unique and every user has one. Depending on your needs, you can either hard code the right side value, or use dynamic content.

As with all the other Filter Queries, even this one can save you a lot of empty loops. It’s always better to use a query instead of IF conditions later in the flow.


🚀 Master Power Automate

Join 2,100+ professionals getting actionable Power Automate tutorials, solutions, cheat sheets & tips every week.

No spam. Unsubscribe anytime.

28 thoughts on “Power Automate filter based on Person or Group column”

  1. Panos says:
    December 16, 2020 at 1:40 pm

    Does this function work in your environment? I tested it out and it throughs an error saying: “One or more field types are not installed properly. Go to the list settings page to delete these fields.”

    Reply
    1. Tom says:
      December 16, 2020 at 2:11 pm

      Hello Panos,
      that’s an error you get when you don’t have upper/lower-case correctly in the query. Do you have it the same way as in the post? For Title (user name) it should be upper case T: /Title, for email it must be upper-case E and M: /EMail.

      update: I just noticed I have it wrong on the screenshot, I’ll update it in a moment.

      Tom

      Reply
  2. Jamie Brennan says:
    May 3, 2021 at 10:33 pm

    Very helpful – case sensitivity and properties were bogging me down. thank you

    Reply
  3. Brian says:
    May 4, 2021 at 8:51 am

    Very cool, is there a way to get it to work with claims.

    Person/Claims ?

    Reply
    1. Tom says:
      May 5, 2021 at 8:42 pm

      Hello Brian,
      for claims it’s (as nobody would probably guess): Person/Name

      Reply
  4. Marcel says:
    January 28, 2022 at 5:01 pm

    Thanks a lot Tom, you saved my day!

    Reply
  5. Matthew Gruber says:
    February 22, 2022 at 6:46 pm

    {“odata.error”:{“code”:”-1, Microsoft.SharePoint.Client.InvalidClientQueryException”,”message”:{“lang”:”en-US”,”value”:”The expression \”Project Manager/EMail eq ‘Person.Name@Company.com’\” is not valid.”}}}

    I can’t see where I went wrong in my syntax, “Project Manager/EMail eq ‘Person.Name@Company.com'”

    Any thoughts?

    Reply
    1. Tom says:
      February 23, 2022 at 5:36 pm

      Hello Matthew,
      you must use the column internal name: https://tomriha.com/what-is-sharepoint-column-internal-name-and-where-to-find-it/

      Reply
  6. Robin Roy says:
    April 19, 2022 at 7:27 am

    Hi,

    Is there anyway to filter using Job Title of the user? I tried person/JobTitle but it did not work.

    Thanks.

    Reply
    1. Tom says:
      April 23, 2022 at 8:28 pm

      Hello Robin,
      I don’t think so, I think that you can use only their name or the email address.

      Reply
  7. Ioannis Belouris says:
    May 5, 2022 at 2:22 pm

    Hello,

    could you please elaborate why we have to reference
    on our column name of a person type the Email as EMail and the FullName as Title? (also the claims as /Name?)

    Reply
    1. Tom says:
      May 15, 2022 at 5:18 pm

      Hello Ioannis,
      I think it was the trial and error in this case to find the right properties, I don’t have a deeper explanation.

      Reply
    2. Kevin says:
      October 11, 2024 at 9:49 pm

      Internal Names of the fields. If you open you list or library, got to the Settings, and then click on the name of the field, in the URL is will show the internal name. For some “Microsoft” reason they have to obfuscate the data.

      Reply
  8. Alonso Pareja says:
    July 8, 2022 at 2:39 am

    Thanks! I was wondering how to get the email value from the filter for a user column and I could match two SP lists based on it.

    Reply
  9. Tammy says:
    November 1, 2022 at 9:28 pm

    I cannot make this work. I have used the column internal name and ensured that I had capitals on the E and M in email, but I still get the error…

    {The expression “Responder_x0020_Name/EMail eq “randomname@randomemail.ca” is not valid. Creating query failed.
    clientRequestId: 820c8f90-634c-4b4f-954c-5903b36fc69b
    serviceRequestId: 820c8f90-634c-4b4f-954c-5903b36fc69b}

    Has Power Automate changed since you originally made this post? Have I missed something else? Do you have any ideas how I can fix this?

    Reply
    1. Tom says:
      November 13, 2022 at 6:19 pm

      Hello Tammy,
      looking on the error message it seems that you forgot the single quotes around the email address.

      Reply
  10. Adi says:
    December 6, 2022 at 11:42 pm

    How can we filter all items that a “multi select” user or group field value? I tried the /Email eq ” but it didn’t work.

    Reply
    1. Tom says:
      December 15, 2022 at 1:39 pm

      Hello Adi,
      I’m not sure if you can, maybe you’ll have to list all the rows and filter them later using the ‘Filter array’ action.

      Reply
  11. dag says:
    December 20, 2022 at 9:50 am

    Any idea why the ‘ne’ operator wont work on the Author/EMail column?

    Reply
    1. Tom says:
      January 9, 2023 at 3:52 pm

      Hello dag,
      not really, I didn’t know that the ‘ne’ doesn’t work but it’s possible that I just never used it.

      Reply
  12. Jody says:
    April 19, 2023 at 6:43 pm

    I was struggling with this and came across your post. You really saved me a lot of time with a simple explanation. THANKS!!!

    Reply
  13. Sarah Parmenter says:
    May 10, 2023 at 1:38 am

    This answer was harder to find than I thought it would be and than it should be! Thank you so much for this!!

    Reply
  14. Steve Morley says:
    June 8, 2023 at 8:50 pm

    Hi Tom, I’m using this today, ‘Student_x0020_Name eq ‘Email variable from other list’ and it’s not returning any value even when I hard code the email address of the person.

    After the Get Items , I’m doing an Append to string variable, and it skips over.

    Any thoughts?

    Reply
    1. Tom says:
      August 12, 2023 at 10:48 pm

      Hello Steve,
      if the Student_x0020_Name is a people picker you must use Student_x0020_Name/EMail as explained in the article.

      Reply
  15. Mathias Bendesen Møller says:
    September 1, 2023 at 3:23 pm

    Hi. I am trying to only get items, where email from Person is eq to email from Person2 in my sharepoint list.

    My filter is
    ( Person/EMail eq Person2/EMail )

    But the error message is:
    Fetching items failed. Possible invalid string in filter query.
    clientRequestId: dcf70e0a-088a-4a64-8ad2-d9b32392a2d9
    serviceRequestId: dcf70e0a-088a-4a64-8ad2-d9b32392a2d9

    If I hardcode an email adress
    ( Person/EMail eq ‘mail@x.com’ )
    or
    ( Person2/EMail eq ‘mail@x.com’ )

    then it works. But that is not helping me.

    Any suggestions to fix the problem?

    Reply
    1. Tom says:
      September 10, 2023 at 3:13 pm

      Hello Mathias,
      you can’t compare two columns in a list inside ‘Get items’ action, try getting all the items and filter them later using the ‘Filter array’ action which gives you more options.

      Reply
  16. Santosh says:
    January 30, 2024 at 9:42 am

    Hi Tom,

    Thanks for your post, i want to filter out records where person column (multi select allowed) is empty. Is it possible to do that using Get Items Filter Query?

    Reply
    1. Tom says:
      February 28, 2024 at 8:26 am

      Hello Santosh,
      I think that’s one of the cases where you need the Filter Array action as the ‘Get items’ have problems filtering items by empty value.

      Reply

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

🚀 Master Power Automate

Join 2,100+ professionals getting actionable Power Automate tutorials, solutions, cheat sheets & tips every week.

No spam. Unsubscribe anytime.

Still exchanging emails to get things approved?

Get the Approval Process solution and the Task Delegation App to skip the hard part and deploy an automated, fully functional approval solution on a SharePoint list in minutes! And then the next one, and the next one...

Approval Template Preview ✨ Learn more ✨

Turn ideas into flows with ease!

Grab the complete Power Automate Cheat Sheet Bundle—everything you need to master expressions, SharePoint HTTP calls, and Graph API in Power Automate.

Cheat Sheet Bundle Preview ✨ Get the Cheat Sheets

Didn't find what you were looking for?
Need to adjust a solution to fit your needs?
Or would you just like to get an assistance from somebody with thousands of hours of experience with Power Automate?

Power Automate blogs worth visiting

Damien Bird
Dennis (Expiscornovus)
Paul Murana

©2025 Let's POWER Automate | Theme by SuperbThemes