Cronofy changelog
Cronofy changelog

Bulk Enterprise Connect authorization




Calendar authorization


A common pattern when using Enterprise Connect is requesting authorization for all known users or resources from the domain in quick succession.

Previously, this required an individual API request being made for each email address. For larger organizations this could mean reaching your rate limits when otherwise normal API traffic was far from reaching them.

We've now added the ability to request authorization to a collection of up to 50 email addresses in a single request. The rest of the Enterprise Connect authorization process is unchanged. This simply allows you to hand off the initial work of verifying, approving, and synchronizing your customers' schedules to Cronofy in a more efficient manner.

As part of this enhancement, we've also improved our guards against overwhelming downstream calendar services. We did this as the only foreseeable downside of accepting requests more quickly was that fulfilling them could overwhelm your customers' calendar hosting.

If you have any questions, or need any help, please get in touch via the Support Widget or via email to

Event Triggers







We have just released a new, powerful capability for driving application workflows through the Cronofy scheduling platform: Event Triggers.

Cronofy has long helped create events with the scheduling capabilities of our Availability Engine. Time and again we saw our customers building features such as pre-event reminders and post-event surveys around the scheduled times.

Tracking the times to trigger such workflows is not a trivial challenge, particularly when events can be moved or cancelled. This is solved by Event Triggers. By registering for callbacks relative to the start or end of the event when creating it, Cronofy will take care of the "when" allowing your integration to focus on the "what".

Event Triggers are available today on all API plans. We're excited to see what you build with them!

If you have any questions, or need any help, please get in touch via the Support Widget or via email to

API secret management







Today we have added the ability for Cronofy API applications to have multiple, active client secrets.

You can manage your client secrets in the Credentials section of your application, within the Cronofy developer dashboard.

Client secrets table

This gives people the ability to rotate secrets as they wish without any interruption or our involvement.

Your current secrets will remain valid indefinitely so you do not need to change anything.

Push notification authenticity alteration

The only externally visible change to the API relates to the Cronofy-HMAC-SHA256 header provided with every notification request sent by Cronofy to verify its authenticity. When multiple secrets are active, a HMAC value will be provided for each of them.

If you are verifying your notifications via this header, you should alter your code to account for multiple values being provided before generating any new secrets.

Details and examples of verifying this header are available in our documentation, and our core SDKs will soon be updated to add or extend helpers for this process.

If you have any questions, or need any help, please get in touch via the Support Widget or via email to

Canadian French support


Calendar authorization





Support for Canadian French fr-CA has been added to our UI Elements from v1.33.0, Real-Time Scheduling pages, and OAuth authorization flows.

Locales are detected automatically by default, and so this is already live for the pages we serve.

For those of you using UI Elements, check out the separate UI Elements changelog for any considerations when upgrading from your current version to get this support.

New date picker





We're putting a lot of work into improving our accessibility at Cronofy. You may have noticed some minor changes in how we're using color in recent times to this end.

A more noticeable change, and the first major milestone on our journey, is our new date picker which can be found helping you filter requests on your developer dashboard.

Date picker screenshot

It's built from the ground up with a primary focus on accessibility, it's a great step forward from the browser-native control we were using before.

We'll be taking what we've learned from this and applying it across our whole platform.

Bookable Events moved to beta









Bookable Events describe specific times that can be offered for scheduling. Along with having both time and duration then can also be used to track registrations for events and thus have an optional capacity to limit the number of registrations.

We've seen Bookable Events leveraged for use-cases from webinar booking to hiring assessment day management.

As part of this, Bookable Events Availability queries can now be used with our Slot Picker UI Element.

If you have any questions, or need any help, please get in touch via the Support Widget or via email to

Scheduler enhancements





We've made a few improvements to the Cronofy Scheduler over recent weeks.

Mark events as private

Out the box, the events created by the Scheduler match the default visibility of your calendar within your organization.

You can now choose for the events created by the Cronofy Scheduler to be explicitly marked as private for an extra layer of privacy.

Reminder emails

You can now opt-in to receive a reminder email before events organized via the Scheduler. These will only be sent to you as the organizer, you'll remain in complete control of the communication with your recipients.

You can choose to receive a reminder from between 5 and 60 minutes before an event is due to start.

Public links

As well as being able to send a personalized link to people, you can offer your availability to anyone via a Public Link.

All these new features can be managed via your Scheduler Preferences page.

If you have any questions, or need any help, please get in touch via the Support Widget or via email to

Developer Management





A much-requested feature has been allowing you to manage user access to your Applications in the Developer Dashboard. Well, it's here 🎉.

To do this we've introduced the concept of Organizational Units (OU) that you can invite people to. All of our existing users have been added to one of these based on their existing application access and billing relationships.

You'll see the ones you have access to in the left hand navigation. Each one is called 'xxxx Settings'.


At least one user, generally the creator of your primary Application, has been made the Owner of the OU. All other users have been given Developer or Support permissions according to what access they had in place.

Owners can change the permissions of existing users, including making them Owners as well. They can also invite new users to the OU with the set of permissions that they need.

We recommend that you log in and check what has been setup and confirm that it meets your requirements.

If you need any help with configuration, just let us know through the Support Widget or via email:

More in the Application Management section of our documentation.

Conference detail templates





Templating introduces the option to take control over the appearance of Conferencing details by adding templates into your event description and location description, which are rendered with the best available information.

This feature launches with two template variables:

  • {{ cronofy.conferencing.join_url }} which represents the join URL for your conference
  • {{ cronofy.conferencing.invite_block }} which represents the full dial-in details block generated by your conferencing provider.

Fallback values are used if conferencing details are not yet available. These values are localized using the new locale parameter and currently only support en (English).

An event can now be generated using this content:

  "event_id": "templating-001",
  "summary": "Board meeting",
  "description": "We'll be discussing the next set of milestones.\\n{{ cronofy.conferencing.invite_block }}",
  "location": {
    "description": "{{ cronofy.conferencing.join_url }}"
  "start": "2021-01-31T15:30:00Z",
  "end": "2021-01-31T17:00:00Z",
  "conferencing": {
    "profile_id": "default"
  "locale": "en"

This will be rendered into the calendar with the conferencing details, or if conferencing cannot be immediately generated (if, for example, the user's profile needs to be relinked) then they evaluate to "(Details to follow)", being updated when conferencing details are created.

You can find out more in our Templating documentation

Additional Enterprise Connect delegated authorization request errors


Calendar authorization



Enterprise Connect delegated authorization requests errors have been extended to report back on some additional, rare error cases.

Two additional cases are now reported:

  • When access has been granted but the initial calendar synchronization has been unable to complete, a callback will now fire to report a sync_failing error.
  • Requests which fail after multiple attempts are now reported with a request_expired error when they will no longer be retried.

Full details can be found in the Request User/Resource Access documentation.