Each shop uses its own SmartBuild login

SmartBuild is connected per organisation from Settings, tokens are cached per credential, and a shop without a connection sees nothing rather than someone else's jobs.

What it is

Per-org credential resolution with a per-credential token cache. Credentials come from Settings for any org; environment variables remain an optional bootstrap path for the original tenant.

Also called: SmartBuild credentials · connect SmartBuild · per tenant SmartBuild · SmartBuild login

See it
Each shop uses its own SmartBuild login
🔒ridgelinepostframe.com/project/smartb271
40×64 Shop
Framing · on schedule
Settings Integrations panel with the SmartBuild connection form and a connected state. Sample data — no customer information appears here.
How it works
  1. 1Tokens are cached keyed by username with a 23-hour expiry, so each tenant's login is cached separately.
  2. 2SmartBuild tokens can be revoked upstream (password rotation, admin force-logout, server reset) while the local cache still thinks they are valid, so a 401 invalidates the cache, re-logs in and retries exactly once.
  3. 3A 500 from a read endpoint is retried once after a short backoff, because the API has shown intermittent 500-empty responses for calls that succeeded moments earlier.
  4. 4An org with no credentials gets an empty-but-valid response shape on reads (an empty project list, a null estimate) and a 503 on writes — never another tenant's data.
  5. 5The login is quirky and can return non-2xx with a token body, so the proxy warns and proceeds rather than throwing.
Why we built it

Each shop's SmartBuild account is its own, and connecting one used to be something only a developer could do. Credentials are entered and managed in settings by the shop itself, so adding or rotating a connection is not a deploy and not a support ticket. A company that has not connected anything sees an empty state and a working dashboard rather than an error, which matters because most of the platform has nothing to do with SmartBuild.

The problem
  • Single-tenant integration configuration.
  • Stale cached tokens replaying against a revoked session.
  • Unconnected orgs seeing errors instead of an empty state.
Sound familiar?
What you get
Every shop connects its own SmartBuild from Settings.
A rotated password self-heals on the next request.
No cross-tenant data path exists.

See it on your own jobs

Twenty minutes, your numbers, no slide deck. We’ll build one of your real buildings in front of you and send you the estimate link at the end — yours to keep either way.

or keep browsing features →