Zoom
Service domainVIDEO CONFERENCING
Arcade Optimized
Arcade.dev LLM tools for Zoom
7tools
Zoom Toolkit
The Zoom toolkit provides Arcade tools for interacting with a user's Zoom account via LLM agents, enabling meeting discovery, transcript retrieval, recording access, summaries, and scheduling queries.
Capabilities
- Meeting discovery & identity — Resolve ambiguous meeting references from a phrase, period, or ID across scheduled, recurring, and cloud-recorded meetings; identify the authenticated user to ground possessive references before acting.
- Upcoming schedule — List meetings the user will join or host within a configurable window (up to 90 days), with explicit handling of the boundary where invited-meeting visibility ends and only hosted meetings are exposed.
- Recordings & invitations — Retrieve shareable recording links, passcodes, and per-file play/download URLs for past meetings; fetch Zoom's formatted invitation text ready to paste into a message.
- Transcripts — Read meeting transcripts from cloud recordings or AI Companion transcripts (whichever is available), covering meetings that were never recorded in the cloud, with clear sourcing.
- AI Companion summaries — Read Zoom AI Companion meeting summaries; missing summaries and non-existent meetings are reported distinctly so agents never confuse "no summary" with "no meeting".
- Safe pagination & error handling — All list results paginate via cursor; empty results, missing content, and unresolvable identifiers are surfaced as structured outcomes rather than failures, keeping agent logic clean.
OAuth
This toolkit uses OAuth 2.0 to authenticate with Zoom on behalf of the user. See the Arcade 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