cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
cjordan
Level: Power Up

Searching AND Selecting Office 365 Users

I am currently working on a "Create Ticket" form for our ticketing system. I currently am able to search for users in our Office 365 tenant by using: Office365Users.SearchUser({searchTerm: inputTo.Text})

 

The problem I am having, is that I want the user to then be able to "Select" the name and have it autofill the name column.

 

Do you know if this is possible?

Any guidance is appreciated.

 

Thanks!

10 REPLIES 10
PowerApps Staff rgruian
PowerApps Staff

Re: Searching AND Selecting Office 365 Users

It should be possible to pipe the result of that query into e.g. a listbox or a gallery -- customized to render whetever fields you want to show -- which will allow for that selection process to occur. Once an item/user is selected, the selection becomes available at the "Selected" property of the lisbox or gallery, allowing you to use it in other formulas. For example:

 

    NameInput.Default = listbox.Selected.Name

 

I would be happy to help in more detail if I had a bit more context into what you are trying to accomplish.

Radu Gruian [MSFT] ** PowerApps Staff
PowerApps Staff sarafankit
PowerApps Staff

Re: Searching AND Selecting Office 365 Users

What control are you using to show the users returned from the search? If you are using a Gallery control, you will be able to refer tthe record user has clicked/selected using the Gallery.Selected property.

cjordan
Level: Power Up

Re: Searching AND Selecting Office 365 Users

 

Thank you very much for your response!

 

Do you have any information on how to set something like this up?

 

I have looked throught the PowerApps forums  and documentation but have not been able to come to anything helpful 😞

 

 

PowerApps Staff rgruian
PowerApps Staff

Re: Searching AND Selecting Office 365 Users

- Create a Gallery
- Within the gallery, create for example a label to show the user name
- Bind the gallery to the results coming from Office365
    gallery1.Items = Office365Users.SearchUser({searchTerm: inputTo.Text})

- This will auto-bind the label to the Name field. Please feel free to re-bind it to any other field, such as Email.

- Outside of the gallery, create a text input control that will be "auto-filled" with the selected user

- Bind the input to the gallery selection, e.g. the name field.

    inputText2.Default = gallery1.Selected.Name

 

I hope this helps.

Radu Gruian [MSFT] ** PowerApps Staff
PowerApps Staff sarafankit
PowerApps Staff

Re: Searching AND Selecting Office 365 Users

Assuming you have put a TextInput control to enter the name for search and a gallery to your screen.

 

The Items property of gallery should be set to: Office365Users.SearchUser({searchTerm:TextInput1.Text})

 

And then add a TextBox where you want to show the name of the selected user, and set its Text property to Gallery1.Selected.DisplayName

esoPowerUser
Level: Powered On

Re: Searching AND Selecting Office 365 Users

Thanks for info MSFTSs Ankit Saraf and Radu Gruian. Would like to mention that in addition to the selected value it also seems possible to use the LookUp function which perhaps may be useful in some scenarios to avoid naming collitions where you are displaying/ filtering SharePoint List Items with People Columns in Content Controls, and want to show user details for multiple users at the same time.

 

LookUp( Office365UsersGallery.AllItems, DisplayName = "[Display Name]").Department


Where the Office365UsersGallery Item Property is set as Radu Gruian/ Ankit Saraf explained to us:


Office365Users.SearchUser({searchTerm:TextInput1.Text})

UntuckedKyrie
Level: Powered On

Re: Searching AND Selecting Office 365 Users

Hi! I would like to do something similiar.  However, I am kind of new to PowerApps and confused by the instructions that you left.


I would like to look up a username from a list I created in SharePoint & get the email from the Office365 User connector.  I cannot get that to work successfully however.  Any help would be appreciated.  Thank you! @sarafankit @rgruian 

esoPowerUser
Level: Powered On

Re: Searching AND Selecting Office 365 Users

Hi!

 

Just to be sure I understand your scenario, is User a Person Column in your SharePoint List, or just a free text column with the User?

Based on that I will try to give some advice: 1) When searching for Users in Office 365 in general in your Azure AD: You can use the Office 365 "Search".  This is a in built search operator to easen the task to do this as explained by the others here:

Office365Users.SearchUser({searchTerm: SearchUserInput.Text})

 

2) However, another common scenario for filtering is when filtering a SharePoint List which have a User Column

Preferably a standard SharePoint Person Column.  Then the filtering process is a bit easier, since you do not 

need to search Office 365 AD Users to filter the list. You use instead a Filter operation on the Items property

on the Gallery bound to your SP List. If the User is a Person Column ( which I hope it is ) then you could create filters like

this ( not correct syntax 😞   Filter ( spList ;  User.Name. StartsWith ( SearchUserInput.Text ) )

Sorry for not 100% correct syntax, but just to give you an idea. 

 

How to get the mail for the User: 

If User is Person Column, the mail property already exists ( points) on the list object by SharePoint/ AD. You just need to a label on the first item in the Gallery, and sets its item text/ default property to ThisItem.User.Mail. ( intellisense on ThisItem should

give you the correct syntax ) Sorry for not giving 100% exact code here, but hope this might set some direction for you!

Maybe the confusion arrives because its 2 different thing in PowerApps to filter SP List Items 

based on a User Column than Office 365 Users in AD. 

Extra tip: Some times its more useful to get the mail from the Office 365 Users data source anyway.

I have not seen this issue for some time, so maybe its resolved, but sometimes you can be tricked by short/ long name on mail on SP Person Column.

Office 365 Users data source gives you the possiblity to get UPN and ids etc. If you need this also, you could

Filtering Office 365 DataSource with the ThisItem.User.Mail property on the Gallery .

However, it can affect performance to call Office 365 Users unneccsesary.  If you are new filtering on a gallery, Microsoft have some good examples, but the major thing to  remember is that in edit mode, the first item in the gallery is where the modification is done to.  Its here I think you could add a label , and set its text value to ThisItem.User.Mail  ( this requires the User Column

to be a standard SP User Column though ) 

 

 

esoPowerUser
Level: Powered On

Re: Searching AND Selecting Office 365 Users

Just to be sure I understand your scenario, is User a Person Column in your SharePoint List, or just a free text column with the User?

Based on that I will try to give some advice:  When searching for Users in Office 365 in general in your Azure AD: You use the Office 365 "Search".  This is a in built search operator to easen the task to do this as explained by the others here:

Office365Users.SearchUser({searchTerm: SearchUserInput.Text}) However, another common scenario for filtering is when filtering a SharePoint List which have a User Column. Preferably a standard SharePoint Person Column.  Then the filtering process is a bit easier, since you do not need to search Office 365 Users to filter the list. You use instead a Filter operation on the Items property on the Gallery bound to your SP List. If the User is a Person Column then you could create filters like this ( not correct syntax 😞   Filter ( spList ;  User.Name. StartsWith ( SearchUserInput.Text ) )

Sorry for not 100% correct syntax, but just to give you an idea.  

How to get the mail: 

If User is Person Column, the mail property already exists ( points) on the list object by SharePoint/ AD. You just need to add a label on the first item in the Gallery, and sets its item text/ default property to ThisItem.User.Mail. ( intellisense on ThisITem should give you the correct syntax )

In case you must call Office 365 Users anyway to get the mail ( maybe because you need to get UPN, short form/ long form  mail etc or User Name is a free text name)  You could do this, by for example do a extra query to Office 365 Users with ThisItem.User.Mail or ThisItem.User.Name as input param. However, this could affect performance. 

 

 

 

 

 

 

Helpful resources

Announcements
thirdimage

Power Automate Community User Group Member Badge

Fill out a quick form to claim your user group badge now!

sixthImage

Power Platform World Tour

Find out where you can attend!

Power Platform 2019 release wave 2 plan

Power Platform 2019 release wave 2 plan

Features releasing from October 2019 through March 2020

fifthimage

Microsoft Learn

Learn how to build the business apps that you need.

Top Kudoed Authors
Users Online
Currently online: 299 members 6,270 guests
Please welcome our newest community members: