Daily
Send WhatsApp reminders on the dates in a sheet
People in your sheet get a WhatsApp reminder on the day you set, and the sheet marks it as sent.
- Runs
- Daily
- Apps
- Google Sheets, WhatsApp Business
- AI
- Not needed
- Access
- Sheet edit; whatsapp_business_messaging
Send this to your assistant
Create a ClickRuntime automation: every morning at 9am, send a WhatsApp reminder to each person in my Reminders sheet whose date is today, using my approved template, and mark the row as sent.
First time? Adding ClickRuntime to your assistant takes about two minutes.
Why use it
Why teams use this automation
Clinics remind patients about medication, delivery companies about drop-off windows, agencies about deadlines. Usually someone works down a list and sends each reminder by hand, and on a busy day some don't go out.
Keeping the dates in a sheet and letting the reminders send themselves means every person hears from you on the right day, and the sheet shows exactly who has been reminded.
What you get out of it
Every reminder sent on time
Reminders go out each morning without anyone working down a list.
Read on WhatsApp
People read WhatsApp messages far more reliably than email or SMS.
A record of who was reminded
Each row is marked sent with the date. Disputes about missed reminders are easy to settle.
Easy to add people
New reminders are a new row in the sheet. Nothing else to set up.
How it works
What happens, step by step
Every morning it reads your Reminders sheet.
It picks rows dated today that aren't marked sent.
Each person gets your WhatsApp reminder template with their details.
The row is marked sent, so it isn't sent again.
Before it runs live
- Connect your Google Sheets account and pick the spreadsheets it may use
- Connect WhatsApp Business
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
- 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 Sheets and WhatsApp Business steps into one automation
Under the hood
The code that runs this automation
from google.oauth2.credentials import Credentials
from googleapiclient.discovery import build
from datetime import date
from clickruntime import on_trigger, credentials, http
SHEET_ID = "your-spreadsheet-id"
WA = "https://graph.facebook.com/v20.0/your-phone-number-id/messages"
def wa_template(to, name, params):
body = {"messaging_product": "whatsapp", "to": to, "type": "template", "template": {"name": name, "language": {"code": "en"},
"components": [{"type": "body", "parameters": [{"type": "text", "text": str(p)} for p in params]}]}}
return http.post(WA, headers={"Authorization": f"Bearer {credentials.secret('WHATSAPP_TOKEN')}"}, json=body).json()
@on_trigger
def run(event):
vals = build("sheets", "v4", credentials=Credentials(credentials.connection("google", "work")), cache_discovery=False).spreadsheets().values()
rows = vals.get(spreadsheetId=SHEET_ID, range="Reminders!A2:E").execute().get("values", [])
today, sent = date.today().isoformat(), 0
for i, r in enumerate(rows, start=2):
r = (r + [""] * 5)[:5]
name, phone, when, detail, done = r
if when != today or done:
continue
wa_template(phone, "daily_reminder", [name, detail])
vals.update(spreadsheetId=SHEET_ID, range=f"Reminders!E{i}", valueInputOption="RAW", body={"values": [[f"sent {today}"]]}).execute()
sent += 1
return {"sent": sent}FAQ
Common questions
Can one person get several reminders?
What does the reminder say?
Can it send at a specific time?
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
Send WhatsApp messages to everyone in a sheet
Everyone marked pending in your sheet gets a personalised WhatsApp template message, and the sheet records whether it was sent.
See how it worksGet a WhatsApp alert when a sheet value crosses a limit
When a number you track in your sheet goes past its limit, you get one WhatsApp message about it.
See how it worksMonitor endpoints from a sheet with WhatsApp alerts
The addresses in your sheet are checked every 5 minutes, their status is written back, and you get a WhatsApp message when one fails or recovers.
See how it worksKeep exploring
Set up “Send WhatsApp reminders on the dates in a sheet” from your assistant
Copy the prompt above, or connect your assistant first. Free plan, no credit card.