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:

  1. Go to the “Credentials” section of your application settings
  2. 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 link
  • scheduling_request_rescheduled - When a Request is rescheduled by the recipient via the link
  • scheduling_request_cancelled - When a Request is cancelled
  • scheduling_request_declined - When a Request is declined by the recipient
  • scheduling_request_host_declined - When a Request is declined by the host
  • scheduling_request_event_edited - When a Request event is edited through the dashboard
  • scheduling_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.