Every 15 minutes
Get the link when a Zoom recording is ready
As soon as a cloud recording finishes processing, you get the meeting topic and the share link.
- Runs
- Every 15 minutes
- Apps
- Zoom
- AI
- Not needed
- Access
- recording:read:admin, user:read:admin
Send this to your assistant
Create a ClickRuntime automation: when any Zoom cloud recording in our account is ready, email me the meeting topic, date and share link.
First time? Adding ClickRuntime to your assistant takes about two minutes.
Why use it
Why teams use this automation
A project manager records a weekly status call and the team keeps asking for the link. Zoom emails the host when a recording is ready, but only the host, and that email is easy to lose among others. Colleagues who missed the call ask in chat, and the host digs for the link. Recordings sit unshared for days, and a client who missed a call asks for the replay long after the moment has passed.
Every 15 minutes, users are listed and each user's recent cloud recordings are checked. Any recording not seen before is sent to you by email with the topic, date and a link, and its ID is remembered so it is announced once. You get the link as soon as the recording is available.
Useful for admins who manage recordings for several hosts.
What you get out of it
Replays are shared promptly
The link goes out soon after the recording is processed. People who missed the call watch it the same day, while the discussion is still relevant to their own work.
Admins see every host's recordings
Listing each user's recordings means an admin does not need each host to forward their email. Nothing is missed, and a host who forgot to share does not leave their team waiting.
Clients get timely access
A client who missed the review call can be sent the replay within the hour. Responsiveness builds trust, and the client sees a team that does not leave people behind.
Each recording is announced once
Remembered IDs prevent duplicate emails. The inbox stays clean when many recordings are made on the same day, and each message means a new recording is ready. Alerts stay meaningful.
Forgotten recordings are avoided
Recordings that would have sat unseen in the Zoom portal reach someone who can act. Training and onboarding material is not wasted, and valuable calls are available when needed later.
Fewer requests for the replay
Colleagues stop asking in chat whether the call was recorded and where to find it. The link arrives before the question does. The link arrives before anyone asks for it.
How it works
What happens, step by step
Every 15 minutes ClickRuntime checks the recent cloud recordings for every user on your Zoom account.
It skips any recording it has already told you about.
When new recordings are ready, you get one email listing each meeting's topic, date and share link.
Before it runs live
- Connect Zoom
What you get
Build your own
Need it to work differently?
Your own rules
Conditions, thresholds, filters and exceptions, written the way you'd explain them to a colleague.
Any number of apps
One automation can read from one app and update several others. Over 248 apps are ready, and anything with an API works too.
AI where it helps
Summaries, classification, extraction and drafts use ClickRuntime's built-in AI, with no extra key.
On a schedule or on each event
Runs as often as every 5 minutes, or the moment an app sends an event, and keeps track of what it already handled.
Changes you can ask for
- Act only on the items that match your own rules, and skip the rest
- Add an AI step, for example to summarize, sort or draft a reply
- Add another app, for example also send it to Slack
- Combine it with other Zoom steps into one automation
Under the hood
The code that runs this automation
from datetime import date, timedelta
from clickruntime import on_trigger, credentials, http, state, notify, report_fetched
API = "https://api.zoom.us/v2"
@on_trigger
def run(event):
h = {"Authorization": f"Bearer {credentials.connection('zoom', 'work')}"}
seen = set(state.get("seen") or [])
since = (date.today() - timedelta(days=2)).isoformat()
users = http.get(f"{API}/users", params={"page_size": 300}, headers=h).json()["users"]
new = []
for u in users:
recs = http.get(f"{API}/users/{u['id']}/recordings", params={"from": since}, headers=h).json()
new += [m for m in recs.get("meetings", []) if m["uuid"] not in seen]
report_fetched(len(new))
if not new:
return {"summary": "Nothing new"}
lines = [f"{m['topic']} ({m['start_time'][:10]})\n{m['share_url']}" for m in new]
notify.email_me(f"{len(new)} new Zoom recording(s)", "\n\n".join(lines))
state.set("seen", list(seen | {m["uuid"] for m in new})[-500:])
return {"new": len(new)}FAQ
Common questions
Does the link need a passcode?
Does it need an admin account?
How soon will I be notified?
What permissions does it need?
Does it need AI?
How many runs does it use?
Can I change how it works?
Related
You might also like
Get a meeting summary from the transcript
After each recorded meeting you get the decisions and action items, written from the transcript.
See how it worksStart the day with your Zoom meeting list
Each weekday morning you see the day's Zoom meetings with their join links.
See how it worksHear in Slack when someone joins or waits
You're pinged when a participant joins your meeting or is sitting in the waiting room.
See how it worksKeep exploring
Set up “Get the link when a Zoom recording is ready” from your assistant
Copy the prompt above, or connect your assistant first. Free plan, no credit card.