Microsoft Contacts Connector
Use this page when you need the Microsoft-side setup details for the Microsoft Contacts connector. For shared connector behavior, start with Connectors Overview and Provider Auth And Setup.
Runtime Shape
Section titled “Runtime Shape”- Implemented modes: fixed
live - Auth binding: Better Auth generic OAuth provider id
microsoft - Callback URI examples:
http://localhost:3001/api/auth/oauth2/callback/microsofthttps://auth.example.com/api/auth/oauth2/callback/microsoft
- Setup console URL:
- Required connector scopes:
People.ReadContacts.Read
Provider-Specific Gotchas
Section titled “Provider-Specific Gotchas”- Microsoft Contacts is a separate connector key:
microsoft-contacts. Do not reuse, rename, or broaden the existingoutlookmail connector. - The runtime uses Microsoft Graph Search API
POST /v1.0/search/querywithentityTypes: ["person"]for focused people search, because Microsoft directs future people-search investment toward Search rather than/people. - Broad saved-contact list prompts use Microsoft Graph
/me/contactswith delegatedContacts.Read. - Microsoft Search
personresults are relevance-ranked people/contact results, not a complete tenant directory dump. Custom sort and aggregation are not supported forperson. - The connector uses delegated
People.ReadandContacts.Read. Do not addUser.ReadBasic.All, stronger directory scopes, or application permissions unless the product explicitly accepts the added semantics and admin-consent/privacy model. - Microsoft Contacts, Outlook, and OneDrive share the same connector auth binding. Reauthorization under an existing linked
microsoftaccount requests the full scope set needed by sibling Microsoft connectors under that account. - Contact grounding must preserve Microsoft source semantics:
/me/contactsresults aresaved-contact, Graph Search results may bedirectory-person,organization-contact,saved-contact, orrelevant-persondepending on provider metadata.
Canonical Sources
Section titled “Canonical Sources”packages/domain/src/connectors/connectorRegistry.tsapps/auth/src/genericOAuthProviders.tsapps/api/src/mastra/tools/microsoftContactsLiveQuery.tsapps/api/src/connectors/liveAccessContactContracts.tsdocs/features/connectors/spec.mddocs/features/live-query/spec.md