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 text | Colour | Meaning |
|---|---|---|
| All systems operational | Emerald green | Every connected integration is responding normally |
| Some issues detected | Amber | At least one integration has a problem |
| System degraded | Red | One 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:
- Payments & Calendar — four cards in a grid: Airwallex Payments, Stripe Payments, Google Calendar, Campaign Materials
- Booking Systems — one full-width card listing third-party booking system connections
Payments & Calendar section
Airwallex Payments
| Element | Detail |
|---|---|
| Card description | "Accept cards and Klarna payments in-app" |
| Status badge | Connected (emerald) when an Airwallex account is linked; no badge otherwise |
| When connected | Shows your Airwallex account ID in a monospace field, and the account status beneath it |
| When disconnected | Shows "Connect to take in-app payments." |
| Buttons | Connect 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
- Click Connect Airwallex.
- You are redirected to Airwallex's hosted onboarding flow.
- Complete the identity and business verification steps on the Airwallex site.
- 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
| Element | Detail |
|---|---|
| Card description | "Accept cards and Klarna via Stripe Connect" |
| Status badge | Active (solid) when fully onboarded; Pending (grey) when account exists but onboarding is incomplete; no badge if not connected |
| When not connected | Shows "Not connected. Connect to accept payments." |
| When connected | Shows your Stripe account ID in a monospace field, plus three status rows |
Status rows (when connected):
| Row | Meaning |
|---|---|
| Details submitted | Stripe has received and accepted your business information |
| Charges enabled | Your account can accept card payments from patients |
| Payouts enabled | Stripe 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):
| Button | What it does |
|---|---|
| Update Account | Re-opens the Stripe onboarding flow so you can update submitted information |
| Continue Setup | Shown instead of Update Account when onboarding is incomplete |
| Dashboard | Generates a single-use Stripe login link and opens it in a new tab |
| Refresh icon | Pulls 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.
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
- Click Connect Stripe on the Stripe Payments card.
- You are redirected to the Stripe Connect onboarding flow.
- Enter your business details, verify your identity, and add your bank account.
- Once submitted, Stripe returns you to the Connections page and the card status updates.
- If Stripe needs more information later, an amber warning will appear on the card — click Update Account to resolve it.
Google Calendar
| Element | Detail |
|---|---|
| Card description | "Auto-sync appointments to Google Calendar" |
| Status badge | Connected (emerald) when linked; no badge otherwise |
| What syncs | New appointments, rescheduled appointments, and cancellations only |
| Sync direction | One-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:
| State | Button |
|---|---|
| Disconnected | Connect Google Calendar |
| Connected | Disconnect |
How to connect Google Calendar
- Click Connect Google Calendar.
- You are redirected to Google's OAuth consent screen.
- Sign in to the Google account that owns the calendar you want to sync to.
- Grant the requested permissions.
- Google returns you to the Connections page and a toast confirms: "Google Calendar connected!"
How to disconnect Google Calendar
- Click Disconnect on the Google Calendar card.
- A toast confirms: "Google Calendar disconnected".
- The access and refresh tokens stored against your clinic are immediately cleared. Future appointment changes will no longer sync to Google Calendar.
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.
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
| Element | Detail |
|---|---|
| Card description | "Printable welcome poster for your clinic" |
| No status badge | This card does not connect to an external service |
| Button | Download 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.
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:
| Element | Detail |
|---|---|
| Coloured dot | Green = active, Red = error, Grey = disabled |
| Provider name | Capitalised (e.g. "Cliniko") |
| Last updated date | "Updated [date]" |
| Status badge | Active, Error, or Disabled |
| Settings gear icon | Tests the connection and refreshes the health status |
| Red bin icon | Removes the integration permanently |
Adding a booking system
- Click Add Connection (top right of the card, or Add Your First Connection if empty).
- The Add New Connection dialogue opens.
- Select a Provider from the dropdown: Cliniko, Timely, Fresha, or Mock (Testing).
- 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"}. - Click Test First (lightning bolt icon) to validate the credentials before saving. A result alert appears: "Configuration is valid!" or "Test failed: [reason]".
- Click Add Connection to save.
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
| Field | Where | What it means |
|---|---|---|
| Account ID (Airwallex) | Airwallex card | Your Airwallex sub-account identifier — a reference number for your clinic's payment account |
| Account ID (Stripe) | Stripe card | Your Stripe Express account ID (begins with acct_) — used internally by Glovora to route payments to you |
| Details submitted | Stripe card | Stripe has received and verified your business identity and banking details |
| Charges enabled | Stripe card | Patients can complete card payments to your clinic |
| Payouts enabled | Stripe card | Stripe can transfer funds to your connected bank account on your payout schedule |
| X item(s) pending | Stripe card | Stripe requires additional information — click Update Account to see what is needed |
| Auth Configuration (JSON) | Add Connection dialogue | The API key, region, or other credentials needed to authenticate Glovora with your booking system's API |
Role permissions
| Role | View the Integrations page | Manage Stripe | Manage Airwallex | Connect / disconnect Google Calendar | Add booking systems | View booking system list | Remove booking systems |
|---|---|---|---|---|---|---|---|
| Owner | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
| Manager | Yes | Yes | Yes | Yes | No | Yes | No |
| Practitioner | Yes | Yes | Yes | No | No | No | No |
| Receptionist | Yes | Yes | Yes | No | No | No | No |
| Staff | Yes | Yes | Yes | No | No | No | No |
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.
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.