Zoom
Service domainVIDEO CONFERENCING
Arcade Optimized
Arcade.dev LLM tools for Zoom
7tools
Zoom toolkit for Arcade lets LLMs interact with Zoom meeting data — finding, reading, and navigating meetings across scheduled, ad-hoc, recurring, and cloud-recorded types.
Capabilities
- Meeting discovery: Resolve ambiguous references (phrase, period, or meeting ID) across all Zoom meeting record types — scheduled, ad-hoc, and recurring with no fixed time — with ranked multi-candidate results and cursor-based pagination.
- Upcoming schedule: List meetings the user is joining (next 24 h) or hosting (up to 90 days), with explicit coverage-boundary and recurring-series labeling to avoid false "clear calendar" reads.
- Post-meeting content: Retrieve AI Companion summaries, audio transcripts, and cloud recording share links/passcodes for specific meeting occurrences; missing content is a typed result, not a raised error.
- Invitations: Fetch Zoom's ready-to-paste invitation text for any scheduled meeting; ad-hoc meetings with no invitation are reported distinctly from meetings that don't exist.
- Identity resolution: Resolve the authenticated user's identity before acting on possessive references like "my meetings."
OAuth
This toolkit uses OAuth 2.0 via the Zoom auth provider. Arcade handles the OAuth flow; see the provider page 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 and a call started ad hoc are as findable as a
scheduled one. 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 audio transcript of a cloud-recorded Zoom meeting.
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