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
Generate a Nookal API key
- Log into Nookal as an administrator
- Go to Practice → Setup → API Keys (older Nookal accounts: Setup → Connections → API Keys)
- Click Generate API Key
- Select the locations this key should have access to — at minimum, every location Robyn needs to book into
- Toggle Status to enabled
- In the Note field, enter
Routiq Integrationso you know what the key is for later - Click Save Changes
- Copy the API key to your clipboard
Connect in Routiq
- In Routiq: Setup → Connect Nookal (or Settings → Integrations → Nookal)
- Paste your Nookal API key
- Click Connect and Sync
/verify endpoint, fetches your scoped locations and practitioners, and starts the initial sync.Wait for the initial sync
Sync time depends on database size:
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.
| Practice size | Estimated time |
|---|---|
| < 500 patients | 1–2 minutes |
| 500–2,000 patients | 5–10 minutes |
| 2,000–5,000 patients | 10–20 minutes |
| > 5,000 patients | 20–30 minutes |
Verify the connection
Once sync completes:
- Go to Patients in Routiq — your Nookal patient list should appear
- Open a patient — appointment history should match Nookal
- 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), notesPractice 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 tohttps://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_modifiedfilter to fetch only changed records - Daily reconciliation sync at 02:00 in your practice timezone — full re-sync to catch anything incremental missed
Troubleshooting
'Invalid API key' or 'API key disabled' error
'Invalid API key' or 'API key disabled' error
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.
Some locations are missing from Routiq
Some locations are missing from Routiq
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.
Patients aren't appearing
Patients aren't appearing
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.
Bookings aren't appearing in Nookal
Bookings aren't appearing in Nookal
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.
Changes in Nookal take a while to reach Robyn
Changes in Nookal take a while to reach Robyn
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
- Generate a new key in Nookal (same flow as setup step 1)
- In Routiq: Settings → Integrations → Nookal → Update API Key
- Paste, save
- Disable the old key in Nookal once the new one is verified
Disconnecting
Settings → Integrations → Nookal → Disconnect. 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: Settings → Integrations → Nookal → Sync 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.