How indi works with Cliniko
A read-only bridge from a Cliniko clinic into a family's shared care timeline
For allied health clinics on Cliniko, indi is the space between appointments: where parents log observations, home strategies land, and the whole care team stays on the same page. This page explains what the Cliniko integration does, what it doesn't do, how to connect and verify it, and how to disconnect.
The integration in one screen
One-way. Data flows from Cliniko into indi. indi never writes back to a Cliniko account.
A Cliniko API key the clinic generates and pastes into indi. No OAuth, no password sharing. indi detects the region from the key automatically.
Clinician-reviewed notes. No treatment note reaches a family's timeline until a clinician has chosen to import it. Appointments sync automatically so calendars stay current.
What syncs from Cliniko into indi
Practitioners
Active Cliniko practitioners are read so a clinician can be picked as note author or client owner in indi.
Emails come from Cliniko's users endpoint so practitioners can be matched to existing indi accounts.
Clients
Cliniko patient records can be imported as children in indi: name, date of birth, contact details, and, where the clinic records them, gender, pronouns, and Medicare number.
If a child already exists in indi, the clinician links the two records instead of creating a duplicate.
Appointments
Appointments sync automatically in the background, so schedules in indi stay current with no clinician action needed. The window is rolling: the past week and the next 90 days, picked up within about fifteen minutes of a change in Cliniko.
For clients linked to a child in indi, appointments appear on the family's calendar. A booking more than 90 days out appears once it moves into the window.
Treatment notes
Notes are listed in indi with a preview, template name, author, and date. Nothing reaches the family until a clinician marks a note for import.
Only imported notes reach the timeline.
Note templates
The clinic decides which Cliniko note templates indi may import from, and can narrow each one to just the fields a family should see. Anything left unselected stays in Cliniko.
Imported notes carry the name of the template they were written against.
What families see
When a clinician imports a treatment note, it appears on the child's indi timeline as an observation card, showing the note's template name, the content, and the date it was authored. It slots in alongside parent-logged observations, school updates, and other care-team contributions, giving the family one continuous story.
Appointments for a linked client also appear on the family's calendar in indi, kept current automatically as the clinic's schedule changes. The calendar covers the past week and the next 90 days, so a booking made further ahead appears once it comes into range.
Families do not see draft notes, the pending-import list, or any of Cliniko's internal identifiers. A note that hasn't been imported stays clinic-side.
How to connect Cliniko
Only a clinic owner or organisation admin can configure the integration. One API key covers the whole organisation.
Open Account Settings → Integrations in indi
In the indi clinic dashboard, go to Account Settings and open the Integrations tab. Pick Cliniko.
Generate an API key in Cliniko
Log in to Cliniko, click your name in the bottom left corner and go to "My info". Scroll to the API keys section, set the "Allow yourself to create and use API keys" toggle to Yes, then press "Update user" at the bottom of the page and confirm with your Cliniko password or passkey. "Manage API keys" only appears once that save goes through. Click it, then "+ Add an API key", name the key and click "Create API key". Cliniko API keys inherit the permissions of the user who generates them, so generating the key from a Cliniko admin account ensures indi can read practitioner and patient data. Copy the key straight away: Cliniko shows it once, and after you click Done it can't be shown again.
Paste the key into indi
Paste the full key (including the region suffix, e.g. -au1) into indi and save. indi detects the Cliniko region from the suffix, tests the connection, and stores the key encrypted at rest.
Choose which note templates to import from
Still on the Integrations tab, under Cliniko, click Configure templates. indi lists the treatment note templates in the Cliniko account; tick the ones families should see notes from, and optionally expand a template to pick just the fields to import. Save when done. This step is required: until at least one template is selected, there is nothing for indi to import.
Import clients and review notes
From the Clients page, import Cliniko patients into indi (or link them to children who are already there). On each client's Import History tab, review new treatment notes and mark the ones the family should see. Selected notes land on the child's timeline.
Verify it's working
Confirm the Integrations tab shows Cliniko as Connected. Import one Cliniko patient and check the client appears on the Clients page. Import one note and confirm it shows on that child's timeline as an observation.
How to disconnect
There are two ways to end the connection, and a clinic can use either.
From Cliniko
In Cliniko, open My info → Manage API keys and click Archive next to the key issued to indi. The key stops working immediately, so every call indi makes with it is rejected and nothing more can be read. Remove the connection in indi too, so the Integrations tab reflects it.
From indi
In indi, go to Account Settings → Integrations, open Cliniko, and remove the connection. The key is deleted from indi's storage and no further reads are made.
Either way, no further data can be read from the Cliniko account. Clients and notes already imported into indi stay attached to each child's care record and follow indi's normal retention and deletion policies.
Security and data handling
- The Cliniko API key is encrypted at rest. Only masked previews are shown in indi's admin screens.
- Only clinic owners and organisation admins can configure or remove the integration. Row-level security keeps client and note data scoped to the clinic that owns it.
- Treatment notes are fetched only when a clinician opens or refreshes a client's Cliniko view. Appointments refresh automatically in the background to keep calendars current.
- A key archived in Cliniko stops working immediately. indi cannot read anything with a revoked key.
- Notes already imported into indi stay part of the child's care record and follow indi's own data-retention and deletion policies.
What the integration does not do
Being explicit here matters: this is the boundary of the integration today.
- indi does not write to Cliniko. No appointments, notes, or client edits are pushed back.
- Cliniko does not send webhooks to indi. indi only ever reads from Cliniko's standard API.
- There is no OAuth flow. The connection is via an API key the clinic generates and can revoke at any time.
- Families never see raw Cliniko metadata, and there is no Cliniko branding in the parent experience.
Common issues
"Invalid API key" when connecting
The key was mistyped, missing the region suffix, or belongs to a different Cliniko account. Cliniko only shows a key once, so if it wasn't copied at the time, create a fresh one (My info → Manage API keys → + Add an API key → Create API key), copy the full string including the -auN / -usN / -ukN suffix, and paste it into indi.
Connected but no notes appearing on the timeline
Imported notes are the only ones families see. First check that note templates have been selected in Account Settings → Integrations → Cliniko; with none selected there is nothing for indi to import. Then open the client in indi and go to the Import History tab. If notes are listed but not imported, mark them for import. If the list is empty, click refresh to fetch the latest from Cliniko.
Practitioners or clients look wrong after connecting
The region suffix on a Cliniko API key (e.g. -au1, -us1) determines which Cliniko account indi reads from. If the data doesn't match the expected clinic, the key was likely generated in a different Cliniko account. Regenerate a key in the correct account and paste that one in indi's Integrations tab.
Practitioner missing from the picker
indi filters out Cliniko practitioners who don't have an email address on their Cliniko user record, because an email is needed to match them to an indi clinician. Add the practitioner's email in Cliniko, then refresh in indi.
Reads have stopped after a key change in Cliniko
If the API key was archived in Cliniko, or its Cliniko user's permissions were reduced, indi's reads will start failing. Create a new key from an admin Cliniko account and paste it into indi's Integrations tab; reads resume from that point.
Frequently Asked Questions
Cliniko is a registered trademark of Red Guava Pty Ltd. indi is an independent product and is not affiliated with, endorsed by, or a partner of Cliniko unless stated otherwise.