Skip to content

On a schedule

Add a Zoom link to every meeting that's missing one

Any meeting you organise without a video link gets a Zoom meeting added to it, so nobody asks 'where's the link?' at the start time.

Runs
On a schedule
Apps
Google Calendar, Zoom
AI
Not needed
Access
Calendar events write; Zoom meeting:write

Send this to your assistant

Create a ClickRuntime automation: every 15 minutes, look at my calendar for the next 7 days. For any meeting I organise with other attendees and no video link, create a Zoom meeting and add the link to the event.

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

A consultant books meetings from their phone between calls and often forgets to add a video link. Five minutes before the start, clients email asking how to join, and the meeting starts late while a link is pasted around.

Now every meeting they organise with guests is checked a few times an hour. If there's no video link, a Zoom meeting is created and its link is added to the event, so guests see it in their invitation well before the start.

What you get out of it

  • Every meeting is joinable

    Guests always find a link in the invitation, without a last-minute email.

  • Book from anywhere

    Create the event quickly on your phone; the link is added for you.

  • Leaves other links alone

    Events that already have a Google Meet, Teams or Zoom link are not touched.

  • Only your meetings

    Events other people organised are never edited.

How it works

What happens, step by step

  1. Every 15 minutes, ClickRuntime looks at your calendar for the next week.

  2. It picks out meetings you organise, with guests, that have no video link.

  3. A Zoom meeting is created at the same time and its link is added to the event.

  4. Each event is remembered, so it never gets a second Zoom meeting.

Before it runs live

  • Connect Google Calendar
  • Connect Zoom

What you get

RunsOn a schedule
Add a Zoom link to every meeting that's missing onetoday, 9:00Succeeded
Google Calendar · Project review with NorthwindLocation: zoom.us/j/84512... (added automatically)

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 Google Calendar and 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.
add_zoom_links_to_calendar_events_that_lack_one.pyexample
from datetime import datetime, timedelta, timezone
from google.oauth2.credentials import Credentials
from googleapiclient.discovery import build
from clickruntime import on_trigger, credentials, http, state

@on_trigger
def run(event):
    cal = build("calendar", "v3", credentials=Credentials(credentials.connection("google", "work")), cache_discovery=False)
    now = datetime.now(timezone.utc)
    events = cal.events().list(calendarId="primary", timeMin=now.isoformat(), timeMax=(now + timedelta(days=7)).isoformat(),
                               singleEvents=True).execute().get("items", [])
    done = state.get("done") or []
    added = 0
    for e in events:
        text = f"{e.get('location', '')} {e.get('description', '')} {e.get('hangoutLink', '')}"
        if e["id"] in done or not e.get("organizer", {}).get("self") or len(e.get("attendees", [])) < 2 \
                or any(k in text for k in ("zoom.us", "meet.google", "teams.microsoft")):
            continue
        meeting = http.post("https://api.zoom.us/v2/users/me/meetings",
                            headers={"Authorization": f"Bearer {credentials.connection('zoom', 'work')}"},
                            json={"topic": e.get("summary", "Meeting"), "type": 2, "start_time": e["start"]["dateTime"]}).json()
        cal.events().patch(calendarId="primary", eventId=e["id"],
                           body={"location": meeting["join_url"], "description": f"{e.get('description', '')}\nJoin Zoom: {meeting['join_url']}"}).execute()
        done.append(e["id"])
        added += 1
    state.set("done", done[-500:])
    return {"added": added}

FAQ

Common questions

Which events get a link?
Events you organise, in the next seven days, that have at least one other attendee and no existing video link. Solo blocks and focus time are skipped.
Do guests get notified of the change?
The event is updated with the link in its location and description. Guests see it in their calendar; you can choose whether update emails are sent.
Will it create duplicate Zoom meetings?
No. Each event is remembered once it has been given a meeting, so it never gets a second one.
What permissions does it need?
Calendar events write; Zoom meeting: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 (on a schedule). 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 “Add a Zoom link to every meeting that's missing one” from your assistant

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