How to see staff online hours on Microsoft Teams
You run a small team on Microsoft 365, probably remote or hybrid, and you are very likely your own IT admin. You do not want to micromanage anyone. You just want a plain answer to a plain question: roughly when are my people online and reachable on Teams? Not "are they working hard," not "what are they typing." Just are they around during the hours we cover, so you can plan.
Teams looks like it should tell you this. Every name has a little colored dot. But the dot is built for one moment, and your question is about a stretch of time. This guide walks through the options, then the lightest way to get an answer without buying surveillance software.
One framing to hold throughout: presence shows when someone was reachable in Teams, not what work they did or how productive they were. It is evidence for a conversation about coverage, not a verdict on a person.
What the colored dot actually means
Teams blends a few signals (whether the app is open, recent device activity, the calendar, calls) into one status:
| Status | Color | What it usually means |
|---|---|---|
| Available | Green | Teams is open and the person has been active recently |
| Away | Yellow | No input for about 5 minutes, or set by hand |
| Busy | Red | In a meeting or on a call, or set by the calendar |
| Offline | Gray | Teams is closed, signed out, or set to appear offline |
Two things trip people up. First, away does not mean gone. Yellow only means Teams saw no input for about five minutes. The person could be on a call, reading, or heads-down in another app. Second, a single dot is a snapshot. One yellow at 2pm tells you almost nothing. Yellow every afternoon for two weeks is worth a conversation. The pattern over time is the signal, not the one frame.
The options for seeing online hours
There is no setting in Teams that hands you an "online hours" report. The current dot is all Teams shows, and it is gone the moment it changes. To see online time as a pattern, something has to capture each change as it happens and store it. Here are the realistic ways.
Option 1: Just watch the dots
Glance at people's status through the day and keep a mental note. For one person on one day, this is fine. As a way to run a team, it falls apart fast: it does not scale, it leaves no record, and it only works while you are at your desk watching. You cannot reconstruct last Tuesday afternoon, because nothing was ever saved.
Option 2: The Microsoft 365 admin reports
Since you are likely the admin, you may have spotted the Teams user activity report in the admin center. It counts actions: messages sent, meetings attended, calls, days active. It does not record presence status over the day. So it can tell you someone used Teams on Monday. It cannot tell you they showed as available between 9 and 1. Different question, different answer.
Option 3: A maintained tool that records presence for you
The thing that actually answers "when are my staff online" is a service that reads the Teams presence signal on a schedule, stores each change, and turns it into readable online hours and timelines. You hand off the plumbing for a subscription. The questions that matter: is it read-only, does it install anything on anyone's computer, and can you delete the data.
That third option is where Presify fits, so here is what it is, and just as important, what it is not.
What this is not: agent-based monitoring
Search for a way to see staff hours and much of what comes up is employee-monitoring software: an agent installed on every computer that captures screenshots, logs keystrokes, tracks apps and websites, and rolls it into a "productivity score." For a small team that just wants to know who is reachable, that is the wrong size for the problem, and the fastest way to make good people feel watched.
Presence history is a much lighter signal:
- No agent. Nothing gets installed on anyone's computer. Nothing to download or worry about.
- No screenshots, ever. Presify never looks at anyone's screen.
- No keystroke logging, ever. It does not record what anyone types.
- No content. It never reads messages, chats, calls, files, or calendars.
It reads one thing Teams already calculates: the presence status. You see when people were online, and nothing about what they did.
How Presify works, in plain terms
Presify reads the Teams presence status (available, away, busy, offline) through Microsoft's own Graph presence service on a short schedule and saves each change. From that it builds the views a small-business owner actually needs:
- Online hours and timelines per person. A readable strip of when someone was available, away, busy, or offline across a day, a week, or a month, so you see their real working rhythm.
- Online-time trends. How reachable hours are trending over the weeks, per person and across the team, so a drift in coverage shows up early.
- Anomaly flags with the math shown. A gentle nudge when someone's pattern departs from their own normal, with the calculation right there so you can judge it. A flag starts a conversation, not a verdict.
Setup is light, which matters when you are the admin too. No software rollout, no project. You sign in once with Microsoft and grant a single read-only consent to read presence and the basic directory fields needed to label people. On a small team you are usually the admin, so you can often grant it yourself the minute you sign up. After that, it just runs.
A few more things we are deliberate about. Your data is tenant-isolated and US-based, scoped to your own Microsoft tenant. Retention is yours to control: history is trimmed automatically by your plan, with per-user and whole-workspace deletion built in. And it is scoped responsibly: guest accounts are never monitored, and Presify does not enroll users in the EEA, the UK, Switzerland, or Canada.
Doing this fairly
Keeping presence history is reasonable. It also erodes trust fast if you do it in secret. The fix is easy: tell your team, in plain language, that presence is being kept and why. Quiet monitoring is a far bigger risk to a small team than the law is. Use what you see as context, not a scorecard. For more on the leader's view, we wrote how to know when your remote team is available.
The short version
Watching the dots saves nothing, and the admin report counts actions, not online hours. The lightest way to see when your staff are online is a read-only tool that records the presence status Teams already computes, with no agent, no screenshots, and no keystroke logging. That is what Presify does, set up with one Microsoft sign-in.
If that fits how you want to run your team, the Presify for small business page lays out the use cases. Pricing is flat by the number of people you monitor, so small teams start on the lower tiers (see pricing). When you are ready, see how Presify works or start with one Microsoft sign-in.