ReferenceSettings & administration

Integrations

Open Settings → Integrations in Thermal →

What it's for

Integrations is where you connect outside services to Thermal — accounting, card payments, texting, and email — and see what's connected, what needs attention, and what's still available. It's the hub for every third-party connection; a link on this page takes you to API & webhooks for anything you'd build yourself instead of connecting an off-the-shelf service.

Reach it from Settings → Integrations & data → Integrations in the sidebar, at /settings/integrations.

Tabs

This screen has no tabs. It's two sections: Connected, shown only when at least one service is connected or needs attention, and Available below it, always shown.

Panels and controls

Connected

One card per connected service, showing its status line — Connected · synced [time] ago, or Reauthorize needed if the connection errored out (an expired or revoked token, for example). A connected card shows the account identifier under its blurb (e.g. the QuickBooks Realm ID) — never a secret or token, only the non-secret reference. Reconnect restarts an OAuth connection that needs reauthorizing; Disconnect clears the connection after a confirmation, warning that existing tokens will be cleared. The Card payments card has neither: it links to Payments, where the Stripe account is managed.

Available

One card per service not yet connected: QuickBooks Online (push invoices and payments without double entry), Card payments via Stripe (let customers pay invoices by card), Text messaging via Twilio (appointment reminders and "on my way" texts), and Email & receipts via Postmark (deliver invoices and receipts, tracked for delivery). QuickBooks connects via Connect, which starts an OAuth flow; Twilio and Postmark connect by pasting an account reference and a secret key directly into Save connection. Card payments is set up on its own screen: Set up payments (or Manage payments once connected) opens Payments.

A few additional tiles (Google Business, Dropbox, Zapier) are shown for reference only — they're not wired up yet and their Connect button does nothing. API & webhooks is the one placeholder tile that is live; it links through to that screen.

Setup rolling out

If a service's connection isn't configured on this deployment yet (missing OAuth credentials, or encryption not set up), its card shows "Setup rolling out — this connection is not configured yet" instead of a connect control.

What it accepts

FieldFormatRequiredRule
Account or server reference (Twilio/Postmark)Free textYes"Enter the account reference."
Secret key (Twilio/Postmark)Free text, maskedYes"Enter the provider key."
ProviderOne of the four listed servicesYes"Unknown integration provider."

A connection can't be saved at all if the platform's encryption for stored credentials isn't configured — "Integration encryption is not configured." A callback that arrives after the OAuth handshake has expired shows "Connection state expired. Start the connection again from this page." instead of completing silently.

How to configure it

  • Every connection here is what other screens depend on: Billing's tax engine can use Stripe Tax once Stripe is connected; customer notifications (configured on the main Settings page) only actually send once the SMS or email channel here is connected — a notification toggle left on with no channel connected simply never fires.
  • API & webhooks, reached from the API & webhooks tile, is the build-your-own alternative — API keys and outbound webhook endpoints rather than a first-party connected service.

Who can see it

This screen sits behind its own Integrations area gate, not the general Settings gate — and unlike almost every other Settings screen, that gate is owner-only. Office managers, who otherwise have full Settings access, are specifically excluded from Integrations; they cannot open this page or manage a connection. Dispatchers and technicians cannot reach it either. The gate is checked on the server, not just hidden in the sidebar, so a direct link does not get around it.

The full role matrix is on Roles & permissions.

On this page