How to Display Manager Name and Email in a Power Apps Gallery

If you’ve built a gallery in Power Apps that shows a list of employees, teammates, or records, you’ve probably wondered — how do I also show who their manager is? Maybe you want a team directory that shows each person alongside their manager, or a request list where reviewers can see the chain of ownership at a glance.

It’s absolutely doable, and once you know the pattern, it’s actually quite repeatable. In this tutorial, I’ll walk you through two scenarios — one where your gallery pulls from a SharePoint list, and one where you’re working with the Office 365 Users connector directly. I’ll also show you the right way to handle performance so your gallery doesn’t crawl when it loads.

Let’s get into it.

If you are new to Power Apps and want to learn it, check out the Power Apps training courses.

What You’ll Need

Before anything else, make sure you have the Office 365 Users connector added to your app. This is the connector that lets you call functions like ManagerV2() to look up someone’s manager from Microsoft Entra ID (Azure Active Directory).

To add it:

  1. Open your canvas app in Power Apps Studio.
  2. Click Data in the left panel.
  3. Click Add data.
  4. Search for Office 365 Users and select it.
  5. Click Connect.

You can see the screenshot below. This should look like this.

Power Apps gallery display manager name

That’s it. You’re ready to use it in your formulas.

If you are a beginner, check out a complete tutorial about creating a responsive apps in Power Apps.

This is the most common setup I see. You have a SharePoint list — maybe an Employee Directory, a Leave Requests list, or a Project Tracker — and one of the columns is a Person or Group column (for example, AssignedTo or Employee). You want to show each person’s manager name and email right there in the gallery row.

Here, in this case, I have a SharePoint list as Project Tracker. It has two columns:

  • Project Name (Title column)
  • AssignedTo

You can see in the screenshot below that this is how the SharePoint Online list looks:

Display Manager Name in Power Apps gallery

First, add the SharePoint data source, select the SharePoint site, and then select the list above.

Here is a screenshot for your reference.

Power Apps gallery display manager email

Then, insert a Vertical Gallery on your screen and set its Items property to your SharePoint list:

Project Tracker

Here, Project Tracker is the actual name of the list as it appears in your data sources panel.

You can see how it looks in the screenshot below:

Display Manager Name and Email in a Power Apps Gallery

Click once on the gallery to select it, then click once more to go inside the gallery template (you’ll see the blue selection border move to the first item). Now insert a Label control.

Since this is a responsive Power Apps, I have adjusted the Label control coordinates (x and y axis).

Set its Text property to:

IfError(
Office365Users.ManagerV2(ThisItem.AssignedTo.Email).displayName,
"No manager found"
)

Replace AssignedTo with the actual name of your Person column in SharePoint. The .Email at the end pulls the email from that person field and passes it to ManagerV2(), which looks up their manager.

The IfError() wrapper is important — if a user doesn’t have a manager set in Entra ID, the formula would throw an error without it. This way it gracefully shows “No manager found” instead.

Here is the exact output you can see in the screenshot below:

How to Display Manager Name and Email in a Power Apps Gallery

Step 3: Add a Manager Email Label Inside the Gallery

Insert another Label inside the same gallery template. Set its Text property to:

IfError(
Office365Users.ManagerV2(ThisItem.AssignedTo.Email).mail,
""
)

This pulls the manager’s email address. The fallback is an empty string — so if there’s no manager, the field just stays blank rather than showing an error.

Your gallery will now show the manager’s name and email for every row, looked up live from your organization’s directory. You can see the exact output in the screenshot below:

Display Manager Email in a Power Apps Gallery

Also, check out How to Get User Details in Power Apps?

Sometimes your gallery isn’t pulling from SharePoint at all — it might be listing users from Entra ID directly. For example, a company directory app where users can search for colleagues.

In this case, the gallery items are already user profile objects from the Office 365 Users connector, and you can look up each person’s manager using the same ManagerV2() function.

Set the gallery’s Items property to:

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

This populates the gallery with users that match whatever someone types in a search box (TextInput1). Each row in the gallery is now a user profile object.

Manager Name label — Text property:

IfError(
Office365Users.ManagerV2(ThisItem.mail).displayName,
"No manager"
)

Manager Email label — Text property:

IfError(
Office365Users.ManagerV2(ThisItem.mail).mail,
""
)

Here ThisItem.mail is the email of the person shown in that gallery row. Power Apps uses that to look up their manager from the directory.

Check out Delegation in Power Apps

The Performance Problem (And the Right Fix)

Here’s something you’ll notice quickly if your list has more than a handful of rows: the gallery gets slow. Sometimes very slow.

The reason is that every gallery row is making API calls to the Office 365 Users connector — once for the manager name and once for the manager email. If you have 20 rows and two labels per row, that’s 40 API calls every time the screen loads or refreshes. Power Apps may also throttle those requests, causing some rows to show errors or load late.

The solution is to pre-load all the manager data into a collection before the gallery renders. Instead of the gallery making live API calls while it draws each row, you do all the work upfront and store the results in memory. The gallery then just reads from that collection — no API calls during rendering.

How to Build the Power Apps Collection

In your screen’s OnVisible property (or the App’s OnStart if you need it globally), add this:

ClearCollect(
colEmployeesWithManagers,
AddColumns(
YourSharePointListName,
"ManagerName",
IfError(
Office365Users.ManagerV2(AssignedTo.Email).displayName,
"N/A"
),
"ManagerEmail",
IfError(
Office365Users.ManagerV2(AssignedTo.Email).mail,
""
)
)
)

What this does step by step:

  • YourSharePointListName — your original data source
  • AddColumns() — adds extra calculated columns to each row
  • "ManagerName" and "ManagerEmail" — the names of those new columns
  • IfError(Office365Users.ManagerV2(...), "N/A") — looks up the manager for each row and handles errors gracefully
  • ClearCollect(colEmployeesWithManagers, ...) — stores the whole enriched table in a collection called colEmployeesWithManagers

Now update the gallery’s Items property to use the collection instead of your SharePoint list:

colEmployeesWithManagers

Since the manager details are already in the collection, the labels inside the gallery become simple:

Manager Name label — Text property:

ThisItem.ManagerName

Manager Email label — Text property:

ThisItem.ManagerEmail

No more API calls while the gallery is rendering. Everything is already in memory. The gallery loads fast and smoothly, regardless of how many rows there are.

Check out Power Apps Concatenate Strings

Putting It All Together — A Real Example

Let’s say you’re building a Team Directory app connected to a SharePoint list called EmployeeDirectory. The list has these columns:

  • Title — employee’s name (single line of text)
  • WorkEmail — employee’s email (single line of text)
  • Department — their department

You want each gallery row to show the employee’s name, their email, and their manager’s name and email.

Step 1: In the screen’s OnVisible property:

ClearCollect(
colDirectory,
AddColumns(
EmployeeDirectory,
"ManagerName",
IfError(
Office365Users.ManagerV2(WorkEmail).displayName,
"No manager"
),
"ManagerEmail",
IfError(
Office365Users.ManagerV2(WorkEmail).mail,
""
)
)
)

Step 2: Set the gallery’s Items to:

colDirectory

Step 3: Inside the gallery, set up your labels:

LabelText property
Employee NameThisItem.Title
Employee EmailThisItem.WorkEmail
Manager NameThisItem.ManagerName
Manager EmailThisItem.ManagerEmail

That’s your complete team directory with manager details, built cleanly and performing well.

Read How to Send Emails from Power Apps

Show a Loading Spinner While the Collection Builds

Since loading the collection takes a second or two (especially for large lists), it’s good practice to show a loading indicator so users know the app is working.

In the screen’s OnVisible:

Set(varLoading, true);
ClearCollect(
colEmployeesWithManagers,
AddColumns(
YourSharePointListName,
"ManagerName",
IfError(Office365Users.ManagerV2(AssignedTo.Email).displayName, "N/A"),
"ManagerEmail",
IfError(Office365Users.ManagerV2(AssignedTo.Email).mail, "")
)
);
Set(varLoading, false)

Add a Loading label or spinner to the screen and set its Visible property to:

varLoading

Set the gallery’s Visible property to:

!varLoading

Now the gallery is hidden while the collection loads and appears once it’s ready. Small touch, but it makes the app feel polished.

Important Mistakes to Avoid

Here are some mistakes that you should avoid.

  • Not using IfError() — Always wrap ManagerV2() calls in IfError(). Any user without a manager set in Entra ID will cause a formula error that breaks the gallery row.
  • Calling ManagerV2() directly in gallery labels — This works but it’s slow. Use the AddColumns + ClearCollect approach for anything more than a handful of rows.
  • Using .Email vs .mail — For SharePoint Person columns, use ThisItem.PersonColumn.Email (capital E). For Office 365 Users connector results, use .mail (lowercase). They’re different object types.
  • Testing only with your own account — Always test with a real user account. Admin accounts and some service accounts often don’t have managers assigned, so you might not catch the missing-manager scenario during development.
  • Forgetting to refresh the collection — If your SharePoint data changes, the collection won’t update automatically unless you re-run ClearCollect. Add a Refresh button if users need up-to-date data without leaving the screen.

Conclusion

In this tutorial, I explained how to display the manager’s name and email address in a Power Apps gallery. Here is a summary of what we did here:

GoalFormula
Show manager name in gallery (live)IfError(Office365Users.ManagerV2(ThisItem.PersonCol.Email).displayName, “N/A”)
Show manager email in gallery (live)IfError(Office365Users.ManagerV2(ThisItem.PersonCol.Email).mail, “”)
Pre-load manager data into collectionClearCollect(colData, AddColumns(ListName, “ManagerName”, IfError(Office365Users.ManagerV2(PersonCol.Email).displayName, “N/A”)))
Show manager name from collectionThisItem.ManagerName
Show manager email from collectionThisItem.ManagerEmail

The collection pattern is the one I’d always go with in production apps. It’s a bit more setup, but your gallery will be faster, cleaner, and far less likely to hit API throttling issues when multiple users are in the app at the same time.

You may also like the following tutorials:

Power Apps Mistakes Developers Make Ebook

19 Power Apps Mistakes Developers Make (And How to Fix Them)