Skip to content

Commit cbcd769

Browse files
authored
docs: add automatic no show updated docs (#25507)
1 parent a2185d9 commit cbcd769

File tree

1 file changed

+153
-1
lines changed

1 file changed

+153
-1
lines changed

docs/developing/guides/automation/webhooks.mdx

Lines changed: 153 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,9 @@ To create a new webhook subscription, visit `/settings/developer/webhooks` and p
3434
- `Form Submitted`
3535
- `Meeting Ended`
3636
- `Instant Meeting Created`
37+
- `Booking No-show Updated`
38+
- `After Hosts Didn't Join Cal Video`
39+
- `After Guests Didn't Join Cal Video`
3740
</Step>
3841
<Step title="Secret">
3942
You can provide a secret key with this webhook to [verify it](/docs/core-features/webhooks#verifying-the-authenticity-of-the-received-payload) on the subscriber URL when receiving a payload. This helps confirm whether the payload is authentic or has been tampered with. You can leave it blank if you don't wish to secure the webhook with a secret key.
@@ -144,6 +147,155 @@ To create a new webhook subscription, visit `/settings/developer/webhooks` and p
144147

145148
```
146149

150+
### Booking No-show Updated webhook payload
151+
152+
This webhook is triggered when an attendee is manually marked or unmarked as no-show on the `/bookings/past` page.
153+
154+
**Example payload when marking an attendee as no-show:**
155+
156+
```json
157+
{
158+
"triggerEvent": "BOOKING_NO_SHOW_UPDATED",
159+
"createdAt": "2025-12-01T12:34:34.774Z",
160+
"payload": {
161+
"message": "[email protected] marked as no-show",
162+
"attendees": [
163+
{
164+
"email": "[email protected]",
165+
"noShow": true
166+
}
167+
],
168+
"bookingUid": "5vQFqxDFMjdgKGMijqtqRw",
169+
"bookingId": 31
170+
}
171+
}
172+
```
173+
174+
**Example payload when unmarking an attendee as no-show:**
175+
176+
```json
177+
{
178+
"triggerEvent": "BOOKING_NO_SHOW_UPDATED",
179+
"createdAt": "2025-12-01T12:38:31.663Z",
180+
"payload": {
181+
"message": "[email protected] unmarked as no-show",
182+
"attendees": [
183+
{
184+
"email": "[email protected]",
185+
"noShow": false
186+
}
187+
],
188+
"bookingUid": "5vQFqxDFMjdgKGMijqtqRw",
189+
"bookingId": 31
190+
}
191+
}
192+
```
193+
194+
### Cal Video No-Show Detection webhooks
195+
196+
These webhooks are triggered **automatically** when hosts or guests don't join a Cal Video meeting within the configured time after the booking starts. Unlike `BOOKING_NO_SHOW_UPDATED` which requires manual action, these are detected automatically by checking Cal Video participant data.
197+
198+
<Note>
199+
These webhooks only work for bookings that use Cal Video as the meeting location.
200+
</Note>
201+
202+
**Example payload when host didn't join (`AFTER_HOSTS_CAL_VIDEO_NO_SHOW`):**
203+
204+
```json
205+
{
206+
"triggerEvent": "AFTER_HOSTS_CAL_VIDEO_NO_SHOW",
207+
"createdAt": "2025-12-01T15:23:30.320Z",
208+
"payload": {
209+
"title": "30min between Owner 1 and test",
210+
"bookingId": 32,
211+
"bookingUid": "qVyXscm1ryg2QoQ4K8uHLW",
212+
"startTime": "2025-12-02T04:00:00.000Z",
213+
"attendees": [
214+
{
215+
"id": 32,
216+
"email": "[email protected]",
217+
"name": "test",
218+
"timeZone": "Asia/Kolkata",
219+
"phoneNumber": null,
220+
"locale": "en",
221+
"bookingId": 32,
222+
"noShow": false
223+
}
224+
],
225+
"endTime": "2025-12-02T04:30:00.000Z",
226+
"participants": [],
227+
"hostEmail": "[email protected]",
228+
"eventType": {
229+
"id": 50,
230+
"teamId": null,
231+
"parentId": null,
232+
"calVideoSettings": null
233+
},
234+
"webhook": {
235+
"id": "2bdfc20b-aa4a-4863-a499-932cb1d4e69a",
236+
"subscriberUrl": "https://webhook.site/example",
237+
"appId": null,
238+
"time": 5,
239+
"timeUnit": "MINUTE",
240+
"eventTriggers": [
241+
"AFTER_HOSTS_CAL_VIDEO_NO_SHOW",
242+
"AFTER_GUESTS_CAL_VIDEO_NO_SHOW"
243+
],
244+
"payloadTemplate": null
245+
},
246+
"message": "Host with email [email protected] didn't join the call or didn't join before 2025-12-02 04:05:00 +00:00"
247+
}
248+
}
249+
```
250+
251+
**Example payload when guest didn't join (`AFTER_GUESTS_CAL_VIDEO_NO_SHOW`):**
252+
253+
```json
254+
{
255+
"triggerEvent": "AFTER_GUESTS_CAL_VIDEO_NO_SHOW",
256+
"createdAt": "2025-12-01T15:23:30.323Z",
257+
"payload": {
258+
"title": "30min between Owner 1 and test",
259+
"bookingId": 32,
260+
"bookingUid": "qVyXscm1ryg2QoQ4K8uHLW",
261+
"startTime": "2025-12-02T04:00:00.000Z",
262+
"attendees": [
263+
{
264+
"id": 32,
265+
"email": "[email protected]",
266+
"name": "test",
267+
"timeZone": "Asia/Kolkata",
268+
"phoneNumber": null,
269+
"locale": "en",
270+
"bookingId": 32,
271+
"noShow": false
272+
}
273+
],
274+
"endTime": "2025-12-02T04:30:00.000Z",
275+
"participants": [],
276+
"eventType": {
277+
"id": 50,
278+
"teamId": null,
279+
"parentId": null,
280+
"calVideoSettings": null
281+
},
282+
"webhook": {
283+
"id": "2bdfc20b-aa4a-4863-a499-932cb1d4e69a",
284+
"subscriberUrl": "https://webhook.site/example",
285+
"appId": null,
286+
"time": 5,
287+
"timeUnit": "MINUTE",
288+
"eventTriggers": [
289+
"AFTER_HOSTS_CAL_VIDEO_NO_SHOW",
290+
"AFTER_GUESTS_CAL_VIDEO_NO_SHOW"
291+
],
292+
"payloadTemplate": null
293+
},
294+
"message": "Guest didn't join the call or didn't join before 2025-12-02 04:05:00 +00:00"
295+
}
296+
}
297+
```
298+
147299
### Verifying the authenticity of the received payload
148300
<Steps>
149301
<Step title="Add a new secret key to your webhook">
@@ -182,7 +334,7 @@ where `{{type}}` represents the event type slug and `{{title}}` represents the t
182334

183335
| Variable | Type | Description |
184336
|--------------------|--------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------|
185-
| triggerEvent | String | The name of the trigger event [BOOKING_CREATED, BOOKING_RESCHEDULED, BOOKING_CANCELLED, MEETING_ENDED, BOOKING_REJECTED, BOOKING_REQUESTED, BOOKING_PAYMENT_INITIATED, BOOKING_PAID, MEETING_STARTED, RECORDING_READY, FORM_SUBMITTED] |
337+
| triggerEvent | String | The name of the trigger event [BOOKING_CREATED, BOOKING_RESCHEDULED, BOOKING_CANCELLED, MEETING_ENDED, BOOKING_REJECTED, BOOKING_REQUESTED, BOOKING_PAYMENT_INITIATED, BOOKING_PAID, MEETING_STARTED, RECORDING_READY, FORM_SUBMITTED, BOOKING_NO_SHOW_UPDATED, AFTER_HOSTS_CAL_VIDEO_NO_SHOW, AFTER_GUESTS_CAL_VIDEO_NO_SHOW] |
186338
| createdAt | Datetime | The time of the webhook |
187339
| type | String | The event type slug |
188340
| title | String | The event type name |

0 commit comments

Comments
 (0)