Daily
Get warned about likely no-shows for tomorrow
Each morning you get a list of tomorrow's appointments with clients who have missed before, so you can confirm them.
- Runs
- Daily
- Apps
- Google Calendar, Google Sheets
- AI
- Optional
- Access
- Calendar read; Sheet read
Send this to your assistant
Create a ClickRuntime automation: every morning, check tomorrow's appointments, look up each client's no-show history in my sheet and alert me about high-risk ones.
First time? Adding ClickRuntime to your assistant takes about two minutes.
Why use it
Why teams use this automation
A hair salon loses two or three appointments a week to clients who simply do not turn up. The same few names come up again and again, but nobody remembers to call them the day before.
A morning list of tomorrow's appointments with a no-show history gives the front desk time to send a reminder or fill the slot from the waitlist.
What you get out of it
Fewer empty chairs
A quick confirmation call to the right clients recovers appointments that would otherwise be lost.
Time to fill gaps
Knowing a day ahead which slots are at risk leaves time to offer them to people on the waitlist.
Reminders where they help most
Instead of calling everyone, staff focus on the handful of clients who have missed before.
Uses the records you already keep
The history comes from the sheet you already update, so there is nothing new to maintain.
How it works
What happens, step by step
Every morning ClickRuntime reads tomorrow's appointments from your Google Calendar.
It looks up each client in your no-show history sheet.
Clients above the no-show count you set are marked as high risk.
You get an email listing those appointments with each client's past no-shows, or a note that none look risky.
Before it runs live
- Connect Google Calendar
- Connect your Google Sheets account and pick the spreadsheets it may use
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
- Run it at a different time, more or less often, or only on weekdays
- 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
from datetime import datetime, timedelta, timezone
from googleapiclient.discovery import build
from google.oauth2.credentials import Credentials
from clickruntime import on_trigger, credentials, notify
SHEET_ID, LIMIT = "your-spreadsheet-id", 2
@on_trigger
def run(event):
creds = Credentials(credentials.connection("google", "work"))
day = (datetime.now(timezone.utc) + timedelta(days=1)).replace(hour=0, minute=0, second=0)
events = build("calendar", "v3", credentials=creds, cache_discovery=False).events().list(calendarId="primary",
timeMin=day.isoformat(), timeMax=(day + timedelta(days=1)).isoformat(), singleEvents=True).execute()["items"]
rows = build("sheets", "v4", credentials=creds, cache_discovery=False).spreadsheets().values().get(
spreadsheetId=SHEET_ID, range="History!A2:B").execute().get("values", [])
misses = {r[0].lower(): int(r[1]) for r in rows if len(r) > 1}
risky = []
for e in events:
for a in e.get("attendees", []):
n = misses.get(a["email"].lower(), 0)
if n >= LIMIT:
risky.append(f"{e['start'].get('dateTime', '')[11:16]} {e.get('summary')} ({a['email']}, {n} no-shows)")
notify.email_me("Tomorrow's no-show risks", "\n".join(risky) or "No high-risk appointments tomorrow.")
return {"appointments": len(events), "risky": len(risky)}FAQ
Common questions
What counts as high risk?
How are clients matched to the sheet?
Can it remind the client directly?
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
Turn your week's calendar into a timesheet by client
Every Friday your calendar events are sorted by client or project and written to your timesheet sheet with the hours for each.
See how it worksSchedule backlog refinement meetings from your sheet
Before each sprint, the top backlog items are picked from your sheet and refinement meetings are put in the team's calendars.
See how it worksPut birthdays, anniversaries and probation dates on the calendar
Birthdays, work anniversaries and probation end dates from your employee sheet appear as calendar events ahead of time.
See how it worksKeep exploring
Set up “Get warned about likely no-shows for tomorrow” from your assistant
Copy the prompt above, or connect your assistant first. Free plan, no credit card.