Cliniko Integration Setup Guide
TL;DR - Quick Setup
You need a Cliniko API key from a dedicated Scheduler user (recommended for security). Required Settings in Cliniko:- API User - Create a dedicated “Intavia Integration” user with Scheduler role
- Online bookings (global) - Turn on online bookings and enable “Allow your patients to book appointments online”
- Business - Enable “Show in Online Bookings”
- Practitioner(s) - Enable “Show in Online Bookings”
- Appointment Type(s) - Enable “Show in Online Bookings”
- Daily Availabilities - Configure working hours for each practitioner
- Assign Practitioners to Appointment Types - Link which practitioners provide which services (Step 9 below)
- Create a Scheduler user for Intavia (see Step 1 below)
- Enable API key creation for that user
- Log in as the Intavia user and generate an API key
- Copy the full API key (includes region suffix like
-au1or-eu1) - In Cliniko: Turn on online bookings globally (Settings → Appointments → Online bookings)
- In Cliniko: Enable online bookings for Business, Practitioners, and Appointment Types
- Intavia → Integrations → Cliniko → Paste API key → Connect
Why These Settings Matter
Cliniko availability and booking only work reliably when all of these conditions are met:- Online bookings are enabled globally (Settings → Appointments → Online bookings)
- Business has online bookings enabled
- Practitioner has online bookings enabled
- Appointment type has online bookings enabled
- Practitioner has daily availabilities configured
- Appointment type is assigned to the practitioner (this is separate from “Show in Online Bookings”)
Voice Agent Behavior (Important)
- Practitioner is required for availability and booking. Cliniko does not support “any practitioner” pooled availability in our integration, so the agent must confirm a specific practitioner before it can check times.
- Only “Show in Online Bookings” items are used. If a practitioner or appointment type isn’t marked “Show in Online Bookings” in Cliniko, it won’t be offered by the agent.
Step-by-Step Instructions
1. Create a Scheduler User for Intavia
We recommend creating a dedicated user with the Scheduler role for Intavia. This provides the minimum permissions needed to manage appointments while protecting sensitive patient data.- Go to Settings → Users & practitioners
- Click + Add user
- Fill in the user details:
- First name:
Intavia - Last name:
Integration - Email: Use a shared/service email your team controls
- First name:
- Under Security role, select Scheduler
- Click Create user
Why Scheduler? The Scheduler role can book, modify, and cancel appointments, view basic patient details, and send SMS messages — but cannot access financials, treatment notes, or completed patient forms. This follows the principle of least privilege. See User security roles for details on what each role can access.
2. Enable API Key Creation for the User
By default, Scheduler users cannot create API keys. An Administrator must grant this permission:- As an Administrator, go to Settings → Users & practitioners
- Click on the Intavia Integration user you just created
- Scroll down to find “Intavia Integration cannot create or use API keys”
- Toggle “Allow Intavia to create and use API keys” to Yes
- Click Update user
3. Generate the API Key
Now log in as the Intavia Integration user to create the API key:- Log into Cliniko as the Intavia Integration user (check email for login invitation)
- Click your name in the bottom-left corner → My info
- Scroll to “You have 0 API keys” and click Manage API keys
- Click Create new API key
- Name it
Intavia Integration - Copy the API key immediately — it won’t be shown again
Important: The API key includes a region suffix (e.g.,-au1,-eu1,-uk1). Copy the entire key including this suffix — it tells Intavia which Cliniko data center your account is on.
4. Turn On Online Bookings (Global)
- Settings → Appointments → Online bookings
- Click Turn on online bookings
- Ensure Allow your patients to book appointments online is enabled ✅
- Save
5. Enable Online Bookings for Business
- Settings → Business information (under “Our clinic” section)
- You’ll see your business listed (e.g., “Intavia”)
- Click “Edit information” button
- Scroll down to find “Display this business in online bookings”
- Toggle it to On ✅
- Click “Update business” to save
6. Enable Online Bookings for Practitioners
- Settings → Users (left sidebar)
- Click on each practitioner name
- In the Online Bookings section, enable “Show in Online Bookings” ✅
- Save
7. Enable Online Bookings for Appointment Types
- Settings → Appointment Types (left sidebar)
- Click on each appointment type
- Enable “Show in Online Bookings” ✅
- Save
8. Configure Daily Availabilities
- Go to Appointments (calendar view)
- Click Availability in the left sidebar
- Click Adjust schedule
- For each practitioner:
- Set working hours for each day of the week
- Example: Monday-Friday, 9:00 AM - 5:00 PM
- Save
Important: Without daily availabilities, the API has no time slots to offer even if everything else is enabled.
9. Assign Appointment Types to Practitioners
Critical for Intavia: This step is often overlooked but is essential. Even if Cliniko’s built-in booking widget shows availability, Intavia requires explicit practitioner assignments to access availability via the API.
- Settings → Appointment Types
- Click on an appointment type
- Scroll to Practitioners section
- Check the practitioners who can provide this appointment type
- Save
- Repeat for all appointment types you want Intavia to offer
10. Connect in Intavia
- Intavia → Integrations → Cliniko → Connect
- Paste your API key (the full key including the
-regionsuffix) - Click Connect
What Can Intavia Access?
When using the recommended Scheduler role, Intavia can: ✅ Intavia CAN:- View businesses/locations
- View practitioners and their availability
- View appointment types
- Search for patients (basic details only)
- Create new patients
- Book, reschedule, and cancel appointments
- View patient appointments
- Send SMS messages to patients
- Access financial or billing data
- View treatment notes or completed patient forms
- Delete patients
- Modify practice settings
- View confidential patient details
This follows the principle of least privilege — Intavia only has access to what it needs to manage appointments. See Cliniko’s Scheduler role documentation for the complete permissions list.
Troubleshooting
”Invalid API key format” error
Your API key is missing the region suffix. Fix: The full key should end with something like-au1, -eu1, -uk1, -us1, or -ca1. Log in as the Intavia Integration user, go to My Info → Manage API keys, and copy the complete key including the suffix.
”Could not validate credentials” error
The API key is incorrect or has been revoked. Fix:- Log into Cliniko as the Intavia Integration user
- Go to My Info → Manage API keys
- Delete the old key
- Generate a new one named
Intavia Integration - Copy the entire key (including region suffix) and paste it in Intavia
Agent can’t find any availability
The agent reports no available times even though your Cliniko calendar shows openings. Most common cause: Appointment types are not assigned to practitioners. This is a separate setting from “Show in Online Bookings” and is often overlooked.Note: Cliniko’s built-in booking widget may show availability even without this step, but Intavia requires explicit assignments to access availability via the API.Fix (most likely):
- Go to Settings → Appointment Types
- Click on each appointment type you want Intavia to offer
- Scroll to the Practitioners section
- Check the boxes for practitioners who can provide this service
- Save
- Appointment type is assigned to the practitioner (most common issue!)
- Online bookings are enabled globally (Settings → Appointments → Online bookings)
- Business has “Show in Online Bookings” enabled
- Practitioner has “Show in Online Bookings” enabled
- Appointment type has “Show in Online Bookings” enabled
- Daily availabilities are configured for the practitioner
Only 1-2 slots showing per day (limited availability)
Cliniko has a setting that limits how many slots are shown per “day segment” (morning, afternoon, evening). Symptoms:- You expect full 9-5 availability but only see 1-2 slots per day
- Slots are spaced out (e.g., one at 9am, one at 12pm)
- Go to Settings → Appointments → Online bookings
- Find “Maximum available appointments per day segment”
- Change from
1or2toUnlimited(or a higher number like5) - Save
- Morning: Before 12:00 (midday)
- Afternoon: 12:00 - 17:00
- Evening: After 17:00
”Could not connect to Cliniko” error
Network issue or Cliniko is down. Fix: Wait a few minutes and try again. Check Cliniko Status for outages.Cliniko Regions
Your Cliniko URL tells you which region you’re on:| URL Pattern | Region Code |
|---|---|
*.au1.cliniko.com | Australia 1 |
*.au2.cliniko.com | Australia 2 |
*.uk1.cliniko.com | United Kingdom |
*.us1.cliniko.com | United States |
*.ca1.cliniko.com | Canada |
*.eu1.cliniko.com | Europe |
-eu1), so you don’t need to select it manually.
Security
- Use a dedicated Scheduler user — Don’t use an Administrator account for integrations
- Never share your API key publicly
References
- Cliniko API Documentation
- User Security Roles — What each role can access
- Add a User to Cliniko
- Generate a Cliniko API Key
- Cliniko Status Page
Last Updated: January 2026