Receiving updates BETA
Receiving updates to your servers #
You can set a URL to receive webhook Push Notifications to in the Cronofy Developer Dashboard where the Embed Secret was set earlier:
- Go to the “Credentials” section of your application settings
- Add the URL in the “Embed webhook callback URL” field and press “Save webhook URL”
This will begin sending Push Notifications for any of your Scheduling Requests to the given URL. You can disable these Push Notifications by updating the field to an empty value.
All push notifications sent from Cronofy include a HMAC header described in the Push Notifications section. This header can be used to verify the notification was sent by Cronofy and has not been tampered with.
Push notification example #
{
"notification": {
"type": "scheduling_request_time_chosen",
"triggered_at": "2025-01-19T16:14:11Z"
},
"scheduling_request": {
"scheduling_request_id":"srq_80f7fece4f37897d62d86d80",
"slot_selection": "complete",
"primary_select_url": "https://app.cronofy.com/rts/LOiwlKXQ",
"dashboard_url": "https://app.cronofy.com/scheduler/80f7fece4f37897d62d86d80",
"recipient_operations": {
"view_url": "https://app.cronofy.com/rts/LOiwlKXQ",
"reschedule_url": "https://app.cronofy.com/rts/LOiwlKXQ?reschedule=true",
"decline_url": "https://app.cronofy.com/rts/LOiwlKXQ?decline=true"
},
"summary": "Product Manager Interview at Globex",
"duration": { "minutes": 30 },
"recipients": [
{
"email":"eb@example.com",
"display_name":"Dr Emmet Brown",
"select_url":"https://app.cronofy.com/rts/1234abc",
"slot_selector": true
}
],
"event": {
"summary":"Product Manager Interview at Globex",
"metadata": {
"scheduler": {
"correlation_id": "foobar",
"utm_medium": "email",
"utm_source": "automated_email_workflow",
"utm_campaign": "candidate_interview_offer_email",
"captured_data.phone_number": "0118999881999119725 3",
"captured_data.notes": "No dietary requirements."
}
}
}
}
}
The notifications types are:
scheduling_request_time_chosen
- When an initial time slot is selected via the linkscheduling_request_rescheduled
- When a Request is rescheduled by the recipient via the linkscheduling_request_cancelled
- When a Request is cancelledscheduling_request_declined
- When a Request is declined by the recipientscheduling_request_host_declined
- When a Request is declined by the hostscheduling_request_event_edited
- When a Request event is edited through the dashboardscheduling_request_recipient_unavailable
- When the recipient clicks the “I can’t do any of those days” button on the slot selection page, indicating they aren’t available for any of the offered times.scheduling_request_more_times_requested
- When no availability can be found for this request and the recipient presses the “Request more times” button to ask the host to make more times available.
notification.triggered_at
is the timestamp of when the Push Notification was triggered. If Cronofy receives a HTTP error status when trying to send your application a Push Notification, it will backoff and retry. Failed notifications will be retried for several hours, so this timestamp can be used to establish notifications which have been superseded already.
The schema of scheduling_request
can be found in Scheduling Request query documentation.