Zoom
Service domainVIDEO CONFERENCING
Arcade Optimized
Arcade.dev LLM tools for Zoom
7tools
Zoom Toolkit
The Zoom toolkit connects Arcade-powered LLM agents to a user's Zoom account, enabling programmatic lookup and retrieval of meetings, recordings, transcripts, summaries, and identity over OAuth.
Capabilities
- Meeting discovery & scheduling context: Find any meeting by phrase, ID, or time period — including scheduled, recurring, ad-hoc (if cloud-recorded), and personal meeting room sessions — and list upcoming meetings up to 90 days ahead with clear caveats about host-only visibility beyond 24 hours.
- Post-meeting content retrieval: Read AI Companion meeting summaries and transcripts (from cloud recording or Zoom's transcript store, whichever is available) for any past occurrence, with explicit source attribution and structured "not found" results to distinguish missing content from missing meetings.
- Recording access: Retrieve share links, passcodes, and per-file play/download URLs for cloud recordings to forward to participants who missed a meeting.
- Meeting metadata: Fetch Zoom-formatted invitation notes ready to paste, scoped to a specific meeting ID.
- Identity resolution: Confirm the authenticated Zoom user before acting on possessive references (e.g., "my meetings").
- Pagination & ambiguity handling: All listing and search tools paginate via cursor, surface all strong candidates rather than silently picking one, and return structured empty results instead of errors when a period or query yields nothing.
OAuth
This toolkit uses OAuth 2.0 via the Zoom provider. See the Arcade Zoom auth provider docs for setup 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