KosmoKrator

productivity

Zoom CLI for AI Agents

Use the Zoom CLI from KosmoKrator to call Zoom tools headlessly, return JSON, inspect schemas, and automate workflows from coding agents, scripts, and CI.

Zoom CLI Setup

Zoom can be configured headlessly with `kosmokrator integrations:configure zoom`.

Install, configure, and verify
# Install KosmoKrator first if it is not available on PATH.
curl -fsSL https://raw.githubusercontent.com/OpenCompanyApp/kosmokrator/main/install.sh | bash

# Configure and verify this integration.
kosmokrator integrations:configure zoom --set access_token="$ZOOM_ACCESS_TOKEN" --enable --read allow --write ask --json
kosmokrator integrations:doctor zoom --json
kosmokrator integrations:status --json

Credentials

Authentication type: Manual OAuth token oauth2_manual_token. Configure credentials once, then reuse the same stored profile from scripts, coding CLIs, Lua, and MCP.

KeyEnv varTypeRequiredLabel
access_token ZOOM_ACCESS_TOKEN Secret secret yes Access Token
url ZOOM_URL URL url no API Base URL

Command Patterns

The generic command is stable across every integration. The provider shortcut is shorter for humans.

Generic CLI call
kosmo integrations:call zoom.zoom_create_meeting '{"topic":"example_topic","type":"example_type","start_time":"example_start_time","duration":1,"timezone":"example_timezone","agenda":"example_agenda","user_id":"example_user_id","settings":"example_settings"}' --json
Provider shortcut
kosmo integrations:zoom zoom_create_meeting '{"topic":"example_topic","type":"example_type","start_time":"example_start_time","duration":1,"timezone":"example_timezone","agenda":"example_agenda","user_id":"example_user_id","settings":"example_settings"}' --json

Discovery

These commands return structured output for coding agents that need to inspect capabilities before choosing a function.

Discovery commands
kosmo integrations:docs zoom --json
kosmo integrations:docs zoom.zoom_create_meeting --json
kosmo integrations:schema zoom.zoom_create_meeting --json
kosmo integrations:search "Zoom" --json
kosmo integrations:list --json

Automation Contexts

The same configured command surface works in these environments. The command does not change unless the host wrapper, credentials, or permissions change.

CLI Functions

Every function below can be called headlessly. Commands are highlighted, copyable, and scroll horizontally when payloads are long.

zoom.zoom_create_meeting

Create a new Zoom meeting. Provide a topic, start time (ISO 8601), duration, and optional timezone. Returns the meeting with join URL and password.

Write write
Parameters
topic, type, start_time, duration, timezone, agenda, user_id, settings
Generic call
kosmo integrations:call zoom.zoom_create_meeting '{"topic":"example_topic","type":"example_type","start_time":"example_start_time","duration":1,"timezone":"example_timezone","agenda":"example_agenda","user_id":"example_user_id","settings":"example_settings"}' --json
Shortcut
kosmo integrations:zoom zoom_create_meeting '{"topic":"example_topic","type":"example_type","start_time":"example_start_time","duration":1,"timezone":"example_timezone","agenda":"example_agenda","user_id":"example_user_id","settings":"example_settings"}' --json

zoom.zoom_get_current_user

Get the profile of the currently authenticated Zoom user. Returns email, name, account type, status, and timezone.

Read read
Parameters
none
Generic call
kosmo integrations:call zoom.zoom_get_current_user '{}' --json
Shortcut
kosmo integrations:zoom zoom_get_current_user '{}' --json

zoom.zoom_get_meeting

Get details of a specific Zoom meeting by ID. Returns the meeting topic, agenda, start time, duration, join URL, and settings.

Read read
Parameters
meeting_id
Generic call
kosmo integrations:call zoom.zoom_get_meeting '{"meeting_id":"example_meeting_id"}' --json
Shortcut
kosmo integrations:zoom zoom_get_meeting '{"meeting_id":"example_meeting_id"}' --json

zoom.zoom_get_user

Get details of a specific Zoom user by ID or "me" for the authenticated user. Returns email, name, type, status, and timezone.

Read read
Parameters
user_id
Generic call
kosmo integrations:call zoom.zoom_get_user '{"user_id":"example_user_id"}' --json
Shortcut
kosmo integrations:zoom zoom_get_user '{"user_id":"example_user_id"}' --json

zoom.zoom_list_meetings

List meetings for a Zoom user. Returns meeting IDs, topics, start times, durations, and join URLs. Use type "live" for in-progress, "scheduled" for upcoming, or "upcoming" for all upcoming meetings.

Read read
Parameters
user_id, type, page_size, next_page_token
Generic call
kosmo integrations:call zoom.zoom_list_meetings '{"user_id":"example_user_id","type":"example_type","page_size":1,"next_page_token":"example_next_page_token"}' --json
Shortcut
kosmo integrations:zoom zoom_list_meetings '{"user_id":"example_user_id","type":"example_type","page_size":1,"next_page_token":"example_next_page_token"}' --json

zoom.zoom_list_recordings

List cloud recordings for a Zoom user. Returns recording IDs, topics, start times, durations, and download URLs for recording files.

Read read
Parameters
user_id, page_size, next_page_token
Generic call
kosmo integrations:call zoom.zoom_list_recordings '{"user_id":"example_user_id","page_size":1,"next_page_token":"example_next_page_token"}' --json
Shortcut
kosmo integrations:zoom zoom_list_recordings '{"user_id":"example_user_id","page_size":1,"next_page_token":"example_next_page_token"}' --json

zoom.zoom_list_users

List users in the Zoom account. Returns user IDs, emails, names, types (1=basic, 2=licensed), and status. Use this to find user IDs for other operations.

Read read
Parameters
page_size, next_page_token
Generic call
kosmo integrations:call zoom.zoom_list_users '{"page_size":1,"next_page_token":"example_next_page_token"}' --json
Shortcut
kosmo integrations:zoom zoom_list_users '{"page_size":1,"next_page_token":"example_next_page_token"}' --json

zoom.zoom_create_user

Create a new user in the Zoom account.

Write write
Parameters
action, email, first_name, last_name, type
Generic call
kosmo integrations:call zoom.zoom_create_user '{"action":"example_action","email":"example_email","first_name":"example_first_name","last_name":"example_last_name","type":1}' --json
Shortcut
kosmo integrations:zoom zoom_create_user '{"action":"example_action","email":"example_email","first_name":"example_first_name","last_name":"example_last_name","type":1}' --json

zoom.zoom_create_webinar

Create a Zoom webinar for a user. Supports scheduling with topic, start time, duration, and timezone.

Write write
Parameters
user_id, topic, type, start_time, duration, timezone, agenda
Generic call
kosmo integrations:call zoom.zoom_create_webinar '{"user_id":"example_user_id","topic":"example_topic","type":1,"start_time":"example_start_time","duration":1,"timezone":"example_timezone","agenda":"example_agenda"}' --json
Shortcut
kosmo integrations:zoom zoom_create_webinar '{"user_id":"example_user_id","topic":"example_topic","type":1,"start_time":"example_start_time","duration":1,"timezone":"example_timezone","agenda":"example_agenda"}' --json

zoom.zoom_delete_meeting

Delete a Zoom meeting by ID.

Write write
Parameters
meeting_id
Generic call
kosmo integrations:call zoom.zoom_delete_meeting '{"meeting_id":"example_meeting_id"}' --json
Shortcut
kosmo integrations:zoom zoom_delete_meeting '{"meeting_id":"example_meeting_id"}' --json

zoom.zoom_get_account

Get the current Zoom account information.

Read read
Parameters
none
Generic call
kosmo integrations:call zoom.zoom_get_account '{}' --json
Shortcut
kosmo integrations:zoom zoom_get_account '{}' --json

zoom.zoom_get_user_settings

Get settings for a Zoom user.

Read read
Parameters
user_id
Generic call
kosmo integrations:call zoom.zoom_get_user_settings '{"user_id":"example_user_id"}' --json
Shortcut
kosmo integrations:zoom zoom_get_user_settings '{"user_id":"example_user_id"}' --json

zoom.zoom_get_webinar

Get details of a Zoom webinar by ID.

Read read
Parameters
webinar_id
Generic call
kosmo integrations:call zoom.zoom_get_webinar '{"webinar_id":"example_webinar_id"}' --json
Shortcut
kosmo integrations:zoom zoom_get_webinar '{"webinar_id":"example_webinar_id"}' --json

zoom.zoom_list_past_meetings

List past instances of a Zoom meeting.

Read read
Parameters
meeting_id
Generic call
kosmo integrations:call zoom.zoom_list_past_meetings '{"meeting_id":"example_meeting_id"}' --json
Shortcut
kosmo integrations:zoom zoom_list_past_meetings '{"meeting_id":"example_meeting_id"}' --json

zoom.zoom_list_webinars

List webinars for a Zoom user.

Read read
Parameters
user_id, page_size
Generic call
kosmo integrations:call zoom.zoom_list_webinars '{"user_id":"example_user_id","page_size":1}' --json
Shortcut
kosmo integrations:zoom zoom_list_webinars '{"user_id":"example_user_id","page_size":1}' --json

zoom.zoom_update_meeting

Update an existing Zoom meeting. Supports changing topic, start time, duration, and agenda.

Write write
Parameters
meeting_id, topic, start_time, duration, agenda
Generic call
kosmo integrations:call zoom.zoom_update_meeting '{"meeting_id":"example_meeting_id","topic":"example_topic","start_time":"example_start_time","duration":1,"agenda":"example_agenda"}' --json
Shortcut
kosmo integrations:zoom zoom_update_meeting '{"meeting_id":"example_meeting_id","topic":"example_topic","start_time":"example_start_time","duration":1,"agenda":"example_agenda"}' --json

Function Schemas

Use these parameter tables when building CLI payloads without calling integrations:schema first.

zoom.zoom_create_meeting 8 parameters
Schema command
kosmo integrations:schema zoom.zoom_create_meeting --json
ParameterTypeRequiredDescription
topic string yes Meeting topic/title.
type string no Meeting type: "1" = instant, "2" = scheduled (default), "3" = recurring no fixed time, "8" = recurring fixed time.
start_time string no Meeting start time in ISO 8601 format (e.g. "2024-01-15T10:00:00Z"). Required for scheduled meetings.
duration integer no Meeting duration in minutes. Default: 30.
timezone string no Timezone for the meeting (e.g. "America/New_York").
agenda string no Meeting description/agenda.
user_id string no User ID to create the meeting for. Default: "me".
settings object no Meeting settings (join_before_host, mute_upon_entry, etc.).
zoom.zoom_get_current_user 0 parameters
Schema command
kosmo integrations:schema zoom.zoom_get_current_user --json
ParameterTypeRequiredDescription
No parameters.
zoom.zoom_get_meeting 1 parameters
Schema command
kosmo integrations:schema zoom.zoom_get_meeting --json
ParameterTypeRequiredDescription
meeting_id string yes The meeting ID or UUID.
zoom.zoom_get_user 1 parameters
Schema command
kosmo integrations:schema zoom.zoom_get_user --json
ParameterTypeRequiredDescription
user_id string yes The user ID or "me" for the authenticated user.
zoom.zoom_list_meetings 4 parameters
Schema command
kosmo integrations:schema zoom.zoom_list_meetings --json
ParameterTypeRequiredDescription
user_id string no User ID or "me" for the authenticated user. Default: "me".
type string no Meeting type filter: scheduled, live, or upcoming. Default: "live".
page_size integer no Number of meetings per page (1–300). Default: 30.
next_page_token string no Token for the next page of results.
zoom.zoom_list_recordings 3 parameters
Schema command
kosmo integrations:schema zoom.zoom_list_recordings --json
ParameterTypeRequiredDescription
user_id string no User ID or "me" for the authenticated user. Default: "me".
page_size integer no Number of recordings per page (1–300). Default: 30.
next_page_token string no Token for the next page of results.
zoom.zoom_list_users 2 parameters
Schema command
kosmo integrations:schema zoom.zoom_list_users --json
ParameterTypeRequiredDescription
page_size integer no Number of users per page (1–300). Default: 30.
next_page_token string no Token for the next page of results.
zoom.zoom_create_user 5 parameters
Schema command
kosmo integrations:schema zoom.zoom_create_user --json
ParameterTypeRequiredDescription
action string yes Creation action: "create" (email invitation), "autoCreate", "custCreate", or "ssoCreate".
email string yes Email address for the new user.
first_name string no First name of the user.
last_name string no Last name of the user.
type integer no User type: 1=Basic, 2=Licensed, 3=On-prem.
zoom.zoom_create_webinar 7 parameters
Schema command
kosmo integrations:schema zoom.zoom_create_webinar --json
ParameterTypeRequiredDescription
user_id string yes User ID or email address to create the webinar for.
topic string yes Webinar topic / title.
type integer no Webinar type: 5=Webinar, 6=Recurring webinar, 9=Recurring webinar no fixed time.
start_time string no Webinar start time in ISO 8601 format.
duration integer no Webinar duration in minutes.
timezone string no Timezone for the webinar (e.g., "America/New_York").
agenda string no Webinar description / agenda.
zoom.zoom_delete_meeting 1 parameters
Schema command
kosmo integrations:schema zoom.zoom_delete_meeting --json
ParameterTypeRequiredDescription
meeting_id string yes The meeting ID to delete.
zoom.zoom_get_account 0 parameters
Schema command
kosmo integrations:schema zoom.zoom_get_account --json
ParameterTypeRequiredDescription
No parameters.
zoom.zoom_get_user_settings 1 parameters
Schema command
kosmo integrations:schema zoom.zoom_get_user_settings --json
ParameterTypeRequiredDescription
user_id string yes User ID or email address.
zoom.zoom_get_webinar 1 parameters
Schema command
kosmo integrations:schema zoom.zoom_get_webinar --json
ParameterTypeRequiredDescription
webinar_id string yes The webinar ID.
zoom.zoom_list_past_meetings 1 parameters
Schema command
kosmo integrations:schema zoom.zoom_list_past_meetings --json
ParameterTypeRequiredDescription
meeting_id string yes The meeting ID to list past instances for.
zoom.zoom_list_webinars 2 parameters
Schema command
kosmo integrations:schema zoom.zoom_list_webinars --json
ParameterTypeRequiredDescription
user_id string yes User ID or email address.
page_size integer no Number of records returned per page (default 30, max 300).
zoom.zoom_update_meeting 5 parameters
Schema command
kosmo integrations:schema zoom.zoom_update_meeting --json
ParameterTypeRequiredDescription
meeting_id string yes The meeting ID to update.
topic string no New meeting topic / title.
start_time string no New start time in ISO 8601 format.
duration integer no New duration in minutes.
agenda string no New meeting agenda.

Permissions

Headless calls still follow the integration read/write permission policy. Configure read/write defaults with integrations:configure. Add --force only for trusted automation that should bypass that policy.