> **virtual-agent/ios** — skill 152 of 200 in [anthropics/knowledge-work-plugins](https://skillsdocs.com/anthropics/knowledge-work-plugins).
>
> Book (all skills, one file): https://skillsdocs.com/anthropics/knowledge-work-plugins.md
> Machine manifest: https://skillsdocs.com/anthropics/knowledge-work-plugins/.well-known/agent-skills/index.json
> Install the book: `npx skills add anthropics/knowledge-work-plugins`
> Upstream: https://github.com/anthropics/knowledge-work-plugins/blob/main/partner-built/zoom-plugin/skills/virtual-agent/ios/SKILL.md @ `main`
> Raw bytes, no header: https://raw.githubusercontent.com/anthropics/knowledge-work-plugins/main/partner-built/zoom-plugin/skills/virtual-agent/ios/SKILL.md
> Base for relative paths: https://raw.githubusercontent.com/anthropics/knowledge-work-plugins/main/partner-built/zoom-plugin/skills/virtual-agent/ios/
> Licence: Apache-2.0 — https://spdx.org/licenses/Apache-2.0.html
>
> Bundled files (4), referenced from this skill's directory:
>   - `concepts/webview-lifecycle.md` — https://raw.githubusercontent.com/anthropics/knowledge-work-plugins/main/partner-built/zoom-plugin/skills/virtual-agent/ios/concepts/webview-lifecycle.md
>   - `examples/js-bridge-patterns.md` — https://raw.githubusercontent.com/anthropics/knowledge-work-plugins/main/partner-built/zoom-plugin/skills/virtual-agent/ios/examples/js-bridge-patterns.md
>   - `references/ios-reference-map.md` — https://raw.githubusercontent.com/anthropics/knowledge-work-plugins/main/partner-built/zoom-plugin/skills/virtual-agent/ios/references/ios-reference-map.md
>   - `troubleshooting/common-issues.md` — https://raw.githubusercontent.com/anthropics/knowledge-work-plugins/main/partner-built/zoom-plugin/skills/virtual-agent/ios/troubleshooting/common-issues.md
>
> Content © its authors, served unmodified. Takedown: https://github.com/DreambaseAI/skillsdocs/issues/new?labels=takedown&title=Takedown+request

<!-- Verbatim upstream SKILL.md follows, YAML frontmatter included. -->

---
name: virtual-agent/ios
description: "Zoom Virtual Agent iOS integration via WKWebView. Use for Swift/Objective-C script injection, message handlers, support_handoff relay, and URL routing policies."
user-invocable: false
triggers:
  - "virtual agent ios"
  - "wkwebview zva"
  - "support_handoff ios"
  - "zoomCampaignSdk:ready ios"
  - "wkusercontentcontroller"
---

# Zoom Virtual Agent - iOS

Official docs:
- https://developers.zoom.us/docs/virtual-agent/ios/

## Quick Links

1. [concepts/webview-lifecycle.md](concepts/webview-lifecycle.md)
2. [examples/js-bridge-patterns.md](examples/js-bridge-patterns.md)
3. [references/ios-reference-map.md](references/ios-reference-map.md)
4. [troubleshooting/common-issues.md](troubleshooting/common-issues.md)

## Integration Model

- Load campaign URL in `WKWebView`.
- Inject `window.zoomCampaignSdkConfig` using `WKUserScript`.
- Register message handlers for exit/common/handoff flows.
- Handle URL behavior in navigation delegates (`in-app`, `SFSafariViewController`, or system browser).

## Hard Guardrails

- Register scripts and handlers before web interaction.
- Handle iOS 14.5+ download behavior where needed.
- Keep deprecated `openURL` command support as fallback only.

## Chaining

- Product-level patterns: [../SKILL.md](../SKILL.md)
- Contact Center mobile scope: [../../contact-center/ios/SKILL.md](../../contact-center/ios/SKILL.md)
