> ## Documentation Index
> Fetch the complete documentation index at: https://phidatainc-agui.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Zoom

**Zoom** enables an Agent to interact with Zoom, allowing it to schedule meetings, manage recordings, and handle various meeting-related operations through the Zoom API. The toolkit uses Zoom's Server-to-Server OAuth authentication for secure API access.

## Prerequisites

The Zoom toolkit requires the following setup:

1. Install required dependencies:

```shell theme={null}
uv pip install requests
```

2. Set up Server-to-Server OAuth app in Zoom Marketplace:

   * Go to [Zoom Marketplace](https://marketplace.zoom.us/)
   * Click "Develop" → "Build App"
   * Choose "Server-to-Server OAuth" app type
   * Configure the app with required scopes:
     * `/meeting:write:admin`
     * `/meeting:read:admin`
     * `/recording:read:admin`
   * Note your Account ID, Client ID, and Client Secret

3. Set up environment variables:

```shell theme={null}
export ZOOM_ACCOUNT_ID=your_account_id
export ZOOM_CLIENT_ID=your_client_id
export ZOOM_CLIENT_SECRET=your_client_secret
```

## Example Usage

```python theme={null}
from agno.agent import Agent
from agno.tools.zoom import ZoomTools

# Initialize Zoom tools with credentials
zoom_tools = ZoomTools(
    account_id="your_account_id",
    client_id="your_client_id",
    client_secret="your_client_secret"
)

# Create an agent with Zoom capabilities
agent = Agent(tools=[zoom_tools])

# Schedule a meeting
response = agent.print_response("""
Schedule a team meeting with the following details:
- Topic: Weekly Team Sync
- Time: Tomorrow at 2 PM UTC
- Duration: 45 minutes
""", markdown=True)
```

## Toolkit Params

| Parameter       | Type            | Default | Description                                                                          |
| --------------- | --------------- | ------- | ------------------------------------------------------------------------------------ |
| `account_id`    | `Optional[str]` | `None`  | Zoom account ID. If not provided, uses ZOOM\_ACCOUNT\_ID environment variable.       |
| `client_id`     | `Optional[str]` | `None`  | Zoom client ID. If not provided, uses ZOOM\_CLIENT\_ID environment variable.         |
| `client_secret` | `Optional[str]` | `None`  | Zoom client secret. If not provided, uses ZOOM\_CLIENT\_SECRET environment variable. |

## Toolkit Functions

| Function                 | Description                                       |
| ------------------------ | ------------------------------------------------- |
| `schedule_meeting`       | Schedule a new Zoom meeting                       |
| `get_upcoming_meetings`  | Get a list of upcoming meetings                   |
| `list_meetings`          | List all meetings based on type                   |
| `get_meeting_recordings` | Get recordings for a specific meeting             |
| `delete_meeting`         | Delete a scheduled meeting                        |
| `get_meeting`            | Get detailed information about a specific meeting |

You can use `include_tools` or `exclude_tools` to modify the list of tools the agent has access to. Learn more about [selecting tools](/tools/selecting-tools).

## Rate Limits

The Zoom API has rate limits that vary by endpoint and account type:

* Server-to-Server OAuth apps: 100 requests/second
* Meeting endpoints: Specific limits apply based on account type
* Recording endpoints: Lower rate limits, check Zoom documentation

For detailed rate limits, refer to [Zoom API Rate Limits](https://developers.zoom.us/docs/api/#rate-limits).

## Developer Resources

* View [Tools](https://github.com/agno-agi/agno/blob/main/libs/agno/agno/tools/zoom.py)
