Employee Directory – Power Apps (Canvas)
1. Purpose and Scope
This document describes the Waukesha County “Employee Directory” Power App, including end-user instructions, technical architecture, the Office 365 Users (Office365Users) connector behavior, and known limitations of Office365Users.SearchUserV2(). The app supports county staff in quickly finding employee contact information and initiating Microsoft Outlook email or Microsoft Teams chats/calls from within the app.
1.1 What this app is (and is not)
A searchable directory experience backed by Microsoft 365 user profiles (Entra ID/Azure AD-backed Office 365 user profile services).
Designed for quick lookup by name and optional department filtering.
Not a system of record for HR data; directory attributes (e.g., Department, Job Title, Phone) reflect what is populated in Microsoft 365/Entra ID.
Not intended to export or bulk-list the entire county tenant; it is optimized for targeted search.
2. Access and Launch (End Users)
The app is accessible to all employees.
It is launched from the “Employee Directory” link on the global SharePoint top navigation menu (County intranet).
The direct URL is https://waukeshacountywi.sharepoint.com/sites/Connection/SitePages/EmployeeDirectory.aspx
3. How to Use the Employee Directory (Quick Start)
3.1 Search by name
Open the Employee Directory app from the SharePoint global navigation.
In **Find by name**, begin typing a first name or last name.
Review the results list; scroll as needed.
3.2 Filter by department
Open the **Filter by department** dropdown.
Select a department to narrow the visible results.
Clear the selection to return to unfiltered results.
3.3 Contact an employee
Select the **Email** button to open a new email draft to the selected employee.
Select the **Teams video** button to initiate a Teams meeting/call (depending on Teams client behavior).
Select the **Teams chat** button to start a Teams 1:1 chat.
3.4 Displayed fields
Profile photo
Display name and job title
Department
Email address
Phone number
4. Technical Architecture (IT / Power Platform)
4.1 High-level design
Platform: Microsoft Power Apps – Canvas app.
Directory data source: Office 365 Users connector (Office365Users).
Primary query pattern: server-side user search via Office365Users.SearchUserV2().
Launch surface: SharePoint Online global navigation (link to Power Apps web player).
No custom data store is required for directory profiles (the app reads from Microsoft 365 user profile services at runtime).
4.2 Primary data retrieval formula
The app searches for users using the following Power Fx formula:
Office365Users.SearchUserV2({isSearchTermRequired: true, searchTerm: Txt_Search.Text, top: 1000})
4.3 Data flow
User enters a search term in Txt_Search.
Power Apps calls Office365Users.SearchUserV2() with the provided parameters.
The connector returns an entity list response containing matching user profiles.
The app optionally filters the returned results by Department (client-side filtering unless implemented in the query pattern).
A gallery renders the results and exposes action buttons (mailto / Teams deep links).
5. Office 365 Users (Office365Users) Connector – Details, Limits, and Impacts
5.1 What the connector is
The Office 365 Users connector provides access to user profile information in your organization using the signed-in user’s Office 365 account. It is commonly used for directory lookup, managers/direct reports, and retrieving profile photos.
5.2 Known issues / limitations (as documented by Microsoft)
Connection is per-user: when the app is shared, each user is prompted to create/authorize their own Office 365 Users connection.
Requires an Office 365 mailbox with REST API enabled for the user making the connection.
Connector has published throttling limits (API calls per connection per time window).
Some sovereign/government cloud limitations may apply depending on the hosting cloud and workload (verify for your tenant).
5.3 SearchUserV2(): parameters and behavior
isSearchTermRequired (boolean): When true, no results are returned for an empty search term. This prevents accidental “directory dump” behavior and reduces load.
searchTerm (string): The text entered by the user. Search applies to common identity fields such as display name, given name, surname, mail, mail nickname, and user principal name (UPN).
top (integer): Maximum number of results returned. Microsoft documentation indicates a default of 1000 and a minimum of 1.
5.4 Practical limitations and operational impacts (what IT should expect)
Search matching nuances: Partial matches and matching against email domain fragments may not behave as users assume; designed for name-based searches and filtering only after results are returned.
Result completeness: SearchUserV2 is optimized for search. It is not a guaranteed method to enumerate all users in a tenant.
Directory data quality: Department, Job Title, phone number, and photo display depend on how those attributes are populated and maintained in Microsoft 365/Entra ID (and any HR provisioning process).
Security/discovery: Depending on tenant settings, some accounts (service accounts, shared mailboxes, external/guest users) may not appear as expected.
6. Operations and Support
6.1 Common support issues and triage
Users cannot find an employee they expect
Confirm the user exists in Entra ID and has a valid mailbox/profile.
Verify the target user’s DisplayName/GivenName/Surname/Mail/UPN are populated correctly.
Check if the user is hidden from address lists or is a non-standard object (shared mailbox, room/resource, guest).
Test the search using a different search term (first name, last name, alias).
Photos do not display
Confirm the employee has a profile photo in Microsoft 365.
Confirm the signed-in user has permission to view profile photos (tenant policies may restrict).
Check if the image control is using the correct connector method (e.g., UserPhotoV2) and handling missing photos gracefully.
App appears slow or results lag
Check for excessive connector calls (search firing on each keystroke).
Reduce top value and/or add a debounce/search button.
Use Power Apps Monitor to identify slow network calls and control rendering bottlenecks.
7. Reference Links (Technical + Training)
Power Apps: Office 365 Users connection (how to add/use) – Microsoft Learn
https://learn.microsoft.com/en-us/power-apps/maker/canvas-apps/connections/connection-office365-users
Office 365 Users connector reference (actions, limits, known issues) – Microsoft Learn (Connectors)
https://learn.microsoft.com/en-us/connectors/office365users/
Power Apps Monitor (performance troubleshooting) – Microsoft Learn
https://learn.microsoft.com/en-us/power-apps/maker/canvas-apps/monitor-overview
Share a canvas app (roles, permissions, governance) – Microsoft Learn
https://learn.microsoft.com/en-us/power-apps/maker/canvas-apps/share-app
Power Apps training modules – Microsoft Learn Training
https://learn.microsoft.com/en-us/training/powerplatform/power-apps
Canvas app performance tips – Microsoft Learn
https://learn.microsoft.com/en-us/power-apps/maker/canvas-apps/performance-tips