The Zoom Webinar connector tools in Optimizely Opal let you summarize webinar transcripts, get and update webinar details, and get poll results. After you install and configure the Zoom Webinar tools in Optimizely Connect Platform (OCP), the tools become available in Opal Chat, agents, and workflows.
Complete the following steps to enable the Zoom Webinar tools.
Prerequisites
Before using the Zoom Webinar tools, you must have the following:
- Zoom webinar license – A Zoom account with webinar capabilities enabled.
- API access – Admin privileges to create and manage API apps in the Zoom Marketplace.
- Appropriate scopes – A Zoom app with the necessary permissions for webinar operations.
Add the Zoom Webinars Opal tool in OCP
In the OCP App Directory, complete the following:
- Click on the Opal Zoom Webinar Tool connector tool.
-
Click Install App.
Configure your app in the Zoom Marketplace
Create Server-to-Server OAuth app
From the Zoom Marketplace, complete the following:
- Click Sign in and enter your Zoom admin account information.
- Click Develop > Build App.
- Select Server-to-Server OAuth for the app type.
- Enter your app information.
- App Name – Opal Zoom Tool or your preferred name.
- Description – Brief description of your integration.
- Click Create to generate your app.
Get your credentials
From your app's Basic Information tab in the Zoom Marketplace, copy the following:
- Account ID – Your Zoom account identifier.
- Client ID – Your app's client identifier.
- Client Secret – Your app's secret key. Make sure you keep this secure.
Configure scopes
In your app, go to the Scopes tab. Add the following permissions based on your needs:
For full functionality (Account-Level App)
webinar:read:admin webinar:write:admin recording:read:admin cloud_recording:read:admin cloud_recording:read:list_recording_files report:read:admin dashboard:read:admin
Minimum required scopes
-
webinar:read:admin– Read webinar information (required for basic functionality). -
webinar:write:admin– Create and modify webinars.
Recommended scopes
-
recording:read:admin/cloud_recording:read:admin– For webinar recording and transcript access. -
report:read:admin/dashboard:read:admin– For webinar analytics and reporting.
Activate your app
In the Zoom Marketplace, click Continue through the remaining configuration steps to complete your app. Your app is now ready to use.
Configure your Zoom Webinar tool in OCP
In your OCP instance, click on the Settings tab of the Opal Zoom Webinar Tool and complete the following:
- Select Server-to-Server OAuth as Authentication Method.
- Enter your Zoom Account ID
- Enter your Zoom Client ID
- Enter your Zoom Client Secret
-
Click Save to test the connection.
Register the Zoom Webinar Tool with Opal
In your OCP instance, click on the Settings tab of the Opal Zoom Webinar Tool and complete the following:
- Expand the Add to Opal section.
-
Click Add to Opal for the Opal Account you want to add the Zoom Webinar tools to.
Zoom Webinar connector tools
After you add and register the Zoom Webinar connector tools, you can call the following tools in Opal. Click on a tool to expand it to learn when to use the tool, available parameters, and example prompts. If you do not provide a required parameter, Opal prompts you for it.
Webinar management
zoom_get_user_webinars – Retrieve a list of webinars for a specific user or the authenticated user. This tool provides comprehensive information about webinars including details, registration settings, host information, recurrence patterns, and join URLs.
-
When to use
- To get an overview of all webinars associated with a user.
- To filter webinars by their status (scheduled, live, upcoming).
- To monitor webinar schedules and planning.
- To audit webinar configurations and settings.
- To export webinar data for reporting purposes.
-
Parameters
- (Optional)
page_number– Page number for pagination. Starts at 1 for the first page. - (Optional)
page_size– Number of webinars to return per page (range: 1 to 300, default: 30). - (Optional)
type(string) – Filter webinars by type or status. Options include the following:- "scheduled" (default)
- "live"
- "upcoming"
- (Optional)
user_id– User ID or email address. Defaults to 'me' (authenticated user) if not specified. Can be an email address, user ID, or me.
- (Optional)
-
Example prompts
- Show me all my upcoming webinars.
- List all webinars for user john.doe@example.com.
- What webinars are currently live?
- Can you give me a list of all scheduled webinars, 50 per page?
zoom_get_all_webinars – Retrieve a list of webinars for the authenticated user or account. This tool provides comprehensive information about webinars including details, host information, registration settings, recurrence patterns, and join URLs.
-
When to use
- To get an overview of all accessible webinars.
- To filter webinars by date range and status.
- To monitor webinar schedules.
- To audit webinar configurations and settings.
- To export webinar data for reporting and analytics.
-
Parameters
-
user_id– User ID or email address. - (Optional)
from– Start date for filtering webinars (ISO 8601 format, for example, "2024-01-01T00:00:00Z"). - (Optional)
to– End date for filtering webinars (ISO 8601 format, for example, "2024-12-31T23:59:59Z"). - (Optional)
next_page_token– Token for retrieving the next page of results. - (Optional)
page_size– Number of webinars to return per page (range: 1 to 300, default: 30). - (Optional)
type– Filter webinars by type or status. Options include the following:- "scheduled" (default)
- "live"
- "upcoming"
-
-
Example prompts
- Show me all webinars scheduled for next month.
- List all live webinars.
- What webinars were held in Q4 2024?
- Can you give me a list of all upcoming webinars, 100 per page?
- Show me all webinars for the user with ID 'ABCdef123456'.
zoom_create_webinar – Create a new Zoom webinar with comprehensive configuration options.
-
When to use
- To schedule webinars for specific dates and times.
- To create recurring webinar series.
- To set up webinars with registration requirements.
- To pre-configure host and panelist settings and attendee options.
- To create practice sessions for webinar preparation.
-
Parameters
-
topic– Webinar topic or title. - (Optional)
agenda– Webinar agenda or description. - (Optional)
duration– Webinar duration in minutes (1 to 999999). - (Optional)
password– Webinar password for security (max 10 characters). - (Optional)
recurrence– Recurrence settings for recurring webinars. - (Optional)
settings–Webinar configuration settings. - (Optional)
start_time– Webinar start time in ISO 8601 format. Required for types 5: Regular and 9: Recurring fixed time. Seetypeparameter. - (Optional)
template_id– Webinar template ID to use for configuration. - (Optional)
timezone– Webinar timezone. For example, "America/New_York". - (Optional)
tracking_fields– Custom tracking fields. - (Optional)
type–Webinar type. Default 5.- 5 – Regular
- 6 – Recurring no fixed time
- 9 – Recurring fixed time
-
-
Example prompts
- Create a webinar titled "Product Launch" for next Friday at 2 PM PST, lasting 60 minutes.
- Schedule a weekly recurring webinar on Tuesdays at 10 AM EST for 10 occurrences, topic "Team Sync".
- Set up a webinar with registration required and cloud recording enabled, for "Marketing Strategy Session".
zoom_get_webinar_details – Get comprehensive details about a specific Zoom webinar.
-
When to use
- To get complete webinar configuration details.
- To verify webinar settings before events.
- To troubleshoot webinar access or configuration issues.
- To export webinar data for reporting.
- To check registration and approval settings.
-
Parameters
-
webinar_id– Webinar ID. - (Optional)
include_passcode– Include webinar passcode in response. - (Optional)
occurrence_id– Occurrence ID for recurring webinars. - (Optional)
show_previous_occurrences– Include previous occurrences in the response.
-
-
Example prompts
- Get details for webinar ID 123456789.
- Show me all the settings for the "Annual Conference" webinar, including previous occurrences.
- What are the details for the webinar "Product Demo" and include the passcode?
zoom_update_webinar – Update an existing Zoom webinar with new settings and details.
-
When to use
- To reschedule webinars to new times.
- To update webinar topics or agendas.
- To change registration and approval settings.
- To modify recurring webinar patterns.
- To update security settings and access controls.
- To adjust host and panelist video settings.
-
Parameters
-
webinar_id– Webinar ID to update. - (Optional)
agenda– Updated webinar agenda or description. - (Optional)
duration– Updated webinar duration in minutes. - (Optional)
occurrence_id– Occurrence ID for recurring webinars. - (Optional)
password– Updated webinar password. - (Optional)
recurrence– Updated recurrence settings for recurring webinars. - (Optional)
settings– Updated webinar configuration settings. - (Optional)
start_time– Updated webinar start time in ISO 8601 format. - (Optional)
timezone– Updated webinar timezone. - (Optional)
topic– Updated webinar topic or title. - (Optional)
tracking_fields– Updated custom tracking fields. - (Optional)
type–Updated webinar type.
-
-
Example prompts
- Update webinar ID 987654321 to start at 3 PM UTC.
- Change the topic of the "Monthly Review" webinar to "Quarterly Business Review".
- For webinar ID 112233445, enable practice session and set auto-recording to cloud.
Panelist management
zoom_manage_webinar_panelists – Add, update, or remove panelists for Zoom webinars.
-
When to use
- To configure expert panels for webinars.
- To manage speaker lineups and permissions.
- To add subject matter experts as panelists.
- To control panelist capabilities (video, audio, screen share).
- To organize multi-speaker educational sessions.
-
Parameters
-
action– Action to perform on panelists. For example, "add", "remove", or "update". -
panelists– JSON string array of panelist objects. -
webinar_id– Webinar ID to manage panelists for.
-
-
Example prompts
- Add John Doe (john.doe@example.com) as a panelist to webinar ID 12345.
- Remove Jane Smith (jane.smith@example.com) from the "Q3 Review" webinar.
- Update the virtual background for panelist Alice (alice@example.com) in webinar ID 67890.
Registration management
zoom_webinar_registration – Register attendees for Zoom webinars and manage registration data.
-
When to use
- To register users for upcoming webinars.
- To collect attendee information and preferences.
- To manage registration for recurring webinar series.
- To automate registration workflows.
- To track attendee data for analytics.
-
Parameters
-
email– Attendee email address. -
first_name– Attendee first name. -
last_name– Attendee last name. -
webinar_id– Webinar ID for registration. - (Optional)
address– Attendee address. - (Optional)
city– Attendee city. - (Optional)
country– Attendee country. - (Optional)
custom_questions– Custom registration questions and answers. - (Optional)
industry– Attendee industry. - (Optional)
job_title– Attendee job title. - (Optional)
occurrence_ids– Comma-separated occurrence IDs for recurring webinars. - (Optional)
organization– Attendee organization or company name. - (Optional)
phone– Attendee phone number. - (Optional)
state– Attendee state or province. - (Optional)
zip– Attendee postal or ZIP code.
-
-
Example prompts
- Register Sarah Connor (sarah.connor@skynet.com) for webinar ID 98765.
- Sign up Kyle Reese (kyle.reese@resistance.org) for the "Future Tech" webinar, and ask for his job title.
- Register multiple attendees for the weekly "Project Update" webinar, but only for the next two occurrences.
Analytics and reporting
- Some analytics features may have limited functionality based on your Zoom plan tier.
- Recording and transcript access requires cloud recording to be enabled for webinars.
zoom_get_webinar_registrants – Get webinar registrants list with attendance information and analytics.
-
When to use
- To verify if specific leads or contacts attended webinars.
- To generate attendee lists for landing page social proof.
- To analyze company participation and domain-based attendance.
- To calculate no-show rates and attendance patterns.
- To export data for CRM integration and lead scoring.
- To create personalized follow-up campaigns based on attendance.
-
Parameters
-
webinar_id– The Webinar ID to get registrants for. - (Optional)
email_filter– Filter or search for specific registrants by email address. - (Optional)
include_attendance– Whether to include attendance information for each registrant (default: true). - (Optional)
next_page_token– Token for retrieving the next page of results. - (Optional)
page_size– Number of registrants to retrieve per page. Default: 100, range: 1-300. - (Optional)
status– Filter registrants by registration status. Options: "approved", "pending", or "denied".
-
-
Example prompts
- Get all registrants for webinar ID 12345, including their attendance.
- Show me all approved registrants for the "Product Demo" webinar.
- List all registrants from "@example.com" for webinar ID 67890.
zoom_get_webinar_poll_results – Retrieve webinar poll results for engagement analysis and insights.
-
When to use
- To measure audience engagement and participation levels.
- To analyze participant opinions and preferences.
- To identify content areas that generate most interest.
- To generate post-webinar engagement reports.
- To support lead qualification and audience segmentation.
- To guide future content and presentation strategies.
-
Parameters
-
webinar_id– Webinar ID for poll results retrieval. - (Optional)
occurrence_id– Occurrence ID for recurring webinars.
-
-
Example prompts
- Get poll results for webinar ID 12345.
- Show me the poll results from the "Customer Feedback Session" webinar.
- Retrieve poll results for the specific occurrence ID 1640995200000 of webinar ID 67890.
zoom_get_webinar_survey_results – Retrieve webinar survey results for post-event analysis and insights.
-
When to use
- To analyze participant feedback and satisfaction.
- To identify content gaps and improvement opportunities.
- To generate post-webinar analysis reports.
- To support lead qualification and follow-up activities.
- To measure webinar effectiveness and ROI.
- To create participant personas and audience insights.
-
Parameters
-
webinar_id– Webinar ID for survey results retrieval. - (Optional)
next_page_token– Token for retrieving the next page of results. - (Optional)
page_size– Number of survey responses to return per page. Default: 100, range: 1-300.
-
-
Example prompts
- Get survey results for webinar ID 12345.
- Show me the survey responses from the "Employee Training" webinar.
- Retrieve survey results for webinar ID 67890, 50 responses per page.
zoom_get_webinar_transcript – Retrieve webinar recording transcript for content analysis and summarization.
-
When to use
- To create post-webinar content and summaries.
- To generate landing page content from webinar discussions.
- To analyze webinar topics and participant engagement.
- To extract key insights and quotes from presentations.
- To support content marketing and lead generation efforts.
-
Parameters
-
meeting_id– Meeting or Webinar ID for transcript retrieval. - (Optional)
include_transcript– Download and include full transcript content. Default: false. - (Optional)
transcript_lang– Transcript language preference. For example, "en-US".
-
-
Example prompts
- Get the transcript for meeting ID 12345.
- Show me the full transcript of the "Sales Kickoff" webinar.
- Retrieve the transcript for webinar ID 67890 in Spanish.
zoom_download_webinar_recording – Download webinar recording files including video, audio, transcripts, and chat logs.
-
When to use
- To create post-webinar marketing content and highlights.
- To repurpose webinar content for multiple channels.
- To archive webinar recordings for future reference.
- To generate promotional clips and social media content.
- To support content marketing and lead generation campaigns.
- To process recordings with AI for automated content creation.
-
Parameters
-
meeting_id– Zoom meeting ID to download recordings from. - (Optional)
include_password– Include recording password in response if available. Default: false. - (Optional)
recording_type– Filter recordings by specific type. For example, "shared_screen_with_speaker_view", "audio_only", or "chat_file". - (Optional)
url_ttl– Number of seconds for download URL validity. Default: 3600, max: 86400.
-
-
Example prompts
- Download the video recording for meeting ID 12345.
- Get all audio recordings and chat logs from the "Product Update" webinar.
- Retrieve the speaker view recording for meeting ID 67890, including the password.
Troubleshoot
"Authentication failed" Error
- Verify your credentials are copied correctly (no extra spaces).
- Check Account ID, Client ID, and Client Secret.
- Ensure your app is activated in Zoom Marketplace.
"Insufficient Permissions" Error
- Your app needs additional scopes.
- Add required scopes in your Zoom app settings.
See the following Zoom documentation for more information:
If you use Opti ID, administrators can turn off generative AI in the Opti ID Admin Center. See Turn generative AI off across Optimizely applications.
Article is closed for comments.