Cal.com: Workflow-acties en triggers
Overzicht
Cal.com is een open-source afspraakplanner die je (en je team) gebruikt om boekingen te ontvangen op jouw voorwaarden.
De Cal.com-integratie in Voluit Suite voegt die planninglaag toe aan de Workflow Builder, zodat klantgerichte automatiseringen kunnen reageren op boeking-events, en andersom.
Je hebt hiermee booking-lifecycle triggers en vier booking acties voor de meest voorkomende Cal.com use cases, zonder dat je zelf webhooks hoeft te bouwen of allerlei third-party koppelingen nodig hebt.
Dit betekent bijvoorbeeld dat een nieuwe boeking voor een discovery call kan zorgen voor een gepersonaliseerde welkomstsequence in dezelfde workflow die ook het formulier heeft afgehandeld, zonder handmatig werk.
Over de integratie
De integratie bestaat uit twee onderdelen:
- Triggers (Cal.com → Workflows): webhook-gebaseerde booking lifecycle events, zoals Booking Created, Booking Rescheduled, Booking Cancelled, Meeting Ended, en Out of Office Created / Updated.
- Acties (Workflows → Cal.com): vier acties, namelijk Create Booking, Cancel Booking, Reschedule Booking, en Find Booking.
Alle vier de acties zijn gemarkeerd als premium workflow actions. Daarvoor gelden premium action credits volgens het standaard automation-tarief.
Belangrijkste voordelen van Cal.com in Workflows
- Volledige booking lifecycle coverage: created, rescheduled, cancelled, ended en (waar ondersteund) recording ready, vanuit één bron.
- Webhook-snelle triggers: triggeren meestal binnen 1 tot 3 seconden na het event, zonder polling-vertraging.
- Programmatic scheduling: met Create Booking kan een workflow namens een attendee een boeking maken, zonder dat iemand terug hoeft naar een booking link.
- Mapping reference: je kunt een echte recente boeking kiezen als schema-referentie, zodat alle vervolgstappen netjes kunnen mappen op getypeerde velden.
- Rijke payload: elke trigger levert het volledige booking-object, waaronder bookerUrl, title, startTime, endTime, additionalNotes, type, description, eventTypeId, hideCalendarNotes, attendees en organizer.
Cal.com instellen
Voordat een Cal.com trigger of actie kan draaien, moet je de integratie eerst koppelen. Die koppeling zorgt ervoor dat je workflows veilig Cal.com webhooks kunnen ontvangen en de Cal.com API namens jou mogen aanroepen.
Koppelen via de Workflow Builder (aanbevolen)
- Open Automation → Workflows en kies (of maak) een workflow.
- Voeg een Cal.com trigger of actie toe. Je vindt Cal.com in het tabblad Apps.
- Selecteer een Cal.com trigger of actie.
- Klik in de card op Connect Now.
- Plak je Cal.com API key (of log in via OAuth, waar beschikbaar).
- Autoriseer de workspace en event types die je beschikbaar wilt maken.
- Klik op Save om de koppeling af te ronden.
Koppelen via Settings (alternatieve route)
- Ga naar Settings → Integrations.
- Zoek Cal.com in de lijst met integraties en klik op Connect.
- Authenticate en autoriseer.

Lijst met triggers
Alle triggers zijn Instant. Ze gebruiken Cal.com webhooks en starten binnen enkele seconden nadat het onderliggende event plaatsvindt.
| Trigger | Wat doet het? |
|---|---|
| Booking Created | Start wanneer er een nieuwe boeking wordt aangemaakt in Cal.com. Geeft de volledige booking payload terug. |
| Booking Rescheduled | Start wanneer een bestaande boeking wordt verplaatst naar een nieuwe starttijd. Geeft de nieuwe én vorige tijden terug. |
| Booking Cancelled | Start wanneer een boeking wordt geannuleerd door de attendee, organizer of het systeem. Geeft de cancellation reason terug als die is meegegeven. |
| Meeting Ended | Start automatisch op de geplande endTime van de boeking. Wordt automatisch opnieuw ingepland bij een reschedule. |
| OOO Created / Updated | Start wanneer een out of office item wordt aangemaakt of aangepast. |

Lijst met acties
| Actie | Doel |
|---|---|
| Create Booking | Maakt een nieuwe boeking aan voor een specifiek event type. Verplicht: Event Type, Attendee Name, Attendee Email, Start Time. |
| Cancel Booking | Annuleert een bestaande boeking op ID, met optioneel een cancellation reason. |
| Reschedule Booking | Verplaatst een bestaande boeking naar een nieuwe starttijd. Cal.com regelt het verversen van invites en notificaties. |
| Find Booking | Zoekt een boeking op ID, attendee email of filter en geeft de matchende boeking(en) terug. |

Voorbeeld: een trigger instellen (Booking Created)
In dit voorbeeld maak je een workflow die start zodra er een nieuwe boeking in Cal.com wordt gemaakt. De booking payload gebruik je daarna als basis voor alle vervolgstappen.
Stap 1: trigger toevoegen
- Open je workflow en klik op Add Trigger.
- Ga naar het tabblad Apps en zoek op Cal.com.
- Kies Booking Created.
Stap 2: trigger configureren
- Workflow Trigger Name: geef de trigger een duidelijke naam, bijvoorbeeld ‘New Discovery Call Booking’.
- Add filters (optioneel): filter op event type, host, account of een ander veld uit de booking payload, zodat alleen relevante boekingen de workflow starten.
- Webhook Status: hier zie je of de Cal.com webhook active is. Als die inactief is, koppel je de integratie opnieuw in je Cal.com settings.
Stap 3: trigger testen
- Klik op Find New Records in het paneel Test Your Trigger.
- Het systeem haalt de meest recente matchende boekingen op uit Cal.com.
- Kies in Records — Select Mapping Reference één record als mapping reference, bijvoorbeeld: Active: (2026-05-01 10:36:24) Reference 69f434d0e7358049c8b16ded. Hiermee wordt het payload schema vastgezet, zodat je in de vervolgstappen stabiel kunt mappen.
- Controleer in Trigger Data Response of de velden die je nodig hebt aanwezig zijn, zoals bookerUrl, title, startTime, endTime, additionalNotes, type, description, eventTypeId, hideCalendarNotes, attendees en organizer.
- Klik op Save Trigger.
Voorbeeld: een actie instellen (Create Booking)

Met dit voorbeeld plan je vanuit een workflow automatisch een meeting in op de kalender van een host, bijvoorbeeld na een high-intent form submission.
Stap 1: actie toevoegen
- Klik in je workflow op Add om een nieuwe stap toe te voegen.
- Open het tabblad Apps en selecteer Cal.com.
- Kies Create Booking.
Stap 2: koppelen (alleen de eerste keer)
- Als de integratie nog niet gekoppeld is, klik je op Connect Now op de action card.
- Plak je Cal.com API key en autoriseer de workspace.
Stap 3: actie configureren
- Action Name: geef de stap een duidelijke naam, zoals ‘Book Discovery Call’.
- Event Type (verplicht): kies het Cal.com event type waarop je wilt boeken. In de dropdown staan de event types waar de integratie toegang toe heeft.
- Attendee Name (verplicht): gebruik workflow-variabelen, bijvoorbeeld: contact.full_name.
- Attendee Email (verplicht): gebruik workflow-variabelen, bijvoorbeeld: contact.email.
- Attendee Timezone: IANA-format, bijvoorbeeld America/New_York of Europe/London. Als je dit leeg laat, gebruikt Cal.com de timezone van het account.
- Start Time (verplicht): gebruik het voorgestelde format (bijvoorbeeld 12-21-2026 08:30 AM) of ISO-8601. De gebruikte timezone is de Attendee Timezone (of de account-timezone als je geen Attendee Timezone invult).
Stap 4: opslaan en output gebruiken
Klik op Save action. De ID en metadata van de nieuwe boeking komen beschikbaar als workflow output-variabelen.
Daarna kun je bijvoorbeeld een Send Email of Send SMS stap toevoegen om de boeking te bevestigen. Je kunt de booking ID ook later gebruiken in Cancel Booking of Reschedule Booking als er downstream iets verandert.

Trigger en actie testen
Test altijd voordat je publiceert. Door te testen zet je het payload schema vast en krijg je een echt record om je mappings op te baseren.
Trigger testen
- Klik in het trigger-paneel op Find New Records.
- Kies een recente boeking als mapping reference.
- Controleer of Trigger Data Response de velden bevat die je downstream wilt gebruiken.
- Controleer of de Webhook Status ‘active’ is.
Actie testen
- Klik in het actie-paneel op Test Action.
- De actie draait op je live Cal.com workspace met sample values.
- Controleer of de boeking verschijnt in Cal.com (en op de kalender van de host) op de juiste tijd en in de juiste timezone.
- Klopt het resultaat niet? Controleer dan opnieuw het Start Time format en de Attendee Timezone en test opnieuw. Als het klopt, klik je op Save action en test je daarna de volledige workflow.
Veelvoorkomende use cases
Use case 1: New Booking → CRM Contact + Welcome Sequence
Doel: elke nieuwe boeking automatisch omzetten naar een contact met de juiste context.
Workflow-opzet:
- Trigger: Booking Created
- Actie: Create/Update Contact (gebruik attendee email als merge key)
- Actie: Tag de contact op basis van het event type van de boeking
- Actie: Stuur een Welcome Email met voorbereidingsmateriaal, passend bij het meeting type
- Actie: Voeg de contact toe aan een follow-up campaign die 24 uur voor de meeting stopt
Voorbeeld: iemand boekt een discovery call van 30 minuten. De workflow maakt een contact aan, tagt die als ‘discovery’, stuurt een prep email, en zorgt dat er een reminder komt op het juiste moment.
Use case 2: No-show recovery
Doel: no-shows automatisch opvolgen zonder dat je dit handmatig hoeft bij te houden.
Workflow-opzet:
- Trigger: Meeting Ended
- Actie: Find Booking (refresh state om een no-show flag te kunnen ophalen)
- Conditional: ga alleen door als de attendee een no-show was
- Actie: Stuur een rescheduling link
- Actie: Tag de contact voor follow-up als er binnen 48 uur niet opnieuw wordt geboekt
Voorbeeld: zodra een meeting eindigt, checkt de workflow de status. Bij een no-show krijgt de attendee een bericht met een reschedule-optie, zodat het niet blijft liggen.
Use case 3: Cancellation retention
Doel: een annulering gebruiken als startpunt voor retentie, in plaats van een eindpunt.
Workflow-opzet:
- Trigger: Booking Cancelled
- Conditional: splits op cancellation reason (bijvoorbeeld schedule conflict versus lost interest)
- Actie: Stuur een retentiebericht met rebook link (bij schedule conflict)
- Actie: Draag over aan een CSM met de volledige context (bij lost interest)
Voorbeeld: iemand annuleert een demo door een agenda-conflict. De workflow stuurt een reschedule-bericht en tagt de contact voor opvolging als er binnen een week niet opnieuw wordt geboekt.
Use case 4: Programmatic scheduling vanuit een formulier
Doel: geen heen-en-weer meer met een booking link bij high-intent leads.
Workflow-opzet:
- Trigger: Form Submission (met preferred time)
- Actie: Create Booking op het event type van de toegewezen host
- Actie: Stuur een bevestiging
Voorbeeld: iemand vraagt via een formulier om een call op dezelfde dag. De workflow boekt de meeting direct in en bevestigt die automatisch.
Use case 5: Recording distribution
Doel: Cal Video recordings automatisch op de juiste plek krijgen.
Workflow-opzet:
- Trigger: Recording Ready (waar ondersteund)
- Actie: AI summarize the recording naar een klantvriendelijke notitie
- Actie: Stuur de recording URL en de samenvatting naar de attendee
- Actie: Log een CRM activity met de recording link
Voorbeeld: zodra een recording klaar is, krijgt de attendee een bedankmail met de recording link en een AI-rec ap. Tegelijk wordt dezelfde context vastgelegd in de CRM activity.
Best practices
- Vul Attendee Timezone altijd expliciet in als je boekt voor leads in verschillende regio’s. De account-timezone als default werkt vooral goed als je maar één regio bedient.
- Gebruik het voorgestelde Start Time format (bijvoorbeeld 12-21-2026 08:30 AM) of ISO-8601. Ambigue formats kunnen ervoor zorgen dat tijden uren verschuiven.
- Combineer Find Booking met Cancel Booking of Reschedule Booking als guard step. Controleer eerst of de boeking bestaat en de juiste status heeft voordat je iets wijzigt.
- Gebruik Meeting Ended (niet Booking Created) als startpunt voor post-meeting follow-up flows. Cal.com plant dit automatisch in en zet het opnieuw klaar bij reschedule.
- Houd de Webhook Status in de trigger in de gaten. Als die inactief wordt, moet de onderliggende webhook opnieuw gekoppeld worden in je Cal.com settings.
- Test eerst de trigger om de mapping reference vast te zetten. Bouw daarna pas je downstream stappen op basis van die sample payload.
Veelgestelde vragen
V: Wat is Cal.com?
Antwoord: Cal.com is een open-source afspraakplanner die individuen en teams gebruiken om boekingen te ontvangen op hun eigen voorwaarden. Het ondersteunt zowel cloud-hosted als self-hosted deployments en heeft uitgebreide webhooks voor automatisering.
V: Zijn Cal.com acties premium workflow actions?
Antwoord: Ja. Alle vier de acties zijn premium en verbruiken premium action credits volgens het standaard automation-tarief.
V: Hoe snel starten triggers?
Antwoord: Cal.com verstuurt webhooks meestal binnen 1 tot 3 seconden nadat het booking event plaatsvindt. Workflows starten zodra de webhook binnenkomt.
V: Wat zit er in de trigger payload?
Antwoord: Elke booking event levert het volledige booking object, waaronder bookerUrl, title, startTime, endTime, additionalNotes, type, description, eventTypeId, hideCalendarNotes, attendees en organizer. Gebruik Find New Records en Records — Select Mapping Reference om het schema vast te zetten.
V: Wat betekent de Webhook Status indicator?
Antwoord: Dit laat de live status zien van de onderliggende Cal.com webhook. ‘Active’ betekent dat events binnenkomen. Als dit inactief wordt, moet je de webhook opnieuw koppelen in je Cal.com settings.
V: Hoe geef ik een timezone mee in Create Booking?
Antwoord: Het veld Attendee Timezone accepteert IANA-format strings zoals America/New_York of Europe/London. Als je dit leeg laat, gebruikt Cal.com de timezone van het account.
V: Welk format gebruik ik voor Start Time?
Antwoord: Gebruik een standaard date-time value. Het voorgestelde format is ‘12-21-2026 08:30 AM’. ISO-8601 strings (bijvoorbeeld 2026-12-21T08:30:00) zijn ook toegestaan. De gebruikte timezone is de Attendee Timezone (of de account-timezone als je geen Attendee Timezone invult).
V: Stuur Cancel Booking een notificatie naar de attendee?
Antwoord: Ja. Cal.com verstuurt de standaard cancellation email, inclusief de cancellation reason als je die hebt meegegeven.
V: Stuurt Reschedule Booking opnieuw kalender-invites?
Antwoord: Ja. Cal.com annuleert het originele kalender-event en verstuurt een bijgewerkte invite voor de nieuwe tijd. Confirmation emails worden automatisch verstuurd.
V: Wat gebeurt er met Meeting Ended als een boeking wordt verplaatst?
Antwoord: Cal.com annuleert de geplande Meeting Ended webhook voor de oorspronkelijke tijd en plant die opnieuw in voor de nieuwe tijd. De trigger start één keer, op het moment dat de boeking daadwerkelijk eindigt.
V: Start de workflow twee keer als een boeking wordt verplaatst?
Antwoord: Nee. Booking Rescheduled is een aparte trigger. Booking Created start niet opnieuw bij reschedule. Gebruik de trigger die past bij het lifecycle event dat je wilt volgen.
V: Werkt de integratie op een self-hosted Cal.com?
Antwoord: Self-hosted Cal.com ondersteunt dezelfde webhook surface. Triggers werken daarom hetzelfde zodra je de webhook URL hebt ingesteld. Bij sommige self-hosted setups zijn er bekende issues met Meeting Started / Meeting Ended. Test dit daarom met een echte boeking voordat je dit in productie gebruikt.
V: Kan ik workflow-variabelen gebruiken in actievelden?
Antwoord: Ja. Inline variabelen werken in Attendee Name, Attendee Email, Start Time en in andere velden die door de actie beschikbaar worden gemaakt.
V: Wat als de boeking die ik wil annuleren niet meer bestaat?
Antwoord: Cancel Booking geeft de fout terug in de workflow execution log. De workflow gaat daarna verder op basis van je branching. Gebruik Find Booking als guard step als je downstream logica ervan afhangt dat het annuleren lukt.
V: Zijn deze triggers en acties production-ready?
Antwoord: Alle triggers en acties zijn uitgebracht als Beta. Je kunt ze in live workflows gebruiken, maar er kunnen nog UX-wijzigingen komen, zoals extra filters en extra velden, terwijl de integratie verder uit Beta gaat.