Skip to main content

Documentation

How Presify works.

Presify is a Microsoft Teams presence tracker. This page is for the owners and managers who read the timelines and the IT admins who connect it. It covers setup, what we collect, how to read your dashboard and reports, what the flags mean, how your data is handled, and how to ask your AI assistant.

About 5 minutesSetup, about five minutes, one read-only Microsoft sign-in
0Installs on anyone’s device
4Read-only application permissions, approved once
6Flags, all six on Pro and Scale
On this page

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. Setup takes about five minutes, and presence history builds from that point on: Teams keeps no history of its own for Presify to backfill.

  1. 1An admin approves read-only access

    One Microsoft sign-in by a Microsoft 365 admin. Nothing installed.

  2. 2Choose who to monitor

    Everyone in the directory, or specific people. Guests are never monitored.

  3. 3History builds from there

    Presence is sampled on a short, regular interval from the moment you connect.

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 four read-only application permissions, which a tenant admin consents to once, plus the delegated User.Read permission each person grants when they sign in to Presify. Nothing here grants access to message content, chats, calls, files, or calendars.

Showing 5 permissions

  • ApplicationRead-only
    Presence.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.

  • ApplicationRead-only
    User.Read.All

    Reads basic directory profile (display name, user principal name, account type) to label the people you monitor and to exclude guest accounts.

  • ApplicationRead-only
    Directory.Read.All

    Reads group membership, so you can scope monitoring to a security or distribution group and keep group-based enrollment in sync.

  • ApplicationRead-only
    MailboxSettings.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.

  • DelegatedRead-only
    User.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.

Read: Teams presence

  • 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).

Never read

  • Messages
  • Chats
  • Calls
  • Files
  • Calendars

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. We recommend telling your team that their presence is monitored: see the FAQ and Section 6 of the Terms.

A notice template is built in. Settings, then Employee notice, holds a template you can copy or download, and a way to record when you provided it.

Reading your dashboard and reports

The dashboard shows each monitored user’s day as a 24-hour status bar with their business hours outlined, colored by presence (green Available, amber Away, red Busy, gray Offline). Time that hasn’t happened yet stays gray.

The Presify dashboard: Online now, Avg online and Open anomalies tiles above the Presence timeline, one 24-hour bar per member with online time and time zone.
The dashboard, sample data.

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 their presence calendar: months with monitoring data are highlighted, and clicking a day shows that day’s full presence timeline.

Selected day · Priya NairSample data
Friday, June 5, 20266h 42m online
AvailableAwayBusyOut of officeOfflineNo dataBusiness hours

Times shown in CDT (their Outlook timezone) · Business hours 08:00–17:00 CDT (their Outlook working hours)

Hover or tab through the bar for each segment.

TimeStatusDuration
8:05 AM – 9:30 AMAvailable1h 25m
9:30 AM – 10:15 AMIn a meeting45m
10:15 AM – 10:40 AMBe right back25m
10:40 AM – 12:00 PMAvailable1h 20m
12:00 PM – 12:45 PMAway45m
12:45 PM – 2:10 PMAvailable1h 25m
2:10 PM – 2:55 PMIn a call45m
2:55 PM – 3:20 PMAway25m
3:20 PM – 4:22 PMAvailable1h 02m

Available plus Busy on this sample day adds up to 6h 42m online. The three Away stretches do not count.

Reports export the same analysis to Excel for a date range, with a methodology sheet so the numbers are reviewable for HR or compliance. Reports are available from Standard up; the Member CSV is on every plan.

  • PDF scorecard
  • Excel report
  • Member CSV
  • Anomalies CSV

Understanding flags (anomalies)

Flags come from Presify’s anomaly detection and appear on the Anomalies page in the app. Anomaly detection is probabilistic: each flag marks a presence pattern that stands out from typical interactive use. Every pattern shows how it is calculated, and a flag should be reviewed alongside other context, since Presify describes what it observed, not intent. The patterns Presify checks:

  • Basic and the free trial0
  • Standard · Idle suppression1
  • Pro and Scale · all six6
  • Idle suppression

    HighStandard and up

    A long, continuous online period with no idle time recorded at all.

    How Idle suppression is calculated

    Looks for a continuous stretch where the account stays present and never reports Idle. Teams normally switches an account to Idle after the keyboard and mouse are inactive for a few minutes. This flags a span of 5 or more hours of presence with no Idle at all, but only when the rest of that day is flat (few status changes around the span), so a genuine heads-down work block inside an otherwise active day is not flagged. Flagged high. (The 5-hour floor and this flat-day check are tunable per workspace.)

  • Unbroken Available

    MediumHigh at twice the thresholdPro and Scale

    Stayed Available with no status change for an unusually long, continuous stretch.

    How Unbroken Available is calculated

    Looks for a single Available status that runs with zero changes for at least your anomaly threshold (4 hours by default). Typical use records frequent transitions like Away, Busy, or In a meeting. Flagged medium, or high once the run reaches twice the threshold.

  • Overnight presence

    LowMedium on 2+ nightsPro and Scale

    Recorded online time during overnight hours, between midnight and 5 a.m.

    How Overnight presence is calculated

    Adds up online time (green statuses only, so Away and Offline do not count) that falls inside the overnight window, midnight to 5 a.m. in your timezone, for each calendar day. A day is flagged only when that total reaches at least 60 minutes, so a brief 3 a.m. email check is ignored. One night is low severity, the same pattern on two or more nights is medium.

  • No activity variation

    MediumPro and Scale

    Online for most of the day with no change in the reported Teams activity.

    How No activity variation is calculated

    Checks days where the account is online for at least your anomaly threshold (4 hours by default) but the Teams activity never changes, staying on a single value all day with no In a call, Presenting, or Be right back. Flagged medium.

  • Robotic regularity

    HighPro and Scale

    Status changes spaced at unusually even, regular intervals.

    How Robotic regularity is calculated

    Measures the time between status changes and tests how even those gaps are. With at least five consecutive gaps it computes the coefficient of variation (the standard deviation divided by the mean), and a value below 10 percent means the changes are spaced almost perfectly evenly. Flagged high.

  • Weekend uniformity

    LowPro and Scale

    Weekend presence totals are statistically similar to weekday totals.

    How Weekend uniformity is calculated

    Compares average online time on weekdays against weekends over the reporting window, and needs at least five weekdays and two weekend days to run. When the two averages land within 10 percent of each other, weekend activity closely mirrors weekday activity. Informational, flagged low.

Presence isn’t productivity. Presify gives you a directional read on when people are online and how much, and flags patterns worth a look. What you do with it starts with a conversation.

Data handling and privacy

Presify is built and hosted in the US: your workspace data is stored and processed 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.

PlanTeam sizeHistory kept
BasicUp to 5 people
7 days
StandardUp to 15 people
30 days
Pro 50Up to 50 people
180 days
Pro 100Up to 100 people
180 days
Pro 250Up to 250 people
180 days
Scale251 seats and up
360 days

Presify can track people in most countries except the European Economic Area, the United Kingdom, Switzerland, and Canada. Anyone whose Microsoft 365 directory location (usage location or country) is set to one of those is excluded automatically, so keep those fields populated. Wherever your people are, your organization is responsible for notice, a lawful basis, and the local laws that apply to them. See the FAQ and Data Processing Agreement.

Ask your AI assistant

Every plan includes a read-only connector for AI assistants that support the Model Context Protocol (MCP), such as Claude, ChatGPT, and Microsoft Copilot (through Copilot Studio). Connect one and ask about presence history, online time, flags, and coverage in plain language; flag and coverage answers follow your plan.

An assistant sees only what the person who connected it can see in Presify, so a monitor gets answers only about the people assigned to them. It can never change anything, and any connection can be revoked at any time under Settings, then Connections. Connections and revocations are recorded in your audit log (viewable on Pro and Scale). Per-assistant setup is in Connect an AI assistant, and the connector’s compatibility promises are in the API versioning policy.

Ask your AI assistantSample data

How many hours a day was my team online the week of May 18?

Presify · get_presence_summary · read-only

Online time (Available plus Busy), May 18 to May 22:
Marcus Chen35h 12m
Priya Nair36h 18m
Sofia Reyes37h 24m

That averages about 7.3h a tracked day per person.

A pattern, not proof.

Connect an AI assistant

Set up Presify in about five minutes.

One read-only Microsoft sign-in, nothing installed, and the history starts building from the moment you connect.

The free trial tracks just you. Add your team on any paid plan.