Skip to main content
If a provider’s real commitments live in Google, Outlook or a therapy network, ClinikEHR needs to know about them — otherwise your booking page happily offers a slot that is already gone. Connecting a calendar brings those events into ClinikEHR so availability is calculated against them.

Two ways in, and they are not the same

The tab has two sections, and picking the right one saves a lot of confusion. A subscription is read-only in the strictest sense: ClinikEHR reads those calendars and never writes back to them. Nothing you do in ClinikEHR appears on the subscribed calendar.

Subscribe to a calendar

1

Get the secret .ics link from your calendar

The tab’s How to connect a calendar panel gives the path for each provider. In short: Google — Settings → your calendar → “Integrate calendar” → the Secret address in iCal format. Outlook / Microsoft 365 — Settings → Calendar → Shared calendars → Publish a calendar → the ICS link. Apple iCloud — make the calendar public and copy the shared link. Headway, Alma, Rula and Grow Therapy — enable calendar export in your account settings and copy the personal iCal feed URL.
2

Select Add calendar

A sheet opens with a Calendar URL field.
3

Paste the link and select Test connection

You get a preview before you commit anything: the calendar’s name, how many upcoming events it holds, a sample of them, how many are recurring series, and how many all-day events will be skipped. If the preview is empty or wrong, you have the wrong link.
4

Name it and assign it

Give it a Display name you will recognise in a list. Assign to staff is optional but is what ties the calendar to a person’s availability. Set the Default venue to In person or Online.
5

Choose a Sync frequency

From Every 15 minutes through Hourly to Daily. Pick against how often that calendar actually changes — see the honest note below.
6

Select Connect & import

The first sync runs immediately and reports what it found: so many new, so many updated, so many cancelled.

Connect a Google or Outlook account

Under Connected Accounts, select Google or Outlook and sign in. Each person links their own account — you cannot connect a colleague’s calendar for them, and trying produces “That calendar can only be connected by its own staff member.”
This tab lives inside Settings, which only an owner, manager or accountant can open. A provider who is none of those has a second door to the exact same connection: Profile and Settings → Calendars, on their own personal account, reachable regardless of what a workspace’s navigation shows them. See Your calendar connections. Failing that, an owner or manager can add a read-only subscription to that provider’s .ics feed instead and assign it to them.
Once connected, choose which of that account’s calendars to sync. The row shows Connected with a count of calendars syncing, and gives you Sync now and a way to disconnect. If the badge turns to Reconnect, the permission has lapsed at the provider’s end — sign in again from that row. An owner or manager can also set a clinic-wide policy for how much patient identity appears on synced calendars, on the same tab. Set that before you connect anyone.

What a synced event actually does

This is the part people expect to work differently than it does.
  • A synced event blocks a slot. It does not become a ClinikEHR appointment. There is no patient, no service and no invoice behind it. It is a hole in the diary.
  • Whether it blocks at all is a per-calendar switch. Each row toggles between Blocks booking and Info only. On Blocks booking (where a new calendar starts), events prevent that provider being booked — online, in the portal and from the appointment book. On Info only they are visible but do not protect anything. Get this wrong and you either double-book or block a day for no reason.
  • All-day events are skipped, and the preview tells you how many will be. An all-day “Conference” does not close the day; block the day in Booking Settings instead.

Out of Office and your connected calendar

Out of Office and a connected Google or Outlook account work together, in both directions.
  • Out of Office you add in ClinikEHR appears on your calendar. Each person it covers who has a connected account set to receive clinic appointments gets a busy entry titled Out of office — marked as out of office where Google or Outlook supports it. It carries the time only: never the memo or the reason. A repeating Out of Office appears as one entry per occurrence. Changing or deleting it in ClinikEHR changes or removes the entry.
  • Out of office you set in Google or Outlook comes into ClinikEHR. A Google out-of-office entry, or an Outlook entry shown as Out of office, becomes an Out of Office for you on the clinic calendar and stops clients booking you at that time. It does nothing else: it never cancels appointments, emails anyone, pauses reminders or changes client messaging. It follows your calendar — change or delete it there and ClinikEHR follows at the next sync. To apply your clinic’s full Out of Office settings to it, open it on the calendar and select Adopt. An adopted Out of Office still follows your calendar’s times and is never copied back to it.
  • Your calendar is not flooded while you are away. While you are out of office, changes to your appointments are not copied to your connected calendar straight away. Once you are back they are brought up to date in one go, with each appointment in its final state — an appointment booked and cancelled while you were away never appears at all.
  • Ordinary busy time still protects your diary, exactly as before: a timed event on a calendar set to Blocks booking stops you being booked, and an Info only calendar does not.

Sync is on a schedule, not instant

Set expectations with your team here. A calendar is fetched on the frequency you chose — as often as every 15 minutes, as rarely as daily — so an event added elsewhere five minutes ago is very likely not in ClinikEHR yet. Each row shows when it last synced and how often it runs, and Sync now pulls immediately when you need certainty before booking someone in. If a feed fails repeatedly it is paused automatically, and the tab shows an amber banner saying so. Check the URL, then re-enable it.
Treat a secret .ics link like a password. Anyone holding it can read that calendar. Only owners can reveal a stored URL on this tab, and it is masked for everyone else.

Check it worked

  • The feed row shows a Synced time and its interval.
  • An event you know about appears on the clinic calendar at the right time.
  • That provider’s slots for that period are no longer offered on your booking page — check it signed out, as a patient would.
  • The row shows Blocks booking, not Info only, if you meant it to protect the diary.

If something goes wrong

You almost certainly copied the calendar’s public web link rather than its secret .ics address. Go back to the provider and take the iCal / ICS link specifically. If it starts webcal://, change that to https://.
The feed is set to Info only. Select the badge on the row to switch it to Blocks booking. Also check the feed is assigned to the right staff member — an unassigned feed has no one’s diary to protect.
Sync runs on the interval you chose. Select Sync now on that row for an immediate pull, and shorten the interval if it matters routinely.
Repeated sync errors pause a feed rather than retrying forever. The usual cause is a link that was regenerated or revoked at the provider. Get a fresh link, edit the feed, then re-enable it.
All-day events are skipped on purpose — they are usually labels, not commitments. Block the day in your booking availability instead.
Each staff member connects their own. Ask them to open the tab and connect it themselves.
A subscription is one-way — ClinikEHR reads it and never writes to it. If you want your ClinikEHR appointments to appear in Google or Outlook, use Connected Accounts instead, which syncs both ways.

Appointments

Booking, rescheduling and the clinic calendar.

Your booking page

The public page whose availability these calendars protect.

Your calendar connections

The same connection, reachable from your personal account instead of Clinic Settings.