Stripe Checkout
Not configuredWithout STRIPE_SECRET_KEY there is no charge. The order, visit, or enrollment stays on the demo path.
Los Angeles · Install · Materials · Academy
Telephony, CRM, and payments. A detected key is marked. Anything not connected yet says Coming soon.
This only says whether a variable is set. It does not show keys, emails, or numbers.
Without STRIPE_SECRET_KEY there is no charge. The order, visit, or enrollment stays on the demo path.
Without those variables the email is skipped. The reference stays on screen.
Without STAFF_NOTIFY_EMAIL there is no internal copy.
Without those three variables no SMS is sent. Consent is still stored.
Without TWILIO_WHATSAPP_FROM no WhatsApp is sent.
CRON_SECRET is set. GET or POST /api/cron/publish requires Authorization: Bearer and that variable.
Sample text. Opening this page does not send email, SMS, or WhatsApp.
Subject: LA Epoxi Central · LEC-DEMO Hi Alex, We received your visit. Reference: LEC-DEMO Garage · sample visit No card was charged on this site. The team confirms the next step. LA Epoxi Central
SMS
LA Epoxi Central: LEC-DEMO is in. No charge on the site. The team confirms.
Hi Alex, we received your visit LEC-DEMO. Garage · sample visit No charge on the site. The team confirms.
PostgreSQL / SQLite · Connected
Optional brain for EPOXI BOT. Rules still answer without it.
Variable: OPENAI_API_KEY
Schemas live in /sanity. Seed content ships in code.
Variable: SANITY_PROJECT_ID
Voice requires X-Twilio-Signature. A missing token or bad signature returns 403. SMS and WhatsApp send only with consent plus from-numbers.
Variable: TWILIO_AUTH_TOKEN
Webhook: /api/webhooks/twilio
The lead payload posts here when GOHIGHLEVEL_WEBHOOK_URL is set.
Variable: GOHIGHLEVEL_API_KEY
Webhook: /api/webhooks/crm
A bearer token is attached when CRM_WEBHOOK_URL points at HubSpot.
Variable: HUBSPOT_ACCESS_TOKEN
Webhook: /api/webhooks/crm
Same lead POST as the other CRMs.
Variable: SALESFORCE_WEBHOOK_URL
Webhook: /api/webhooks/crm
Inbound CRM posts require this secret, as a bearer token or HMAC. Unset requests are rejected.
Variable: CRM_WEBHOOK_SECRET
Webhook: /api/webhooks/crm
Shared rate limit when UPSTASH_REDIS_REST_TOKEN is set too. Production without Upstash uses the RateBucket table.
Variable: UPSTASH_REDIS_REST_URL, UPSTASH_REDIS_REST_TOKEN
Without PAYPAL_CLIENT_ID, PAYPAL_CLIENT_SECRET, PAYPAL_WEBHOOK_ID, and PAYPAL_ENV the button says Coming soon and does not mark a payment.
Voice connector not connected yet.
Call events are not received yet.
A booking already opens a draft and downloads an .ics file. Outlook sync is not connected.
Without the service account, the owner sets hours and blocked dates. Confirmation includes an .ics file. No event is invented.