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

# Zoom

> Schedule, list, delete Zoom meetings and fetch recordings from an agent with ZoomTools.

Enable Agno agents with Zoom and allow them to:

* Schedule new meetings
* Get meeting details
* List all meetings
* Get upcoming meetings
* Delete meetings
* Get meeting recordings

## Prerequisites

> **Create a Server-to-Server OAuth app in Zoom Marketplace:**
>
> * Visit [https://marketplace.zoom.us/](https://marketplace.zoom.us/)
> * Create a new app. Go to Develop -> Build App -> Server-to-Server OAuth.
> * Add required scopes:
>   * meeting:write:admin
>   * meeting:read:admin
>   * cloud\_recording:read:admin
> * Copy Account ID, Client ID, and Client Secret

> **Set environment variables:**
>
> ```bash theme={null}
>  export ZOOM_ACCOUNT_ID=your_account_id
>  export ZOOM_CLIENT_ID=your_client_id
>  export ZOOM_CLIENT_SECRET=your_client_secret
> ```

```python theme={null}
import os

from agno.agent import Agent
from agno.models.openai import OpenAIChat
from agno.tools.zoom import ZoomTools

# ---------------------------------------------------------------------------
# Create Agent
# ---------------------------------------------------------------------------


# Get environment variables
ACCOUNT_ID = os.getenv("ZOOM_ACCOUNT_ID")
CLIENT_ID = os.getenv("ZOOM_CLIENT_ID")
CLIENT_SECRET = os.getenv("ZOOM_CLIENT_SECRET")

# Initialize Zoom tools with credentials
zoom_tools = ZoomTools(
    account_id=ACCOUNT_ID, client_id=CLIENT_ID, client_secret=CLIENT_SECRET
)

# Create an agent with Zoom capabilities
agent = Agent(
    name="Zoom Meeting Manager",
    id="zoom-meeting-manager",
    model=OpenAIChat(id="gpt-4"),
    tools=[zoom_tools],
    markdown=True,
    instructions=[
        "You are an expert at managing Zoom meetings using the Zoom API.",
        "You can:",
        "1. Schedule new meetings (schedule_meeting)",
        "2. Get meeting details (get_meeting)",
        "3. List all meetings (list_meetings)",
        "4. Get upcoming meetings (get_upcoming_meetings)",
        "5. Delete meetings (delete_meeting)",
        "6. Get meeting recordings (get_meeting_recordings)",
        "",
        "For recordings, you can:",
        "- Retrieve recordings for any past meeting using the meeting ID",
        "- Include download tokens if needed",
        "- Get recording details like duration, size, download link and file types",
        "",
        "Guidelines:",
        "- Use ISO 8601 format for dates (e.g., '2024-12-28T10:00:00Z')",
        "- Accept and use user's timezone (e.g., 'America/New_York', 'Asia/Tokyo', 'UTC')",
        "- If no timezone is specified, default to UTC",
        "- Ensure meeting times are in the future",
        "- Provide meeting details after scheduling (ID, URL, time)",
        "- Handle errors gracefully",
        "- Confirm successful operations",
    ],
)

# Example usage - uncomment the ones you want to try

# ---------------------------------------------------------------------------
# Run Agent
# ---------------------------------------------------------------------------
if __name__ == "__main__":
    agent.print_response(
        "Schedule a meeting titled 'Team Sync' for tomorrow at 2 PM UTC for 45 minutes"
    )

    # More examples (uncomment to use):
    # agent.print_response("What meetings do I have coming up?")
    # agent.print_response("List all my scheduled meetings")
    # agent.print_response("Get details for my most recent meeting")
    # agent.print_response("Get the recordings for my last team meeting")
    # agent.print_response("Delete the meeting titled 'Team Sync'")
    # agent.print_response("Schedule daily standup meetings for next week at 10 AM UTC")
```

## Run the Example

<Snippet file="create-venv-step.mdx" />

**1. Install dependencies**

```bash theme={null}
uv pip install -U agno openai
```

**2. Export your API keys**

```bash Mac/Linux theme={null}
export ZOOM_ACCOUNT_ID="your_account_id"
export ZOOM_CLIENT_ID="your_client_id"
export ZOOM_CLIENT_SECRET="your_client_secret"
export OPENAI_API_KEY="your_openai_api_key_here"
```

```bash Windows theme={null}
$Env:ZOOM_ACCOUNT_ID="your_account_id"
$Env:ZOOM_CLIENT_ID="your_client_id"
$Env:ZOOM_CLIENT_SECRET="your_client_secret"
$Env:OPENAI_API_KEY="your_openai_api_key_here"
```

**3. Run the example**

Save the code above as `zoom_tools.py`, then run:

```bash theme={null}
python zoom_tools.py
```

Full source: [cookbook/91\_tools/zoom\_tools.py](https://github.com/agno-agi/agno/blob/main/cookbook/91_tools/zoom_tools.py)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.