Skip to content

Weekly

Clear out old Zoom cloud recordings

Recordings past your cut-off are removed weekly, keeping you under your storage limit, and you get the list.

Runs
Weekly
Apps
Zoom
AI
Not needed
Access
cloud_recording:read, cloud_recording:write

Send this to your assistant

Create a ClickRuntime automation: every Sunday, delete my Zoom cloud recordings older than 90 days and email me the topics and dates of what was removed.

Paste it into your assistant. It tells you what it will send or change before it runs live.

First time? Adding ClickRuntime to your assistant takes about two minutes.

Why use it

Why teams use this automation

Zoom cloud storage fills up. A company on a plan with a storage cap keeps recording every meeting, and after a year thousands of recordings from old one-on-ones, forgotten demos and long-finished projects take up space. Eventually Zoom stops recording or the admin must pay for more storage. Deleting by hand means opening the portal, filtering by date and clicking through, so the task is postponed.

Every week, cloud recordings across a date range are listed and those older than 90 days are selected. Before anything is deleted, an email with the full list goes out. The recordings are then moved to Zoom's trash, not erased on the spot, so a mistake can be undone for a period.

Meant for admins who want predictable storage and sensible retention. Pairing deletion with an emailed list means the cleanup is routine, visible and reversible.

What you get out of it

  • Storage stays under the cap

    Old recordings are removed on a rolling basis. You avoid paying for extra storage or having a new recording fail because the account is full, which usually happens on the day it matters most.

  • Retention follows a policy

    A 90-day rule applied every week is consistent. Compliance and legal teams get a defined retention window, and nobody has to decide case by case what to keep. Legal teams can cite the rule.

  • Mistakes are recoverable

    Recordings go to the trash first, so something deleted in error can be restored for a period. That is safer than permanent deletion, and it makes the whole routine easy to trust.

  • Staff are told what is removed

    The emailed list gives hosts a chance to download something they need before it goes. Nobody is surprised by a missing replay, and the people who care about a recording get a warning.

  • Privacy exposure shrinks

    Recordings of old customer calls are a liability. Removing them after a set period limits what could leak or be requested, which is a quiet but real reduction in risk.

  • Predictable storage costs

    With a steady cleanup, storage use stays flat instead of climbing. Finance can plan for it, and no one has to approve an emergency storage purchase. Finance can plan for steady storage use.

How it works

What happens, step by step

  1. Once a week ClickRuntime looks for your Zoom cloud recordings that are more than 90 days old.

  2. It moves each of them to Zoom's trash, so they stop counting against your storage and can still be recovered for a while.

  3. You get an email listing the date and topic of every recording it moved. If nothing was old enough, no email is sent.

Before it runs live

  • Connect Zoom

What you get

RunsWeekly
Clear out old Zoom cloud recordingstoday, 9:00Succeeded
Email · Moved 7 old Zoom recordings to trash2026-06-12 Acme onboarding 2026-06-19 Northwind retro

Build your own

Need it to work differently?

This template is a starting point. Copy the prompt and change it, or describe a different automation from scratch, with your own conditions, more apps or an AI step. Your assistant writes it, tests it and runs it on ClickRuntime.
  • 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

  • Run it at a different time, more or less often, or only on weekdays
  • 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

This is the Python script that runs each time the automation starts. Your AI assistant writes it for you when you send the prompt, and you allow each step in your assistant. To change how the automation works, describe the change to your assistant and it updates the script for you. For every function it can use, see the script reference.
old_cloud_recording_clean_up.pyexample
from datetime import date, timedelta
from urllib.parse import quote
from clickruntime import on_trigger, credentials, http, notify

API = "https://api.zoom.us/v2"
KEEP_DAYS = 90

@on_trigger
def run(event):
    h = {"Authorization": f"Bearer {credentials.connection('zoom', 'work')}"}
    cutoff = date.today() - timedelta(days=KEEP_DAYS)
    start = cutoff - timedelta(days=30)  # Zoom allows a one-month window per request
    meetings = http.get(f"{API}/users/me/recordings", headers=h,
                        params={"from": start.isoformat(), "to": cutoff.isoformat(), "page_size": 300}).json()["meetings"]
    removed = []
    for m in meetings:
        uuid = quote(quote(m["uuid"], safe=""), safe="")
        http.delete(f"{API}/meetings/{uuid}/recordings", params={"action": "trash"}, headers=h).raise_for_status()
        removed.append(f"{m['start_time'][:10]}  {m['topic']}")
    if removed:
        notify.email_me(f"Moved {len(removed)} old Zoom recordings to trash", "\n".join(removed))
    return {"removed": len(removed)}

FAQ

Common questions

Can I keep some recordings forever?
You can exclude recordings by topic keyword or by host so that training videos and key calls remain. Anything excluded stays untouched by the weekly clean-up. Recordings can be excluded by topic or by host.
How long do trashed recordings stay recoverable?
Zoom keeps recordings in the trash for a limited period before permanent deletion, and the length is set by Zoom. Check your account's trash settings if you rely on recovery. Zoom decides how long the trash keeps items.
Does it delete recordings for all users?
That depends on the connected account. An admin can list and delete recordings for all users, while a regular user is limited to their own. Pick the scope you want. An admin account can reach all users' recordings.
What permissions does it need?
cloud_recording:read, cloud_recording:write. Nothing else in your accounts is used.
Does it need AI?
No. It runs without AI, so it doesn't use your plan's AI allowance.
How many runs does it use?
One run each time it runs (weekly). Checks that find nothing to do and stop right away aren't counted.
Can I change how it works?
Yes. Describe the change to your AI assistant, for example a different schedule, channel or filter. It updates the automation, tests it and tells you what changed.

Set up “Clear out old Zoom cloud recordings” from your assistant

Copy the prompt above, or connect your assistant first. Free plan, no credit card.