Cliniko connector
Your Silux Chat bot verifies customers against Cliniko, then answers questions about their appointments and bookings and invoices from your live data.
Good to know: Bot shows appointment times/status only, never clinical notes.
What your bot can do with Cliniko
Appointments and bookings
Reads upcoming and recent appointments or reservations from Cliniko — date and time, service and status.
Customers ask: “When is my next appointment?” · “Is my booking confirmed?”
Recognise and verify customers
Finds the customer in Cliniko by the email address or mobile number they give, checks their name and one more detail, then sends a one-time code to the contact details Cliniko holds. Nothing personal is shared until the code is entered.
Customers ask: “I want to check my account — it’s Jane Smith, jane@example.com”
Invoices
Reads a verified customer’s invoices from Cliniko — number, date, amount and whether it is paid.
Customers ask: “Is my latest invoice paid?” · “How much was my last bill?”
Set it up
Most businesses finish in under ten minutes. You need to be able to sign in to Cliniko as an administrator to create the key.
Step 1 — in Cliniko
- 1Cliniko
- 2My Info
- 3Manage API keys
- 4Add an API key; the shard is the part after the last dash (e.g. uk1).
Least access: grant only the read permissions named above (customers, orders, invoices, bookings or tickets — whichever this connector uses). Never use an owner or full-admin key where Cliniko lets you create a restricted one.
Step 2 — in Silux Chat
- 1Open Dashboard → Integrations → Connectors and search for “Cliniko”.
- 2Fill in:
Field Example Stored Shard (the letters after the last dash of your API key) uk1 Setting API key •••••••• Encrypted - 3Press Connect & test. The platform makes a real, read-only call to Cliniko with a made-up customer and shows a tick or a cross for each capability, with Cliniko’s exact error if something is refused.
- 4If this is your first way of verifying customers it is switched on automatically; otherwise press Use to verify customers. The platform then runs its chained test (verify → code → account → orders → invoices) with the built-in test customer — no real person is contacted.
Cliniko identifies API users with a key-and-secret (or username-and-key) pair, sent with HTTP Basic authentication over HTTPS.
How customer verification works
- STEP 1
Customer asks
They ask about their own account. The bot asks for their full name and their email or mobile, plus one more detail such as their postcode.
- STEP 2
Found in Cliniko
The customer is looked up in Cliniko by email, then mobile. The surname must match exactly and the first name must match or start with the same letter, plus one more detail.
- STEP 3
Code sent
A 6-digit code goes to the mobile Cliniko holds (by text, when your plan has SMS) or otherwise to the email it holds. The chat never chooses where it goes.
- STEP 4
Verified
The customer types the code. It is valid for 10 minutes and five wrong attempts cancel it. The verified session lasts 30 minutes.
If the details don’t match, the customer is told only that they couldn’t be matched — never which detail was wrong. If Cliniko can’t be reached, the bot says it can’t check accounts right now rather than “no account found”. The bot is blocked in code from reading orders, invoices or bookings until verification succeeds. Full details: Customer identity verification & OTP.
What the bot can and cannot see
Can see (after verification)
- Record ID
- Name
- Email address
- Phone / mobile
- Postcode
- Start time
- End time
- Cancelled
- Did not arrive
- Invoice number
- Date
- Amount
- Status
Only these standard fields are mapped from Cliniko’s responses. Everything else in the response is discarded before the bot sees it.
Never sees
- clinical notes, treatment plans or medical history
- prescriptions and test results
- passwords, security answers or login details
- records belonging to anyone other than the verified customer
- anything outside the fields listed alongside
Security
Keys encrypted at rest
Credentials are stored encrypted, shown only masked after saving, and destroyed — not just hidden — when you disconnect.
Read-only look-ups
Every capability is a look-up. The connector cannot create, change or delete anything in Cliniko.
HTTPS only
Calls go to the vendor’s HTTPS address, redirects are not followed, and private network addresses are refused.
Injection-safe
Values a customer types are cleaned before they are placed in Cliniko’s search, and URL-encoded in addresses.
Other customers filtered out
A row that names a different customer’s email is dropped, whatever the vendor’s search returned.
Checked daily
Connections are re-tested every day, and the owner is emailed if a working connection starts failing.
More: Security & data protection.
Technical details
For developers and IT teams: the Cliniko endpoints this connector reads, relative to https://api.{shard}.cliniko.com/v1. Values in braces come from the settings you enter.
| Capability | Request | Standard fields returned |
|---|---|---|
| Recognise and verify customers | GET/patients | id, name, email, phone, postcode |
| Appointments and bookings | GET/individual_appointments | id, start, end, cancelled, did_not_arrive |
| Invoices | GET/invoices | invoice, date, amount, status |
Test level: Documented-API tested. Each capability is run automatically against Cliniko’s documented example responses and must produce the standard fields; your own connection is then tested with a real call when you connect. The bot receives these through the standard Account Connect endpoints, exactly as if you had built them yourself.
Troubleshooting
| What you see | Likely cause and fix |
|---|---|
| “the vendor refused the credentials (401)” or (403) | The key was revoked, has expired or was copied incompletely, or it lacks a read permission this connector needs. Create a fresh read-only key in Cliniko and reconnect. |
| “That Shard (the letters after the last dash of your API key) doesn’t look right” | Enter it in the form shown, e.g. uk1 — without https:// or a trailing slash. |
| Customers are “not matched” although they exist | Customers are looked up by email or mobile, not postcode. Check the customer’s email or mobile is saved on their Cliniko record, and that the surname matches. |
| A capability shows a cross but others work | That permission wasn’t granted in Cliniko, or your Cliniko plan doesn’t include that part of the API. Grant it and press Test. |
| “the vendor kept rate-limiting the request” | Cliniko returned “too many requests” three times in a row. The platform already waits and retries automatically (up to 10 seconds, as Cliniko asks); if it persists, ask Cliniko about your API quota. |
| Results are empty for a verified customer | The records exist under a different email or customer record in Cliniko, or none are recent. Check the customer’s record in Cliniko directly. |
Full error reference: Troubleshooting & error reference.
Frequently asked questions
Is the Cliniko connection read-only?
Yes. Every request Silux Chat makes to Cliniko is a look-up; none creates, changes or deletes anything in Cliniko. Give the key or sign-in read-only permissions wherever Cliniko offers them.
Do I need a developer to connect Cliniko?
No. You paste the details listed in the set-up steps in Dashboard → Integrations → Connectors and press “Connect & test”. The platform makes a real call to Cliniko straight away and shows exactly which features work.
How does the bot know it is really my customer?
It finds the customer in Cliniko by the email or mobile they give, checks their name and one more detail, then sends a one-time code to the mobile or email held in Cliniko — never to one typed in the chat. The code lasts 10 minutes, five wrong attempts cancel it, and a verified session lasts 30 minutes.
What happens if my Cliniko key is revoked or expires?
The bot tells customers it can’t check their account right now — it never pretends there are “no orders”. Connections are re-tested daily and the account owner is emailed when a working connection starts failing. Reconnect it in Dashboard → Integrations → Connectors.
How has the Cliniko connector been tested?
It is Documented-API tested: every capability is run automatically against Cliniko’s documented example responses and must produce the standard fields. When you connect, it is tested again with a real call to your own Cliniko account before your bot uses it.
Other health & clinics connectors
Halaxy
Appointments and bookings · Recognise and verify customers · Invoices
Healthie
Appointments and bookings · Recognise and verify customers
Nookal
Appointments and bookings · Recognise and verify customers
Pabau
Account balance · Appointments and bookings · Recognise and verify customers
Semble
Appointments and bookings · Recognise and verify customers
Need help with your integration?
Our integration team can review your endpoints, help you choose the right connector and check a test run with you. Tell us which system you use and what you would like the bot to answer.