Teams Presence History
Capture a limited history of Microsoft Teams presence for selected employees and report on it in TATER Insights. Last updated 2026-10-29.
What it does
TATER reads each selected employee's current Microsoft Graph presence every five minutes and stores a timestamped sample for later reporting. The Teams Presence History report in TATER Insights summarizes time observed in meeting, call, available, busy, away, offline, and not-observed states. Data collection starts after the configuration is enabled; Microsoft Graph does not provide TATER with a historical presence timeline to backfill.
This is a supplementary status signal, not a measure of hours worked or proof that an employee was working. Teams presence can be manually set, stale, or affected by client/device behavior. Missing samples are shown as gaps rather than inactivity. TATER does not collect Teams status messages, chat, meeting content, or transcripts through this connector.
Requirements and safeguards
- An enabled Endpoint Activity Monitoring policy with Tier 0 in scope, a notified or consented disclosure posture, and the subject-transparency field set to true.
- A dedicated Entra application registration stored as a purpose-scoped tenant credential with purpose
teams-presence. The service will not fall back to the general scanner credential. - Microsoft Graph application permissions
Presence.Read.AllandUser.Read.All, with admin consent. - An Admin selects the enabled member accounts to include (maximum 200), confirms notice has been provided, and enters a business justification. Only selected accounts are sampled.
Graph permissions are granted on the customer's app registration. TATER does not grant consent or change the app registration. Presence.Read.All is tenant-wide at the Microsoft permission layer, so the dedicated credential and TATER's selected-user allowlist are important boundaries.
Initial setup
Open TATER Ops → Microsoft 365 → Teams Presence History to manage the live workforce-policy gate, target tenant, credential, and selected accounts. Admins can configure the existing Endpoint Activity Monitoring policy from the page; explicitly choose its disclosure posture, jurisdiction, Tier 0 scope, retention, transparency setting, and justification. TATER does not create or send employee notices.
Add a dedicated Teams presence credential for the client tenant in the M365 module by entering its tenant ID, app client ID, and newly created secret value. TATER encrypts the secret and does not display it again. The underlying route is PUT /api/tenant-credentials/{targetTenantId} with purpose: "teams-presence". Grant the two read permissions above and admin-consent them in Entra, then validate from the page. This purpose-scoped credential is separate from the general scanner credential.
Load the enabled member accounts, select between 1 and 200, choose retention from 7 to 365 days, enter a business justification, and confirm the workforce notice checkbox before enabling. TATER refuses to enable collection if Graph permissions or the workforce policy gate fail. Saving a selection with collection disabled does not start sampling.
Reporting
Open TATER Insights → Teams Presence History. The report supports a period of up to 90 days and requires the Admin role. Filter the report by selected weekdays and a time-of-day window in your browser's local time zone; overnight ranges are supported, and equal start/end times include the full day. Each row shows sampled state durations, sample count, and not-observed time. Collection runs every five minutes. A gap longer than ten minutes is counted as not observed; the first and last edges of a reporting window may be shorter than a full sample interval.
Read GET /api/teams-presence/report?periodDays=7 for the underlying report response. Opening the report is audit-logged.
Disable collection
Post the same configuration with enabled: false. Collection stops on the next scheduled run. Previously collected samples remain reportable until their retention period expires. Deleting or disabling the Graph credential also causes future samples to fail; it does not erase prior history.
Interpretation
Teams presence is best interpreted alongside endpoint input-idle samples, work artifacts, and explicit collection coverage. An “Available” or “Busy” duration is not equivalent to keyboard/mouse activity. Do not treat these totals as payroll, attendance, performance, or disciplinary evidence without an appropriate, separately reviewed organizational process.
Related: TATER Insights guide · Endpoint Management · Remote Control ATO reference.
TATER