Package 'zoomr'

Title: Connect to Your 'Zoom' Data
Description: Facilitates making a connection to the 'Zoom' API and executing various queries. You can use it to get data on 'Zoom' webinars and 'Zoom' meetings. The 'Zoom' documentation is available at <https://developers.zoom.us/docs/api/>. This package is not supported by 'Zoom' (owner of the software).
Authors: Chris Umphlett [aut, cre], Paul Schmidt [ctb]
Maintainer: Chris Umphlett <[email protected]>
License: CC0
Version: 0.4.0.9000
Built: 2026-05-24 09:19:16 UTC
Source: https://github.com/chrisumphlett/zoomr

Help Index


Get All Users in an Account

Description

Get all users in a zoom account. The user id is required to get a list of webinars hosted by a particular user.

Usage

get_account_users(account_id, client_id, client_secret)

Arguments

account_id

Account Id granted by the Zoom developer app.

client_id

Client Id granted by the Zoom developer app.

client_secret

Client secret granted by the Zoom developer app.

Value

A data frame with the list of all users in the account.

See Also

See <https://marketplace.zoom.us/docs/api-reference/zoom-api/> for documentation on the Zoom API.

Examples

## Not run: 
dat <- get_account_users(your_account_id,
  your_client_id,
  your_client_secret)

## End(Not run)

Get Meeting Details

Description

Get metadata about a single meeting including participant count, duration, and other meeting statistics.

Usage

get_meeting_details(meeting_id, account_id, client_id, client_secret)

Arguments

meeting_id

Zoom Meeting ID (from list_meetings).

account_id

Account ID granted by the Zoom developer app.

client_id

Client ID granted by the Zoom developer app.

client_secret

Client secret granted by the Zoom developer app.

Details

This function retrieves basic meeting metadata. For more comprehensive meeting analytics and participant data, users with Pro+ Zoom accounts can access the Reports API endpoints which provide enhanced meeting details and participant information.

Value

A data frame with the metadata about a meeting. The type column contains integer codes describing the meeting structure/format, while meeting_format_label provides human-readable descriptions:

  • 1 = Instant meeting

  • 2 = Scheduled meeting

  • 3 = Recurring meeting (no fixed time)

  • 8 = Recurring meeting (fixed time)

  • 10 = Screen share only meeting

See Also

Official Zoom API documentation: https://developers.zoom.us/docs/api/meetings/#tag/meetings/get/meetings/{meetingId}

Examples

## Not run: 
dat <- get_meeting_details(meeting_id = "81753923023",
  your_account_id,
  your_client_id,
  your_client_secret)

## End(Not run)

Get Meeting Participants

Description

Get participant information from all instances of a meeting. For recurring meetings, this function automatically retrieves participants from all occurrences, making it ideal for workshop attendance tracking.

Usage

get_meeting_participants(
  meeting_id,
  account_id,
  client_id,
  client_secret,
  page_size = 300
)

Arguments

meeting_id

Zoom Meeting ID (from list_meetings).

account_id

Account ID granted by the Zoom developer app.

client_id

Client ID granted by the Zoom developer app.

client_secret

Client secret granted by the Zoom developer app.

page_size

Number of records per page. Default is 300.

Details

Important Limitations:

  • Meeting instances older than 15 months cannot be retrieved

  • This function works with all Zoom account types

Enhanced Features for Pro+ Users: Users with Pro+ Zoom accounts can access additional Reports API endpoints that provide more detailed participant analytics, custom date ranges, and enhanced filtering capabilities.

Value

A data frame with data on each participant at a meeting. Includes an 'instance_date' column to identify which occurrence each participant attended (NA for non-recurring meetings).

See Also

Official Zoom API documentation: https://developers.zoom.us/docs/api/meetings/#tag/meetings/get/past_meetings/{meetingId}/instances and https://developers.zoom.us/docs/api/meetings/#tag/reports/get/report/meetings/{meetingUuid}/participants

Examples

## Not run: 
# Get participants from all instances of a meeting
dat <- get_meeting_participants(
  meeting_id = "81753923023",
  your_account_id,
  your_client_id,
  your_client_secret)

## End(Not run)

Get Webinar Panelists

Description

Get the list of attendees who were also panelists from a single webinar.

Usage

get_panelists(webinar_id, account_id, client_id, client_secret)

Arguments

webinar_id

Zoom Webinar Id, typically an 11 digit number.

account_id

Account Id granted by the Zoom developer app.

client_id

Client Id granted by the Zoom developer app.

client_secret

Client secret granted by the Zoom developer app.

Value

A data frame with the list of panelists from that webinar.

See Also

See <https://marketplace.zoom.us/docs/api-reference/zoom-api/> for documentation on the Zoom API.

Examples

## Not run: 
dat <- get_webinar_panelists(webinar_id = "99911112222",
  your_account_id,
  your_client_id,
  your_client_secret)

## End(Not run)

Get Webinar Registration Question Responses

Description

Get registration question answers from all registrants for a single webinar.

Usage

get_registration_questions(
  webinar_id,
  account_id,
  client_id,
  client_secret,
  registrant_status = c("approved")
)

Arguments

webinar_id

Zoom Webinar Id, typically an 11 digit number.

account_id

Account Id granted by the Zoom developer app.

client_id

Client Id granted by the Zoom developer app.

client_secret

Client secret granted by the Zoom developer app.

registrant_status

One or more of "approved", "pending", or "denied". Default is "approved" only.

Value

A data frame with the registration question answers.

See Also

See <https://marketplace.zoom.us/docs/api-reference/zoom-api/> for documentation on the Zoom API.

Examples

## Not run: 
dat <- get_registration_questions(webinar_id = "99911112222",
  your_account_id,
  your_client_id,
  your_client_secret,
  c("approved", "denied", "pending"))

## End(Not run)

Get Webinar Tracking Sources

Description

Get a summary of registrations and visitors by tracking source for a specific webinar.

Usage

get_tracking_sources(webinar_id, account_id, client_id, client_secret)

Arguments

webinar_id

Zoom Webinar Id, typically an 11 digit number.

account_id

Account Id granted by the Zoom developer app.

client_id

Client Id granted by the Zoom developer app.

client_secret

Client secret granted by the Zoom developer app.

Value

A data frame with the list of panelists from that webinar.

See Also

See <https://marketplace.zoom.us/docs/api-reference/zoom-api/> for documentation on the Zoom API.

Examples

## Not run: 
dat <- get_tracking_sources(webinar_id = "99911112222",
  your_account_id,
  your_client_id,
  your_client_secret)

## End(Not run)

Get Webinar Details

Description

Get metadata about a single webinar.

Usage

get_webinar_details(webinar_id, account_id, client_id, client_secret)

Arguments

webinar_id

Zoom Webinar Id, typically an 11 digit number.

account_id

Account Id granted by the Zoom developer app.

client_id

Client Id granted by the Zoom developer app.

client_secret

Client secret granted by the Zoom developer app.

Value

A data frame with the metadata about a webinar.

See Also

See <https://marketplace.zoom.us/docs/api-reference/zoom-api/> for documentation on the Zoom API.

Examples

## Not run: 
dat <- get_webinar_details(webinar_id = "99911112222",
  your_account_id,
  your_client_id,
  your_client_secret)

## End(Not run)

Get Webinar Participants

Description

Get participant info about a single webinar.

Usage

get_webinar_participants(webinar_id, account_id, client_id, client_secret)

Arguments

webinar_id

Zoom Webinar Id, typically an 11 digit number.

account_id

Account Id granted by the Zoom developer app.

client_id

Client Id granted by the Zoom developer app.

client_secret

Client secret granted by the Zoom developer app.

Value

A data frame with data on each participant at a webinar.

See Also

See <https://marketplace.zoom.us/docs/api-reference/zoom-api/> for documentation on the Zoom API.

Examples

## Not run: 
dat <- get_webinar_participants(webinar_id = "99911112222",
  your_account_id,
  your_client_id,
  your_client_secret)

## End(Not run)

Get Webinar Polls

Description

Get the polls summary from a single webinar.

Usage

get_webinar_polls(webinar_id, account_id, client_id, client_secret)

Arguments

webinar_id

Zoom Webinar Id, typically an 11 digit number.

account_id

Account Id granted by the Zoom developer app.

client_id

Client Id granted by the Zoom developer app.

client_secret

Client secret granted by the Zoom developer app.

Value

A data frame with poll results from a webinar.

See Also

See <https://marketplace.zoom.us/docs/api-reference/zoom-api/> for documentation on the Zoom API.

Examples

## Not run: 
dat <- get_webinar_polls(webinar_id = "99911112222",
  your_account_id,
  your_client_id,
  your_client_secret)

## End(Not run)

Get Webinar Q & A

Description

Get the Q&A summary from a single webinar.

Usage

get_webinar_qanda(webinar_id, account_id, client_id, client_secret)

Arguments

webinar_id

Zoom Webinar Id, typically an 11 digit number.

account_id

Account Id granted by the Zoom developer app.

client_id

Client Id granted by the Zoom developer app.

client_secret

Client secret granted by the Zoom developer app.

Value

A data frame with all of the Q&A data from a webinar.

See Also

See <https://marketplace.zoom.us/docs/api-reference/zoom-api/> for documentation on the Zoom API.

Examples

## Not run: 
dat <- get_webinar_qanda(webinar_id = "99911112222",
  your_account_id,
  your_client_id,
  your_client_secret)

## End(Not run)

Get Webinar Registrants

Description

Get registrant info about a single webinar.

Usage

get_webinar_registrants(
  webinar_id,
  account_id,
  client_id,
  client_secret,
  registrant_status = c("approved")
)

Arguments

webinar_id

Zoom Webinar Id, typically an 11 digit number.

account_id

Account Id granted by the Zoom developer app.

client_id

Client Id granted by the Zoom developer app.

client_secret

Client secret granted by the Zoom developer app.

registrant_status

One or more of "approved", "pending", or "denied". Default is "approved" only.

Value

A data frame with data on all the registrants for a webinar.

See Also

See <https://marketplace.zoom.us/docs/api-reference/zoom-api/> for documentation on the Zoom API.

Examples

## Not run: 
dat <- get_webinar_registrants(webinar_id = "99911112222",
  your_account_id,
  your_client_id,
  your_client_secret,
  c("approved", "denied", "pending"))

## End(Not run)

Get List of Meetings for a User

Description

Get list of meetings for a User. This function retrieves meeting IDs and UUIDs to pass into other functions for detailed analysis.

Usage

list_meetings(
  user_id,
  account_id,
  client_id,
  client_secret,
  meeting_type = "previous_meetings",
  page_size = 300
)

Arguments

user_id

Zoom User ID or email address.

account_id

Account ID granted by the Zoom developer app.

client_id

Client ID granted by the Zoom developer app.

client_secret

Client secret granted by the Zoom developer app.

meeting_type

Type of meetings to retrieve. Options are:

  • "previous_meetings" = All previous meetings (default)

  • "scheduled" = All valid previous, live, and upcoming scheduled meetings

  • "upcoming" = All upcoming meetings, including live meetings

  • "upcoming_meetings" = All upcoming meetings, including live meetings

  • "live" = Currently ongoing meetings

page_size

Number of records per page. Maximum 300, default 300.

Details

Important Limitations:

  • 6-month historical limit: When using "upcoming", "upcoming_meetings", or "previous_meetings", only meetings from the last 6 months are returned

  • Scheduled meetings only: Does not return instant meetings

  • Unexpired meetings only: Only returns meetings that haven't expired

For Enhanced Historical Data Access: Users with Pro+ Zoom accounts can access the Reports API endpoint /report/users/{userId}/meetings which offers:

  • Date range filtering with from and to parameters

  • Enhanced meeting details including participant information

  • Better historical data retrieval capabilities

Value

A data frame with meetings hosted by the specified user. The meetings_type column contains integer codes describing the meeting structure/format, while meeting_format_label provides human-readable descriptions:

  • 1 = Instant meeting

  • 2 = Scheduled meeting

  • 3 = Recurring meeting (no fixed time)

  • 8 = Recurring meeting (fixed time)

  • 10 = Screen share only meeting

See Also

Official Zoom API documentation: https://developers.zoom.us/docs/api/meetings/#tag/meetings/get/users/{userId}/meetings

Examples

## Not run: 
dat <- list_meetings(user_id = "user_id_string",
  your_account_id,
  your_client_id,
  your_client_secret,
  meeting_type = "previous_meetings")

## End(Not run)

Get List of Webinars for a User.

Description

Get list of webinars for a User. This is used to get the webinar Id's to pass into other functions.

Usage

list_webinars(user_id, account_id, client_id, client_secret)

Arguments

user_id

Zoom User Id.

account_id

Account Id granted by the Zoom developer app.

client_id

Client Id granted by the Zoom developer app.

client_secret

Client secret granted by the Zoom developer app.

Value

A data frame with all of the webinars hosted by a specific user.

See Also

See <https://marketplace.zoom.us/docs/api-reference/zoom-api/> for documentation on the Zoom API.

Examples

## Not run: 
dat <- get_webinar_details(user_id = "user_id_string",
  your_account_id,
  your_client_id,
  your_client_secret)

## End(Not run)