Cal.com triggers are instant — Cal.com tells Bizomate the moment it happens:
- Cal.com · Booking created
- Cal.com · Booking cancelled
- Cal.com · Booking rescheduled
- Cal.com · Meeting ended
Publishing sets each one up in Cal.com for you — see How instant triggers work.
Who can do this
Workspace Admins and Editors, on every plan. Viewers see the trigger and its status but cannot change it.
Before you start
A Cal.com connection. See Connect Cal.com.
Steps
Open the workflow in the designer and open the trigger picker — Browse all triggers on an empty workflow, or select the trigger and Change how it starts.
Under Cal.com, select the trigger — for example Booking created. It reads Cal.com · instant.
In Connection, choose your Cal.com connection.
Optional: in Event type, choose one — Consultation, say. Empty takes every event type.
Add the steps, then Publish. Bizomate adds a webhook to your Cal.com user for this workflow.
The panel reads Waiting for the first event.
Test it with a real booking:
- Book a slot on your Cal.com page.
- Within seconds the panel reads Listening — instant, with the last booking.
- On Output, select Use the last event, then Test run.
What the trigger gives
| Write | What it is |
|---|---|
{{ trigger.attendeeName }}, {{ trigger.attendeeEmail }}, {{ trigger.attendeeTimeZone }} |
The person who booked. {{ trigger.attendees }} lists everyone invited — the booker first, then their guests — each with name, email and timeZone. |
{{ trigger.company_name }} and so on |
Each answer to your booking questions, under a name made from the question. {{ trigger.additional_notes }} is Cal.com's own Additional notes box. {{ trigger.answers }} lists them all with their questions. |
{{ trigger.title }}, {{ trigger.status }} |
The booking's title, and its status — accepted, cancelled. |
{{ trigger.start }}, {{ trigger.end }} |
When it is, in UTC. |
{{ trigger.eventTypeName }}, {{ trigger.eventTypeId }} |
The event type, by name and number. |
{{ trigger.hostName }}, {{ trigger.hostEmail }} |
Who the meeting is with. |
{{ trigger.location }}, {{ trigger.joinUrl }} |
Where, and the video link when there is one. |
{{ trigger.id }} |
The booking's id, for Cancel a booking. |
{{ trigger.createdAt }} |
When it was booked — on Booking created and Meeting ended. |
Booking cancelled adds cancelReason. Booking rescheduled adds previousStart and previousEnd — when it was before it moved; start and end are the new times.
Answers are named as the Form trigger names its fields — Company name is company_name. A question worded like one of the booking's own names (Title, say) gets _2 on the end — title_2 — so it never hides the booking's title. Once a step uses an answer's name, it keeps that name even if the question is reworded in Cal.com; publish again after adding the step.
What happens next
- Each event starts one run of the live version, in Production.
- Every event is checked. Bizomate gives Cal.com a secret of its own making, and Cal.com signs each event with it. An event without a matching signature starts nothing.
- Every publish sets the webhook up again. Changing to another trigger and publishing, or deleting the workflow, removes it from Cal.com.
Good to know
- Meeting ended comes at the booking's scheduled end time, as Cal.com sends it — not when the last person leaves the call. A booking cancelled or moved before then sends none for the old time. Use it for follow-ups.
- Your own bookings. The webhook belongs to the Cal.com user whose key the connection has, so it hears that user's bookings.
- Runs count in the month's allowance.
If something goes wrong
| What you see | Why | What to do |
|---|---|---|
| Not listening — "Cal.com refused: … Check the connection's details on Connections." | The key expired or was deleted. | Replace the key on Connections, then publish again. |
| Not listening — "Cal.com has no event type … for this connection. Choose one from the list, then publish again." | The event type was deleted, or belongs to another user. | Choose another in Event type, or empty it, then publish again. |
| Waiting for the first event stays | Nothing has happened yet, or the event type filter excludes it. | Book a test slot of the chosen type. |