Setting the file. One moment. Forum Top Questions · Build Zoom Phone Integration · anthropics/knowledge-work-plugins · Skills Docs
Use this as a checklist of the most common recent Developer Forum asks for Zoom Phone integrations.
22
Validate Data
Tech Debt
62
Recruiting Pipeline
71
Vendor Check
125
Zoom Meeting SDK Web
88
Vendor Review
181
Create An Asset
Video Sdk/web
Fast Routing Questions (Ask First)
- Integration surface: Smart Embed, Phone REST API, webhooks, or URI launch (
zoomphonecall://, zoomphonesms://).
- App/auth type: Server-to-Server OAuth vs user OAuth, and who the token is acting as.
- Account posture: Zoom Phone license assigned, user enabled, admin permissions, site/queue scope.
- Exact failure: HTTP status + Zoom
code/message + endpoint/event name + sample payload.
- Correlation IDs available:
call_id, call_history_uuid, call_element_id, recording ID.
- Smart Embed shows login but never completes.
- Widget loads, but outbound/inbound calling does not work.
zp-make-call/search-and-match behaviors are inconsistent.
- Confirm approved Smart Embed domain matches the real runtime origin exactly.
- Confirm
origin parameter is domain-level where required and not path-mismatched.
- Verify Zoom client sign-in state and account licensing prerequisites.
- Add strict
postMessage origin handling and validate event init sequence.
- Missing fields after migrating to
call_history.
- Existing call analytics pipelines break after deprecation migration.
- Treat migration as a schema migration, not a drop-in endpoint swap.
- Build a mapping layer from legacy fields to current call history/call element fields.
- Persist both legacy and new IDs during transition for reconciliation.
- Update downstream reports that assumed removed fields.
download_url returns 401/403.
Invalid access token, does not contain scopes on recordings/transcripts.
- Generate a fresh token from the app that owns the needed scopes.
- Re-authorize after scope changes; verify token scope set, not just app config.
- Handle redirects while preserving auth headers where needed.
- Keep a fallback retry path for temporary scope/permission regressions.
- Token works for some APIs/users but Phone endpoints return not enabled.
- Verify
account_id is present in S2S token request and token is from expected account.
- Verify target users actually have Zoom Phone entitlement.
- Verify caller/admin context has permission for account-level Phone resources.
- Re-test with one known-good licensed admin and one known-good licensed user.
- Expected call events not received.
- Missed-call events delivered more than once.
- Acknowledge webhooks quickly with
200/204 and process asynchronously.
- Implement idempotency keyed by event ID/call identifiers.
- Expect retries and occasional ordering variance.
- Validate event subscription scope and verify webhook logs before blaming delivery.
- Hard to tie recordings, call path/history, and webhook events to one interaction.
- Persist all call identifiers emitted at each lifecycle phase.
- Build a correlation table keyed by your internal interaction ID.
- Do not rely on a single identifier across all endpoints.
/phone/users or call list endpoints appear to miss records.
- Always iterate
next_page_token until exhausted.
- Keep query filters stable between page requests.
- Add dedupe + page-audit logging to detect loops or repeated pages.
references/forum-top-questions.md