rivet-sdk

$npx mdskill add anthropics/knowledge-work-plugins/rivet-sdk

Scaffold Zoom server workflows with Rivet SDK for auth and webhooks.

  • Handles OAuth tokens, webhooks, and typed REST API endpoints.
  • Depends on Zoom's Rivet JavaScript framework and Node.js runtime.
  • Selects scaffolding based on user preference for Rivet versus direct integration.
  • Delivers ready-to-use server code for Zoom ISV integrations.

SKILL.md

.github/skills/rivet-sdkView on GitHub ↗
---
name: rivet-sdk
description: "Reference skill for Zoom Rivet SDK. Use after routing to a Rivet-based server workflow when implementing auth handling, webhook consumers, API wrappers, multi-module composition, or Lambda receiver patterns."
user-invocable: false
triggers:
  - "rivet"
  - "zoom rivet"
  - "@zoom/rivet"
  - "rivet javascript"
  - "rivet sdk"
  - "rivet webhook"
  - "rivet oauth"
  - "rivet lambda"
  - "rivet team chat"
  - "rivet chatbot"
---

# 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:
1. [concepts/architecture-and-lifecycle.md](concepts/architecture-and-lifecycle.md)
2. [scenarios/high-level-scenarios.md](scenarios/high-level-scenarios.md)
3. [examples/getting-started-pattern.md](examples/getting-started-pattern.md)
4. [examples/multi-client-pattern.md](examples/multi-client-pattern.md)
5. [references/rivet-reference-map.md](references/rivet-reference-map.md)
6. [references/versioning-and-compatibility.md](references/versioning-and-compatibility.md)
7. [references/samples-validation.md](references/samples-validation.md)
8. [references/source-map.md](references/source-map.md)
9. [references/environment-variables.md](references/environment-variables.md)
10. [troubleshooting/common-issues.md](troubleshooting/common-issues.md)
11. [RUNBOOK.md](RUNBOOK.md)
12. [rivet-sdk.md](rivet-sdk.md)

## Common Lifecycle Pattern

1. Choose modules and auth model per module (Client Credentials, User OAuth, S2S OAuth, Video SDK JWT).
2. Instantiate client(s) with credentials, webhook secret, and per-module port.
3. Register event handlers (`webEventConsumer.event(...)` or shortcuts).
4. Implement API calls through `client.endpoints.*`.
5. Start receiver(s) and expose webhook endpoint(s) (`/zoom/events`) to Zoom.
6. Persist tokens/state for OAuth workloads and enforce signature verification.
7. 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 `videosdk` module 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 `.env` keys and where to find each value.

## Operations

- [RUNBOOK.md](RUNBOOK.md) - 5-minute preflight and debugging checklist.

More from anthropics/knowledge-work-plugins

SkillDescription
accessibility-reviewRun a WCAG 2.1 AA accessibility audit on a design or page. Trigger with "audit accessibility", "check a11y", "is this accessible?", or when reviewing a design for color contrast, keyboard navigation, touch target size, or screen reader behavior before handoff.
account-context360-degree view of an account - CRM data, recent email threads, docs, transcripts, and internal chat chatter, synthesized into one brief. Use when the user asks "tell me about [account]" (an existing customer; for a prospect, account-research), "account context for [name]", "what's going on with [account]", or "catch me up on [account]".
account-planBuild or refresh a strategic account plan - current state, goals, stakeholder coverage, opportunity map, risks, and the action plan - written to a doc and key fields synced to the CRM. Use when the user says "build an account plan for [account]", "update the [account] plan", "account planning for [account]", or before a planning cycle / QBR.
account-research"Research a company using Common Room data. Triggers on 'research [company]', 'tell me about [domain]', 'pull up signals for [account]', 'what's going on with [company]', or any account-level question."
account-tieringScore and tier a list of accounts (or your full book) against ICP fit and engagement signals to prioritize where to spend time. Use when the user asks to "tier my accounts", "prioritize my book", "which accounts should I focus on", or "score these accounts".
ad-manager>
analyzeAnswer data questions -- from quick lookups to full analyses. Use when looking up a single metric, investigating what's driving a trend or drop, comparing segments over time, or preparing a formal data report for stakeholders.
ap-processor>
architectureCreate or evaluate an architecture decision record (ADR). Use when choosing between technologies (e.g., Kafka vs SQS), documenting a design decision with trade-offs and consequences, reviewing a system design proposal, or designing a new component from requirements and constraints.
audit-supportSupport SOX 404 compliance with control testing methodology, sample selection, and documentation standards. Use when generating testing workpapers, selecting audit samples, classifying control deficiencies, or preparing for internal or external audits.