Skip to main content

Integrations

The Integrations page is where you connect Glovora to external services your clinic relies on — payment processors, Google Calendar, third-party booking systems, and campaign materials. Everything from taking card payments in the patient app to automatically mirroring appointments on your Google Calendar is configured here.


Where to find it

In the left-hand sidebar, click Integrations. Despite the route being /connections, the sidebar label and the page heading both read Integrations.


Page layout

At the top of the page is a live system health badge (top right corner) that shows the status of all your connected integrations:

Badge textColourMeaning
All systems operationalEmerald greenEvery connected integration is responding normally
Some issues detectedAmberAt least one integration has a problem
System degradedRedOne or more integrations are failing

The badge refreshes automatically every 30 seconds. You do not need to reload the page to see the latest status.

The page is divided into two sections:

  1. Payments & Calendar — four cards in a grid: Airwallex Payments, Stripe Payments, Google Calendar, Campaign Materials
  2. Booking Systems — one full-width card listing third-party booking system connections

Payments & Calendar section

Airwallex Payments

ElementDetail
Card description"Accept cards and Klarna payments in-app"
Status badgeConnected (emerald) when an Airwallex account is linked; no badge otherwise
When connectedShows your Airwallex account ID in a monospace field, and the account status beneath it
When disconnectedShows "Connect to take in-app payments."
ButtonsConnect Airwallex (not connected) or Manage Account (connected); plus a refresh icon button

What it enables: Card and Klarna payments processed through Airwallex's Hosted Flow inside the patient app. Each clinic holds its own Airwallex sub-account.

How to connect Airwallex

  1. Click Connect Airwallex.
  2. You are redirected to Airwallex's hosted onboarding flow.
  3. Complete the identity and business verification steps on the Airwallex site.
  4. You are returned to Glovora automatically when the process is complete.

There is no disconnect button for Airwallex on this page — use Manage Account to access your Airwallex account settings directly.


Stripe Payments

ElementDetail
Card description"Accept cards and Klarna via Stripe Connect"
Status badgeActive (solid) when fully onboarded; Pending (grey) when account exists but onboarding is incomplete; no badge if not connected
When not connectedShows "Not connected. Connect to accept payments."
When connectedShows your Stripe account ID in a monospace field, plus three status rows

Status rows (when connected):

RowMeaning
Details submittedStripe has received and accepted your business information
Charges enabledYour account can accept card payments from patients
Payouts enabledStripe can pay funds out to your bank account

Each row shows a green tick when the condition is met, or a grey cross when it is not. If Stripe requires additional documents or information, an amber warning shows the count: "X item(s) pending".

Buttons (when connected):

ButtonWhat it does
Update AccountRe-opens the Stripe onboarding flow so you can update submitted information
Continue SetupShown instead of Update Account when onboarding is incomplete
DashboardGenerates a single-use Stripe login link and opens it in a new tab
Refresh iconPulls the latest Stripe account status from Stripe and refreshes the card

The Dashboard button — important detail

The Dashboard button does not link to a static Stripe URL. Each time you click it, Glovora calls the Stripe API to generate a fresh, single-use login link for your connected Express account. This link expires shortly after it is generated and can only be used once.

warning

Do not share the Dashboard link with anyone. Because it is a pre-authenticated link to your Stripe account, anyone who has it can access your Stripe dashboard without a password. If you need to share Stripe access, add the person as a team member inside Stripe directly.

Stripe on Connections vs Stripe on Payouts

The Connections page shows your Stripe account ID, onboarding status, and capabilities (charges enabled, payouts enabled). It is the place to connect, update, or check the health of your Stripe account.

The Payouts page shows your balance and payout history. In Clinics without live Stripe data, this information is displayed as sample figures (Dev Mode). The "Open Stripe Dashboard" link on the Payouts page redirects you to the Connections page, not to Stripe directly — Stripe access from within Glovora is only available via the Dashboard button on the Connections page.

How to connect Stripe

  1. Click Connect Stripe on the Stripe Payments card.
  2. You are redirected to the Stripe Connect onboarding flow.
  3. Enter your business details, verify your identity, and add your bank account.
  4. Once submitted, Stripe returns you to the Connections page and the card status updates.
  5. If Stripe needs more information later, an amber warning will appear on the card — click Update Account to resolve it.

Google Calendar

ElementDetail
Card description"Auto-sync appointments to Google Calendar"
Status badgeConnected (emerald) when linked; no badge otherwise
What syncsNew appointments, rescheduled appointments, and cancellations only
Sync directionOne-way — Glovora pushes to Google Calendar only. Changes made in Google Calendar are not reflected in Glovora.

The card always shows the message: "New, rescheduled, and cancelled appointments sync automatically to your connected calendar."

When the integration is not connected, an additional amber notice appears: "Your Google account must be added as a test user in Google Cloud Console while the app is in testing mode." This is a platform-level note relevant during the Glovora testing period and does not require action from most clinic owners.

Buttons:

StateButton
DisconnectedConnect Google Calendar
ConnectedDisconnect

How to connect Google Calendar

  1. Click Connect Google Calendar.
  2. You are redirected to Google's OAuth consent screen.
  3. Sign in to the Google account that owns the calendar you want to sync to.
  4. Grant the requested permissions.
  5. Google returns you to the Connections page and a toast confirms: "Google Calendar connected!"

How to disconnect Google Calendar

  1. Click Disconnect on the Google Calendar card.
  2. A toast confirms: "Google Calendar disconnected".
  3. The access and refresh tokens stored against your clinic are immediately cleared. Future appointment changes will no longer sync to Google Calendar.
tip

Google Calendar sync pushes each appointment as a calendar event with a title, date, time, and duration. If a practitioner is assigned, their name is included in the event details. The sync fires automatically when an appointment is created, rescheduled, or cancelled — no manual action is required.

warning

Only one Google account can be connected per clinic at a time. If you disconnect and reconnect using a different Google account, previous events already pushed to the old calendar will remain there — they are not deleted from Google Calendar on disconnect.

Role restriction: Only owners and managers can connect or disconnect Google Calendar. Practitioners, receptionists, and staff can see the status but cannot change it.


Campaign Materials

ElementDetail
Card description"Printable welcome poster for your clinic"
No status badgeThis card does not connect to an external service
ButtonDownload Poster

The card shows a preview of what the poster contains: "Print-ready poster with your clinic logo, QR codes for the App Store and Google Play, and your [£X off your first visit] welcome offer." The welcome credit amount and currency symbol are pulled from your clinic settings in real time.

Clicking Download Poster generates the A4 PDF and saves it to your device as welcome-poster-{clinic-name}.pdf.

tip

This card produces the same PDF as the Download PDF Poster button on the QR Generator page. The Campaign Materials card is the most reliable way to access this file. Update your clinic logo and welcome credit amount in Clinic Settings before downloading so the poster reflects your current branding.


Booking Systems section

The Booking System Connections card spans the full width of the page below a divider line. It lists any third-party booking systems connected to Glovora and allows you to add new ones.

Supported booking systems (shown in the Add Connection dropdown):

  • Cliniko
  • Timely
  • Fresha
  • Mock (Testing) — for development use only

Empty state

When no booking systems are connected, the card shows a centred empty state with a plug icon and the message: "Connect Cliniko, Timely, or Fresha to sync bookings automatically." An Add Your First Connection button appears beneath it.

Connected state

Each connected booking system appears as a row showing:

ElementDetail
Coloured dotGreen = active, Red = error, Grey = disabled
Provider nameCapitalised (e.g. "Cliniko")
Last updated date"Updated [date]"
Status badgeActive, Error, or Disabled
Settings gear iconTests the connection and refreshes the health status
Red bin iconRemoves the integration permanently

Adding a booking system

  1. Click Add Connection (top right of the card, or Add Your First Connection if empty).
  2. The Add New Connection dialogue opens.
  3. Select a Provider from the dropdown: Cliniko, Timely, Fresha, or Mock (Testing).
  4. In the Auth Configuration (JSON) textarea, paste the API credentials for that provider in JSON format. The placeholder shows the expected format: {"apiKey": "your-api-key", "region": "au"}.
  5. Click Test First (lightning bolt icon) to validate the credentials before saving. A result alert appears: "Configuration is valid!" or "Test failed: [reason]".
  6. Click Add Connection to save.
tip

Always use Test First before saving a booking system connection. An invalid API key will save without error but will appear with a red error dot immediately, requiring you to delete and re-add it with the correct credentials.

Removing a booking system

Click the red bin icon on the integration row. The integration is removed immediately with no confirmation prompt.


What each field means

FieldWhereWhat it means
Account ID (Airwallex)Airwallex cardYour Airwallex sub-account identifier — a reference number for your clinic's payment account
Account ID (Stripe)Stripe cardYour Stripe Express account ID (begins with acct_) — used internally by Glovora to route payments to you
Details submittedStripe cardStripe has received and verified your business identity and banking details
Charges enabledStripe cardPatients can complete card payments to your clinic
Payouts enabledStripe cardStripe can transfer funds to your connected bank account on your payout schedule
X item(s) pendingStripe cardStripe requires additional information — click Update Account to see what is needed
Auth Configuration (JSON)Add Connection dialogueThe API key, region, or other credentials needed to authenticate Glovora with your booking system's API

Role permissions

RoleView the Integrations pageManage StripeManage AirwallexConnect / disconnect Google CalendarAdd booking systemsView booking system listRemove booking systems
OwnerYesYesYesYesYesYesYes
ManagerYesYesYesYesNoYesNo
PractitionerYesYesYesNoNoNoNo
ReceptionistYesYesYesNoNoNoNo
StaffYesYesYesNoNoNoNo
tip

All staff roles can visit the Integrations page and see the health badge. Only owners can add or remove booking system connections. Only owners and managers can connect or disconnect Google Calendar.


Error states and broken connections

System health badge

The coloured badge in the top right corner is the primary indicator that something is wrong. If it turns amber or red, check each integration card individually to find the problem.

Stripe

If Stripe requires additional documents or your account is restricted, the amber "X item(s) pending" warning appears inside the Stripe card. The card badge changes from Active to Pending. Click Update Account or Continue Setup to resolve this inside the Stripe onboarding flow. Glovora does not show the specific items Stripe requires — you will see the full list once inside the Stripe flow.

Airwallex

If the Airwallex status field shows anything other than "active", click Manage Account to resolve the issue directly within Airwallex.

Google Calendar

There is no dedicated broken-connection state displayed on the Google Calendar card. If the OAuth token expires or is revoked by Google, the card will continue to show Connected, but appointment sync will silently fail. If you suspect the calendar sync has stopped working, disconnect and reconnect the integration to issue fresh tokens.

warning

Google OAuth tokens can be revoked if you change your Google account password, revoke app access from your Google account's security settings, or if the token is idle for an extended period. If you stop seeing new Glovora appointments appear in your Google Calendar, disconnect and reconnect the integration.

Booking systems

If a booking system connection fails its health check, the status dot turns red and the badge shows Error. Click the settings gear icon on the affected row to trigger a fresh test. If the test fails, the credentials may have been revoked or changed — delete the integration and re-add it with updated credentials.


Common mistakes

Clicking Dashboard and then trying to use the link later The Stripe Dashboard button generates a single-use link that expires within a short window. If you copy the URL and try to paste it into another browser tab or return to it after a few minutes, it will no longer work. Click Dashboard again to generate a fresh link each time you need access.

Expecting Google Calendar changes to appear in Glovora The Google Calendar sync is one-way only: Glovora writes to Google Calendar, not the other way around. If you reschedule an appointment directly in Google Calendar, Glovora's records will not update. Always reschedule appointments in Glovora's booking system. The updated event will then sync to Google Calendar automatically.

Saving a booking system connection without testing it first The Add Connection form does not validate credentials automatically on save — it only validates if you explicitly click Test First. An incorrect API key will be accepted and saved, but the integration will show an error dot and stop syncing. Test before saving to avoid having to delete and re-add the connection.

Assuming the Connections page shows your Stripe balance or payout history The Integrations page shows connection status only — account ID, capabilities, and onboarding progress. It does not show your balance, recent payouts, or transaction history. For financial information, go to the Revenue or Payouts pages.