Settings → Integrations (open Settings from the sidebar's "Insights & setup" group, then go to Integrations) is where you connect every tool SalesThumb talks to, and it's also where you go to answer "is this thing actually connected." If you had the old Settings → Health page bookmarked, it's gone — it was removed and now redirects here permanently. That wasn't a random cut: Health only ever checked whether platform-level environment variables were set on the server, which read the same for every shop and wasn't something a merchant could act on. The real per-shop question — did *my* QuickBooks, Google Business Profile, Twilio, etc. actually connect — is what the per-integration cards on this page already answer, so this is the page that took over that job.
Reading the Integrations page
Cards are grouped into four sections: Essential (Card payments, Twilio SMS, Resend Email — the payments and carriers your shop needs to run), Accounting (QuickBooks Online, plus a ShopMonkey card), Marketing & reviews (Google Business Profile, Frostbite Marketing, plus Facebook Messenger, Instagram, and WhatsApp cards), and Advanced (Zapier, OpenWeather, Platinum Cut Plotter). A banner at the top reads "Essential: X/Y connected" — green once all three essentials are live, amber (with an amber ring drawn around that whole section) while any of them are still missing.
Every card carries a badge: green Connected when it's live, outline Not connected when it isn't — card by card, that badge is the health check now. One card reads it differently on purpose: Card payments shows Charges enabled instead of "Connected," because it's driven by your live Rainforest merchant-onboarding status, not by whether you clicked a button. Clicking its Connect button doesn't open a form either — it deep-links straight to the Payments settings page, since onboarding there isn't a single OAuth step.
Connect buttons don't all do the same thing
What a button does — and even what it's labeled — depends on the integration. Twilio SMS, Resend Email, OpenWeather, Platinum Cut Plotter, and Frostbite Marketing show a Set up button that opens a small modal asking for that integration's own fields (Twilio wants an Account SID, Auth Token, and From Number; OpenWeather just wants an API key; Platinum Cut wants a bridge URL, device model, and an optional API key for LAN-only setups). QuickBooks Online and Google Business Profile get their own rich cards that redirect your browser straight into Intuit's or Google's OAuth flow. Zapier is the one that can catch you off guard: its button also reads "Set up," but clicking it doesn't open a form at all — it generates an API key immediately and shows it to you exactly once, with a "Copy this now — you won't be able to view it again." warning, because the app never returns that value again after that response.
One password-field detail worth knowing across all of these: once a secret (an API key, auth token, etc.) is saved, it's never redisplayed — the field just shows a placeholder like "Leave blank to keep existing key." Leaving it blank and saving again doesn't clear or break anything; only typing a new value replaces the old one.
Facebook Messenger and Instagram — a manual token, not "Login with Facebook"
Both of these connect the same way, and it's the biggest gotcha in the whole page if you're expecting a one-click OAuth button: SalesThumb doesn't use Meta's "Login for Business" flow here, because that requires Meta App Review, which only the account owner can complete. Instead you create your own Meta App and Page (or link your Instagram Business/Creator account to that same Meta App), generate a long-lived access token from the Meta developer console, and paste it in — Page ID + Page Access Token for Facebook, Instagram Business Account ID + access token for Instagram, both with an optional display-name field. The token is encrypted server-side (AES-256-GCM) the moment you click Connect and is never shown again after that. WhatsApp, the third card in this same Marketing & reviews section, is the outlier: it connects through Meta's one-click Embedded Signup popup instead of a manual token paste, because a WhatsApp Business Integration token has no self-serve path a shop owner could generate on their own — each shop still connects and pays Meta directly for its own WhatsApp messaging, same as the manually-connected channels above.
Until you connect a real Page or account, both pages (and the Inbox) show clearly-labeled demo data so the surfaces stay browsable. Once connected, each page shows a read-only Webhook URL and reminds you it needs to be subscribed to the "messages" event in your Meta App's Messenger (or Instagram) settings — new conversations only reach the Inbox automatically once that subscription is set up on Meta's side, not just ours. Disconnecting either one pops a confirmation explaining that messages already pulled into the Inbox stay, but nothing new syncs afterward.
Google Business Profile — the multi-location picker
Connecting GBP normally finishes in one OAuth round trip from its card on the main page. But if the Google account you authorize manages more than one Business Profile location, you land on an extra step first — a picker at /app/settings/integrations/gbp-locations — to choose which location this shop should use. The candidate list is held in a short-lived, httpOnly, encrypted cookie set by the OAuth callback, good for roughly 10 minutes; the picker page never touches the tokens directly, it just lists location titles and posts your choice to the endpoint that actually persists the connection. If you navigate to that picker directly, or just sit on it too long, the cookie expires and you'll see "This connection attempt expired or wasn't found" with a button back to Integrations — there's no way to resume the in-progress picker at that point, you just click Connect again from the main page and go through OAuth fresh.
ShopMonkey — key, test, then sync
ShopMonkey is a shop-management platform many tint, detail, and auto-repair shops ran before switching to SalesThumb. If you're moving historical customers and vehicles over from it, see the separate "How to migrate from ShopMonkey" article for that one-time CSV import — this section instead covers the live, ongoing connection under Settings → Integrations, which is a different thing and doesn't touch that CSV path at all. ShopMonkey connects with a per-shop API key rather than OAuth: generate one in ShopMonkey under Settings → API, then paste it into the dedicated ShopMonkey page along with the API base URL (it defaults to `https://api.shopmonkey.cloud/v3` — only change it if ShopMonkey gave your shop a custom tenant URL). Test connection checks the key before you commit; if that test comes back failed, the Connect button stays disabled until you edit the key or URL again. Connecting fires an initial sync right away and reports how many parts came over.
This connection mirrors your ShopMonkey parts/inventory catalog into SalesThumb so the Sales Matrix kiosk and invoice line-item picker can see real stock counts — that's the point of it. The connected-status card itself surfaces only a Parts tile — count, last-sync time, and its own Sync button — but the manual controls below it cover more than parts. A primary Import everything button runs the recommended first-time sequence in one click: parts, then customers, vehicles, invoices, and upcoming appointments (looking 90 days forward). An Advanced section underneath breaks that same work into pieces you can re-run individually: Sync inventory now (parts only), Import contacts (customers and their vehicles, deduped on phone/email for customers and VIN/plate/year-make-model for vehicles), Import orders (invoice history plus upcoming appointments — invoices are write-once, so a later re-sync only adds new ones and never overwrites one your shop has since touched, while appointments do stay live-synced on re-run), and a one-time Import full appointment history backfill of every appointment ShopMonkey has ever recorded, gated behind a confirmation since it can add a lot of past-dated entries to the calendar. Appointments need at least one active bay or installer set up under Resources to land anywhere — without one, invoices and customers still import, just with a note that appointments were skipped. Nightly auto-sync genuinely runs all of this on its own — parts at 3:00am Central, then customers, vehicles, invoices, and appointments 20 minutes later — so most connected shops never need to touch these buttons at all. If a sync or import comes back looking wrong — say zero rows for something that should have data — Run diagnostics probes each ShopMonkey endpoint individually and tells you whether it's unreachable or permission-blocked versus just an empty workspace, so you're not left guessing. A Recent activity panel further down logs the last 20 sync runs with kind, trigger, duration, row counts, and any error — genuinely the closest thing to a per-integration health log anywhere on this page. Disconnecting clears the stored key but keeps whatever was already mirrored as a read-only snapshot; it doesn't delete anything already synced — parts, customers, vehicles, invoices, or appointments.
What else lives on this page
Below the integration cards, the same Integrations page also holds Public URLs (your shareable booking page, kiosk, business card, and chat widget links), a VIN History Provider card (CarFax/AutoCheck config for the paid VIN History add-on), a "Text-Enable Your Business Number" section for bringing your own Twilio number or Resend account, and Calendar Subscription Feed tokens for one-way iCal syncing into Google, Apple, or Outlook. None of those are third-party integrations in the connect/OAuth sense above, but they share the page, so it's worth knowing where to find them.
Need help? Email info@roffik.com.