Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.routiq.ai/llms.txt

Use this file to discover all available pages before exploring further.

Why this matters. Nookal is a leading practice management system for AU/NZ allied health (physio, chiro, podiatry, osteo). Routiq’s integration uses Nookal’s official v2 REST API, with the same capability surface as our Cliniko integration — read patients, book appointments, look up history, all in real time.

What Robyn can do with Nookal

  • Read patients — recognise returning callers by phone, look up history, capture new-patient records
  • Read availability — pulled from Nookal’s appointment-types and practitioner schedules
  • Book, reschedule, cancel — Robyn writes appointments directly into Nookal
  • Read practitioners and locations — for routing decisions and per-practitioner escalations
  • Read invoices and treatment notes — for invoice chasing and patient-context-aware conversations
  • Pagination-aware sync — handles large patient databases efficiently

Before you start

You’ll need:
  • Administrator access to your Nookal account
  • API access enabled (available on all paid Nookal plans)
  • The locations you want Robyn to access (Nookal API keys are scoped per location)

Setup

1

Generate a Nookal API key

  1. Log into Nookal as an administrator
  2. Go to PracticeSetupAPI Keys (older Nookal accounts: SetupConnectionsAPI Keys)
  3. Click Generate API Key
  4. Select the locations this key should have access to — at minimum, every location Robyn needs to book into
  5. Toggle Status to enabled
  6. In the Note field, enter Routiq Integration so you know what the key is for later
  7. Click Save Changes
  8. Copy the API key to your clipboard
The API key gives full access to the locations you scoped it to. Treat it like a password. Use a separate key for each integration so you can revoke individually if needed.
2

Connect in Routiq

  1. In Routiq: SetupConnect Nookal (or SettingsIntegrationsNookal)
  2. Paste your Nookal API key
  3. Click Connect and Sync
Routiq verifies the key against Nookal’s /verify endpoint, fetches your scoped locations and practitioners, and starts the initial sync.
3

Wait for the initial sync

Sync time depends on database size:
Practice sizeEstimated time
< 500 patients1–2 minutes
500–2,000 patients5–10 minutes
2,000–5,000 patients10–20 minutes
> 5,000 patients20–30 minutes
Nookal’s API paginates at 100 records per page (max 200), so sync is rate-limit-aware. You can navigate away — sync continues in the background.
4

Verify the connection

Once sync completes:
  1. Go to Patients in Routiq — your Nookal patient list should appear
  2. Open a patient — appointment history should match Nookal
  3. Try a test booking from the Test Robyn screen
Nookal is connected. Robyn can now book, reschedule, and identify patients from Nookal data.

What gets synced

Patient data

Patient ID, name, email, phone, DOB, gender, address, status, deceased flag, contact details

Appointment data

Appointment ID, date/time, practitioner, service type, location, status (Cancelled / DNA / Completed / Uninvoiced), notes

Practice data

Locations (scoped to your API key), practitioners, services, classes, waiting list

Financial data

Invoices, payments — for invoice-chasing and patient-context awareness

How auth works

Nookal uses a single API key per clinic (no separate vendor key, no OAuth). The key is sent inline with each API request to https://api.nookal.com/production/v2/{method}. Multi-tenant model. Each clinic generates their own key in their Nookal admin and pastes it into Routiq. There’s no Routiq-wide “partner” credential — same model as Cliniko and most other PMSes Routiq integrates with. v3 GraphQL note. Nookal has a private v3 GraphQL endpoint that powers their own web/mobile app. Routiq uses the public, supported v2 REST API rather than the undocumented v3 to avoid breaking when Nookal makes internal changes. We’ll evaluate v3 if and when Nookal publishes it as a partner surface.

Sync schedule

  • Initial sync on connect — full pull of patients, appointments (last 24 months), practitioners, locations, services
  • Incremental sync every 15 minutes — uses Nookal’s last_modified filter to fetch only changed records
  • Daily reconciliation sync at 02:00 in your practice timezone — full re-sync to catch anything incremental missed
Nookal’s REST API does not currently support webhooks, so changes made in Nookal reach Routiq with up to 15 minutes’ delay (vs. seconds for Cliniko’s webhook-based integration).

Troubleshooting

Check in Nookal under Practice → Setup → API Keys that your key is toggled to Status: Enabled. If recently re-enabled, wait ~30 seconds and try again.
Nookal API keys are scoped per location. Edit your key in Nookal’s API Keys page and tick the locations Robyn should access, then save.
Initial sync may still be running — check the dashboard progress indicator. If complete, verify the patient is Alive (not deceased) in Nookal — Routiq filters deceased patients by default in the active patient list.
Robyn writes to the same calendar as your team. If a booking doesn’t appear, check that Robyn isn’t blocked from the relevant practitioner/service combo — both must exist on the API key’s scoped location and be enabled for online booking.
Nookal’s API doesn’t support webhooks, so Routiq polls every 15 minutes for changes. If you need a faster sync after a bulk update, use Settings → Integrations → Nookal → Sync Now to force an immediate refresh.

Managing the integration

Rotating the API key

  1. Generate a new key in Nookal (same flow as setup step 1)
  2. In Routiq: SettingsIntegrationsNookalUpdate API Key
  3. Paste, save
  4. Disable the old key in Nookal once the new one is verified

Disconnecting

Disconnecting Nookal stops Robyn from booking, halts all outbound sequences, and pauses every active recall campaign for this integration.
SettingsIntegrationsNookalDisconnect. Patient data is retained for 30 days post-disconnect for compliance and recovery, then deleted.

Manual resync

If you’ve imported patients in bulk into Nookal and don’t want to wait for the next 15-minute sync: SettingsIntegrationsNookalSync Now.

Next

Set up the calls channel

Forward your clinic line to Robyn and start handling calls.

Turn on lapsed-patient reactivation

Bring dormant Nookal patients back with multi-touch sequences.