cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
Helper I
Helper I

Get all users through Office 365 Users connector through Search for users (V2)

I'm trying to retrieve all our internal users through the Office 365 Users connector using Search for users (V2) in Power Automate. I would like to display all the users with a @company.com emailaddress. When searching on @company.com or just @ I don't get any results. When searching on my own firstname.lastname@company.com I do get a result. I can't find any documentation on the search field of Search for users (V2). How does it exactly work? Can I use wildcards?

 

searchusers.png

 

 

 

1 ACCEPTED SOLUTION

Accepted Solutions
Helper I
Helper I

Thank you. I found a solution by just changing the pagination setting to 2000 and filtering the array to reduce the input to only real employee accounts. 

View solution in original post

14 REPLIES 14
Super User
Super User

The Search for Users searches a particular search term, for example a full email address, and unfortunately you can't use a wildcard with it to get back all users. https://docs.microsoft.com/en-us/connectors/office365users/ 

Rob
Los Gallardos
If I've answered your question or solved your problem, please mark this question as answered. This helps others who have the same question find a solution quickly via the forum search. If you liked my response, please consider giving it a thumbs up. Thanks.

Hi RobElliot,

 

Thank you for your reply. When I leave the search term empty the connector returns all the users. The problem is that it only returns the first 1000 users and the rest gets paginated. If I could search on the domainname of the emailaddress the result would only be 450. I can search firstname.lastname@company.com but I cant search on company.com because this returns zero results.

 

Kind regards

Community Support
Community Support

Hi @SBS,

 

You could use the Get group members action of the Auzre AD connector, it will return all members of the Groups, also, if you want to get all the members in the tenant, you could get all groups ID to put into the Get group members, then append them into an array:Annotation 2020-01-01 143702.png

Get Members of a group

Annotation 2020-01-01 144821.png

Get members of multiple Groups

Best Regards,
Community Support Team _ Lin Tu
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

Helper I
Helper I

Thank you. I found a solution by just changing the pagination setting to 2000 and filtering the array to reduce the input to only real employee accounts. 

View solution in original post

I am interested to know how you achieved that as I am trying to do a very similar thing.

"changing the pagination setting to 2000 and filtering the array to reduce the input to only real employee accounts"

 

Although tests succeed, I don't seem to get any data returned.

 

 

Click the "..." on the right hand corner of the Action,

Turn on "Pagination" and enter your Threshold

 

Add image for your reference:

page.png

@SBS Thanks for this. Can you share how you filtered the array?

@SBS How did you filtered the search to real employee accounts?

Hi @draymond11 ,

You could to this using the Filter Array action: Powerhouse_Power_Automate_Filter_array.png

 

Expression in my filter = 

@equals(item()?['AccountEnabled'], true)

 

Helper II
Helper II

Hi @Django ,

 

Would you be able to share more of your flow end to end? Every time I do the Compose length I did this error. What I'm trying to do is filter users who have an Office 365 account to go down 1 path, those who don't go down another path.

 

Screenshot (1).png

@mccardj You are probably trying to get the length of an empty field. For example if you are trying to get the length of a department while this is not filled in for every employee. You could also use the empty() function to check if there's a value. 

@draymond11 

I am using a filter array with the following condition:

and(
equals(item()?['AccountEnabled'],true)
,not(startsWith(item()?['DisplayName'], 'Admin '))
,greater(length(string(item()?['Surname'])), 0)
,not(empty(item()?['Mail']))
,not(empty(item()?['JobTitle']))
,not(empty(item()?['Department']))
,not(contains(item()?['Mail'], '&'))
,not(contains(item()?['Mail'], 'robot'))
,not(contains(item()?['GivenName'], 'test'))
)

 

What exact conditions you should use depends on how your company uses the Azure AD. You should export the non filtered "Search for users v2" result to Excel, for example by making a csv out of it in Power Automate, and analyze the values of the different fields to see what filters you should use.

Hi @mccardj,

@SBS is right. I only use the Compose actions for troubleshooting and Flow Summary at the end counting all results. In my example the lenght() expressions counts the items filtered in the previous step:

length(body('Filter_array_UsersMailPowerhouseEnabled'))

 

The syntax of the length() expression needs to be correct though. Hopefully my example helps but be aware that the Compose action is just supporting and not a need for the original requirement.

Helpful resources

Announcements
Microsoft Ignite

Microsoft Ignite

Join digitally, March 2–4, 2021 to explore new tech that's ready to implement. Experience the keynote in mixed reality through AltspaceVR!

New Super Users

Meet the Power Automate Super Users!

Many congratulations to the Season 1 2021 Flownaut Crew!

Microsoft Ignite

Microsoft Power Platform: 2021 Release Wave 1 Plan

Power Platform release plan for the 2021 release wave 1 describes all new features releasing from April through September 2021.

MPA Community Blog

Power Automate Community Blog

Check out the community blog page where you can find valuable learning material from community and product team members!

Users online (24,540)