Skip to content
Scalekit Docs
Talk to an Engineer Dashboard

Zoom connector

OAuth 2.0 CommunicationCalendar

Connect to Zoom. Schedule meetings, manage recordings, and handle video conferencing workflows

Zoom connector

  1. Terminal window
    npm install @scalekit-sdk/node

    Full SDK reference: Node.js | Python

  2. Add your Scalekit credentials to your .env file. Find values in app.scalekit.com > Developers > API Credentials.

    .env
    SCALEKIT_ENVIRONMENT_URL=<your-environment-url>
    SCALEKIT_CLIENT_ID=<your-client-id>
    SCALEKIT_CLIENT_SECRET=<your-client-secret>
  3. Register your Zoom credentials with Scalekit so it handles the token lifecycle. You do this once per environment.

    Dashboard setup steps

    Register your Scalekit environment with the Zoom connector so Scalekit handles the authentication flow and token lifecycle for you. The connection name you create will be used to identify and invoke the connection programmatically. You’ll need your app credentials from the Zoom App Marketplace.

    1. Set up auth redirects

      • In Scalekit dashboard, go to AgentKit > Connections > Create Connection. Find Zoom and click Create. Copy the redirect URI. It looks like https://<SCALEKIT_ENVIRONMENT_URL>/sso/v1/oauth/<CONNECTION_ID>/callback.

        Copy redirect URI from Scalekit dashboard

      • In the Zoom App Marketplace, open your app and go to App Credentials.

      • Paste the copied URI into the Redirect URL for OAuth field and also add it to the OAuth allow list.

        Add redirect URL in Zoom App Marketplace

    2. Get client credentials

      • In the Zoom App Marketplace, open your app and go to App Credentials:
        • Client ID — listed under Client ID
        • Client Secret — listed under Client Secret
    3. Add credentials in Scalekit

      • In Scalekit dashboard, go to AgentKit > Connections and open the connection you created.

      • Enter your credentials:

        • Client ID (from your Zoom app)
        • Client Secret (from your Zoom app)
        • Permissions — select the scopes your app needs

        Add credentials in Scalekit dashboard

      • Click Save.

  4. quickstart.ts
    import { ScalekitClient } from '@scalekit-sdk/node'
    import 'dotenv/config'
    const scalekit = new ScalekitClient(
    process.env.SCALEKIT_ENV_URL,
    process.env.SCALEKIT_CLIENT_ID,
    process.env.SCALEKIT_CLIENT_SECRET,
    )
    const actions = scalekit.actions
    const connector = 'zoom'
    const identifier = 'user_123'
    // Generate an authorization link for the user
    const { link } = await actions.getAuthorizationLink({ connectionName: connector, identifier })
    console.log('Authorize Zoom:', link)
    process.stdout.write('Press Enter after authorizing...')
    await new Promise(r => process.stdin.once('data', r))
    // Make your first call
    const result = await actions.executeTool({
    connector,
    identifier,
    toolName: 'zoom_chat_channels_list',
    toolInput: {},
    })
    console.log(result)

Connect this agent connector to let your agent:

  • Add meeting registrant — Register a participant for a Zoom meeting
  • Update meeting, chat channel, user — Update an existing Zoom meeting’s details
  • Delete meeting recordings, user, meeting — Delete all cloud recordings for a specific meeting
  • List chat channel members, meeting registrants, chat channels — List members of a Team Chat channel
  • Get meeting, user, chat channel — Retrieve details of a specific Zoom meeting
  • Create meeting, chat channel — Schedule a new Zoom meeting for a user
Proxy API call
const result = await actions.request({
connectionName: 'zoom',
identifier: 'user_123',
path: '/v2/users/me',
method: 'GET',
});
console.log(result);
Execute a tool
const result = await actions.executeTool({
connector: 'zoom',
identifier: 'user_123',
toolName: 'zoom_list',
toolInput: {},
});
console.log(result);

Use the exact tool names from the Tool list below when you call execute_tool. If you’re not sure which name to use, list the tools available for the current user first.

zoom_chat_channel_create # Create a new Team Chat channel. 3 params

Create a new Team Chat channel.

Name Type Required Description
name string required Name of the channel
members array optional List of member objects with email field to add to the channel
type integer optional Channel type: 1=private, 2=private with external users, 3=public, 4=new external
zoom_chat_channel_delete # Delete a Team Chat channel. 1 param

Delete a Team Chat channel.

Name Type Required Description
channel_id string required The channel ID
zoom_chat_channel_get # Get details of a specific Team Chat channel. 1 param

Get details of a specific Team Chat channel.

Name Type Required Description
channel_id string required The channel ID
zoom_chat_channel_member_invite # Invite one or more members to a Team Chat channel. 2 params

Invite one or more members to a Team Chat channel.

Name Type Required Description
channel_id string required The channel ID
members array required Array of member objects with email field
zoom_chat_channel_member_remove # Remove a member from a Team Chat channel. 2 params

Remove a member from a Team Chat channel.

Name Type Required Description
channel_id string required The channel ID
member_id string required The member ID or email to remove
zoom_chat_channel_members_list # List members of a Team Chat channel. 3 params

List members of a Team Chat channel.

Name Type Required Description
channel_id string required The channel ID
next_page_token string optional Token for next page of results
page_size integer optional Number of members per page (max 50)
zoom_chat_channel_messages_list # List messages in a Zoom Team Chat channel. 5 params

List messages in a Zoom Team Chat channel.

Name Type Required Description
channel_id string required The channel ID to list messages from
user_id string required The user ID or 'me' for the authenticated user
date string optional Date to retrieve messages for (yyyy-MM-dd). Defaults to today.
next_page_token string optional Token for next page
page_size integer optional Number of messages per page (max 50)
zoom_chat_channel_update # Update the name or settings of a Team Chat channel. 2 params

Update the name or settings of a Team Chat channel.

Name Type Required Description
channel_id string required The channel ID
name string optional New name for the channel
zoom_chat_channels_list # List all Zoom Team Chat channels the authenticated user belongs to. 2 params

List all Zoom Team Chat channels the authenticated user belongs to.

Name Type Required Description
next_page_token string optional Token for next page
page_size integer optional Number of channels per page (max 50)
zoom_chat_message_send # Send a message in a Zoom Team Chat channel or to a user. 4 params

Send a message in a Zoom Team Chat channel or to a user.

Name Type Required Description
message string required The message text to send
user_id string required Sender's user ID or 'me'
to_channel string optional Channel ID to send the message to
to_jid string optional JID of the user to send a direct message to
zoom_meeting_create # Schedule a new Zoom meeting for a user. 8 params

Schedule a new Zoom meeting for a user.

Name Type Required Description
topic string required Meeting topic/title
user_id string required User ID or 'me' for the authenticated user
agenda string optional Meeting description or agenda
duration integer optional Meeting duration in minutes
password string optional Meeting passcode (max 10 chars)
start_time string optional Meeting start time in ISO 8601 UTC format
timezone string optional Timezone for the meeting (e.g. America/New_York)
type integer optional 1=Instant, 2=Scheduled, 3=Recurring no fixed time, 8=Recurring fixed time
zoom_meeting_delete # Delete a Zoom meeting. 2 params

Delete a Zoom meeting.

Name Type Required Description
meeting_id string required The meeting ID to delete
occurrence_id string optional Occurrence ID for recurring meeting instances
zoom_meeting_get # Retrieve details of a specific Zoom meeting. 1 param

Retrieve details of a specific Zoom meeting.

Name Type Required Description
meeting_id string required The meeting ID
zoom_meeting_invitation_get # Retrieve the invitation text for a Zoom meeting. 1 param

Retrieve the invitation text for a Zoom meeting.

Name Type Required Description
meeting_id string required The meeting ID
zoom_meeting_recordings_delete # Delete all cloud recordings for a specific meeting. 2 params

Delete all cloud recordings for a specific meeting.

Name Type Required Description
meeting_id string required The meeting ID or UUID
action string optional trash (move to trash, default) or delete (permanent)
zoom_meeting_recordings_get # Retrieve all cloud recordings for a specific meeting. 1 param

Retrieve all cloud recordings for a specific meeting.

Name Type Required Description
meeting_id string required The meeting ID or UUID
zoom_meeting_registrant_add # Register a participant for a Zoom meeting. 5 params

Register a participant for a Zoom meeting.

Name Type Required Description
email string required Registrant's email address
first_name string required Registrant's first name
meeting_id string required The meeting ID
last_name string optional Registrant's last name
occurrence_ids string optional Comma-separated occurrence IDs for recurring meetings
zoom_meeting_registrants_list # List all registrants for a Zoom meeting. 5 params

List all registrants for a Zoom meeting.

Name Type Required Description
meeting_id string required The meeting ID
next_page_token string optional Token for next page
occurrence_id string optional Occurrence ID for recurring meetings
page_size integer optional Number of records per page (max 300)
status string optional Filter by status: pending, approved, denied
zoom_meeting_status_update # Update the status of a Zoom meeting (e.g., end a meeting in progress). 2 params

Update the status of a Zoom meeting (e.g., end a meeting in progress).

Name Type Required Description
action string required Action to perform: 'end' to end the meeting
meeting_id string required The meeting ID
zoom_meeting_update # Update an existing Zoom meeting's details. 7 params

Update an existing Zoom meeting's details.

Name Type Required Description
meeting_id string required The meeting ID to update
agenda string optional New meeting agenda
duration integer optional New duration in minutes
password string optional New meeting passcode
start_time string optional New start time in ISO 8601 UTC format
timezone string optional Timezone for the meeting
topic string optional New meeting topic
zoom_meetings_list # List all meetings scheduled by a user. 4 params

List all meetings scheduled by a user.

Name Type Required Description
user_id string required User ID or 'me' for the authenticated user
next_page_token string optional Token for next page of results
page_size integer optional Number of records per page (max 300)
type string optional Filter: scheduled, live, upcoming, upcoming_meetings, previous_meetings
zoom_past_meeting_get # Retrieve details of an ended Zoom meeting. 1 param

Retrieve details of an ended Zoom meeting.

Name Type Required Description
meeting_uuid string required The meeting UUID (double-encode if contains / or //)
zoom_recordings_list # List all cloud recordings for a user. 7 params

List all cloud recordings for a user.

Name Type Required Description
user_id string required User ID or 'me' for the authenticated user
from string optional Start date in yyyy-MM-dd format (default: current date minus 1 month)
mc string optional Set to true to retrieve recordings from Zoom Room
next_page_token string optional Token for next page
page_size integer optional Number of records per page (max 300)
to string optional End date in yyyy-MM-dd format (max 1 month range)
trash boolean optional Set to true to list trashed recordings
zoom_user_delete # Disassociate or permanently delete a Zoom user. 3 params

Disassociate or permanently delete a Zoom user.

Name Type Required Description
user_id string required The user ID to delete
action string optional disassociate (default) or delete
transfer_email string optional Email to transfer data to before deletion
zoom_user_get # Retrieve details of a specific Zoom user. 1 param

Retrieve details of a specific Zoom user.

Name Type Required Description
user_id string required User ID or 'me' for the authenticated user
zoom_user_permissions_get # Retrieve permissions for a Zoom user. 1 param

Retrieve permissions for a Zoom user.

Name Type Required Description
user_id string required User ID or 'me' for the authenticated user
zoom_user_settings_get # Retrieve settings for a Zoom user. 1 param

Retrieve settings for a Zoom user.

Name Type Required Description
user_id string required User ID or 'me' for the authenticated user
zoom_user_update # Update a Zoom user's profile information. 8 params

Update a Zoom user's profile information.

Name Type Required Description
user_id string required User ID or 'me' for the authenticated user
company string optional User's company name
display_name string optional New display name
first_name string optional New first name
job_title string optional User's job title
last_name string optional New last name
location string optional User's location
phone_number string optional User's phone number
zoom_users_list # List all users on a Zoom account. 4 params

List all users on a Zoom account.

Name Type Required Description
next_page_token string optional Token for next page
page_size integer optional Number of records per page (max 300)
role_id string optional Filter users by role ID
status string optional Filter by status: active, inactive, pending