Zoom Contact Center Web
OpenAIOfficialCreated by ZoomDistributed by OpenAI
- Skill
- Tool integration
- Automation and integrations
- MIT
- No issues found
AutoGineer summary
Written by AutoGineer from the skill’s own files, not by the author
The Zoom Contact Center SDK for Web provides a comprehensive framework for embedding customer engagement features directly into web environments. It supports multiple integration patterns, including direct website embeds via the Campaign SDK, Smart Embeds using postMessage communication, and native Contact Center app integrations within the Zoom client. The skill covers lifecycle management, engagement event handling, and state persistence, enabling developers to build interactive support experiences.
What it does
- Enables embedding of chat and video engagement interfaces into external websites.
- Provides event-driven hooks for monitoring engagement status and lifecycle changes.
- Supports Smart Embed configurations using iframe postMessage protocols.
- Facilitates user context updates and state management via engagement IDs.
- Offers methods for controlling campaign visibility and interaction flows.
- Includes preflight and debugging runbooks for rapid integration troubleshooting.
When to use it
- When building custom web-based customer support or contact center interfaces.
- When integrating Zoom video or chat functionality into an existing web application.
- When implementing campaign-based engagement triggers on a website.
- When developing Zoom Apps that require access to contact center engagement data.
Advantages
- Official support for multiple integration modes including Smart Embeds.
- Granular control over engagement events and lifecycle states.
- Structured approach to handling app-context and user data.
- Comprehensive reference mapping for SDK methods and event surfaces.
Usage examples
- “How do I initialize the Campaign SDK on my website?”
- The agent provides the initialization pattern, emphasizing the need to gate calls behind the zoomCampaignSdk:ready event to ensure the SDK is fully loaded.
- “What events should I listen for to track engagement status?”
- The agent lists relevant events such as engagement_started, engagement_ended, and onEngagementStatusChange to monitor the lifecycle of a customer interaction.
Install
Download the skill as a ZIP:
https://autogineer.com/agent-skills/openai/zoom-contact-center-web/downloadUnzip it into the cross-client skills folder of your project:
mkdir -p .agents/skills && unzip zoom-contact-center-web.zip -d .agents/skills
Documentation by Zoom
Zoom Contact Center SDK - Web
Official docs:
Quick Links
Integration Modes
Contact Center App in Zoom client:
Zoom Apps SDK engagement APIs/events.
External website embed:
Campaign SDK/web scripts (
zoomCampaignSdkpattern).Video client initialization pattern.
Smart Embed:
iframe +
postMessageevent contract.
Hard Guardrails
For campaign SDK, gate calls behind
zoomCampaignSdk:ready.Persist state by
engagementId.Expect context switching and background app behavior.
Validate CSP and allow-list settings before debugging logic.
Chaining
For in-client app APIs and auth flows: ../../zoom-apps-sdk/SKILL.md
For identity and OAuth: ../../oauth/SKILL.md
For cobrowse workflow: ../../cobrowse-sdk/SKILL.md
Operations
RUNBOOK.md - 5-minute preflight and debugging checklist.
Files
- ATTRIBUTION.mdAdded by AutoGineer888 B
- LICENSELicence file added by AutoGineer1.1 KiB
- RUNBOOK.md2.2 KiB
- SKILL.md1.5 KiB
- agents/openai.yaml294 B
- concepts/lifecycle-and-events.md1.0 KiB
- examples/app-context-and-state.md1.5 KiB
- references/web-reference-map.md1.2 KiB
- troubleshooting/common-issues.md861 B
examples/app-context-and-state.md
Web Example: Engagement-Aware State
await zoomSdk.config({
version: "0.16.0",
capabilities: [
"getRunningContext",
"getEngagementContext",
"getEngagementStatus",
"onEngagementContextChange",
"onEngagementStatusChange",
],
});
const stateByEngagement = new Map();
let currentEngagementId = "";
function ensureState(id) {
if (!stateByEngagement.has(id)) {
stateByEngagement.set(id, { notes: "", formDraft: {} });
}
return stateByEngagement.get(id);
}
async function hydrate() {
const [ctx, status] = await Promise.all([
zoomSdk.callZoomApi("getEngagementContext"),
zoomSdk.callZoomApi("getEngagementStatus"),
]);
currentEngagementId = ctx?.engagementContext?.engagementId || "";
if (currentEngagementId) ensureState(currentEngagementId);
render(currentEngagementId, status?.engagementStatus?.state);
}
zoomSdk.addEventListener("onEngagementContextChange", (evt) => {
currentEngagementId = evt?.engagementContext?.engagementId || "";
if (currentEngagementId) ensureState(currentEngagementId);
render(currentEngagementId);
});
zoomSdk.addEventListener("onEngagementStatusChange", (evt) => {
const state = evt?.engagementStatus?.state;
if (state === "end" && currentEngagementId) {
stateByEngagement.delete(currentEngagementId);
}
render(currentEngagementId, state);
});
hydrate();Campaign SDK Ready Gate
window.addEventListener("zoomCampaignSdk:ready", () => {
if (!window.zoomCampaignSdk) return;
window.zoomCampaignSdk.show();
});Requirements and compatibility
Written for: OpenAI Codex
Works with: Claude Code, Claude apps, OpenAI Codex, GitHub Copilot, Cursor, Gemini CLI, Kiro, OpenCode, Goose, Amp, Roo Code, JetBrains Junie, Factory Droid, Devin (ex-Windsurf), Mistral Vibe, OpenHands, Letta
“Works with” means the tool reads the open Agent Skills format; a skill written for one tool may use features others lack.
Security
No issues found by our static scan· No issues found
A static scan is not a guarantee. Skills are third-party content: review a skill before you let an agent use it.
Attribution and licence
- Created by
- Zoom
- Publisher
- OpenAI (Official)
- Distributed by
- OpenAI
- Source
- openai/plugins · plugins/zoom/skills/contact-center/web · commit d420d13
- Licence
- MIT License (redistribution allowed)
- LICENSE (added by AutoGineer from plugins/zoom/LICENSE)
- ATTRIBUTION.md (written by AutoGineer)
- Synced
AutoGineer is not affiliated with or endorsed by Zoom or OpenAI.
Download ZIP
The ZIP holds the skill’s files, its licence files and an ATTRIBUTION.md. Download zoom-contact-center-web.zip