docs: add automatic no show updated docs (#25507)
This commit is contained in:
@@ -34,6 +34,9 @@ To create a new webhook subscription, visit `/settings/developer/webhooks` and p
|
||||
- `Form Submitted`
|
||||
- `Meeting Ended`
|
||||
- `Instant Meeting Created`
|
||||
- `Booking No-show Updated`
|
||||
- `After Hosts Didn't Join Cal Video`
|
||||
- `After Guests Didn't Join Cal Video`
|
||||
</Step>
|
||||
<Step title="Secret">
|
||||
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
|
||||
|
||||
```
|
||||
|
||||
### Booking No-show Updated webhook payload
|
||||
|
||||
This webhook is triggered when an attendee is manually marked or unmarked as no-show on the `/bookings/past` page.
|
||||
|
||||
**Example payload when marking an attendee as no-show:**
|
||||
|
||||
```json
|
||||
{
|
||||
"triggerEvent": "BOOKING_NO_SHOW_UPDATED",
|
||||
"createdAt": "2025-12-01T12:34:34.774Z",
|
||||
"payload": {
|
||||
"message": "test@example.com marked as no-show",
|
||||
"attendees": [
|
||||
{
|
||||
"email": "test@example.com",
|
||||
"noShow": true
|
||||
}
|
||||
],
|
||||
"bookingUid": "5vQFqxDFMjdgKGMijqtqRw",
|
||||
"bookingId": 31
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
**Example payload when unmarking an attendee as no-show:**
|
||||
|
||||
```json
|
||||
{
|
||||
"triggerEvent": "BOOKING_NO_SHOW_UPDATED",
|
||||
"createdAt": "2025-12-01T12:38:31.663Z",
|
||||
"payload": {
|
||||
"message": "test@example.com unmarked as no-show",
|
||||
"attendees": [
|
||||
{
|
||||
"email": "test@example.com",
|
||||
"noShow": false
|
||||
}
|
||||
],
|
||||
"bookingUid": "5vQFqxDFMjdgKGMijqtqRw",
|
||||
"bookingId": 31
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### Cal Video No-Show Detection webhooks
|
||||
|
||||
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.
|
||||
|
||||
<Note>
|
||||
These webhooks only work for bookings that use Cal Video as the meeting location.
|
||||
</Note>
|
||||
|
||||
**Example payload when host didn't join (`AFTER_HOSTS_CAL_VIDEO_NO_SHOW`):**
|
||||
|
||||
```json
|
||||
{
|
||||
"triggerEvent": "AFTER_HOSTS_CAL_VIDEO_NO_SHOW",
|
||||
"createdAt": "2025-12-01T15:23:30.320Z",
|
||||
"payload": {
|
||||
"title": "30min between Owner 1 and test",
|
||||
"bookingId": 32,
|
||||
"bookingUid": "qVyXscm1ryg2QoQ4K8uHLW",
|
||||
"startTime": "2025-12-02T04:00:00.000Z",
|
||||
"attendees": [
|
||||
{
|
||||
"id": 32,
|
||||
"email": "test@example.com",
|
||||
"name": "test",
|
||||
"timeZone": "Asia/Kolkata",
|
||||
"phoneNumber": null,
|
||||
"locale": "en",
|
||||
"bookingId": 32,
|
||||
"noShow": false
|
||||
}
|
||||
],
|
||||
"endTime": "2025-12-02T04:30:00.000Z",
|
||||
"participants": [],
|
||||
"hostEmail": "owner1-dunder@example.com",
|
||||
"eventType": {
|
||||
"id": 50,
|
||||
"teamId": null,
|
||||
"parentId": null,
|
||||
"calVideoSettings": null
|
||||
},
|
||||
"webhook": {
|
||||
"id": "2bdfc20b-aa4a-4863-a499-932cb1d4e69a",
|
||||
"subscriberUrl": "https://webhook.site/example",
|
||||
"appId": null,
|
||||
"time": 5,
|
||||
"timeUnit": "MINUTE",
|
||||
"eventTriggers": [
|
||||
"AFTER_HOSTS_CAL_VIDEO_NO_SHOW",
|
||||
"AFTER_GUESTS_CAL_VIDEO_NO_SHOW"
|
||||
],
|
||||
"payloadTemplate": null
|
||||
},
|
||||
"message": "Host with email owner1-dunder@example.com didn't join the call or didn't join before 2025-12-02 04:05:00 +00:00"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
**Example payload when guest didn't join (`AFTER_GUESTS_CAL_VIDEO_NO_SHOW`):**
|
||||
|
||||
```json
|
||||
{
|
||||
"triggerEvent": "AFTER_GUESTS_CAL_VIDEO_NO_SHOW",
|
||||
"createdAt": "2025-12-01T15:23:30.323Z",
|
||||
"payload": {
|
||||
"title": "30min between Owner 1 and test",
|
||||
"bookingId": 32,
|
||||
"bookingUid": "qVyXscm1ryg2QoQ4K8uHLW",
|
||||
"startTime": "2025-12-02T04:00:00.000Z",
|
||||
"attendees": [
|
||||
{
|
||||
"id": 32,
|
||||
"email": "test@example.com",
|
||||
"name": "test",
|
||||
"timeZone": "Asia/Kolkata",
|
||||
"phoneNumber": null,
|
||||
"locale": "en",
|
||||
"bookingId": 32,
|
||||
"noShow": false
|
||||
}
|
||||
],
|
||||
"endTime": "2025-12-02T04:30:00.000Z",
|
||||
"participants": [],
|
||||
"eventType": {
|
||||
"id": 50,
|
||||
"teamId": null,
|
||||
"parentId": null,
|
||||
"calVideoSettings": null
|
||||
},
|
||||
"webhook": {
|
||||
"id": "2bdfc20b-aa4a-4863-a499-932cb1d4e69a",
|
||||
"subscriberUrl": "https://webhook.site/example",
|
||||
"appId": null,
|
||||
"time": 5,
|
||||
"timeUnit": "MINUTE",
|
||||
"eventTriggers": [
|
||||
"AFTER_HOSTS_CAL_VIDEO_NO_SHOW",
|
||||
"AFTER_GUESTS_CAL_VIDEO_NO_SHOW"
|
||||
],
|
||||
"payloadTemplate": null
|
||||
},
|
||||
"message": "Guest didn't join the call or didn't join before 2025-12-02 04:05:00 +00:00"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### Verifying the authenticity of the received payload
|
||||
<Steps>
|
||||
<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
|
||||
|
||||
| Variable | Type | Description |
|
||||
|--------------------|--------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
||||
| 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] |
|
||||
| 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] |
|
||||
| createdAt | Datetime | The time of the webhook |
|
||||
| type | String | The event type slug |
|
||||
| title | String | The event type name |
|
||||
|
||||
Reference in New Issue
Block a user