virtual-agent/android
anthropics/knowledge-work-plugins
Embed Zoom Virtual Agent in Android apps via WebView with native Java/Kotlin bridge callbacks.
What is virtual-agent/android?
Integrates Zoom Virtual Agent campaigns into Android applications using WebView. Provides JavaScript-to-native bridging for handler callbacks, URL routing, support handoff relay, and lifecycle-safe embedding patterns. Use when building Android apps that host Zoom agent conversations.
- Register JavaScript bridge callbacks (exitHandler, commonHandler, support_handoff) from native Android code
- Override URL loading policies to route agent-triggered navigation to native handlers
- Inject runtime context (window.zoomCampaignSdkConfig) into WebView before campaign load
- Manage WebView lifecycle safely across activity/fragment transitions
- Handle support handoff relay between agent and native support systems
How to install virtual-agent/android
npx skills add https://github.com/anthropics/knowledge-work-plugins --skill build-zoom-virtual-agent- Android SDK (API level 21+)
- Zoom Virtual Agent campaign URL and configuration
- Basic familiarity with Android WebView and JavaScript bridge patterns
- Zoom developer account with Virtual Agent access
How to use virtual-agent/android
- 1.Set up an Android WebView in your activity or fragment layout
- 2.Inject window.zoomCampaignSdkConfig with runtime context before loading the campaign URL
- 3.Register a JavaScript interface class with @JavascriptInterface methods for exitHandler, commonHandler, and support_handoff
- 4.Implement shouldOverrideUrlLoading to intercept and route agent-triggered URLs to native handlers
- 5.Test lifecycle transitions (pause, resume, destroy) to ensure handlers remain initialized and responsive
Use cases
- Embed Zoom Virtual Agent in a customer-facing Android mobile app with native navigation
- Route agent-initiated support escalations to native in-app support UI or external systems
- Customize URL handling when agent campaigns trigger external links or deep links
- Maintain conversation state across Android lifecycle events (pause, resume, destroy)
- Integrate agent callbacks with native analytics or logging systems
- Android developers building customer-facing mobile apps
- Contact center teams deploying Zoom Virtual Agent on mobile
- Mobile app architects integrating third-party conversational AI
- Java/Kotlin engineers implementing WebView-based integrations
virtual-agent/android FAQ
The bridge allows JavaScript running in the WebView (the agent UI) to call native Android methods. You register handlers like exitHandler to receive callbacks when the agent triggers actions, enabling native app integration.
Register a support_handoff handler in your JavaScript interface. When the agent initiates handoff, the handler receives the context and you route it to your native support UI or external system.
WebView state is tied to activity lifecycle. Use lifecycle-aware patterns (e.g., pause/resume WebView, reinitialize handlers on resume) to avoid crashes and ensure handlers are ready when the agent sends callbacks.
Yes, override shouldOverrideUrlLoading to intercept URLs triggered by the agent. Route them to native handlers, deep links, or external browsers based on your app's navigation policy.
Refer to examples/js-bridge-patterns.md in the skill for common patterns. Also check the official Zoom Virtual Agent Android documentation.
Full instructions (SKILL.md)
Source of truth, from anthropics/knowledge-work-plugins.
name: 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." user-invocable: false triggers:
- "virtual agent android"
- "android webview zva"
- "zoomCampaignSdk:ready android"
- "support_handoff android"
- "javascriptinterface"
Zoom Virtual Agent - Android
Official docs:
Quick Links
- concepts/webview-lifecycle.md
- examples/js-bridge-patterns.md
- references/android-reference-map.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
shouldOverrideUrlLoadingand optional multi-window callbacks.
Hard Guardrails
- Initialize handlers before expecting JS callbacks.
- Treat legacy
openURLcommand handling as compatibility path only. - Prefer DOM links or
window.openhandling plus explicit native routing.
Chaining
- Product-level patterns: ../SKILL.md
- Contact Center mobile scope: ../../contact-center/android/SKILL.md
Related skills
More from anthropics/knowledge-work-plugins and the wider catalog.

business-pulse
One-page cross-functional business snapshot pulling live data from accounting, sales, pipeline, calendar, and comms tools.

call-list
Build today's call list with ranked leads, talking points, and calendar blocks.

call-prep
One-page brief for an upcoming customer call with attendees, account history, and discovery questions.

call-summary
Turn call transcripts or notes into follow-up emails, internal summaries, and CRM updates.

campaign-plan
Generate structured marketing campaign briefs with objectives, audience, messaging, channels, content calendars, and success metrics.

canva-creator
Execute approved social campaigns end-to-end: calendar, Canva designs, copy, and HubSpot staging.