zoom-virtual-agent-web

Implements Zoom Virtual Agent SDK web embeds with campaign controls and event handling.

5.3k|765|Updated Mar 4, 2026
One-click install
npx skills add https://github.com/openai/plugins --skill zoom-virtual-agent-web
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: zoom-virtual-agent-web
Source: https://github.com/openai/plugins/tree/main/plugins/zoom/skills/virtual-agent/web
Command: npx skills add https://github.com/openai/plugins --skill zoom-virtual-agent-web

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

Embedding Zoom Virtual Agent chat on a website involves readiness gating, campaign versus entry ID decisions, user context updates, and CSP configuration, and mistakes in any of these cause silent failures that are hard to debug.

Core Features & Use Cases

  • Campaign and Entry ID Embed Patterns: Provides ready-to-adapt script snippets for launching chat via campaign or entry ID with proper readiness gating.
  • Lifecycle and Event Guidance: Documents the full SDK lifecycle, event surface (open, close, engagement_started), and method surface (show, hide, endChat, updateUserContext).
  • Troubleshooting Playbook: Diagnoses common failures such as undefined zoomCampaignSdk, CSP blocks, and campaigns not triggering.
  • Use Case: A developer adding Zoom Virtual Agent chat to a marketing site can follow the campaign-first pattern, gate calls behind zoomCampaignSdk:ready, and resolve CSP errors using the troubleshooting guide.

Quick Start

Use the zoom-virtual-agent-web skill to add a campaign-based Zoom Virtual Agent chat embed to my web page with readiness gating.

Frequently Asked Questions about zoom-virtual-agent-web

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I embed Zoom Virtual Agent chat on a website?

Add the zcc-sdk.js script tag with your API key, then listen for the zoomCampaignSdk:ready event before calling window.zoomCampaignSdk.show(). The campaign-first pattern is recommended over entry ID for lower user friction.

What is the difference between campaign and entry ID in Zoom Virtual Agent?

Campaign mode supports central admin routing and lower app-code churn, making it the recommended default. Entry ID mode should be used selectively only when your flow requires pre-chat data collection that campaign configuration cannot handle.

Why is window.zoomCampaignSdk undefined?

This happens when the SDK script URL is unreachable, blocked by network policy, or when method calls run before initialization completes. Confirm the script loads successfully and gate all calls behind zoomCampaignSdk:ready or waitForReady().

How do I fix CSP blocking the Zoom Virtual Agent SDK?

Add CSP directives for the script, connect, media, font, and image paths required by the Zoom SDK. Re-test with the browser console open to catch wasm or websocket policy errors.

How do I update user context in the Zoom Virtual Agent web SDK?

Set window.zoomCampaignSdkConfig with fields like firstName and email before initialization, then call window.zoomCampaignSdk.updateUserContext() after the ready event to refresh user variables at runtime.