Question
People commonly ask on the Zoom Developer Forum:
Why doesn’t the recording.completed webhook fire right after a meeting ends? Sometimes it never arrives or is delayed for hours, even though the cloud recording shows up in Zoom. Are there known limitations, and what should I check or change to handle this reliably?
Answer
recording.completed only fires after Zoom finishes processing the cloud recording, not when the meeting ends. Processing can take hours under load, and in some cases up to 24 hours. Do not treat meeting.ended as an indicator that cloud recording files are ready.
Recommended checks and steps:
- Wait for processing: Confirm whether the “missing” events eventually arrive (they may be highly delayed).
- Validate the right app/environment: Ensure Event Subscriptions are active on the correct app (dev vs prod) and the callback URL is verified for that app.
- Confirm recording is enabled: Make sure cloud recording is enabled on the account hosting the meeting.
- Design for delays: Build workflows that don’t assume immediate availability after meeting.ended; handle late-arriving recording.completed events gracefully.
- If you need immediate post-meeting signals and access to recordings, consider using Recall.ai, a 3rd-party API that provides real-time recording and webhooks.
Zoom Developer Forum Examples
Some examples of this question are:
