Zoom Rivet SDK
Background reference for Zoom Rivet as a JavaScript and TypeScript server framework for Zoom integrations.
Implementation guidance for Zoom Rivet (JavaScript/TypeScript) as a server-side framework for:
- OAuth and token handling
- Webhook event consumption
- Typed REST API endpoint wrappers
- Multi-module server composition
Official docs:
- https://developers.zoom.us/docs/rivet/
- https://developers.zoom.us/docs/rivet/javascript/
- https://zoom.github.io/rivet-javascript/
Reference samples:
- https://github.com/zoom/rivet-javascript-sample
- https://github.com/zoom/isv-rivet-starter
- https://github.com/zoom/Rivet-Server-Sample
- https://github.com/zoom/rivet-javascript
Routing Guardrail
- Rivet SDK is a Node.js framework that bundles Zoom auth handling, webhook receivers, and typed API wrappers.
- Rivet is recommended for faster server-side scaffolding, but it is not mandatory.
- At planning start, confirm preference:
Do you want Rivet SDK, or direct OAuth + REST without Rivet?- Use Rivet when the user wants a Node.js server that combines Zoom auth + webhooks + API calls with minimal glue code.
- If the user only needs direct API calls from an existing backend, chain with [../rest-api/SKILL.md](../rest-api/SKILL.md).
- If the user is focused on Zoom Team Chat app cards/commands behavior, chain with [../team-chat/SKILL.md](../team-chat/SKILL.md).
- If the user needs SDK embed (Meeting SDK/Video SDK client runtime), route to [../meeting-sdk/SKILL.md](../meeting-sdk/SKILL.md) or [../video-sdk/SKILL.md](../video-sdk/SKILL.md).
Quick Links
Start here:
- [concepts/architecture-and-lifecycle.md](concepts/architecture-and-lifecycle.md)
- [scenarios/high-level-scenarios.md](scenarios/high-level-scenarios.md)
- [examples/getting-started-pattern.md](examples/getting-started-pattern.md)
- [examples/multi-client-pattern.md](examples/multi-client-pattern.md)
- [references/rivet-reference-map.md](references/rivet-reference-map.md)
- [references/versioning-and-compatibility.md](references/versioning-and-compatibility.md)
- [references/samples-validation.md](references/samples-validation.md)
- [references/source-map.md](references/source-map.md)
- [references/environment-variables.md](references/environment-variables.md)
- [troubleshooting/common-issues.md](troubleshooting/common-issues.md)
- [RUNBOOK.md](RUNBOOK.md)
- [rivet-sdk.md](rivet-sdk.md)
Common Lifecycle Pattern
- Choose modules and auth model per module (Client Credentials, User OAuth, S2S OAuth, Video SDK JWT).
- Instantiate client(s) with credentials, webhook secret, and per-module port.
- Register event handlers (
webEventConsumer.event(...)or shortcuts). - Implement API calls through
client.endpoints.*. - Start receiver(s) and expose webhook endpoint(s) (
/zoom/events) to Zoom. - Persist tokens/state for OAuth workloads and enforce signature verification.
- Monitor module-specific failures and rotate secrets/version with changelog cadence.
High-Level Scenarios
- Team Chat slash-command bot + Team Chat data API enrichment.
- Multi-module backend (Users + Meetings + Team Chat + Phone) sharing one process.
- Video SDK telemetry backend using
videosdkmodule event stream + API surfaces. - ISV orchestration layer with tenant-aware token storage and per-module webhooks.
- AWS Lambda webhook processor with Rivet
AwsLambdaReceiver.
See [scenarios/high-level-scenarios.md](scenarios/high-level-scenarios.md) for details.
Chaining
- OAuth architecture and grant selection: [../oauth/SKILL.md](../oauth/SKILL.md)
- API endpoint semantics and request payload details: [../rest-api/SKILL.md](../rest-api/SKILL.md)
- Team Chat app cards, command and bot UX: [../team-chat/SKILL.md](../team-chat/SKILL.md)
- Video SDK API-specific behavior and BYOS context: [../video-sdk/SKILL.md](../video-sdk/SKILL.md)
Environment Variables
- See [references/environment-variables.md](references/environment-variables.md) for standardized
.envkeys and where to find each value.
Operations
- [RUNBOOK.md](RUNBOOK.md) - 5-minute preflight and debugging checklist.