WebAgent Contact Search
Overview
The WebAgent’s Contact Search lets users quickly address an email, find a collegue to transfer too, or start an outbound call by typing a name, address, or keyword. Under the hood the picker calls Microsoft Graph APIs to resolve the text into directory objects—users, mail contacts, and personal Outlook contacts—so that the relevant address and presence information can be displayed instantly.
How Search Works (runtime flow)
-
User types text in the search box (minimum one character).
-
Graph
/people
query runs first. This is a fuzzy, relevance‑ranked search over the signed‑in user’s "sphere", filtered by PersonType values allowed in the current bundle. -
From bundle DC 2024.02 onward, a parallel Graph
/users
query is issued using the$search
parameter, providing structured text search across additional attributes (jobTitle, department, etc.). -
Result merge & de‑duplication happens client‑side: objects with the same Azure AD object ID are collapsed.
-
The picker shows up to 100 hits ordered by Graph relevance.
Supported directory object types
PersonType | Description | License requirement |
---|---|---|
OrganizationUser |
Tenant‑member user accounts managed in Microsoft 365 admin center. |
Needs an Exchange Online license only if it is to be found via the People API. The agent performing the search does not require that license. |
OrganizationContact |
Mail contacts (usually external) created by admins and visible in the GAL. |
No license; must have a valid email address. |
PersonalContact |
Contacts stored in the signed‑in user’s Outlook mailbox. |
No license; must have an email address. |

OrganizationUser
Every cloud account in your tenant is an Entra ID Formerly known as Azure Active Directory (or Azure AD, or AAD) user (formerly Azure AD user). However, the Graph /people
endpoint classifies a subset of those accounts as PersonType.OrganizationUser
, and by default only those with an Exchange Online mailbox are returned in People results. Unlicensed or mailbox-less Entra ID users are therefore invisible to the People search but can still be discovered by the /users?$search=…
query introduced in bundle DC2024.02.
Version differences — search logic evolution
DC 2023.02 ▼ vs DC 2023.03 ▲
Feature | DC 2023.02 or lower | DC 2023.03 and later |
---|---|---|
Graph APIs invoked |
|
Same People API call |
PersonType filters |
|
|
Objects surfaced |
Tenant users with EXO mailbox |
Tenant users with EXO mailbox + GAL contacts + Outlook contacts |
License prerequisite |
Exchange Online required |
Required only for OrganizationUser |
DC 2024.01 ▼ vs DC 2024.02 ▲
Feature | DC 2024.01 or lower | DC 2024.02 and later |
---|---|---|
Graph APIs invoked |
People API |
People API + |
Searchable attributes |
Display name & aliases (implicit) |
Display name, given/sur‑name, jobTitle, department, mail, UPN In Windows Active Directory, a User Principal Name (UPN) is the name of a system user in an email address 'like' format. A UPN (for example: john.doe@domain.com) consists of the user name (logon name), separator (the @ symbol), and domain name (UPN suffix). |
Directory scope |
OrganizationUser, OrganizationContact, PersonalContact |
All left column + any Entra ID user (license-independent) |
License prerequisite |
Exchange Online for People hits |
No license needed for |
Admin tips & best practices
-
Ensure mail contacts have a valid external email attribute; otherwise they are not returned by the People API.
-
If staff must be discoverable but do not need a mailbox, rely on DC2024.02+ and verify their Azure AD accounts have the required attributes filled (e.g. department).
-
Personal contacts are visible only to the owner; advise agents to save frequent external addresses in Outlook for faster recall.