Skip to content

Every 30 minutes

Update your leads sheet and get a follow-up draft after each client meeting

When a client meeting ends, the lead's row in your sheet is marked as met and you get an email with a suggested follow-up.

Runs
Every 30 minutes
Apps
Google Calendar, Google Sheets
AI
Yes, uses the built-in AI allowance
Access
Calendar read; Sheet edit

Send this to your assistant

Create a ClickRuntime automation: after each client meeting on my Google Calendar, find the attendee in my Leads sheet, mark the meeting done and email me an AI-suggested follow-up.

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 mortgage broker has five or six client meetings a day. Her leads sheet is meant to show who she has met and what is next, but after back-to-back calls it falls days behind, and follow-ups go out late or not at all.

Updating the sheet and preparing a follow-up as each meeting ends keeps your pipeline accurate and makes sending the next email a two-minute job while the conversation is fresh.

What you get out of it

  • Your leads sheet stays current

    Each lead you meet is marked as met with the date, so the sheet reflects your real pipeline without end-of-day admin.

  • Follow-ups go out while you are remembered

    A suggested email lands minutes after the meeting, when it is easiest to personalise and send.

  • Nobody slips through

    Every client meeting triggers a follow-up prompt, including the ones squeezed in at the end of a long day.

  • Context in one place

    The suggestion uses the meeting title and the notes already in the lead's row, so it reads like it came from you.

How it works

What happens, step by step

  1. Every 30 minutes ClickRuntime checks your Google Calendar for meetings that have just ended.

  2. It skips meetings it has already handled.

  3. It looks up each attendee's email in your Leads sheet and marks their row as met with today's date.

  4. AI drafts a short follow-up using the meeting title and the lead's notes, and it is emailed to you.

Before it runs live

  • Connect Google Calendar
  • Connect your Google Sheets account and pick the spreadsheets it may use

What you get

RunsEvery 30 minutes
Update your leads sheet and get a follow-up draft after each client meetingtoday, 9:00Succeeded
Email · Follow up with Jamie OrtizHi Jamie, thanks for your time today. As promised, here is the Northwind Bank fixed-rate comparison we discussed...

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

  • Act only on the items that match your own rules, and skip the rest
  • Change what the AI looks for, or how it writes the result
  • Add another app, for example also send it to Slack
  • Combine it with other Google Calendar and Google Sheets 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.
post_meeting_follow_ups_from_calendar_and_sheet.pyexample
from datetime import datetime, timezone
from clickruntime import on_trigger, credentials, http, state, ai, notify, report_fetched

SHEET = "your-spreadsheet-id"
S = f"https://sheets.googleapis.com/v4/spreadsheets/{SHEET}/values"

@on_trigger
def run(event):
    h = {"Authorization": f"Bearer {credentials.connection('google', 'work')}"}
    now = datetime.now(timezone.utc).isoformat()
    since = state.get("since") or now
    events = http.get("https://www.googleapis.com/calendar/v3/calendars/primary/events", headers=h,
                      params={"timeMin": since, "timeMax": now, "singleEvents": True}).json().get("items", [])
    ended = [e for e in events if since <= e.get("end", {}).get("dateTime", "") <= now]
    report_fetched(len(ended))
    if not ended:
        return {"ended": 0}
    rows = http.get(f"{S}/Leads!A2:D", headers=h).json().get("values", [])
    for e in ended:
        for i, r in enumerate(rows, start=2):
            if len(r) > 1 and any(a.get("email") == r[1] for a in e.get("attendees", [])):
                http.put(f"{S}/Leads!C{i}", headers=h, params={"valueInputOption": "RAW"}, json={"values": [["met " + now[:10]]]})
                draft = ai.generate(f"Write a short follow-up email to {r[0]} after our meeting '{e.get('summary')}'. Notes: {r[3] if len(r) > 3 else ''}",
                                    max_output_tokens=300).text
                notify.email_me(f"Follow up with {r[0]}", draft)
    state.set("since", now)
    return {"ended": len(ended)}

FAQ

Common questions

How does it match a meeting to a lead?
By the attendee's email address. If it is in the email column of your sheet, that row is updated.
Does it send the follow-up to the client?
No. It emails the suggestion to you, so you can edit and send it yourself.
What about meetings with people not in the sheet?
They are skipped. Internal meetings and personal events are ignored.
What permissions does it need?
Calendar read; Sheet edit. Nothing else in your accounts is used.
Does it need AI?
Yes. It uses ClickRuntime's built-in AI, so you don't need an OpenAI or Anthropic key. Every plan includes a monthly AI allowance.
How many runs does it use?
One run each time it checks. Checks that find nothing new 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 “Update your leads sheet and get a follow-up draft after each client meeting” from your assistant

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