This tool can read every recorded Contact Center call, so it sits behind a password. Ask your manager if you don't have it.
The tool normally carries its own credentials, so there's nothing to set up. If Zoom has stopped accepting them, paste the current values from Zoom Marketplace → Manage → your Server-to-Server OAuth app → App Credentials. They're saved to a private file on this computer only.
We haven't looked up who has calls yet.
| call_date | When the call started, in the timezone you chose |
| duration | Length as h:mm:ss |
| call_type | e.g. inbound voice |
| disposition | What the agent tagged the call as, when they tagged one |
| agent / agent_email | Who took the call |
| queue | The queue it came through |
| consumer | The customer's phone number |
| agent_notes | Zoom's AI call summary — reason for contact, action taken, result, sentiment |
| recording_segments | Above 1 when a hold or transfer split the call; the pieces are joined into the one row |
| transcript_status | Why a transcript is blank, when it is |
| transcript | The conversation, speaker by speaker, separated by | |
| transcript_2, _3… | Only when a call is long. Excel can't hold more than 32,767 characters in one cell, so the rest of the conversation continues in these — read them left to right |
One call is always one row. Saved as UTF-8 with a
byte-order mark and fully quoted, so it opens straight into Excel. Zoom
redacts names in transcripts before it hands them over, so people appear as
[NAME].
A blank transcript always says why in the
Why is a transcript sometimes blank?
transcript_status column:
Zoom removes sensitive details before we ever see
the transcript. This tool adds no redaction of its own and cannot undo
Zoom's — the text arrives already masked. Anything Zoom recognised is
replaced with a label in square brackets, so you can always see that
something was said and what kind of thing it was. The agent columns are not redacted. Names inside the
conversation become Dates said out loud are gone. “My appointment is
on the 14th” becomes Treat transcripts as still sensitive. The redaction is
automatic detection, not a guarantee — it's good, not perfect, and
something it failed to spot may still be in the text. Handle these files
like any other customer data. Which categories are redacted is a setting on the Zoom side.
If you need one un-redacted for analysis, or another one added, that's a
request for whoever administers Zoom Contact Center.What's redacted from the transcripts?
People [NAME] [USERNAME] [AGE]Contact details [PHONE] [EMAIL] [ADDRESS] [URL]Payment [CREDIT_DEBIT_NUMBER] [CREDIT_DEBIT_CVV] [BANK_ACCOUNT_NUMBER] [BANK_ROUTING]Identifiers [SSN] [DRIVER_ID] [VEHICLE_IDENTIFICATION_NUMBER]Dates spoken aloud [DATE_TIME][NAME] — including the agent's own
— but the agent and agent_email columns come
from the call record rather than the transcript, so you always know who took
the call.[DATE_TIME], so you can't analyse
timing from what was said. The call_date column is
unaffected — that comes from Zoom's call record.[segment 1 of 2] is the one bracketed label this
tool adds itself — it marks a call that was split by a hold or
transfer and stitched back together.