Microsoft 365
⚠️ Microsoft 365 / Microsoft Graph OAuth is currently disabled. While Microsoft's verification is pending, the OAuth path is turned off. Connect Outlook / Microsoft 365 mailboxes via IMAP instead (app password or Modern Auth). See /docs/integrations/imap/setup. Existing connections continue to work until disconnected.
The Microsoft 365 integration (via Microsoft Graph) is a per-employee delegated OAuth integration, the same per-employee pattern as Gmail. Each employee connects their own Microsoft 365 account and grants access to two things:
- Outlook email signals (
Mail.Read): sent / received counts per employee per cycle. No message bodies. - Microsoft Teams call-quality transcripts (
OnlineMeetings.Read,OnlineMeetingTranscript.Read.All): meeting transcripts used by the call-quality analysis.
It also requests User.Read to identify the connecting account. That is the full scope set: Mail.Read, User.Read, OnlineMeetings.Read, OnlineMeetingTranscript.Read.All.
Not an org-wide / HRIS sync. Microsoft Graph does not pull your employee roster, manager hierarchy, departments, account-enabled status, or start dates in PerfCopilot. There is no app-only (daemon) directory sync and no
User.Read.All/Directory.Read.Allconsent. For an org-wide employee directory and manager relationships, connect BambooHR instead.
What we pull
Each employee's delegated grant lets PerfCopilot read, for that employee only:
- Email metadata: sent / received counts (headers only, no bodies, attachments, or subject lines)
- Microsoft Teams meeting transcripts, used for call-quality scoring
Connecting
This is a per-employee integration: each employee connects their own account. No Global Administrator or domain-wide consent is involved.
- Sign in to https://app.perfcopilot.com as the employee whose Microsoft 365 account you're connecting.
- Open Account → Integrations, find the Microsoft 365 card, and click Connect.
- Microsoft's consent screen opens in a popup. Sign in with the Microsoft 365 account you want to connect and approve the requested scopes.
- After consent, PerfCopilot can read that employee's email metadata and Teams transcripts for each review cycle.
Managers can send a one-click invite link from Employees; recipients land on a magic-link page that triggers the OAuth flow for their own account.
What hits a review
- Email volume (sent / received) contributes to the email-signal aggregation in the AI prompt.
- Teams meeting transcripts feed call-quality analysis, which surfaces per-skill scoring.
Microsoft Graph data does not populate the org chart, manager routing, or start dates: those come from BambooHR or manual entry.
Privacy notes
- PerfCopilot reads only email metadata (headers, never bodies) and Teams transcripts for the connecting employee.
- This uses delegated user permissions, not app-only (daemon) permissions: each employee consents for their own account.
- No Global Administrator grant and no domain-wide directory access is requested.