Zoom Developer Forum

How often should I expect to receive the Zoom recording completed webhook for a single meeting?

Updated at:
October 24, 2025
Written By:
Aydin Schwartz

Question

People commonly ask on the Zoom Developer Forum:

Why does the Zoom recording webhook only trigger once when a host stops and restarts recording during the same live meeting, resulting in multiple recording files? How can I get notified for all recordings or enumerate all segments when there are multiple start/stop actions in a single meeting?

Answer

This is expected behavior. The post_recording.completed event fires once per meeting/webinar instance—after the host ends the meeting and the cloud recording is processed and uploaded. It does not fire for each start/stop segment within the same meeting instance.

To handle multiple segments:

  1. Expect a single post_recording.completed per meeting instance (not per start/stop).
  2. After receiving post_recording.completed, call GET /meetings/{meetingUUID}/recordings to enumerate all segments/files created during that meeting. Remember to double-encode UUIDs that start with / or contain //.
  3. If the host actually ends and restarts the meeting (a new instance), Zoom generates a new meeting UUID and you will receive a separate post_recording.completed for that instance. You can list all UUIDs tied to a meeting ID with GET /past_meetings/{meetingId}/instances.
  4. For earlier awareness of mid-meeting stops/starts, also subscribe to post_recording.stopped and reconcile when the final post_recording.completed arrives.


Zoom Developer Forum Examples

Some examples of this question are:

Written By:
Aydin Schwartz