Second recording not included in recording.complete webhook

Description
A meeting with two recordings (start/stop recording then start/stop recording again) only included the first recording in the webhook.

Normally if you start/stop a recording during a meeting and then start/stop the recording again during the same meeting, you receive both recordings’ information in the webhook and the webhook does not fire until after the meeting is concluded.

For a particular customer of our app we received a webhook for a recording.completed and only the first recording was included. Then later when we looked for any missed recordings that same meeting showed as having two recordings through the metrics API. Why was it not included in the webhook? Is this a bug? I have not seen this behavior before.

Error
One recording from a meeting with two recordings was not included in the recording.completed webhook.

Which App Type (OAuth / Chatbot / JWT / Webhook)?
OAuth Marketplace App

Which Endpoint/s?
https://marketplace.zoom.us/docs/api-reference/webhook-reference/recording-events/recording-completed
https://marketplace.zoom.us/docs/api-reference/zoom-api/dashboards/dashboardmeetings

How To Reproduce (If applicable)
Steps to reproduce the behavior:

  1. Make Panopto App on Marketplace
  2. Users user your app and make recordings

Additional context
I can PM you the recording UUID if you want it to investigate further.

Hey @zoom-test,

Are you able to get both recordings from the Get Meeting Recordings endpoint?

Thanks,
Tommy

Yes, when we requested the recording information from the API both of them showed up in the recording_files array. But only the first recording showed up in the webhook and the webhook came before the 2nd recording even started. The normal behavior we have seen is that the webhook only comes when all recordings are completed.

Hey @zoom-test,

Ah interesting. Once a recording stops (while the meeting is still going) the recording webhook starts processing immediately.

So the second recording did not exist yet hence not sent in that webhook. Webhooks only send one instance of recording files at a time, and don’t wait until the meeting ends to count how many there were.

Thanks,
Tommy

That is not what we have seen in general @tommy. The behavior we typically see is that even if you have multiple recordings in a single meeting session, you only get one webhook as long as the meeting stayed active the entire time between recordings.

So:

Start Meeting
Start Recording
Stop Recording
Wait
Start Recording
Stop Recording
End Meeting

That scenario results in one webhook with a single UUID but under recording files it lists out the files for both recordings from the same meeting. If instead you stop the entire meeting and join it again (say it was a scheduled meeting) and then start recording again, you then get another webhook and UUID for that second “session” of the meeting.

I just tested a scenario now as well where I started a meeting with a very short recording (one that was currently processing in less than a minute) and then waited 20 minutes before ending the meeting. The webhook did NOT come until the meeting ended. Similarly with multiple recordings, the webhook did not come until the meeting itself was ended and it contained information for all the recordings made during the meeting session. This is the behavior we have seen since last summer.

So when I encountered a recording that I am asking about where the webhook only contained information for a single recording out of two but the API returned both, that is why I asked about it. I can PM you the UUID for it to see what is different but it behaved differently than the webhooks and API have been functioning since we started work on our Zoom app early last year.

Hey @zoom-test,

Thanks for the additional details.

Yes please private message me the webhook payload and meeting id/uuid so I can look why the second one did not send.

Thanks,
Tommy