zoom-virtual-agent-android — Codex skill: Zoom WebView integration
A Claude and Claude skill for embedding Zoom Virtual Agent in an Android app through WebView and wiring JavaScript callbacks to native code.
npx skills add openai/plugins --skill android -a codexWhat zoom-virtual-agent-android does
The skill lays out the integration model: host the campaign URL in an Android WebView, inject runtime context as window.zoomCampaignSdkConfig, and register a JavaScript bridge for exitHandler, commonHandler and support_handoff. URL policy goes through shouldOverrideUrlLoading plus optional multi-window callbacks.
Four files back it up: WebView lifecycle concepts, JS bridge patterns with examples, an Android reference map, and a troubleshooting page for common issues. The guardrails are blunt. Initialize handlers before expecting any JS callback, and treat legacy openURL command handling as a compatibility path only. Lean on it as your main navigation route and links start breaking; the skill points you to DOM links or window.open with explicit native routing instead.
It also chains to a product-level SKILL.md and to the Contact Center Android scope, so it fits a larger setup rather than standing alone. Install with npx skills add openai/plugins --skill android -a codex; the file lands at .agents/skills/android/SKILL.md.
What it helps with
- embed a Zoom Virtual Agent campaign in an Android WebView
- register a JS bridge for
exitHandlerandcommonHandlercallbacks - pass runtime context into the page via
window.zoomCampaignSdkConfig - set URL policy in
shouldOverrideUrlLoading - debug WebView lifecycle problems and common failures
Example prompts for the agent
- Help me embed Zoom Virtual Agent in a WebView and register the JS bridge for
support_handoff - Review my
shouldOverrideUrlLoadingso links route through native handling - Why is my JavaScript callback never firing? Walk through the WebView lifecycle section
How to install zoom-virtual-agent-android
1Skills CLI (Vercel)
npx skills add openai/plugins --skill android -a codex2Manually: put the files in place
.agents/skills/android/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add openai/plugins --skill android -a claude-code2Manually: put the files in place
~/.claude/skills/android/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/android/
Manually: put the files in place
.cursor/skills/android/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install openai/plugins android2Manually: put the files in place
.github/skills/android/SKILL.mdPlatform CLI
gemini skills install https://github.com/openai/plugins --path plugins/zoom/skills/virtual-agent/androidManually: put the files in place
.devin/skills/android/SKILL.mdThe legacy .windsurf/skills/ path still works
Claude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: Codex skills: how to install, where they live, how to call them
Questions about zoom-virtual-agent-android
How do I install zoom-virtual-agent-android in Claude?
Run npx skills add openai/plugins --skill android -a codex. The skill file then sits at .agents/skills/android/SKILL.md.
What does zoom-virtual-agent-android do?
It documents Zoom Virtual Agent integration for Android via WebView: runtime context, the JavaScript bridge for exitHandler, commonHandler and support_handoff, URL policy, and lifecycle handling.
What has to happen before JS callbacks arrive?
Handlers must be initialized first. The skill treats this as a hard guardrail — skip it and callbacks from the page never fire.
Source text
SKILL.md · MIT
--- name: zoom-virtual-agent-android description: "Zoom Virtual Agent Android integration via WebView. Use for Java/Kotlin bridge callbacks, native URL handling, support_handoff relay, and lifecycle-safe embedding." --- # Zoom Virtual Agent - Android Official docs: - https://developers.zoom.us/docs/virtual-agent/android/ ## Quick Links 1. [concepts/webview-lifecycle.md](concepts/webview-lifecycle.md) 2. [examples/js-bridge-patterns.md](examples/js-bridge-patterns.md) 3. [references/android-reference-map.md](references/android-reference-map.md) 4. [troubleshooting/common-issues.md](troubleshooting/common-issues.md) ## Integration Model - Host campaign URL in Android WebView. - Inject runtime context (`window.zoomCampaignSdkConfig`). - Register JavaScript bridge for `exitHandler`, `commonHandler`, `support_handoff`. - Apply URL policy via `shouldOverrideUrlLoading` and optional multi-window callbacks. ## Hard Guardrails - Initialize handlers before expecting JS callbacks. - Treat legacy `openURL` command handling as compatibility path only. - Prefer DOM links or `window.open` handling plus explicit native routing. ## Chaining - Product-level patterns: [../SKILL.md](../SKILL.md) - Contact Center mobile scope: [../../contact-center/android/SKILL.md](../../contact-center/android/SKILL.md)
© Zoom · MIT · openai/plugins