Zoom
Service domainVIDEO CONFERENCING
Arcade Optimized
Arcade.dev LLM tools for Zoom
7tools
Zoom Toolkit
Arcade's Zoom toolkit lets LLM agents interact with a user's Zoom account — resolving meetings by description, reading transcripts and summaries, fetching recordings, and inspecting schedules.
Capabilities
- Meeting discovery & resolution: Find any meeting — scheduled, recurring, ad-hoc (if cloud-recorded), or identified by ID — from a natural-language phrase, a time period, or a meeting ID; results are paginated and ranked rather than silently narrowed to one match.
- Post-meeting content: Retrieve AI Companion meeting summaries, transcripts (from cloud recording or AI Companion, whichever is available), and cloud recording share links with passcodes and per-file URLs.
- Scheduling & invitations: List upcoming meetings for the next 24 hours up to 90 days ahead (with clear boundary reporting between hosted-only and fully-invited coverage), and retrieve Zoom-formatted invitation text ready to forward.
- Identity grounding: Resolve the authenticated user's identity before acting on possessive references like "my meetings."
- Graceful non-failure reporting: Missing recordings, transcripts, or summaries are returned as structured results with reasons rather than raised errors; only a fully unknown identifier raises.
OAuth
This toolkit uses OAuth 2.0 to authenticate with Zoom on behalf of the user. See the Zoom auth provider docs for configuration details.
Available tools(7)
7 of 7 tools
Operations
Behavior
| Tool name | Description | Secrets | |
|---|---|---|---|
Find the Zoom meeting a user means, from a phrase, a period, or a meeting id.
Use this single call for every "which meeting" question rather than listing
history and matching topics yourself. It reads all three of the records Zoom
splits a meeting across -- meetings scheduled ahead of time, meetings it knows
only through their cloud recording, and the runs of meetings that recur with no
fixed time -- so a standing 1:1 is as findable as a scheduled one. A call started
ad hoc or from a personal meeting room is listed only when it was cloud-recorded,
because Zoom keeps no listing of the others; for one of those, ask the user for
the meeting id or join link, which the transcript and summary tools take
directly. A row's has_transcript speaks for its cloud recording alone: a meeting
with no recording, or a recording with no transcript file, can still have an AI
Companion transcript, so a transcript request keeps only_recorded false and asks
the transcript tool rather than that flag.
Every candidate strong enough to act on is reported rather than one being picked
silently, so an ambiguous or weak phrase can be taken back to the user, and a
period in which nothing ran is an empty listing rather than a failure.
Give a phrase to rank the account's meetings against it, a meeting_id to list one
meeting's past runs, or neither to list the whole period. Results are paginated:
while next_cursor is non-empty it is passed back verbatim to reach the rest. A
period too wide for one call is covered from its newest end, and next_to_date is
then the to_date to call again with to reach the older part. | |||
Retrieve the invitation note for a specific Zoom meeting.
The note is Zoom's own wording and is ready to paste into a message. A meeting
Zoom holds no invitation for -- one started instantly or ad hoc, which is
typically the meeting that just ended -- is reported as a normal result
carrying the reason, so it is not mistaken for a meeting that never happened.
An identifier matching no meeting at all still raises. | |||
Get a past Zoom meeting's cloud recording as links that can be forwarded.
Use this when someone missed a meeting and wants to watch it, rather than
reading its transcript: it returns the share link and passcode to send them,
alongside the per-file play and download urls. A meeting with no recording is
reported as a normal result carrying the reason, while an identifier matching no
meeting raises. An occurrence uuid is answered about that occurrence and no
other, so an identifier that leaves the occurrence open is refused rather than
answered with whichever run happened most recently. | |||
Read the AI Companion meeting summary of a past Zoom meeting.
A meeting with no summary is reported as a normal result carrying the reason,
so the caller can say so plainly, or reach for the meeting's transcript or its
attendance, instead of treating it as a failure. An identifier matching no
meeting raises instead, so "no summary" is never claimed about a meeting that
does not exist. An occurrence uuid is answered about that occurrence and no
other, so an identifier that leaves the occurrence open is refused rather than
answered with whichever run happened most recently. | |||
Read the transcript of a past Zoom meeting.
The transcript comes from the meeting's cloud recording when one exists, and
otherwise from the AI Companion transcript Zoom keeps when the account's meeting
transcript setting is on, with or without a meeting summary, so a meeting that
was never cloud-recorded is still readable; source says which was read. That
makes it worth calling for any past meeting the user asks about, whether or not a
listing showed a recording for it. A meeting with no transcript to read is
reported as a normal result carrying the reason, so the caller can say so
plainly, or reach for the meeting's summary or its attendance, instead of
treating it as a failure. An identifier matching no meeting raises instead, so
"never recorded" is never claimed about a meeting that does not exist. An
occurrence uuid is answered about that occurrence and no other, so an identifier
that leaves the occurrence open is refused rather than answered with whichever
run happened most recently. | |||
List the Zoom meetings a user is scheduled to join, soonest first.
Covers the next 24 hours by default and any window up to 90 days ahead when
dates are given. Within the next 24 hours the listing includes meetings the
user merely joins; beyond that Zoom exposes only the meetings they host, and
invited_coverage_end marks where that boundary falls inside the window -- an
empty stretch past it means no hosted meetings, not a confirmed free calendar.
A fixed-time recurring series is listed at the one start Zoom reports for it
rather than once per run, and recurring_series names each such series so a
window holding a daily standup cannot read as clear; a meeting recurring with
no fixed time -- which belongs to no window at all -- is named alongside the
window instead, so a standing 1:1 can still be found by topic. A clear
calendar is reported as an empty listing that names the account whose calendar
was read and the window that was searched, not as a failure. | |||
Identify the Zoom user the connection is authenticated as.
Call this to ground a possessive reference like "my meetings" before acting
on it. |
Last updated on