Zoom meeting reports to dashboard
How many hours your company spent in meetings last quarter.
Export the usage report from the Zoom admin dashboard and drop the CSV here. The headline is total person-hours, which is duration multiplied by participants, because a thirty minute meeting with twelve people is six hours of company time. Participants counts joins rather than unique people, so the page says so rather than pretending otherwise.
Prefer the full explorer? Open the app, or start from the generic dashboard builder.
Meeting cost is duration times attendance, and nobody reports it that way
A usage report gives you meetings, durations and participant counts, and almost every dashboard built on one reports the number of meetings. That is the least interesting number available. A company that had four hundred meetings last month sounds busy; a company that spent nine hundred person-hours in meetings last month sounds like it has a problem, and it is the same data. Multiplying Duration by Participants is one arithmetic step that changes the entire conversation.
The caveat is that Participants counts joins, not unique humans. Somebody whose connection drops and who rejoins is counted twice. Someone who dials in by phone as well as joining by app is counted twice. So the person-hours figure has an upward bias, generally in the range of a few percent for a healthy setup and considerably more for a company with poor connectivity. It is still by far the most useful number in the file, and it should be presented with that caveat attached.
How to export from Zoom
- Sign in as an account administrator Usage reports require admin privileges. Go to zoom.us, sign in, then choose Admin, Account Management and Reports.
- Choose Usage Reports and then Usage This gives one row per meeting with the host, duration and participant count. Active Hosts is a different, smaller report.
- Set the date range Zoom caps a single usage report at one month, so a quarter takes three exports. Note that down before you conclude your meeting volume collapsed in April.
- Export to CSV The export button sits above the report table. The file uses a 12-hour local time format for start and end, which is unusual and worth knowing.
- Drop the files here Merge the monthly files first if you want a quarter in one view. Department and Meeting Type become filter chips.
The usage report is meeting-level. Participant-level detail, including individual join and leave times, is a separate per-meeting report and is not available in bulk from this screen.
Try with sample Zoom data (the same columns, 98 rows, no upload needed).
What the dashboard shows
Every panel below is built from a column that is actually in the export, named the way Zoom names it.
- Person-hours over time. Duration times Participants, summed per week, which is the panel that starts the conversation about meeting culture.
- Load by department. Where the Department column is populated from your directory, this is the fairest comparison in the file.
- Duration distribution. The spikes at 30 and 60 minutes are the calendar defaults, and the size of the 60 minute spike tells you whether anyone questions them.
- Meeting type mix. Recurring against scheduled against instant. A high recurring share is standing overhead that nobody re-evaluates.
- Top hosts. By person-hours generated rather than by meeting count, which reorders the list in a way people find uncomfortable and useful.
- Recording rate. Has Recording as a share, which is a rough proxy for how much of this was broadcast rather than discussion.
Meeting ID,Topic,Host,Host Email,Department,Start Time,End Time,Duration (Minutes),Participants,Has Recording,Meeting Type,Source,Time Zone
What the usage report does not tell you
- Participants counts joins. A dropped connection and a rejoin counts twice, as does someone joining by app and by phone. The figure is biased upward, usually modestly.
- Duration is billed, and rounded. It is the scheduled or actual span as Zoom recorded it, rounded, and it includes the time the host left the room open at the end.
- Start Time is 12-hour local. Something like 04/08/2026 02:15:00 PM, in the time zone in the last column. Sorting that as text puts every afternoon meeting before every morning one.
- Meeting ID has spaces. Written as three groups of digits, which keeps it as text. Strip the spaces and a spreadsheet will convert it to a number and lose the leading digit grouping.
- One report covers one month. The date range is capped, so a quarterly view means merging three files. Nothing warns you that the range was clipped.
- Department comes from your directory. If SSO or the user profile does not populate it, the column is blank and the most useful group-by in the file is unavailable.
Report person-hours rather than meeting counts, be honest that participants are joins, and look hard at the recurring share. Most meeting reduction efforts that work start with one of those three panels.
Frequently asked questions
How do I calculate the real cost of our meetings?
Multiply Duration by Participants to get person-minutes, then divide by sixty. A thirty minute meeting with twelve attendees is six person-hours, not thirty minutes. Summing that across a quarter gives a number most leadership teams have never seen and immediately react to. Attach an average loaded hourly cost if you want it in currency, though the hours figure alone is usually persuasive enough.
Does Participants count unique people?
No, it counts joins. Someone whose wifi drops and who rejoins is two. Someone who joins on their laptop and dials in for audio is two. For a well-connected office the inflation is a few percent; for a distributed team on poor connections it can be noticeably more. The number is still the best available, and this page labels it as joins rather than attendees.
Why does my quarterly report only cover one month?
Because Zoom caps the usage report date range at a single month and clips your selection without much fanfare. Export three files and merge them before loading, which the CSV merger linked below does in one step. If your meeting volume appears to have collapsed at a month boundary, this is almost always the reason rather than a genuine change.
How do I handle the 12-hour timestamps?
This page parses them, including the AM and PM suffix, and pairs them with the Time Zone column so meetings from different regions sort correctly. In a spreadsheet the format usually imports as text, and sorting it alphabetically puts every 02:15 PM before every 09:00 AM. Converting to a 24-hour format before any time-of-day analysis saves a lot of confusion.
Can I see who attended a specific meeting?
Not from the usage report, which is one row per meeting. Participant-level detail with individual join and leave times exists as a separate report you open per meeting, and it is not available in bulk from the same screen. For attendance analysis across many meetings you would need the reporting API rather than the console export.
Is our meeting data uploaded anywhere?
No. The file is read in your browser tab and nothing is transmitted. A usage report names every host, their email address, their department and the topic of every meeting, which taken together is a fairly detailed picture of what a company is working on and who is talking to whom. That belongs on your machine, not in someone else's logs.
Related tools
Turn meeting counts into person-hours
98 meetings across a quarter, five departments, durations clustering at the calendar defaults and a recurring share that is larger than anyone expects.
Open the sample Zoom dashboard