Zoom
When a cloud recording completes, Zoom posts the event; we fetch the audio-only file, transcribe it, and file it as a meeting in your workspace. Every post is signature-checked against the app's Secret Token, and the URL-validation challenge is answered automatically.
Checked 2026-08-29 · every step is done on your Flows page or inside Zoom; nothing here needs support.
On Zoom's side
These are the same steps your Flows page prints on the source card.
- On the Zoom App Marketplace (marketplace.zoom.us) choose Develop > Build App > Webhook only (or a Server-to-Server OAuth app with Event Subscriptions).
- Under Feature > Event Subscriptions add a subscription, paste the MeetNotes URL from this card as the notification endpoint, and tick Recording > "All Recordings have completed".
- Copy the app's Secret Token and paste it here as the signing secret BEFORE clicking Validate — Zoom validates the URL with it, and every post is checked against it.
- Turn on cloud recording for the account or the hosts whose meetings should come in (Settings > Recording); only cloud recordings send this event.
- Save and activate the app. Each completed cloud recording arrives as its audio-only file.
What to paste from your flow card
- The MeetNotes URL from the source card, as the event notification endpoint.
- Into MeetNotes: the app's Secret Token as the signing secret — before you click Validate, because the validation handshake is answered with it.
What we never ask for: Your Zoom sign-in, a full OAuth app with meeting-control scopes, or local recordings. Only the recording-completed event and the audio file it names.
How to test
- Start a short meeting, record to the cloud, end it, and wait for Zoom to finish processing the recording.
- Watch the recent activity on your Flows page:
received→done. - If Validate fails in Zoom, the Secret Token in MeetNotes is missing or different — paste it and validate again.
When an event shows failed or skipped
The Flows page prints one short reason per event. Here is what each one on this connector means and what to do.
fetch failed— We could not download the recording from the link the provider sent — the link had expired, it needed a login we do not hold, the file was over 300 MB, it pointed at a private address, or the server did not answer. We retry a few times before giving up. If your recordings need a login, set "If the recording needs a login" on the source.audio files only— The file was not audio — a picture, a document, or (except from a Drive folder) a video. Only a Drive folder source accepts video; every other door wants an audio file.audio unreadable— The file was named like audio but could not be decoded: empty, cut short, or not the format its name claims. Not retried. Send the recording again from the provider.no minutes— Your workspace had no pooled minutes left, so we did not download the recording. Skipped, not retried. Top up the pool and have the provider send the recording again.processing failed— The recording came in but something on our side failed after that. We are alerted automatically; if it keeps happening, write to support@getmeetnotes.com with the reference shown on the Flows page.unsigned request— The post carried no valid signature. Either the signing secret pasted on the source does not match the one in the provider's console, or the provider is posting from a place that does not sign. Paste the current secret again; nothing unsigned is ever accepted.
The full list, across every connector, is on the setup index.
