turbot/zoom

GitHub
steampipe plugin install zoomsteampipe plugin install zoom

Zoom + Steampipe

Steampipe is an open source CLI to instantly query cloud APIs using SQL.

Zoom provides videotelephony and online chat services through a cloud-based peer-to-peer software platform and is used for teleconferencing, telecommuting, distance education, and social relations.

List your Zoom users:

select
email,
personal_meeting_url
from
zoom_user;
+--------------------------+--------------------------------------------------------------------------+
| email | personal_meeting_url |
+--------------------------+--------------------------------------------------------------------------+
| jim@dundermifflin.com | https://turbot.zoom.us/j/9694476416 |
| dwight@dundermifflin.com | https://turbot.zoom.us/j/1453171280?pwd=bWloMG5Ic0JrKFQ2SGJaUmNxZXhNQT09 |
+--------------------------+--------------------------------------------------------------------------+

Documentation

Get started

Install

Download and install the latest Zoom plugin:

steampipe plugin install zoom

Credentials

ItemDescription
CredentialsCreate a Server-to-Server OAuth app to get the Account ID, Client ID and Client Secret.
PermissionsThe permission scope of Server-to-Server OAuth app or SDK/JWT app is set by the Admin at the creation time of the app.
RadiusEach connection represents a single Zoom account.
Resolution1. Credentials explicitly set in a Steampipe config file (~/.steampipe/config/zoom.spc)
2. Credentials specified in environment variables, e.g., ZOOM_ACCOUNT_ID, ZOOM_CLIENT_ID and ZOOM_CLIENT_SECRET.

Configuration

Installing the latest zoom plugin will create a config file (~/.steampipe/config/zoom.spc) with a single connection named zoom:

Configure your account details in ~/.steampipe/config/zoom.spc:

connection "zoom" {
plugin = "zoom"
# Zoom API credentials are available to users with Developer role in the account.
# You need to create a Server-to-Server OAuth app (https://developers.zoom.us/docs/internal-apps/create) or a SDK/JWT APP (https://marketplace.zoom.us/docs/guides/build/sdk-app) to get the credentials.
# It is recommended that you create Server-to-Server OAuth since the JWT app has been deprecated as of June 1, 2023 and will be disabled on September 1, 2023. https://developers.zoom.us/docs/internal-apps/jwt-faq/
# Server-to-Server OAuth app credentials
# Zoom account ID is required for requests. Required.
# This can also be set via the ZOOM_ACCOUNT_ID environment variable.
# account_id = "Xt1aUD4WQ56w7hDhVbtDp"
# Zoom Client ID provided by Server-to-Server OAuth app is required for requests. Required.
# This can also be set via the ZOOM_CLIENT_ID environment variable.
# client_id = "MZw2piRfTsOdpwx2Dh5U"
# Zoom Client Secret provided by Server-to-Server OAuth app is required for requests. Required.
# This can also be set via the ZOOM_CLIENT_SECRET environment variable.
# client_secret = "04tKwHgFGvwB1M4HPHOBFP0aLHYqUE"
# SDK/JWT app credentials
# Zoom API key provided by SDK/JWT OAuth app is required for requests. Required.
# This can also be set via the ZOOM_API_KEY environment variable.
# api_key = "LFMU3oagTjO8_5sYKQVe"
# Zoom API secret provided by SDK/JWT OAuth app is required for requests. Required.
# This can also be set via the ZOOM_API_SECRET environment variable.
# api_secret = "PKS96L69nWSFK2y0A07R2k7xGryVbcWiem"
# If you define Server-to-Server and JWT, then the plugin prioritizes Server-to-Server creds.
}

Configuring Zoom Credentials

Server-to-Server OAuth Application

You may specify the account ID, client ID, and client secret to authenticate:

  • account_id: The Zoom account ID.
  • client_id: The Zoom Client ID provided by Server-to-Server OAuth app.
  • client_secret: The Zoom Client Secret provided by Server-to-Server OAuth app.
connection "zoom" {
plugin = "zoom"
account_id = "Xt1aUD4WQ56w7hDhVbtDp"
client_id = "MZw2piRfTsOdpwx2Dh5U"
client_secret = "04tKwHgFGvwB1M4HPHOBFP0aLHYqUE"
}

Alternatively, you can also use the Zoom environment variable to obtain credentials only if the account_id, client_id, and client_secret arguments are not specified in the connection:

export ZOOM_ACCOUNT_ID="Xt1aUD4WQ56w7hDhVbtDp"
export ZOOM_CLIENT_ID="MZw2piRfTsOdpwx2Dh5U"
export ZOOM_CLIENT_SECRET="04tKwHgFGvwB1M4HPHOBFP0aLHYqUE"

JWT Application

Note: JWT applications are deprecated as of June 1, 2023 and will be entirely disabled on September 1, 2023. We recommend migrating to Server-to-Server OAuth applications.

You may specify the API key and API secret:

  • api_key: The Zoom API key provided by SDK/JWT OAuth app.
  • api_secret: The Zoom API secret provided by SDK/JWT OAuth app.
connection "zoom" {
plugin = "zoom"
api_key = "9m_kAcfuTlW_JCrvoMYK6g"
api_secret = "lEEDVf3SgyQWckN3ASqMpXWpCixkwMzgnZY7"
}

Alternatively, you can also use the Zoom environment variable to obtain credentials only if api_key and api_secret arguments are not specified in the connection:

export ZOOM_API_KEY="9m_kAcfuTlW_JCrvoMYK6g"
export ZOOM_API_SECRET="lEEDVf3SgyQWckN3ASqMpXWpCixkwMzgnZY7"

Get involved