Module zoom.scheduler

ballerinax/zoom.scheduler Ballerina library

1.0.0

Overview

Zoom is a video communications platform that enables users to schedule, host, and join virtual meetings, webinars, and conferences.

The ballerinax/zoom.scheduler package offers APIs to connect and interact with Zoom Scheduler endpoints, specifically based on Zoom API v2.

Setup guide

To use the Zoom scheduler connector, you must have access to the Zoom API through Zoom Marketplace and a project under it. If you do not have a Zoom account, you can sign up for one here.

Step 1: Create a new app

  1. Open the Zoom Marketplace.

  2. Click "Develop" → "Build App"

    Zoom marketplace

  3. Choose "General App" app type (for user authorization with refresh tokens)

    App Type

  4. Fill in basic information

Step 2: Configure OAuth settings

  1. Note down your credentials:

    • Client ID
    • Client Secret

    App Credentials

  2. Set redirect URI: Add your application's redirect URI (e.g., http://localhost:8080/callback)

    Redirect URI

  3. Add scopes: Make sure your Zoom app has the necessary scopes for the Scheduler API:

    • Add scheduler:read, scheduler:write and user:read in the scope

    Zoom Scopes

Step 3: Activate the app

  1. Complete all required information

  2. Activate the app

    Activate App

Step 4: Get user authorization

  1. Direct users to authorization URL (replace YOUR_CLIENT_ID and YOUR_REDIRECT_URI):
https://zoom.us/oauth/authorize?response_type=code&client_id=YOUR_CLIENT_ID&redirect_uri=YOUR_REDIRECT_URI&scope=scheduler:read scheduler:write user:read
  1. User authorizes the app and gets redirected to your callback URL with an authorization code

  2. Exchange authorization code for tokens:

Copy
curl -X POST https://zoom.us/oauth/token \
  -H "Authorization: Basic $(echo -n 'CLIENT_ID:CLIENT_SECRET' | base64)" \
  -d "grant_type=authorization_code&code=AUTHORIZATION_CODE&redirect_uri=YOUR_REDIRECT_URI"

This returns both access_token and refresh_token.

Replace:

  • CLIENT_ID with your app's Client ID
  • CLIENT_SECRET with your app's Client Secret
  • AUTHORIZATION_CODE with the code received from the callback
  • YOUR_REDIRECT_URI with your configured redirect URI

Step 5: Verify your setup

Copy
curl -X GET "https://api.zoom.us/v2/users/me" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN"

This will give you the user ID needed for API calls.

Quickstart

To use the ballerinax/zoom.scheduler connector in your Ballerina application, update the .bal file as follows:

Step 1: Import the module

Import the zoom.scheduler module.

Copy
import ballerinax/zoom.scheduler as zoom;

Step 2: Instantiate a new connector

  1. Create a Config.toml file and, configure the obtained credentials in the above steps as follows:
Copy
clientId = "<Client ID>"
clientSecret = "<Client Secret>"
refreshToken = "<Refresh Token>"
userId = "<Zoom User ID>"
  1. Create a zoom.scheduler:ConnectionConfig with the obtained access token and initialize the connector with it.
Copy
configurable string clientId = ?;
configurable string clientSecret = ?;
configurable string refreshToken = ?;
configurable string userId = ?;

final zoom:Client zoomClient = check new ({
    auth: {
        clientId,
        clientSecret,
        refreshUrl: "https://zoom.us/oauth/token",
        refreshToken
    }
});

Step 3: Invoke the connector operation

Now, utilize the available connector operations.

Create a schedule

Copy
public function main() returns error? {
    zoom:InlineResponse2011 schedule = check zoomClient->/schedules.post(
        payload = {
            summary: "Team Meeting",
            description: "Weekly team sync",
            duration: 60
        }
    );
    io:println("Schedule created with ID: ", schedule.scheduleId);
}

Step 4: Run the Ballerina application

Copy
bal run

Examples

The Zoom Scheduler connector provides practical examples illustrating usage in various scenarios. Explore these examples, covering the following use cases:

  1. Meeting Scheduler - Create scheduled meetings, generate single-use scheduling links, and manage team meeting schedules with automated booking capabilities.

  2. Availability Manager - Configure availability schedules, analyze scheduler analytics, and manage working hours for different time zones and business requirements.

Import

import ballerinax/zoom.scheduler;Copy

Other versions

1.0.0

Metadata

Released date: 20 days ago

Version: 1.0.0

License: Apache-2.0


Compatibility

Platform: any

Ballerina version: 2201.12.7

GraalVM compatible: Yes


Pull count

Total: 1

Current verison: 1


Weekly downloads


Source repository


Keywords

Zoom

Video Conference

Scheduling

Calendar


Contributors