Skip to main content
skill CX Codex GP ChatGPT official · OpenAI

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.

Install into Codex · Skills CLI (Vercel) All methods and platforms ↓
npx skills add openai/plugins --skill android -a codex
Open on GitHub

What 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 exitHandler and commonHandler callbacks
  • 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 shouldOverrideUrlLoading so 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 codex

2Manually: put the files in place

.agents/skills/android/SKILL.md

For all projects use ~/.agents/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

Similar skills

Everything for Mobile →

From the same set337

The whole set →
expo-ui-jetpack-compose A skill that tells the agent how to build native Android UI with @expo/ui/jetpack-compose inside an Expo app. CX Codex GP ChatGPT 1installs expo-dev-client A Claude skill that walks the agent through building an Expo development client and getting it onto TestFlight or a device. CX Codex GP ChatGPT 1installs expo-api-routes This skill tells the agent how to write server-side API routes in Expo Router and ship them to EAS Hosting. Useful when keys and database calls must stay off the client. CX Codex GP ChatGPT 1installs setup-zoom-webhooks A Claude and Claude skill that walks the agent through Zoom webhook setup: subscriptions, signature verification, idempotent handlers. CX Codex GP ChatGPT ★ 7,596repo stars zoom-video-sdk-web Walks your agent through building a custom video session with the Zoom Video SDK for Web: joining, camera, screen share, recording. CX Codex GP ChatGPT ★ 7,596repo stars zoom-video-sdk-macos A skill that walks your agent through Zoom Video SDK docs for native macOS apps: session lifecycle, tokenized join, device handling. CX Codex GP ChatGPT ★ 7,596repo stars zoom-video-sdk-flutter A Claude skill for building custom Zoom video sessions in Flutter apps: session lifecycle, event handling, mobile platform setup. CX Codex GP ChatGPT ★ 7,596repo stars ui-toolkit A skill that walks the agent through wiring a prebuilt Zoom Video SDK web UI into your app. Useful when you need a custom session, not a regular Zoom meeting. CX Codex GP ChatGPT ★ 7,596repo stars

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor