Thunderbird Agency · operating console

Thunderbird HQ

setup · 10 missingsetup mode
10 required missing

Setup

Every variable goes in the Vercel project's Environment Variables panel. This page only ever shows whether a value is present.

Access

HQ_PASSWORD
The single password for the whole console: every page and API route asks for it once and keeps a signed 30-day cookie. Without it (and without Clerk) the console is open to anyone with the URL.

Clerk

NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY
Sign-in, session, and the per-viewer scoping. Without it the console runs unprotected in setup mode.
CLERK_SECRET_KEY
Server-side session verification, org roles, and the strict_mfa revenue gate.

Registry

SUPABASE_URL
The hq registry (areas, lines, metrics, item states, viewers, actions) and MaxMyListing metrics.
SUPABASE_SERVICE_ROLE_KEY
Server-only read/write of the hq schema. Never shipped to the browser.

Metric sources

SUPABASE_BHOT_URL
Best Home On Tour metrics (project jmmetcyaqcpdgmvmmxln).
SUPABASE_BHOT_SERVICE_KEY
Service key for the BHOT project.
SUPABASE_HBR_URL
HomeBuying Rocks metrics (project mrmaozyegbdbhffyxmtv).
SUPABASE_HBR_SERVICE_KEY
Service key for the HBR project.
SUPABASE_APUCC_URL
APU Command Center metrics (project gqgxdyzkvdicqrkiuvjt).
SUPABASE_APUCC_SERVICE_KEY
Service key for the APU Command Center project.
SUPABASE_SKYLIGHT_URL
Skylight Websites metrics (project qqolqnncmxhrvcutqjzu).
SUPABASE_SKYLIGHT_SERVICE_KEY
Service key for the Skylight CMS project.

ClickUp

CLICKUP_TOKEN
Needs-you-today tasks, counters, clickup_count metrics, and every write-back action (assign, comment, complete, create).
CLICKUP_TEAM_IDoptional · default 9017393574
Which workspace to read. Defaults to 9017393574.
CLICKUP_WEBHOOK_SECREToptional
Signature verification for /api/clickup/webhook so a change in ClickUp refreshes the page within a minute.

Stripe

STRIPE_SECRET_KEY
The Sales panel (behind org:admin + strict_mfa). Use a restricted, read-only key.
STRIPE_ACCOUNT_IDoptional · default acct_1MGGhdBk08Px6wM1
Which Stripe account to read. Defaults to acct_1MGGhdBk08Px6wM1. Only set it explicitly when the key is a Connect platform key.

After the keys

Apply the metric function

Run migrations/001_run_metric.sql on every Supabase project referenced by hq.metrics.config.project_ref, and expose the hq schema in each project's API settings. Until then every supabase_sql metric reads "unavailable".

Register the ClickUp webhook

POST /team/9017393574/webhook with endpoint /api/clickup/webhook and the task events; put the returned secret in CLICKUP_WEBHOOK_SECRET. Without it reads still refresh every 60 seconds.

Add viewers

Each teammate needs an hq.viewers row (or hq_areas / hq_revenue on their Clerk org membership, which is mirrored on first sign-in). '*' in area_keys means everything.

Revenue needs Clerk Pro

The Sales panel requires org:admin plus strict_mfa reverification. MFA is not on Clerk's free plan; until the instance is on Pro the panel stays locked by design.

← back to the console