WhatsApp-herinneringen versturen vanuit Google Agenda met Apps Script
Veel zelfstandigen en kleine teams plannen afspraken gewoon in Google Agenda — geen boekingstool, geen CRM, gewoon een agenda met namen, telefoonnummers en tijdstippen in de omschrijving. Wil je daar automatisch een WhatsApp-herinnering aan koppelen, dan hoef je niet meteen over te stappen naar Calendly of een dure automatiseringstool. Met een gratis Google Apps Script en de TextMeFlow API stuur je elke ochtend automatisch een herinnering voor de afspraken van morgen.
Het idee
Apps Script draait gratis binnen elk Google-account en kan op een tijdschema (elke ochtend om 8u bijvoorbeeld) een functie uitvoeren. Die functie:
- Haalt alle agenda-items van morgen op.
- Leest het telefoonnummer uit de titel of omschrijving van elke afspraak.
- Stuurt voor elk item een POST-request naar de TextMeFlow API.
Geen server, geen hosting, geen aparte tool om te onderhouden — alles draait binnen Google.
Wat je nodig hebt
- Een Google-account met de agenda die je wil gebruiken.
- Een gratis TextMeFlow-account met een gekoppeld WhatsApp-nummer via QR-scan (zie /docs/getting-started — geen Meta Business-verificatie nodig).
- Je API-key uit het TextMeFlow-dashboard.
Stap 1: afspraken herkenbaar maken
Zorg dat elk agenda-item een telefoonnummer bevat dat je script kan uitlezen. De eenvoudigste aanpak: zet het nummer in internationaal formaat (bv. +32470123456) ergens in de titel of beschrijving, bijvoorbeeld:
Titel: Afspraak Jan Peeters +32470123456
Stap 2: het Apps Script
Open script.google.com, maak een nieuw project en plak onderstaande functie. Vervang API_KEY door je eigen sleutel.
function stuurHerinneringen() {
const API_KEY = 'jouw-api-key';
const calendar = CalendarApp.getDefaultCalendar();
const morgen = new Date();
morgen.setDate(morgen.getDate() + 1);
const start = new Date(morgen.setHours(0, 0, 0, 0));
const eind = new Date(morgen.setHours(23, 59, 59, 999));
const events = calendar.getEvents(start, eind);
const telefoonRegex = /\+\d{8,15}/;
events.forEach(event => {
const tekst = event.getTitle() + ' ' + event.getDescription();
const match = tekst.match(telefoonRegex);
if (!match) return;
const payload = {
to: match[0],
text: `Herinnering: morgen om ${Utilities.formatDate(event.getStartTime(), Session.getScriptTimeZone(), 'HH:mm')} heb je een afspraak. Tot dan!`
};
UrlFetchApp.fetch('https://api.textmeflow.eu/v1/messages', {
method: 'post',
contentType: 'application/json',
headers: { Authorization: 'Bearer ' + API_KEY },
payload: JSON.stringify(payload)
});
});
}
Stap 3: de trigger instellen
In de Apps Script-editor klik je links op het klok-icoon ("Triggers") → Trigger toevoegen. Kies de functie stuurHerinneringen, bron "Tijdgestuurd", type "Dag-timer" en een uur naar keuze (bijvoorbeeld 8-9u 's ochtends). Vanaf nu draait het script elke dag automatisch, ook als je laptop uitstaat.
Dubbele of foute nummers vermijden
Twee praktische valkuilen:
- Terugkerende afspraken leveren elke dag een apart event op in
getEvents()— dat is geen probleem, elk item wordt afzonderlijk verwerkt. - Een fout of ontbrekend nummer in de titel zorgt er gewoon voor dat dat item wordt overgeslagen (de
if (!match) return), niet dat het script crasht. Controleer af en toe de uitvoeringslogs in Apps Script om te zien of afspraken onterecht worden overgeslagen.
Waarom dit niet als spam aankomt
Elk bericht is één-op-één en gepersonaliseerd met een tijdstip — dat is precies het soort verkeer dat WhatsApp-nummers gezond houdt. TextMeFlow past bovendien op elk uitgaand bericht automatisch rate limiting, een risicoscore en stille uren toe, ongeacht of het via dit script, een curl-commando of een no-code tool binnenkomt. Meer daarover lees je op /docs/anti-spam.
Wanneer je toch een boekingstool nodig hebt
Deze aanpak werkt uitstekend zolang telefoonnummers manueel of via een vast sjabloon in de agenda belanden. Zodra klanten zelf online boeken, is een koppeling met een boekingstool zoals Calendly vaak robuuster — dat scenario beschreven we in WhatsApp-herinneringen via Calendly-webhooks. Voor grotere volumes met meerdere afsprakentypes kan een no-code tool zoals Make of n8n makkelijker opschalen; zie WhatsApp-berichten versturen vanuit n8n, Make.com of Zapier.
Het gratis TextMeFlow-plan geeft je 50 berichten per maand, voor altijd — ruim voldoende om dit script te testen. Voor dagelijkse volumes schakel je over naar Starter (€5/maand) of hoger.
Wil je dit vandaag nog opzetten? Maak een gratis account en koppel je WhatsApp-nummer in enkele minuten.
Zelf WhatsApp-berichten versturen via API?
Gratis voor altijd tot 50 berichten/maand. QR scannen en binnen 5 minuten verstuur je je eerste bericht.
Gratis voor altijd