Scribe
OpenAIOfficialCreated by ZoomDistributed by OpenAI
- Skill
- Tool integration
- Automation and integrations
- MIT
- No issues found
AutoGineer summary
Written by AutoGineer from the skill’s own files, not by the author
This skill provides a structured workflow for integrating Zoom Scribe AI services into your applications. It covers the end-to-end process of setting up transcription pipelines, from credential management and media ingestion to handling batch jobs and webhook callbacks. It distinguishes between synchronous fast-mode transcription and asynchronous batch processing, ensuring developers can select the appropriate mode for their specific latency and volume requirements.
What it does
- Guides the setup of authentication using JWT for Zoom AI services.
- Defines the workflow for both synchronous fast-mode and asynchronous batch transcription.
- Outlines requirements for media ingestion, chunking, and persistence.
- Provides instructions for implementing webhook callbacks for batch job notifications.
- Offers troubleshooting steps for common issues like credential drift or processing errors.
When to use it
- When you need to transcribe pre-recorded media files stored in cloud storage.
- When building automated transcription pipelines that require batch processing.
- When you need to integrate Zoom's AI transcription capabilities into an existing application.
- When you need to verify the status or manage the lifecycle of batch transcription jobs.
Advantages
- Provides a clear, step-by-step procedure for complex transcription integrations.
- Helps distinguish between different processing modes to optimize for latency.
- Includes essential guidance on security practices like webhook signature verification.
- Centralizes configuration requirements for S3-based batch processing.
Usage examples
- “How do I set up a batch transcription job for files in S3?”
- The agent will guide you through defining the input S3 URI, configuring the batch job parameters, and setting up a webhook to receive completion notifications.
- “What are the requirements for using the synchronous Scribe endpoint?”
- The agent will explain the POST /aiservices/scribe/transcribe endpoint, required file and config fields, and how to handle the immediate response.
Install
Download the skill as a ZIP:
https://mp-staging.autogineer.com/agent-skills/openai/scribe/downloadUnzip it into the cross-client skills folder of your project:
mkdir -p .agents/skills && unzip scribe.zip -d .agents/skills
Documentation by Zoom
Zoom AI Services Scribe
Use this skill for Zoom Scribe transcription pipelines over uploaded or stored media. If the user needs live meeting media, compare against RTMS or Meeting SDK bot workflows first.
Workflow
Confirm the media source, size, language, expected latency, and whether fast mode or batch mode fits.
Set up Build-platform credentials and JWT handling separately from application transcription logic.
Design ingestion, chunking, retries, webhook callbacks, and persistence before connecting downstream AI workflows.
Implement a minimal transcription request and response parser, then add batching and operational monitoring.
Debug by checking credential audience, processing mode, media format, file size, backend timeout, and webhook delivery.
References
Full preserved guide: references/full-guide.md
Auth and processing modes: concepts/auth-and-processing-modes.md
High-level scenarios: scenarios/high-level-scenarios.md
Fast mode Node example: examples/fast-mode-node.md
Batch webhook pipeline: examples/batch-webhook-pipeline.md
API reference: references/api-reference.md
Common drift and breaks: troubleshooting/common-drift-and-breaks.md
Files
- ATTRIBUTION.mdAdded by AutoGineer859 B
- LICENSELicence file added by AutoGineer1.1 KiB
- RUNBOOK.md4.2 KiB
- SKILL.md1.5 KiB
- agents/openai.yaml138 B
- concepts/auth-and-processing-modes.md3.2 KiB
- examples/batch-webhook-pipeline.md1.6 KiB
- examples/fast-mode-node.md1.8 KiB
- references/api-reference.md2.6 KiB
- references/environment-variables.md1.5 KiB
- references/full-guide.md5.4 KiB
- references/samples-validation.md2.0 KiB
- references/versioning-and-drift.md2.0 KiB
- scenarios/high-level-scenarios.md3.1 KiB
- troubleshooting/common-drift-and-breaks.md4.6 KiB
RUNBOOK.md
Scribe 5-Minute Preflight Runbook
Use this before deep debugging.
1) Confirm the Right Product
File-based or storage-based transcription -> stay on
scribe.Live meeting media stream or botless live transcription -> use
rtmsinstead.Meeting bot that joins and records before transcription -> chain Meeting SDK Linux first.
2) Confirm Credentials
Build-platform issuer credential pair available.
JWT generation uses
HS256with one-hour-or-less expiry.Secret stays server-side.
Reject placeholder values such as
${ZOOM_API_KEY}and${ZOOM_API_SECRET}. They can make a naive health check look configured while every real call still fails.
3) Confirm Mode Selection
Fast mode for one short file and immediate JSON response.
Batch mode for many files, long recordings, or archive-style processing.
Browser microphone pseudo-streaming for short repeated chunks uploaded through the async fast-mode wrapper.
Fast mode current limits from the API spec:
maximum file size:
100 MBmaximum duration:
2 hours
If fast mode is exposed through a hosted browser UI, prefer an async wrapper:
browser uploads once
backend returns
202with a request IDfrontend polls for completion This avoids losing successful transcriptions to edge/client timeout races.
Observed hosted timing from the deployed sample:
~17.2 MB MP4 completed in ~26s
~38.6 MB MP4 completed in ~26-37s
~59.2 MB MP4 completed in ~32-34s on the backend
some ~59.2 MB requests still surfaced as frontend
504even though the backend later completed with200Treat these as deployment observations, not hard API guarantees.
Recommended starting browser mic cadence:
chunk size:
5 secondsacceptable range:
5-10 secondskeep only
2-3chunks in flight at once This gives incremental transcript updates without trying to hold a single long browser request open.
For browser mic capture, rotate the recorder per chunk so each uploaded blob is a standalone file. Do not assume
MediaRecorder.start(timeslice)later chunks will always be independently transcribable.Do not treat this as the default production solution for live transcription. Prefer
rtmswhen the user actually needs a live-audio product instead of a browser demo.
4) Confirm Storage / Webhook Inputs
Fast mode file URL or upload path resolves.
Batch input/output URIs are valid.
AWS or pre-signed access is set correctly for S3 mode.
Webhook URL is public HTTPS if you expect notifications.
5) Confirm Post-Processing Contract
Decide whether downstream code expects
text_display, segments, or word-level timings.Decide whether channel separation or diarization is required before shipping.
6) Quick Probes
JWT generation works locally.
POST /aiservices/scribe/transcribesucceeds with a known small file.For browser-uploaded files, backend forwarding should use
multipart/form-datato Zoom, not a JSONdata:URI wrapper.Batch submit returns
201withjob_id.Webhook signature verification works with the configured secret.
7) Fast Decision Tree
401/auth failure -> wrong credential pair or expired JWT.Fast mode returns schema error -> wrong request body or config fields.
Fast mode returns
413 Request Entity Too Largebefore the app logs anything -> reverse proxy limit, not Scribe.Frontend returns
504but backend logs later show200-> browser/edge timeout race; poll by request ID instead of assuming failure.Browser mic feature needs true continuous low-latency media instead of chunked uploads -> switch to
rtms, notscribe.Browser mic chunk 1 works but chunk 2 onward is empty -> recorder/container boundary issue; restart the recorder for each chunk.
Batch jobs queue but never complete -> storage auth / URI / webhook issues.
Missing transcripts for some files -> inspect
/jobs/{jobId}/filesbefore re-submitting whole batch.
8) Source Checkpoints
Official docs
Raw docs in repo tooling output
tools/zoom-crawler/raw-docs/developers.zoom.us/docs/ai-services/
Requirements and compatibility
Written for: OpenAI Codex
Works with: Claude Code, Claude apps, OpenAI Codex, GitHub Copilot, Cursor, Gemini CLI, Kiro, OpenCode, Goose, Amp, Roo Code, JetBrains Junie, Factory Droid, Devin (ex-Windsurf), Mistral Vibe, OpenHands, Letta
“Works with” means the tool reads the open Agent Skills format; a skill written for one tool may use features others lack.
Needs: Needs Node.js
Security
No issues found by our static scan· No issues found
A static scan is not a guarantee. Skills are third-party content: review a skill before you let an agent use it.
Attribution and licence
- Created by
- Zoom
- Publisher
- OpenAI (Official)
- Distributed by
- OpenAI
- Source
- openai/plugins · plugins/zoom/skills/scribe · commit d420d13
- Licence
- MIT License (redistribution allowed)
- LICENSE (added by AutoGineer from plugins/zoom/LICENSE)
- ATTRIBUTION.md (written by AutoGineer)
- Synced
AutoGineer is not affiliated with or endorsed by Zoom or OpenAI.
Download ZIP
The ZIP holds the skill’s files, its licence files and an ATTRIBUTION.md. Download scribe.zip