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 and Instagram 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.
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 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. A note on the page mentions nightly auto-sync running all 5 entity types in dependency order, but the manual controls exposed here are scoped to Parts only — that's the single entity tile and Sync button you'll actually see. Separate from that, an Import contacts button pulls ShopMonkey customers and their vehicles into your CRM on demand (deduped on phone/email for customers, VIN/plate/year-make-model for vehicles) — it's a distinct action from the inventory sync and doesn't run on its own. 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 synced parts.
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.