Documentation
How Presify works.
For the team leaders who read the reports and the IT admins who turn Presify on: setup, what we collect, how to read your reports, what the anomaly patterns mean, and how your data is handled.
Getting started
Presify is built on Microsoft Graph, so there is nothing to install on devices. A Microsoft tenant administrator grants Presify read-only consent once, then chooses who to monitor: everyone in the directory, or specific people. Guest accounts are never monitored.
From the Security page you can review exactly what Presify can and cannot see. The Microsoft permissions we request are all read-only and limited to presence, user profiles, and group and directory information: the minimum needed to label and scope the people you monitor.
Microsoft Graph permissions
Presify requests five read-only Microsoft Graph permissions: four application permissions a tenant admin consents to once, plus one delegated permission for sign-in. Nothing here grants access to message content, chats, calls, files, or calendars.
- applicationPresence.Read.All
- Reads each monitored user’s Teams presence: Available, Away, Busy, Offline, and the activity behind it. This is the core signal Presify reports on.
- applicationUser.Read.All
- Reads basic directory profile (display name, user principal name, account type) to label the people you monitor and to exclude guest accounts.
- applicationDirectory.Read.All
- Reads group membership, so you can scope monitoring to a security or distribution group and keep group-based enrollment in sync.
- applicationMailboxSettings.Read
- Reads only each user’s time zone and working hours from their Outlook mailbox settings, so timelines render in their local time and the business-hours overlay is correct. It does not read mailbox content (no email, no calendar), only those two settings.
- delegatedUser.Read
- Lets each authorized person sign in to Presify with their own Microsoft account. It grants no access to anyone else’s data.
What Presify collects
Presify reads the Teams presence your team already broadcasts: the availability and the activity behind it. It never reads message content, chats, calls, files, or calendars.
- Available: online and reachable.
- Busy: online but in a call or meeting, or set to Do Not Disturb.
- Away: signed in but idle.
- Offline: not signed in (shown as the gray track on the timeline).
Presence is sampled by polling Microsoft Graph on a short, regular interval, so the timeline reflects each user’s status at each sample rather than every momentary change.
What monitored users experience
Presify does not install an agent or interrupt monitored users. Presence is read from the Microsoft Graph API on the server side, so there is no software on anyone’s device and nothing to install or sign into. Teams behaves exactly as before.
Because Microsoft does not display a user-facing prompt for tenant-admin Graph consent, your team will not see a notification from Presify. Providing any employee notice required by law or policy is your responsibility, and we recommend telling your team that their presence is monitored: see the FAQ and Section 6 of the Terms.
Reading your dashboard and reports
The dashboard shows each monitored user’s day as a status bar over your business hours, colored by presence (green Available, amber Away, red Busy, gray Offline). Time that hasn’t happened yet stays gray.
Online time counts the time a user showed as Available or Busy. Away and Offline do not count toward online time. Click any user to open a calendar: months with monitoring data are highlighted, and clicking a day shows that day’s full presence timeline.
Reports export the same analysis to Excel for a date range, with a methodology sheet so the numbers are reviewable for HR or compliance.
Understanding anomalies
Anomaly detection is probabilistic. Each flag marks a presence pattern that stands out from typical interactive use, shown with the math behind it, and should be reviewed alongside other context. Presify describes what it observed, not intent. The patterns Presify checks:
- Idle suppression
- A long, continuous online period with no idle time recorded at all.
- Unbroken Available
- Stayed Available with no status change for an unusually long, continuous stretch.
- Overnight presence
- Recorded online time during overnight hours, between midnight and 5 a.m.
- No activity variation
- Online for most of the day with no change in the reported Teams activity.
- Robotic regularity
- Status changes spaced at unusually even, regular intervals.
- Weekend uniformity
- Weekend presence totals are statistically similar to weekday totals.
Data handling and privacy
Presify runs on US-based cloud infrastructure. Every record is scoped to your tenant and encrypted, access is least-privilege, and state-changing actions are recorded in your audit log. Retention depends on your plan.
You can delete a single user’s presence history or your whole account’s data at any time from Settings. Presify is US-only: people with an EEA, UK, Switzerland, or Canada work location are automatically excluded from monitoring. See the FAQ and Data Processing Agreement.
Ready to set up your workspace?