Cliniko Tools — Health Practice Management
What are the Cliniko Tools?
For health and medical practices using Cliniko, Langoedge offers a complete suite of native tools. Attached to a Text Graph, they let an agent act as a virtual clinic receptionist — checking practitioner availability, searching patient records, scheduling appointments, and managing cancellations. A phone agent reaches them by mounting that Text Graph as a tool on a voice node.
Cliniko is one of a handful of integrations deliberately kept as hand-written tools rather than going through an MCP Connector, because clinic scheduling needs domain-specific aggregation across businesses, practitioners, appointment types, and availability that a generic tool call can't provide.
Prerequisite — an active account connection. Before your agents can check availability, query patients, or manage bookings, connect your Cliniko API key on the Connect page in your dashboard. Without it, any step using a cliniko_* tool will fail at runtime.
Available Cliniko Actions
Attach these tools to your graph nodes to automate front-desk clinic tasks. Twelve tools are available.
1. Clinic Configuration
| Tool | Parameters | Description |
|---|---|---|
cliniko_get_clinic_metadata |
resource (default all) |
Retrieves your clinic's structural configuration — businesses (locations), practitioners, and appointment types — in a single call. Pass all to fetch everything, or narrow it to one resource. |
2. Patient Management
| Tool | Parameters | Description |
|---|---|---|
cliniko_search_patients |
query |
Searches patients by first name, last name, email, or phone number. |
cliniko_get_patient |
patient_id |
Retrieves the full profile of a single patient by ID. |
cliniko_create_patient |
first_name, last_name, plus optional email, mobile_phone, home_phone, patient_phone, date_of_birth, gender_identity, sex, time_zone, accepted_privacy_policy |
Creates a new patient record — for a first-time caller. |
cliniko_update_patient |
patient_id, plus any of the fields above |
Updates an existing patient record, e.g. correcting a phone number captured on a call. |
3. Availability Lookup
| Tool | Parameters | Description |
|---|---|---|
cliniko_get_available_times |
business_id, appointment_type_id, optional practitioner_id, from_date, to_date |
Retrieves real-time open slots. Omit practitioner_id to search all active practitioners at once and surface the earliest option; supply it to check one specific practitioner. |
4. Appointment Booking & Management
| Tool | Parameters | Description |
|---|---|---|
cliniko_book_appointment |
business_id, practitioner_id, appointment_type_id, patient_id, starts_at, optional notes |
Books a new individual appointment directly into the Cliniko calendar. |
cliniko_list_appointments |
optional appointment_id, business_id, practitioner_id, patient_id, from_date, to_date, include_cancelled |
Lists or searches appointments, or fetches one by ID. Filter by patient_id to answer "when is my next appointment?". |
cliniko_reschedule_appointment |
appointment_id, new_starts_at |
Moves an appointment to a new date and time. |
cliniko_cancel_appointment |
appointment_id, optional cancellation_reason_code, cancellation_note |
Cancels an appointment through Cliniko's official cancellation endpoint, so it is recorded properly rather than silently deleted. |
cliniko_update_appointment_notes |
appointment_id, note_to_add |
Appends a timestamped note without overwriting what's already there — ideal for attaching a call summary. |
cliniko_mass_reschedule_practitioner_day |
practitioner_id, date, notify_via_sms (default true) |
Reschedules every active appointment for one practitioner on one day — the "practitioner called in sick" workflow — optionally texting each affected patient. |
A Typical Booking Flow
An agent booking a new patient generally moves through the tools in this order:
Fetch the clinic's configuration first, because booking needs real business_id, practitioner_id, and appointment_type_id values — an agent cannot invent them.