3 Ways to Monitor User Activity on Zoom

Zoom has become the default meeting room for teams, classrooms, and even family catch-ups. When so much discussion happens in one place, IT admins shoulder the job of keeping sessions secure.
Tracking who joins, what they share, and where data travels helps spot leaks early and prove compliance later. Below, you’ll find three straightforward ways to monitor user activity without disrupting the flow.
Table of Contents
Use Zoom’s UI
Here, you’ll use the Zoom web portal to pull built-in reports that show who’s meeting, when, and for how long.
Step 1: Sign in with the right role
- Open your browser, head to zoom.us, and sign in with your work credentials.
- Make sure you’re either an account owner or have admin rights; the Reports menu only shows up for those roles.
Step 2: Open the Reports section
- In the navigation ribbon on the left, expand the Account Management section.
- Click the Reports option that now appears under Account Management.
- Under the broader Reports menu, pick the Usage Reports subsection.
Step 3: Find the meetings you want to review
- Pick the date range you care about, then hit the Search button.
- The Usage report lists every meeting that started in that window.
- Check the columns for Meeting ID, Topic, Start Time, and Duration to see quick stats.
Step 4: Drill down into participant details
- In the Usage list, click the blue number in the “Participants” column.
- A pop-up shows each person who joined, their join and leave times, and total minutes in the session.
- If you need the data offline, click Export to download a CSV.
Step 5: Spot real-time activity in the Dashboard (Business, Education, Enterprise)
- In the same left panel, click the Dashboard option.
- Select Meetings, and the live view shows which sessions are happening right now, who’s in them, and basic quality stats.
- Click a meeting name for a deeper look at individual users, including their join time and device.
Step 6: Schedule regular check-ins
- Reports only cover twelve months of history, so export data on a cadence that fits your audit rules.
- Stash the CSV files in your compliance folder or BI tool for trend analysis later.
With those steps complete, your reporting workflow is officially set. All monitoring happens inside Zoom’s own UI, no extra tools or coding needed.
Use Torii
Skip the Zoom admin dashboard and monitor user activity in Torii, a SaaS Management Platform (SMP). With Torii, IT sees every subscription in one place, eliminating blind spots across all your apps.
1. Sign up for Torii
Reach out to Torii’s team and request a complimentary two-week proof-of-concept to test the platform in your environment.
2. Connect your Zoom account to Torii
Once your Torii environment is active, link your existing Zoom tenant using the integration wizard that appears in your dashboard. Follow the Zoom integration guide for step-by-step instructions.
3. Search for Zoom within Torii
Use the search bar at the top of the Torii dashboard to look up “Zoom.” You’ll land on the Zoom overview page, where you can view license counts, spend history, upcoming renewal dates, and other pertinent details.

Or, chat with Eko
You can also pull up Zoom details in Torii through Torii’s AI companion, Eko. Click the Eko bubble in the dashboard’s lower-right corner and type a request for Zoom details. Eko then drops the information into the same chat thread.

Use Zoom’s API
The steps below pull user sign-in and meeting data straight from Zoom, ready for your own dashboards or audits. No dashboards to click, only API calls.
Step 1: Grab an access token
Zoom’s protected endpoints need a short-lived token.
- In your Server-to-Server OAuth app, note the
account_id
,client_id
, andclient_secret
. - Send a POST request:
POST https://zoom.us/oauth/token?grant_type=account_credentials&account_id=YOUR_ACCOUNT_ID
Authorization: Basic BASE64(client_id:client_secret)
- Copy the
access_token
from the JSON response. It lasts one hour.
Step 2: List recent users who signed in
Call the Reports endpoint to see who logged in during a date range (max 30 days per call).
GET https://api.zoom.us/v2/report/users?from=2023-09-01&to=2023-09-07&page_size=30
Authorization: Bearer ACCESS_TOKEN
When the call succeeds, the API returns several useful fields. You can store them in your database or display them on screen once they arrive.
The API returns:
id
name
last_login_time
meetings
(count of hosted meetings)
Store or display the data in whatever system makes sense. If you see next_page_token
, keep calling the same endpoint until it disappears so you don’t miss later pages.
Step 3: Pull detailed meeting history for one user
Grab the user ID you just captured in the previous step; you’ll pass it to the next call for detailed history.
GET https://api.zoom.us/v2/report/users/USER_ID/meetings?type=past&from=2023-09-01&to=2023-09-07&page_size=30
Authorization: Bearer ACCESS_TOKEN
This response includes meeting IDs, durations, and the number of participants, giving you everything you need for attendance metrics.
Step 4: Check live or recently ended meetings
If your plan includes the Dashboard feature, you can monitor user activity almost in real time rather than waiting for reports.
GET https://api.zoom.us/v2/metrics/meetings?type=live
Authorization: Bearer ACCESS_TOKEN
For every live meeting returned, make note of its id
value, because you’ll need it to pull the participant list for that session.
GET https://api.zoom.us/v2/metrics/meetings/MEETING_ID/participants?page_size=30
Authorization: Bearer ACCESS_TOKEN
This returns current participants and join times, handy for attendance tracking.
Step 5: Store and schedule
- Poll the endpoints on a schedule that fits Zoom’s rate limit (10 requests per second, 30 k per day).
- Write results to your own database or analytics tool.
- Alert or report off that data, no extra Zoom UI work required.
With those steps, your integration is already up and running. These calls funnel logins, past meetings, and live presence straight into your database, freeing you from chasing reports in the Zoom UI.
Torii for SaaS Management
If you’d like to explore SaaS Management further, let us know. Torii’s SaaS Management Platform helps you to:
- Discover shadow IT: Torii scans 24/7 and flags unapproved apps as they appear.
- Reduce spend: Identify idle licenses and overlapping tools before they bloat the budget.
- Automate onboarding & offboarding: Hand off repetitive account tasks and lower human error when people come or go.
- Stay ahead of renewals: Get reminders in time to renegotiate or cancel contracts.
Torii brings Finance, IT, and Security together on one SaaS Management platform with shared data.
Learn more by visiting Torii.
Frequently Asked Questions
You have three options: pull built-in Usage and Dashboard reports in the Zoom web portal, connect your tenant to Torii for cross-app visibility, or call Zoom’s Reports and Metrics APIs to feed raw data into your own dashboards.
The Usage report lists every meeting within a chosen date range, showing ID, topic, start time, duration, and participant counts; drilling into a meeting reveals join and leave times for each attendee, all downloadable as a CSV.
Torii centralizes Zoom license counts, spend, renewal dates, and user activity. After integrating, admins can search the Zoom page or ask Eko, Torii’s AI assistant, for instant stats without opening the Zoom dashboard.
Use GET /report/users to list recent logins, then GET /report/users/{userId}/meetings for historical sessions. For live data, call /metrics/meetings?type=live followed by /metrics/meetings/{meetingId}/participants. All endpoints need a short-lived bearer token from a Server-to-Server OAuth app.
Zoom only retains 12 months of report history, so export CSVs monthly or quarterly—whatever matches your audit policy—and archive them in a secure repository or BI tool to preserve evidence for future compliance reviews.
Zoom enforces 10 API requests per second and 30,000 per day across an account. Plan your polling schedule and pagination loops accordingly to avoid rate-limit errors and ensure all user and meeting data is captured.