The Microsoft 365 Teams user activity report counts actions per user (messages, meetings, and calls) and shows each person's last activity date. Presify tracks presence over time: who was online, when, and for how long, and whose presence looks gamed. Use the free, built-in report for adoption and license review, and Presify when the question is presence.
Microsoft 365 admins already have that usage report built into the tenant. The report is free, already turned on, and often the right place to start. Before you go looking for another tool, know exactly what the report answers. The report answers a different question than the one most managers are asking when they search for Teams "activity."
The short version: the built-in report counts what people did, and Presify tracks what their presence showed over time. Presify is not here to replace the admin center report, and we do not try to.
What does the Teams user activity report show?
The Teams user activity report shows actions per user over a window you choose: the last 7, 30, 90, or 180 days. For each person it counts channel and chat messages, meetings attended and organized, and 1:1 calls, and it shows the last activity date and whether the user is licensed. You can view the report in the Microsoft 365 admin center or export it to a CSV file.
That is genuinely useful, and for a real set of jobs it is the correct tool:
- Adoption tracking. Is the rollout landing? Are people actually using Teams, or just logging in?
- License review. Who has a license and has not touched Teams in 60 days? That is a candidate to reclaim.
- Spotting inactive accounts. A zero-activity, never-active account stands out immediately.
If those are your questions, stop here. The admin center already has your answer at no cost, and we would point you straight to it. For more on what Microsoft itself records, see our explainer on does Microsoft Teams track activity.
Where do the activity counts stop?
The activity counts stop at the volume of actions. The report does not show presence status (available, away, busy, offline), and it does not show when during the day anything happened. Knowing someone sent 12 messages on Tuesday does not tell you whether they showed as available at 2pm or away from 1pm to 4pm.
The missing time of day matters, because the green dot can't fill the gap: the dot shows one moment, not the whole story. Someone can stay green all day and barely be around, since a mouse jiggler is enough to keep Teams showing Available. That always-green status never appears in a count of messages and meetings.
Someone who always looks yellow during the day might be doing their best work at 11pm, and a daily total cannot show when they were online. Counts can't show either pattern. A presence history can.
The report does not expose message content, and neither does Presify. The point of comparison is not privacy posture. It is the question each tool answers.
Counts vs presence history
Microsoft 365 activity report Built in
Action counts: messages, meetings, calls, last activity date. Totals over a fixed window (7 to 180 days).
Presify Presence history
One read-only Microsoft sign-in
AvailableAwayBusyOffline
Presence states: available, away, busy, offline, with timestamps.
| Criterion | Microsoft 365 activity report | Presify |
|---|---|---|
| Core question | How much did each user do? | Who was online, when, and for how long? |
| Unit of measure | Action counts: messages, meetings, calls, plus the last activity date | Presence states: available, away, busy, offline, with timestamps |
| Time of day | Not shown; totals over the window | Every status change on a 24-hour day view |
| Status over time | Not shown | Sampled on a short, regular interval, each change stored |
| Time view | Totals over a fixed window (7 to 180 days) | Timelines and online-time trends, per person and per team |
| Presence that looks gamed | Not included | Six automatic flags on Pro and up, each showing how it’s calculated: four jiggler-type patterns (such as unbroken Available and no idle time) and two unusual-hours patterns (overnight, weekend); Standard runs one |
| Message content | Not exposed | Never read |
| Cost | Free, built into the tenant | Paid subscription, with a free trial |
| Setup | Already on | One read-only Microsoft sign-in, about five minutes, nothing installed |
| Best at | Adoption, license review, inactive accounts | Presence history, online time, and presence patterns |
What Presify is: a Microsoft Teams presence tracker
Presify tracks Microsoft Teams presence for your whole team and keeps the history. It samples presence through the Microsoft Graph presence API on a short, regular interval, stores each change, and gives you:
See the pattern.
A timeline per person and per team, online-time totals and trends, and every status change on a 24-hour day view, with up to a year of history depending on plan.
Spot presence that looks gamed.
Six automatic flags surface unusual presence patterns, and each one shows how it’s calculated. Four of them (unbroken Available, no idle time, robotic regularity, no activity variation) are the patterns a mouse jiggler or keep-alive script tends to leave. Two, overnight presence and weekend uniformity, mark unusual hours, which can just as easily be someone working late. All six run on Pro and up; Standard runs the Idle suppression flag, and Basic and the free trial run none.
Quick and light.
One read-only Microsoft sign-in, nothing installed on anyone's device, no screenshots, no keystrokes, no message content.
Ask your AI assistant.
A read-only connector built on the open Model Context Protocol (MCP) lets Claude, ChatGPT, Microsoft Copilot (through Copilot Studio), and other MCP clients answer your questions in plain language. It is on every plan and covers presence history, online time, flags, and coverage (flag and coverage answers follow your plan). It sees only what the signed-in person can already see in Presify (a monitor sees only their own people) and can be revoked at any time. Connections are recorded in the audit log (viewable on Pro and up), and the AI assistants guide covers setup.
Presify reads presence (status and activity, such as In a call), basic directory fields, and group membership to label and scope users. Presify also reads each person's Outlook time zone and working hours. It never reads message, chat, file, or calendar content.
Presify is built and hosted in the US, and data is tenant-isolated. Access is role-based: owner on every plan, and additional admins and scoped monitors on Pro and up. Every state-changing action lands in an append-only audit log (viewable and exportable on Pro and up). Retention is trimmed automatically by plan, and per-user and workspace-wide deletion are built in.
The people you track can be in most countries except the European Economic Area, the UK, Switzerland, and Canada. Users whose Microsoft 365 directory location is set to one of those are excluded automatically, and guests are never tracked.
Presence isn't productivity. Presify gives you a directional read on when people are online and how much, and flags patterns worth a look.
A flag is a pattern, not proof. What you do with it starts with a conversation.
Wherever your people are, tell them their Teams presence is tracked before you start, and handle any consent or lawful basis local law requires. Some US states require advance written notice, and Presify includes a ready-to-adapt employee-notice template.

Who each is for
This is a fit decision, not a contest. The two tools sit side by side and answer different questions.
Microsoft 365 activity report
Use the Microsoft 365 activity report if your question is about usage and adoption: how much are people using Teams, which licenses are idle, which accounts are inactive. It is free, already in your tenant, and the right instrument for that job.
Presify
Use Presify if your question is about presence over time: who was online, when, and how much, across the day and the week, and whether anyone's presence looks gamed. The built-in report cannot tell you that, because it counts actions rather than showing status. Presify fills exactly that gap, and on every plan you can ask Claude, ChatGPT, or Microsoft Copilot about that history in plain language.
Plenty of teams will use both: the admin center for adoption and license hygiene, Presify when the question is who is online, when, and how much.
All comparisonsSetup takes about five minutes.
One read-only Microsoft sign-in by a Microsoft 365 admin, nothing installed on anyone’s device. Presence is sampled on a short, regular interval, and the history builds from the moment you connect.
- Minute 0An admin connects Microsoft
- Minute 2Pick who to track
- Minute 5The history starts building
- Day 7Your first full week to read
If presence history is what you are after, see how Presify works or start with one Microsoft sign-in. For the wider landscape, including the DIY route, our pillar guide covers how to see Teams status history.
Microsoft 365 report behavior described here reflects Microsoft's documentation as of September 2026 and can change. Presify is an independent product and is not affiliated with, endorsed by, or sponsored by Microsoft.