Scheduling Triggers

Required plan: Emerging

The first Scheduling Trigger available is provided as part of the Real Time Scheduling service. This services enables you to generate one-time use booking links hosted by Cronofy. Allowing you to deliver self serve scheduling quickly an easily.

Whilst these links automatically generate the events in the appropriate calendars, there are often other updates that need to happen. For example:

  • Updating an Applicant Tracking System with details of the interview time chosen by a candidate.
  • Sending a booking confirmation to a customer.
  • Send a pre-booking survey.

Provide the callback_url when generating the real time scheduling link:

{
  ...
  "event": {
    "event_id": "qTtZdczOccgaPncGJaCiLg",
    "summary": "Product Manager Interview at Globex",
  },
  "availability": {
    "participants": [{
      "members": [{
        "sub": "acc_567236000909002",
        "calendar_ids": ["cal_n23kjnwrw2_jsdfjksn234"]
      }],
      "required": "all"
    }],
    "required_duration": { "minutes": 60 },
    "query_periods": [{
      "start": "2017-07-17T09:00:00Z",
      "end": "2017-07-17T18:00:00Z"
    }]
  },
  "target_calendars": [{
    "sub": "acc_567236000909002",
    "calendar_id": "cal_n23kjnwrw2_jsdfjksn234"
  }],
  "callback_url": "http://www.example.com/callback",
  ...
}

and Cronofy will POST the booking details back to your end-point.

POST {CALLBACK_URL_PATH} HTTP/1.1
Host: {CALLBACK_URL_HOST}
Content-Type: application/json; charset=utf-8
Cronofy-HMAC-SHA256: {Base64(HmacSHA256(body_bytes, CLIENT_SECRET))}

{
  "event": {
    "event_id": "qTtZdczOccgaPncGJaCiLg",
    "start": {
      "time": "2021-07-27T10:00:00Z",
      "tzid": "Europe/London"
    },
    "end": {
      "time": "2021-07-27T11:00:00Z",
      "tzid": "Europe/London"
    },
    "summary": "Product Manager Interview at Globex"
  },
  "participants": [
    { "sub": "acc_567236000909002" }
  ],
  "user": {
    "tzid": "Europe/Paris"
  }
}

Allowing you to trigger the appropriate workflow operations in your application.

More in the Real Time Scheduling API reference.