This integration is powered by Singer's Zoom tap. For support, visit the GitHub repo or join the Singer Slack.
Zoom integration summary
Stitch’s Zoom integration replicates data using the Zoom REST API v2. Refer to the Schema section for a list of objects available for replication.
Zoom feature snapshot
A high-level look at Stitch's Zoom (v1) integration, including release status, useful links, and the features supported in Stitch.
STITCH | |||
Release status |
Released on July 28, 2020 |
Supported by | |
Stitch plan |
Standard |
API availability |
Not available |
Singer GitHub repository | |||
REPLICATION SETTINGS | |||
Anchor Scheduling |
Supported |
Advanced Scheduling |
Supported |
Table-level reset |
Unsupported |
Configurable Replication Methods |
Unsupported |
DATA SELECTION | |||
Table selection |
Supported |
Column selection |
Supported |
Select all |
Supported |
||
TRANSPARENCY | |||
Extraction Logs |
Supported |
Loading Reports |
Supported |
Connecting Zoom
Zoom setup requirements
To set up Zoom in Stitch, you need:
-
A Zoom authentication app. You’ll need one of the following apps to connect your Zoom account to Stitch:
- An OAuth app. Click here for more information on OAuth apps. If using a Zoom OAuth App to connect to Stitch, make sure that the following scopes are included in the app:
account:read:admin
meeting:read:admin
report:read:admin
user:read:admin
webinar:read:admin
- A JSON Web Tokens (JWT) app. Click here for more information on JWT apps.
- An OAuth app. Click here for more information on OAuth apps. If using a Zoom OAuth App to connect to Stitch, make sure that the following scopes are included in the app:
Step 1: Obtain your Zoom authentication app tokens
- Login to your Zoom account on the Zoom App Marketplace.
- Click Manage in the upper right corner of the page.
- Click on the OAuth or JWT app you’d like to use to connect to Stitch.
- If using a JWT app, copy the JWT. If using an OAuth app, copy the Client ID, Client Secret, and Refresh Token.
- Keep your token(s) readily available for the next step.
Step 2: Add Zoom as a Stitch data source
- Sign into your Stitch account.
-
On the Stitch Dashboard page, click the Add Integration button.
-
Click the Zoom icon.
-
Enter a name for the integration. This is the name that will display on the Stitch Dashboard for the integration; it’ll also be used to create the schema in your destination.
For example, the name “Stitch Zoom” would create a schema called
stitch_zoom
in the destination. Note: Schema names cannot be changed after you save the integration. - If connecting to Stitch with a Zoom OAuth app, paste the Client ID, Client Secret, and Refresh Token you obtained in Step 1 into their respective fields.
- If connecting to Stitch with a Zoom JWT app, paste the JWT you obtained in Step 1 into the JWT field.
Step 3: Create a replication schedule
In the Replication Frequency section, you’ll create the integration’s replication schedule. An integration’s replication schedule determines how often Stitch runs a replication job, and the time that job begins.
Zoom integrations support the following replication scheduling methods:
-
Advanced Scheduling using Cron (Advanced or Premium plans only)
To keep your row usage low, consider setting the integration to replicate less frequently. See the Understanding and Reducing Your Row Usage guide for tips on reducing your usage.
Step 4: Set objects to replicate
The last step is to select the tables and columns you want to replicate. Learn about the available tables for this integration.
Note: If a replication job is currently in progress, new selections won’t be used until the next job starts.
For Zoom integrations, you can select:
-
Individual tables and columns
-
All tables and columns
Click the tabs to view instructions for each selection method.
- In the integration’s Tables to Replicate tab, locate a table you want to replicate.
-
To track a table, click the checkbox next to the table’s name. A blue checkmark means the table is set to replicate.
-
To track a column, click the checkbox next to the column’s name. A blue checkmark means the column is set to replicate.
- Repeat this process for all the tables and columns you want to replicate.
- When finished, click the Finalize Your Selections button at the bottom of the screen to save your selections.
- Click into the integration from the Stitch Dashboard page.
-
Click the Tables to Replicate tab.
- In the list of tables, click the box next to the Table Names column.
-
In the menu that displays, click Track all Tables and Fields:
- Click the Finalize Your Selections button at the bottom of the page to save your data selections.
Initial and historical replication jobs
After you finish setting up Zoom, its Sync Status may show as Pending on either the Stitch Dashboard or in the Integration Details page.
For a new integration, a Pending status indicates that Stitch is in the process of scheduling the initial replication job for the integration. This may take some time to complete.
Initial replication jobs with Anchor Scheduling
If using Anchor Scheduling, an initial replication job may not kick off immediately. This depends on the selected Replication Frequency and Anchor Time. Refer to the Anchor Scheduling documentation for more information.
Free historical data loads
The first seven days of replication, beginning when data is first replicated, are free. Rows replicated from the new integration during this time won’t count towards your quota. Stitch offers this as a way of testing new integrations, measuring usage, and ensuring historical data volumes don’t quickly consume your quota.
Zoom table reference
Schemas and versioning
Schemas and naming conventions can change from version to version, so we recommend verifying your integration’s version before continuing.
The schema and info displayed below is for version 1 of this integration.
Table and column names in your destination
Depending on your destination, table and column names may not appear as they are outlined below.
For example: Object names are lowercased in Redshift (CusTomERs
> customers
), while case is maintained in PostgreSQL destinations (CusTomERs
> CusTomERs
). Refer to the Loading Guide for your destination for more info.
meetings
Replication Method : |
Full Table |
Primary Key |
uuid |
API endpoint : |
The meetings
table contains information about instant, scheduled, and recurring meetings in your Zoom account.
uuid
The meeting UUID. Reference: |
||||||||||||||||||||||||||||||||
agenda
|
||||||||||||||||||||||||||||||||
created_at
|
||||||||||||||||||||||||||||||||
duration
|
||||||||||||||||||||||||||||||||
encrypted_password
|
||||||||||||||||||||||||||||||||
h323_password
|
||||||||||||||||||||||||||||||||
host_id
|
||||||||||||||||||||||||||||||||
id
|
||||||||||||||||||||||||||||||||
join_url
|
||||||||||||||||||||||||||||||||
meeting_id
The meeting ID. Reference: |
||||||||||||||||||||||||||||||||
occurences
|
||||||||||||||||||||||||||||||||
password
|
||||||||||||||||||||||||||||||||
pmi
|
||||||||||||||||||||||||||||||||
recurrence
|
||||||||||||||||||||||||||||||||
settings
|
||||||||||||||||||||||||||||||||
start_time
|
||||||||||||||||||||||||||||||||
start_url
|
||||||||||||||||||||||||||||||||
status
|
||||||||||||||||||||||||||||||||
timezone
|
||||||||||||||||||||||||||||||||
topic
|
||||||||||||||||||||||||||||||||
tracking_fields
|
||||||||||||||||||||||||||||||||
type
|
meeting_files
Replication Method : |
Full Table |
Primary Key |
meeting_uuid : file_name |
API endpoint : |
The meeting_files
table contains information about files shared during meetings in your Zoom account. Note:Zoom deletes these files 24 hours after completion of the meeting.
meeting_uuid
The meeting UUID. Reference: |
file_name
The name of the file. |
download_url
|
file_size
|
meeting_polls
Replication Method : |
Full Table |
Primary Key |
id : meeting_id |
API endpoint : |
The meeting_polls
table contains information about the polls from your Zoom meetings.
id
The poll ID. |
|||
meeting_id
The meeting ID. Reference: |
|||
questions
|
|||
status
|
|||
title
|
meeting_poll_results
Replication Method : |
Full Table |
Primary Key |
email : meeting_uuid |
API endpoint : |
The meeting_poll_results
table contains information about the results of polls from your Zoom meetings.
Note: This data is available only if the host user’s role is Pro and the meeting was scheduled.
email
The email of the user who participated in the poll. |
||
meeting_uuid
The meeting UUID. Reference: |
||
name
|
||
question_details
|
meeting_questions
Replication Method : |
Full Table |
Primary Key |
meeting_id |
API endpoint : |
The meeting_questions
table contains questions that users will see when registering for your Zoom meetings.
meeting_id
The meeting ID. Reference: |
||||
custom_questions
|
||||
questions
|
meeting_registrants
Replication Method : |
Full Table |
Primary Key |
id : meeting_id |
API endpoint : |
The meeting_registrants
table contains the list of users who have registered for your Zoom meetings.
id
The registrant’s user ID. |
||
meeting_id
The meeting ID. Reference: |
||
address
|
||
city
|
||
comments
|
||
county
|
||
create_time
|
||
custom_questions
|
||
email
|
||
first_name
|
||
industry
|
||
job_title
|
||
join_url
|
||
last_name
|
||
no_of_employees
|
||
org
|
||
phone
|
||
purchasing_time_frame
|
||
role_in_purchase_process
|
||
state
|
||
status
|
||
zip
|
report_meetings
Replication Method : |
Full Table |
Primary Key |
uuid |
API endpoint : |
The report_meetings
table contains detailed reports about past Zoom meetings.
uuid
The report UUID. |
||
dept
|
||
duration
|
||
end_time
|
||
id
|
||
meeting_id
The meeting ID. Reference: |
||
participants_count
|
||
start_time
|
||
topic
|
||
total_minutes
|
||
tracking_fields
|
||
type
|
||
user_email
|
||
user_name
|
report_meeting_participants
Replication Method : |
Full Table |
Primary Key |
id : meeting_id |
API endpoint : |
The report_meeting_participants
table contains information about your Zoom’s meeting participants.
Note: As per Zoom’s docs, a Zoom Pro plan or higher is required to retrieve this data.
id
The participant ID. |
meeting_id
The meeting ID. Reference: |
duration
|
join_time
|
leave_time
|
name
|
user_email
|
user_id
The meeting participant’s user ID. Reference: |
report_webinars
Replication Method : |
Full Table |
Primary Key |
uuid |
API endpoint : |
The report_webinars
table contains information about past webinars in your Zoom account.
uuid
The webinar UUID. Reference: |
||
dept
|
||
duration
|
||
end_time
|
||
id
|
||
participants_count
|
||
start_time
|
||
topic
|
||
total_minutes
|
||
tracking_fields
|
||
type
|
||
user_email
|
||
user_name
|
||
webinar_id
Reference: |
report_webinar_participants
Replication Method : |
Full Table |
Primary Key |
id : webinar_id |
API endpoint : |
The report_webinar_participants
table contains information about your Zoom’s webinar participants.
Note: As per Zoom’s docs, a Pro plan or higher with with the webinar add-on enabled is required to retrieve this data.
id
The webinar participant ID. |
webinar_id
The webinar ID. Reference: |
attentiveness_score
|
duration
|
join_time
|
leave_time
|
name
|
user_email
|
user_id
The webinar participant’s user ID. Reference: |
Replication Method : |
Full Table |
Primary Key |
id |
API endpoint : |
The users
table contains user data from your Zoom account.
id
The user ID. Reference: |
created_at
|
dept
|
email
|
first_name
|
group_ids
|
im_group_ids
|
last_client_version
|
last_login_time
|
last_name
|
pmi
|
status
|
timezone
|
type
|
verified
|
webinars
Replication Method : |
Full Table |
Primary Key |
uuid |
API endpoint : |
The webinars
table contains information bout webinars scheduled from your Zoom account.
Note: As per Zoom’s docs, the following requirements must be met to retrieve this data:
- A Pro plan or higher with a webinar add-on
- An authentication app with the
webinar:read:admin
andwebinar:read
scopes
uuid
The webinar UUID. Reference: |
||||||||||||||||||||||||||||
agenda
|
||||||||||||||||||||||||||||
created_at
|
||||||||||||||||||||||||||||
duration
|
||||||||||||||||||||||||||||
host_id
|
||||||||||||||||||||||||||||
id
|
||||||||||||||||||||||||||||
join_url
|
||||||||||||||||||||||||||||
occurences
|
||||||||||||||||||||||||||||
recurrence
|
||||||||||||||||||||||||||||
settings
|
||||||||||||||||||||||||||||
start_time
|
||||||||||||||||||||||||||||
start_url
|
||||||||||||||||||||||||||||
timezone
|
||||||||||||||||||||||||||||
topic
|
||||||||||||||||||||||||||||
tracking_fields
|
||||||||||||||||||||||||||||
type
|
webinar_absentees
Replication Method : |
Full Table |
Primary Key |
id : webinar_uuid |
API endpoint : |
The webinar_absentees
table contains information about webinar absentees from your Zoom webinars.
id
The absentee ID. |
||
webinar_uuid
The webinar UUID. Reference: |
||
address
|
||
city
|
||
comments
|
||
county
|
||
create_time
|
||
custom_questions
|
||
email
|
||
first_name
|
||
industry
|
||
job_title
|
||
join_url
|
||
last_name
|
||
no_of_employees
|
||
org
|
||
phone
|
||
purchasing_time_frame
|
||
role_in_purchase_process
|
||
state
|
||
status
|
||
zip
|
webinar_files
Replication Method : |
Full Table |
Primary Key |
webinar_uuid : file_name |
API endpoint : |
The webinar_files
table contains information about files shared in-meeting in your Zoom account.
Note: Zoom deletes these files 24 hours after completion of the webinar.
webinar_uuid
The webinar UUID. Reference: |
file_name
The name of the file shared during the webinar. |
download_url
|
file_size
|
webinar_panelists
Replication Method : |
Full Table |
Primary Key |
id : webinar_id |
API endpoint : |
The webinar_panelists
table contains information about your Zoom webinar panelists.
Note: As per Zoom’s docs, a Pro plan or higher with with the webinar add-on enabled is required to retrieve this data.
id
The panelist ID. |
webinar_id
The webinar ID. Reference: |
email
|
join_url
|
name
|
webinar_polls
Replication Method : |
Full Table |
Primary Key |
id : webinar_id |
API endpoint : |
The webinar_polls
table contains information about polls in your Zoom webinars.
id
The webinar poll ID. |
|||
webinar_id
The webinar ID. Reference: |
|||
questions
|
|||
status
|
|||
title
|
webinar_poll_results
Replication Method : |
Full Table |
Primary Key |
webinar_uuid : email |
API endpoint : |
The webinar_poll_results
data contains information about poll results from specific Zoom webinars.
Note: As per Zoom’s docs, the following requirements must be met to retrieve this data:
- A Zoom webinar license
- A Pro plan or higher
- An authentication app with the
webinar:read:admin
andwebinar:read
scopes
webinar_uuid
The webinar UUID. Reference: |
||
email
The email used for the Zoom webinar. |
||
name
|
||
question_details
|
webinar_qna_results
Replication Method : |
Full Table |
Primary Key |
webinar_uuid : email |
API endpoint : |
The webinar_qna_results
table contains information about about the questions and answers from specific Zoom webinars.
webinar_uuid
The webinar UUID. Reference: |
||
email
The email used for the webinar Q & A session. |
||
name
|
||
question_details
|
webinar_questions
Replication Method : |
Full Table |
Primary Key |
webinar_id |
API endpoint : |
The webinar_questions
table contains information about your questions to be answered when registering for a Zoom webinar.
Note: As per Zoom’s docs, the following requirements must be met to retrieve this data:
- A Pro plan or higher with a webinar add-on
- An authentication app with the
webinar:read:admin
andwebinar:read
scopes
webinar_id
The webinar ID. Reference: |
||||
custom_questions
|
||||
questions
|
webinar_registrants
Replication Method : |
Full Table |
Primary Key |
webinar_id : id |
API endpoint : |
The webinar_registrants
table contains information about the users registered for a webinar in your Zoom account. Only webinars where registration is required are included in this table.
Note: As per Zoom’s docs, the following requirements must be met to retrieve this data:
- A Pro plan or higher with a webinar add-on
- An authentication app with the
webinar:read:admin
andwebinar:read
scopes
webinar_id
The webinar ID. Reference: |
||
id
The registrant ID. |
||
address
|
||
city
|
||
comments
|
||
county
|
||
create_time
|
||
custom_questions
|
||
email
|
||
first_name
|
||
industry
|
||
job_title
|
||
join_url
|
||
last_name
|
||
no_of_employees
|
||
org
|
||
phone
|
||
purchasing_time_frame
|
||
role_in_purchase_process
|
||
state
|
||
status
|
||
zip
|
webinar_tracking_sources
Replication Method : |
Full Table |
Primary Key |
id : webinar_id |
API endpoint : |
The webinar_tracking_sources
lists all information about tracking sources in your Zoom account. Only webinars where registration is required will be included in this table.
Note: As per Zoom’s docs, the following requirements must be met to retrieve this data:
- A Zoom webinar license
- An authentication app with the
webinar:read:admin
andwebinar:read
scopes
id
The tracking source ID. |
webinar_id
The webinar ID. Reference: |
registration_count
|
source_name
|
tracking_url
|
visitor_count
|
Related | Troubleshooting |
Questions? Feedback?
Did this article help? If you have questions or feedback, feel free to submit a pull request with your suggestions, open an issue on GitHub, or reach out to us.