On this page
Short answer: no. Microsoft Teams does not keep a history of presence, so someone's past status is gone unless something captured it at the time. The colored dot you see (green for available, yellow for away, red for busy, gray for offline) tells you the state right now. It is not a record you can rewind.
Looking up what someone's status was last Tuesday afternoon is not possible after the fact. This guide explains why, and how to start tracking presence so that next time the history is there: who was online, when, and for how long.
Why can't you see someone's past Teams status?
You can't see it because Teams presence is live, not stored. It is computed in the moment from signals like calendar, calls, and recent activity, and it answers exactly one question: what is this person's status right now. Once the moment passes, Teams does not retain the old value anywhere you can query.
Teams dropping past status is a design choice, not a setting you can flip on. There is no log to dig up, no admin toggle, and no support ticket that recovers a presence timeline that was never recorded.
People often assume the Microsoft 365 admin center can fill the gap. It cannot, at least not for this. The Teams user activity report counts actions (messages sent, meetings attended, calls) and shows the last date a person was active.
The activity report does not record presence status (available, away, busy, offline) over time. So it can tell you someone used Teams on a given day. It cannot tell you whether they showed as available at 2pm.
The conclusion is simple. To have presence history, something has to capture it as it happens and store it. If nothing was capturing it, the past is unrecoverable.
What can you do instead?
You can start a record from today, even though you cannot go backward. Presence history only exists if you build it, and there are two practical paths.
Capture it yourself with a script
Microsoft Graph exposes a presence endpoint. You can write a script (PowerShell is common) that reads it on a schedule and writes each result to a file or spreadsheet. From that point on, you have a record.
This is the cheapest way to begin, and for a single short-term question it can be enough. The trade-offs are real:
- It only samples when it runs. If the machine running it is asleep, there is a gap in your data.
- You own the storage, the formatting, the charts, and the upkeep.
- There is no access control, retention policy, or audit trail unless you build each one.
- It is easy to point at the entire directory by accident, which is the kind of over-collection worth avoiding.
We walk through the script approach and its limits in how to see Teams status history.
Use a tool that polls and stores it for you
The other path is a presence tracker: a service that reads the Graph presence API on a regular schedule, stores each change, and turns it into something readable. That is what Presify is.
Presify samples Teams presence through the Microsoft Graph presence API on a short, regular interval, stores each change, and keeps the history. You can then see who's online, when, and for how long. From that record it builds a timeline for each person and each team, online-time totals and trends, and, depending on your plan, flags for presence that looks gamed. The record starts when you connect, not before, for the same reason every other option starts then: the data simply did not exist until something captured it.

A few things we are deliberate about:
- Quick and light. Setup is one read-only Microsoft sign-in by an admin, about five minutes. There is nothing to install on anyone's device.
- Read-only and minimal. Presify reads presence plus the basic directory fields it needs to label and scope users. It never touches message content, chats, calls, files, or calendars.
- Tenant-isolated and US-based. Your data is scoped to your Microsoft tenant and processed on US infrastructure.
- Retention you control. History is trimmed automatically by your plan, and per-user and workspace-wide deletion are built in.
- Scoped by design. Guests are never tracked, and people whose Microsoft 365 location is in the EEA, the UK, Switzerland, or Canada are excluded automatically.
See your team's history, not one moment
Connect Microsoft once and Presify starts keeping every status change from that point on, on a full 24-hour timeline per person.
Reading presence history well
The reason to keep the history at all is that the green dot only ever shows one moment. Someone can stay green all day and barely be around: a mouse jiggler keeps Teams showing Available. Someone who always looks yellow might be doing their best work at 11pm.
A single glance, or a single Tuesday afternoon, cannot tell those apart. Weeks of history show the pattern behind both.
Hold the result in proportion, though. A timeline shows what someone's status displayed, not why. A long stretch of yellow might mean focused offline work, a calendar quirk, or a laptop left to sleep. Presence is directional: a starting point for a conversation, not the whole story.
Two practical habits help:
- Tell your team that presence is being tracked. People respond better to a measure they know about than to one they discover. Whether a notice law applies is a separate question: some states, Connecticut among them, have an electronic-monitoring notice statute, so confirm with counsel what yours covers.
- Look at patterns over time rather than reacting to any single afternoon. Presify anomaly flags always show how they're calculated for the same reason: a flag is an invitation to ask a question, not an answer.
The takeaway
You cannot see someone's past Teams status if nothing recorded it, because Teams keeps no presence history of its own. What you can do is start a record from today, either with a script you maintain or with a tool that polls and stores it for you.
To see who's online, when, and for how long from here on, see how Presify works, compare the script-versus-tool trade-off, see pricing, or start with one Microsoft sign-in. Setup takes about five minutes, with nothing to install.
Start keeping the history
Teams keeps none of its own. Presify starts yours today.
One read-only Microsoft sign-in by an admin, about five minutes, and every status change is kept from then on, for up to a year, depending on your plan.
Free 7-day trial · no credit card · nothing to install · five-minute setup