PollyHub

Zoom Connector

Clean

Access Zoom with managed OAuth to list, create, and manage meetings, view recordings and transcripts, and manage users using the Zoom API.

SKILL.md

---
name: zoom-connector
description: "Access Zoom with managed OAuth. List, create, and manage meetings, view recordings and transcripts, and manage users. Use when the user wants to schedule a Zoom meeting, list upcoming meetings, get meeting recordings, view transcripts, or manage Zoom account data."
metadata:
  polly:
    polly_managed_connector: true
    auth:
      - env: ZOOM_ACCESS_TOKEN
        type: oauth2
        integration_id: zoom
        description: Zoom OAuth access
        scopes:
          - meeting:read
          - meeting:write
          - recording:read
          - recording:write
          - user:read
    primaryEnv: ZOOM_ACCESS_TOKEN
---

# Zoom Connector

Access Zoom through the Zoom REST API v2 using managed OAuth.

## First-Time Setup

If Zoom is not connected yet, run:

`manage_auth(action="connect", integration_id="zoom", auth_env="ZOOM_ACCESS_TOKEN")`

## Auth & Security

- Authentication is managed by Polly + Nango from `metadata.polly.auth`
- Never ask users to paste tokens in chat
- Never print or log token values
- If auth fails, reconnect with:
  `manage_auth(action="connect", integration_id="zoom", auth_env="ZOOM_ACCESS_TOKEN")`

## Base URL

`https://api.zoom.us/v2`

All requests include:

`Authorization: Bearer $ZOOM_ACCESS_TOKEN`

## Quick Usage

List meetings:

```bash
curl -sS \
  -H "Authorization: Bearer $ZOOM_ACCESS_TOKEN" \
  "https://api.zoom.us/v2/users/me/meetings?page_size=30"
```

Get a meeting:

```bash
curl -sS \
  -H "Authorization: Bearer $ZOOM_ACCESS_TOKEN" \
  "https://api.zoom.us/v2/meetings/<meetingId>"
```

Create a meeting:

```bash
curl -sS -X POST \
  -H "Authorization: Bearer $ZOOM_ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"topic":"My Meeting","type":2,"start_time":"2026-01-15T10:00:00Z","duration":60}' \
  "https://api.zoom.us/v2/users/me/meetings"
```

List recordings:

```bash
curl -sS \
  -H "Authorization: Bearer $ZOOM_ACCESS_TOKEN" \
  "https://api.zoom.us/v2/users/me/recordings?from=2026-01-01&to=2026-01-31"
```

Get meeting recordings:

```bash
curl -sS \
  -H "Authorization: Bearer $ZOOM_ACCESS_TOKEN" \
  "https://api.zoom.us/v2/meetings/<meetingId>/recordings"
```

## Rules

- Always use `users/me` unless user explicitly asks for another user identity
- For pagination, pass `next_page_token` from prior responses
- Use `type=2` for scheduled meetings, `type=1` for instant meetings when creating
- On API errors, surface status + response body clearly
- On 401/403, reconnect with:
  `manage_auth(action="connect", integration_id="zoom", auth_env="ZOOM_ACCESS_TOKEN")`
- Never log, echo, or expose credential values in any output
Authorstella
Downloads3
Versions2
Published1d ago
Auth Requirements
ZOOM_ACCESS_TOKENoauth2

integration: zoom

Version History

v1.1.0latest

Add polly_managed_connector flag and connector-skill tag

Apr 9, 2026

Clean.zip
v1.0.0

Initial release of v0.8 Tier 3 connectors

Apr 9, 2026

Clean.zip

SHA-256 (latest)

29d0b8e6de5065a706b8efb89d403d11b7981e92be4217b152f7dff50eca205d