Integrations

ServiceNow Zoom Integration Guide

beginnerOAuth 2.0 Authorization Code FlowZoom

The ServiceNow Zoom integration enables organizations to automatically create Zoom meetings directly from ServiceNow incidents, cases, or other records, streamlining collaboration during incident resolution and support activities. This integration solves the common problem of IT teams manually switching between ServiceNow and Zoom to coordinate response efforts, reducing response time and improving communication efficiency. IT service management teams, customer service representatives, and incident managers rely on this integration to maintain seamless workflows during critical support scenarios. The integration primarily uses the ServiceNow Integration Hub Zoom spoke to send uni-directional data from ServiceNow to Zoom, triggered by business rules, workflow activities, or Flow Designer flows when specific conditions are met on incident, case, or custom table records. Authentication is managed through OAuth 2.0, and the integration capabilities are accessible through the Flow Designer interface within the Integration Hub module.

Prerequisites

  • ServiceNow Quebec or later with Integration Hub Professional license
  • Zoom Pro, Business, Education, or Enterprise account with admin privileges
  • System Administrator role in ServiceNow instance
  • Zoom Marketplace app creation permissions
  • Integration Hub plugin (com.glide.integration_hub) activated
  • Flow Designer plugin (com.glide.flow_engine) activated
  • Valid SSL certificate on ServiceNow instance for OAuth callbacks

Architecture Overview

The ServiceNow Zoom integration leverages the official Integration Hub Zoom spoke, which provides pre-built actions for meeting creation and management through RESTful API calls to Zoom's v2 API endpoints. Authentication is established using OAuth 2.0 authorization code flow, with credentials stored securely in ServiceNow's Connection & Credential Alias records, eliminating the need for hardcoded API keys or passwords in scripts. Data flows uni-directionally from ServiceNow to Zoom, typically triggered by Flow Designer flows, business rules, or workflow activities when incidents require collaboration or cases need customer meetings. No MID Server is required as the integration uses direct HTTPS communication from the ServiceNow instance to Zoom's cloud APIs, but the ServiceNow instance must have outbound internet access on port 443. Rate limiting follows Zoom's API quotas of 100 requests per second for most endpoints, with automatic retry logic built into the spoke actions to handle temporary throttling scenarios.

Sourdough
Chrome Extension

Sourdough: ServiceNow Monitoring and Analytics

A Chrome extension for ServiceNow Admins and Developers with essential tools, analytics, graphs and monitoring features.

Instance HealthGraphs & ChartsAPI HealthDeveloper ToolsQuick SearchInstance Switcher
Add to Chrome

Free to install. Pro $5/month after a 14-day no-card trial.
Pro requires the ServiceNow admin role. Upgrade inside the extension.

Overview
Tasks
CMDB
API
Metrics
Monitor
Internals
Instance:sourdoughdev·Version:Yokohama
Instance StateONLINE
System StatusFully Operational
Session Timeout90 minutes
Logged-In Sessions2 (20 active)
Build Nameyokohama-12-18-2024_p1
IP Address10.159.128.43
Instance HealthHealth Score: 90%
🔥 5dSourdough (Chrome Plugin)Dark Mode

Implementation Steps

1

Create a Zoom Marketplace application for OAuth integration

Log into the Zoom Marketplace at marketplace.zoom.us and navigate to Develop > Build App, then select OAuth as the app type. Configure the app with a descriptive name like 'ServiceNow Integration' and set the app type to 'Account-level app' for organization-wide access. In the App Credentials section, note the Client ID and Client Secret values which will be used in ServiceNow credential configuration. Set the Redirect URL to your ServiceNow instance URL followed by '/api/now/integration/oauth/callback' (e.g., https://yourinstance.service-now.com/api/now/integration/oauth/callback). Add the required scopes including 'meeting:write', 'meeting:read', and 'user:read' to enable meeting creation and management capabilities.

2

Install and activate the Integration Hub Zoom spoke

Navigate to System Applications > All Available Applications > All and search for 'IntegrationHub Zoom Spoke' in the ServiceNow Store. Click the Install button and wait for the installation to complete, which typically takes 2-3 minutes depending on instance performance. After installation, navigate to System Definition > Plugins and verify that the 'Integration Hub Zoom Spoke' plugin (com.glide.integration_hub.zoom) shows as Active. The spoke installation includes pre-built Connection Alias templates, credential definitions, and Flow Designer actions specifically designed for Zoom API interactions. Verify the spoke version matches your ServiceNow release compatibility matrix to ensure optimal performance and support.

3

Configure OAuth credentials in ServiceNow Connection & Credential Alias

Navigate to Connections & Credentials > Credentials and create a new OAuth 2.0 credential record with the name 'Zoom OAuth Credential'. Set the Grant Type to 'Authorization Code', enter the Client ID and Client Secret from your Zoom Marketplace app, and configure the Authorization URL as 'https://zoom.us/oauth/authorize' and Token URL as 'https://zoom.us/oauth/token'. In the Scope field, enter 'meeting:write meeting:read user:read' to match the permissions configured in your Zoom app. Save the credential record and note the generated Credential ID, which will be referenced in the Connection Alias configuration. Test the credential by clicking the 'Get OAuth Token' related link to initiate the OAuth flow and verify successful token retrieval.

4

Create a Connection Alias for the Zoom API endpoint

Navigate to Connections & Credentials > Connection Alias and create a new record named 'Zoom API Connection' with the Connection URL set to 'https://api.zoom.us/v2'. Select 'Use Credential Alias' and choose the OAuth credential created in the previous step from the Credential dropdown. Set the Connection Type to 'HTTP(s)' and ensure the Authentication Type is configured as 'OAuth 2.0'. In the Connection Properties section, add a custom property 'Content-Type' with value 'application/json' to ensure proper API request formatting. Test the connection by using the Test Connection feature to verify successful authentication and API accessibility from your ServiceNow instance.

5

Create a Flow Designer flow to trigger Zoom meeting creation

Navigate to Process Automation > Flow Designer and create a new flow named 'Create Zoom Meeting for Incident'. Configure the trigger as 'Record Updated' on the Incident table with conditions such as State equals 'In Progress' and Priority equals '1 - Critical' to automatically create meetings for high-priority incidents. Add a Zoom spoke action by searching for 'Create Meeting' in the Flow Designer actions panel and configure the Connection Alias to use the 'Zoom API Connection' created previously. Map the meeting parameters using incident data: set the topic to the incident short description, agenda to the incident description, and duration to a default value like 60 minutes. Configure the meeting settings to enable waiting room, require meeting password, and set the start time to the current timestamp plus 5 minutes to allow for participant notification.

ServiceNow Script
// Example data pill mapping for Zoom meeting creation
// Topic: {{trigger.current.short_description}}
// Agenda: Priority {{trigger.current.priority}} incident: {{trigger.current.description}}
// Start Time: {{trigger.current.sys_created_on.add(5, 'minutes')}}
// Duration: 60
// Password: {{trigger.current.number}}
6

Configure meeting details storage and notification

In the same Flow Designer flow, add an 'Update Record' action to store the Zoom meeting details back to the incident record for future reference. Create custom fields on the Incident table (u_zoom_meeting_id, u_zoom_join_url, u_zoom_meeting_password) to capture the meeting information returned by the Zoom API. Configure the Update Record action to populate these fields using data pills from the Create Meeting action output, specifically the meeting ID, join URL, and password values. Add a 'Send Email' action to notify the assigned user and incident caller about the created meeting, including the join URL and meeting credentials in the email template. Test the field mappings thoroughly to ensure meeting data is properly captured and accessible for future incident management activities.

ServiceNow Script
// Update Record action field mappings
// u_zoom_meeting_id: {{action[Create_Meeting].result.id}}
// u_zoom_join_url: {{action[Create_Meeting].result.join_url}}
// u_zoom_meeting_password: {{action[Create_Meeting].result.password}}
// work_notes: Zoom meeting created: {{action[Create_Meeting].result.join_url}}
7

Test the integration with sample incident data

Create a test incident record with Priority set to '1 - Critical' and State set to 'New', then update the state to 'In Progress' to trigger the Flow Designer flow. Monitor the flow execution by navigating to Process Automation > Flow Designer > Executions and verify that each action completes successfully without errors. Check the incident record to confirm that the custom Zoom meeting fields are populated with valid meeting ID, join URL, and password information. Verify the email notification is sent to the appropriate recipients and contains the correct meeting details and join instructions. Test the actual Zoom meeting by clicking the join URL to ensure the meeting was created properly in Zoom and is accessible with the provided credentials.

ServiceNow Script
// Test script to verify Zoom meeting creation
var gr = new GlideRecord('incident');
gr.addQuery('number', 'INC0000123'); // Replace with test incident number
gr.query();
if (gr.next()) {
    gs.info('Zoom Meeting ID: ' + gr.u_zoom_meeting_id);
    gs.info('Join URL: ' + gr.u_zoom_join_url);
    gs.info('Meeting Password: ' + gr.u_zoom_meeting_password);
}
8

Configure error handling and monitoring

Return to your Flow Designer flow and add error handling by configuring the 'Create Meeting' action with appropriate error conditions and alternative paths. Set up a 'Log Error' action that triggers when the Zoom meeting creation fails, capturing the error message and incident details for troubleshooting purposes. Navigate to System Logs > Flow Logs to establish monitoring procedures for integration failures and configure email alerts for administrators when consecutive failures occur. Create a scheduled job or Flow Designer schedule trigger to periodically validate the OAuth token status and send proactive notifications when token refresh is required. Document the integration configuration and create runbook procedures for common maintenance tasks such as token renewal, credential updates, and troubleshooting connection issues.

ServiceNow Script
// Error handling script for Flow Designer
if (action.Create_Meeting.result.error) {
    var errorMsg = 'Zoom meeting creation failed for incident ' + trigger.current.number;
    errorMsg += ': ' + action.Create_Meeting.result.error_message;
    gs.error(errorMsg);
    // Update incident work notes with error information
    trigger.current.work_notes = 'Zoom meeting creation failed. Please create meeting manually.';
}

Common Use Cases

Automatic incident war room creation

High-priority or critical incidents automatically trigger Zoom meeting creation when the incident state changes to 'In Progress' or when multiple teams are assigned to resolve the issue. The meeting details are stored on the incident record and stakeholders receive email notifications with join instructions. This use case reduces response time for critical incidents and ensures immediate collaboration without manual coordination overhead, particularly valuable for P1 outages requiring rapid multi-team response.

Customer support case escalation meetings

When customer cases reach escalation thresholds or specific priority levels, the integration automatically creates Zoom meetings and invites both internal support teams and external customers. Case details including customer information, issue description, and resolution history are included in the meeting agenda for context. This streamlines the escalation process and provides customers with immediate access to subject matter experts, improving customer satisfaction and case resolution efficiency.

Change advisory board meetings

Scheduled Change Request records automatically generate recurring Zoom meetings for Change Advisory Board (CAB) reviews based on the change implementation date and risk level. Meeting invitations include change details, risk assessments, and implementation plans as agenda items, ensuring all stakeholders have context before the meeting. This use case standardizes the CAB review process and eliminates manual meeting scheduling overhead while maintaining change management governance requirements.

Problem management investigation sessions

Problem records trigger Zoom meeting creation when investigation activities require collaboration between multiple technical teams or when root cause analysis sessions are needed. The integration maps problem details, affected services, and related incident information to the meeting agenda, providing investigation context. Meeting recordings are automatically linked back to the problem record for documentation purposes, supporting knowledge management and future problem prevention activities.

Service request fulfillment coordination

Complex service requests requiring coordination between multiple fulfillment groups automatically generate Zoom meetings when the request reaches specific workflow stages. Request details, customer requirements, and fulfillment timelines are included in the meeting agenda to ensure all parties understand deliverables and dependencies. This use case improves service request communication and reduces fulfillment delays caused by coordination challenges between distributed teams.

Troubleshooting

OAuth token expired error during meeting creation

Navigate to Connections & Credentials > Credentials and locate your Zoom OAuth credential record. Click on the 'OAuth Token' related link and verify the token expiration date - Zoom tokens typically expire after 1 hour and require refresh. Use the 'Refresh Token' button to obtain a new access token, or re-authorize the application if the refresh token has also expired. Monitor the System Log for OAuth-related errors and consider implementing automated token refresh logic in your Flow Designer flows to handle token expiration gracefully.

Meeting creation fails with 400 Bad Request error

Check the Flow Designer execution details to identify which meeting parameters are causing the validation error - common issues include invalid start times, missing required fields, or malformed email addresses in participant lists. Navigate to System Logs > Integration Hub Logs to view the complete API request and response details from Zoom. Verify that date/time fields are properly formatted in ISO 8601 format and that user email addresses exist in the Zoom account before attempting to add them as meeting participants or alternative hosts.

Connection timeout when calling Zoom API

Verify outbound internet connectivity from your ServiceNow instance by testing the connection from Connections & Credentials > Connection Alias using the Test Connection feature. Check if your organization's firewall or proxy settings are blocking HTTPS traffic to api.zoom.us on port 443. Navigate to System Properties and verify that the 'glide.http.outbound.timeout' property is set to at least 30 seconds to accommodate potential API latency. If using a proxy server, ensure the proxy settings are configured correctly in the Connection Alias configuration.

Duplicate meetings created for the same incident

Review your Flow Designer flow conditions to ensure they include proper duplicate prevention logic, such as checking if a Zoom meeting ID already exists on the incident record before creating a new meeting. Add a condition in your flow to verify that the custom Zoom meeting fields are empty before executing the Create Meeting action. Implement a business rule or flow logic to prevent multiple state changes from triggering duplicate meeting creation by using incident state history or tracking fields to identify if a meeting has already been created for the specific incident scenario.

Meeting participants not receiving calendar invitations

Verify that the participant email addresses in your Flow Designer action correspond to valid Zoom user accounts within your organization or licensed external users if using a Business or Enterprise account. Check the Zoom meeting settings in your spoke action configuration to ensure 'Send calendar invitations' is enabled and that the meeting is not set as an instant meeting type. Navigate to your Zoom admin dashboard to verify that calendar integration settings are properly configured and that your organization's email system is not blocking meeting invitations from Zoom's notification servers.

Flow execution fails with insufficient permissions error

Navigate to System OAuth > Application Registry and verify that your Zoom OAuth application has the correct scopes configured, particularly 'meeting:write' and 'user:read' permissions. Check that the ServiceNow user context executing the flow has the necessary roles including 'integration_hub_action_designer' and appropriate table access rights for the records being processed. Review the Zoom Marketplace app configuration to ensure it has been published and approved for use within your organization, as draft applications may have restricted functionality that causes permission errors during API calls.

Pro Tips

  • Implement custom business logic in Flow Designer to dynamically set meeting durations based on incident priority levels - for example, P1 incidents get 2-hour meetings while P3 incidents get 30-minute meetings, ensuring appropriate time allocation for resolution activities.
  • Create a scheduled Flow Designer flow that runs daily to clean up completed Zoom meetings by calling the Delete Meeting API for incidents that have been resolved for more than 7 days, helping maintain your Zoom account's meeting storage limits and reducing clutter.
  • Configure meeting recording settings in your Zoom spoke actions to automatically record sessions for compliance purposes, then use additional Flow Designer actions to download and attach recordings to ServiceNow records for audit trails and knowledge capture.
  • Set up custom notification templates that include not just the meeting URL but also relevant ServiceNow record context, assigned team information, and escalation contacts, making the meeting invitation serve as a comprehensive incident briefing document.
  • Implement error retry logic using Flow Designer's built-in retry capabilities with exponential backoff for Zoom API calls, particularly during high-traffic periods when rate limiting might cause temporary failures.
  • Create dashboard widgets and reports to track meeting creation metrics, including success rates, most common failure reasons, and integration usage patterns across different service management processes for continuous improvement insights.

Known Limitations

  • Zoom's API rate limit of 100 requests per second per account can become a constraint in large organizations with high incident volumes, potentially causing meeting creation delays during major outage events when multiple incidents trigger simultaneously. Consider implementing queuing mechanisms or staggered execution for bulk operations.
  • The Integration Hub Zoom spoke only supports basic meeting creation and management functions - advanced features like breakout room configuration, polling setup, or custom branding require direct REST API calls using custom scripting outside of the pre-built spoke actions. Meeting capacity is also limited by your Zoom license tier and concurrent meeting allowances.
  • OAuth token refresh automation is not built into the spoke actions, requiring manual token refresh or custom refresh logic implementation when tokens expire after extended periods of inactivity. Additionally, the integration requires the ServiceNow instance to maintain outbound internet connectivity, which may not be suitable for air-gapped or highly restricted network environments.

Frequently Asked Questions

Can I create recurring Zoom meetings for scheduled change windows using this integration?

Yes, the Zoom spoke supports creating recurring meetings by configuring the recurrence settings in the Create Meeting action within Flow Designer. You can set up recurring patterns based on Change Request schedules and map the change implementation dates to meeting start times. The spoke allows configuration of daily, weekly, or monthly recurrence patterns with customizable end dates. Consider creating a scheduled Flow Designer trigger that processes Change Requests with future implementation dates to create the meeting series in advance.

How can I automatically add specific users to meetings based on incident assignment groups?

Configure your Flow Designer flow to query the Assignment Group members using a 'Look up Record' action on the sys_user_grmember table, then map the retrieved user email addresses to the meeting participants field in the Zoom Create Meeting action. Use data pills to dynamically build the participant list based on group membership and user availability status. You can also implement additional logic to include on-call users from PagerDuty or other alerting systems by integrating multiple spoke actions in the same flow. Remember that all participants must have valid Zoom accounts within your organization to receive proper meeting access.

What happens to scheduled Zoom meetings when incidents are resolved before the meeting time?

The integration doesn't automatically cancel meetings when incidents are resolved, so you should implement additional Flow Designer logic to handle this scenario. Create a separate flow triggered by incident resolution that calls the Zoom 'Delete Meeting' or 'Update Meeting' action to cancel or modify the scheduled meeting. Include notification actions to inform participants about the cancellation and update the incident work notes with the meeting status change. Consider implementing a grace period check to only cancel meetings that are more than 15 minutes in the future to avoid disrupting meetings already in progress.

Can I customize the meeting agenda content beyond basic incident details?

Yes, you can create dynamic meeting agendas by combining multiple data sources in Flow Designer using lookup actions and string manipulation. Query related records such as Configuration Items, related incidents, change requests, or knowledge articles to build comprehensive agenda content. Use the 'Create Meeting' action's agenda field to include formatted text with incident history, affected services, previous resolution attempts, and stakeholder contact information. Consider creating reusable subflows that generate standardized agenda templates based on incident categories or service types for consistency across your organization.

How do I handle Zoom meetings for incidents that involve external customers or vendors?

For external participants, configure the meeting creation to generate a public join URL that doesn't require Zoom account authentication, and set up waiting room and password protection for security. Use the meeting settings in the Zoom spoke action to enable 'Allow participants to join before host' and configure appropriate security settings like meeting passwords and participant video/audio controls. Create custom notification templates that include meeting security guidelines and dial-in numbers for participants who prefer phone access. Remember that external participant capacity counts against your Zoom license limits and may require Business or Enterprise tier accounts for larger meetings.

Can I integrate this with ServiceNow Virtual Agent to allow users to request meeting creation via chat?

Yes, you can configure ServiceNow Virtual Agent to trigger the same Flow Designer flows used for automatic meeting creation by setting up conversational flows that collect meeting requirements and create incident or case records with appropriate field values. Design Virtual Agent topics that capture meeting purpose, preferred time, participant list, and urgency level, then trigger your Zoom integration flows programmatically. Use Virtual Agent's integration capabilities to provide immediate meeting confirmation and join URLs back to the requesting user through the chat interface. This approach extends self-service capabilities and reduces manual meeting coordination requests to IT service desk teams.

What reporting options are available to track Zoom meeting creation and usage from ServiceNow?

Create custom reports and dashboards using the incident table's custom Zoom meeting fields to track meeting creation frequency, success rates, and usage patterns across different incident types and assignment groups. Configure Flow Designer execution logs and Integration Hub activity logs as data sources for operational reporting on integration performance and error trends. Build scheduled reports that identify unused meetings, successful resolution correlation with meeting creation, and team adoption metrics for continuous improvement initiatives. Consider using ServiceNow Performance Analytics to create trending dashboards that show the correlation between meeting creation and incident resolution times to demonstrate business value.

Test Your Knowledge

Quick 3-question quiz — see how your ServiceNow skills stack up.

Question 1 of 3Performance

A list view on a table with millions of records is slow. Best fix?

Select an answer to continue