Hot Cues · deployment status
Running, with warnings
Build 2893963 · production · checked Thu, 29 Oct 2026 04:17:11 GMT
Database connection
Connected as hotcues_app.
Database migrations
49 applied, latest: 20260930200000_contract_policy_categories.
Login & invite database functions
All 19 present.
Row-level security
Enforced on all tenant tables.
Database permissions
Working.
Tenant scoping
Working.
Notification queue
Empty.
Login codes
Sent by resend.
Other email (invites, notices)
Provider: resend, sending as Hot Cues <hello@hotcues.app>.
Email deliverability (SPF/DMARC)
SPF: not found on hotcues.app. DMARC: not found on _dmarc.hotcues.app. (DNS lookup: queryTxt ENODATA hotcues.app)
Fix: Add the SPF and DMARC TXT records your provider's domain-verification page gives you (Resend/Postmark/SendGrid each show these, along with DKIM, under "Verify domain" or similar). Without them, mail from this domain is more likely to land in spam or get rejected outright.
Login codes on screen
On — codes appear on the sign-in screen for the 1 admin address only.
Fix: Fine while you set up. Remove HOTCUES_SHOW_LOGIN_CODES once email delivery works.
Platform admin
1 admin address configured.
Session secret
Set.
Public address
Links are built against https://www.hotcues.app.
Signup
Invite-only — new businesses need an invite link (or a configured admin email).
Sign-in
Password only. Set each person's password from People (or your own in Settings) — nobody signs in with an emailed code until this changes.
Break-glass login
DEV_USERNAME + DEV_PASSWORD are set — that exact email/password signs in regardless of the database, mail, or Supabase.
Fix: Fine while you're getting set up. Remove both variables once normal sign-in is solid, so this isn't a standing credential.
Background sending (cron)
CRON_SECRET is set — /api/cron/outbox drains the queue every 5 minutes.
Inbound email (replies land on their event)
Not configured — clients can receive your email but their replies never come back into the app.
Fix: Set EMAIL_INBOUND_SIGNING_SECRET (any strong value) and EMAIL_INBOUND_ADDRESS (the mailbox your provider's inbound parse delivers to), then point the provider's inbound webhook at /api/webhooks/email?secret=<value>.
Support inbox forwarding (Resend)
Mail to support@hotcues.app forwards to hello@giftedgeeksentertainment.com.
Card payments & staff payouts (Stripe)
Not configured — invoices work, but card capture and automated staff payouts stay off (manual/P2P recording still works).
Fix: Set STRIPE_SECRET_KEY + STRIPE_WEBHOOK_SECRET (and STRIPE_CONNECT_CLIENT_ID for staff payouts), then redeploy.
Photo & logo uploads
Configured (s3).
Gemini models
"gemini-3.1-pro", "gemini-3.1-flash" isn't available to this key, so Harmony chat uses gemini-3.8-flash; Contract drafting uses gemini-3.8-flash; Agent Cue uses gemini-3.8-flash; Harmony file reading uses gemini-3.8-flash; Suggestion extraction uses gemini-3.8-flash. Models on this key: gemini-2.5-flash, gemini-2.5-flash-lite, gemini-2.5-pro, gemini-3-flash-preview, gemini-3.1-flash-lite, gemini-3.1-flash-lite-preview, gemini-3.1-pro-preview, gemini-3.1-pro-preview-customtools, gemini-3.5-flash, gemini-3.5-flash-lite, gemini-3.6-flash, gemini-3.7-flash, gemini-3.8-flash.
Fix: On the free tier Google doesn't offer the Pro models. Turn on billing for the key's project in Google AI Studio, or pin a listed model with GEMINI_HARMONY_MODEL / GEMINI_CONTRACT_MODEL / GEMINI_INTAKE_MODEL / GEMINI_IMPORT_MODEL / GEMINI_EXTRACTION_MODEL.
Google connect (calendar push + Gmail sending)
Configured.
QuickBooks sync
Not configured — mirroring invoices and payments into QuickBooks stays off.
Fix: Set QBO_CLIENT_ID + QBO_CLIENT_SECRET (+ QBO_ENVIRONMENT), then redeploy. See docs/INTEGRATIONS.md for the wiring status.
Hot Cues subscriptions (Stripe billing)
Not configured — self-serve Free→Pro upgrades on the Settings page, with the plan synced from Stripe subscriptions (point a Stripe webhook at /api/webhooks/stripe-billing) stays off.
Fix: Set STRIPE_SECRET_KEY + HOTCUES_PRICE_YEARLY (and/or HOTCUES_PRICE_MONTHLY) + STRIPE_BILLING_WEBHOOK_SECRET, then redeploy. See docs/INTEGRATIONS.md for the wiring status.
Apple Music song search
Not configured — catalog search against Apple Music — the primary search backbone (Spotify's API is closed to new apps, so Apple is the one that scales to your tenants) stays off.
Fix: Set APPLE_MUSIC_TEAM_ID + APPLE_MUSIC_KEY_ID + APPLE_MUSIC_PRIVATE_KEY (MusicKit key from the $99/yr Apple Developer Program), then redeploy. See docs/INTEGRATIONS.md for the wiring status.
Spotify song search
Not configured — matching client song requests against the real streaming catalog stays off.
Fix: Set SPOTIFY_CLIENT_ID + SPOTIFY_CLIENT_SECRET, then redeploy. See docs/INTEGRATIONS.md for the wiring status.
Call transcription
Configured.
AI suggestion extraction
Configured.
In-app video calls
Not configured — real video rooms and call recording (Call transcription, above, needs a real recording to work with) stays off.
Fix: Set LIVEKIT_URL + LIVEKIT_API_KEY + LIVEKIT_API_SECRET, then redeploy. See docs/INTEGRATIONS.md for the wiring status.
Push notifications
Not configured — phone push delivery for the notification queue stays off.
Fix: Set EXPO_ACCESS_TOKEN, then redeploy. See docs/INTEGRATIONS.md for the wiring status.
Machine-readable version at /api/health. This page shows configuration state only — never data, secrets, or connection strings.