Required providers
Convex — backend and database
Convex — backend and database
Convex is the primary backend for LobbyStack. It stores all your data (contacts, calls, appointments, knowledge base, settings), runs the serverless functions that power the application, and handles authentication. Your data lives in a Convex project tied to your account.Sign up: convex.dev — a free tier is available.What you get:
- A Convex project with a deployment URL and site URL
- Access to the Convex dashboard for monitoring and managing your data
| Variable | Where to find it |
|---|---|
CONVEX_URL | Convex dashboard → your project → Settings → deployment URL |
CONVEX_SITE_URL | Convex dashboard → your project → Settings → HTTP actions URL |
VITE_CONVEX_URL | Same value as CONVEX_URL, set as a build variable |
VITE_CONVEX_SITE_URL | Same value as CONVEX_SITE_URL, set as a build variable |
Twilio — phone numbers and calls
Twilio — phone numbers and calls
Twilio provides your dedicated business phone number, handles all inbound and outbound voice calls, and delivers SMS messages. Every call your AI receptionist answers goes through Twilio.Sign up: twilio.com — a free trial account is available.What you need to set up:
- Purchase a phone number in the Twilio Console.
- Create an API key in Twilio Console → Account → API keys & tokens.
- After deploying the voice gateway, configure your Twilio phone number’s voice webhook to
POST https://your-voice-gateway.example.com/twilio/voice/inbound.
- Account SID and Auth Token (from the Console dashboard)
- API Key SID and API Secret (from the API keys page)
- A phone number for inbound and outbound calls
| Variable | Where to find it |
|---|---|
TWILIO_ACCOUNT_SID | Twilio Console → home dashboard |
TWILIO_AUTH_TOKEN | Twilio Console → home dashboard |
TWILIO_API_KEY | Twilio Console → Account → API keys |
TWILIO_API_SECRET | Shown once when you create the API key |
TWILIO_ALERT_SMS_FROM | Your Twilio phone number or Messaging Service SID |
OpenAI — AI voice conversations
OpenAI — AI voice conversations
OpenAI powers the AI voice conversations in LobbyStack through the Realtime API. The AI receptionist uses OpenAI to understand what callers say and respond naturally in real time.Sign up: platform.openai.comWhat you need:
- Access to the OpenAI Realtime API (available on Pay-as-you-go accounts)
- An API key from the OpenAI platform
| Variable | Where to find it |
|---|---|
OPENAI_API_KEY | OpenAI platform → API keys |
The OpenAI Realtime API is a usage-billed service. Your OpenAI account will be charged directly for voice processing usage in your self-hosted deployment — this is separate from any LobbyStack plan pricing.
Optional providers
Google Cloud — Google Calendar integration
Google Cloud — Google Calendar integration
Required if you want your AI receptionist to check availability and book appointments in Google Calendar.Sign up: console.cloud.google.comWhat you need to set up:
- Create a project in Google Cloud Console.
- Enable the Google Calendar API for your project.
- Create an OAuth 2.0 Client ID (Web application type) under APIs & Services → Credentials.
- Add your Convex HTTP endpoint as an authorized redirect URI.
| Variable | Where to find it |
|---|---|
GOOGLE_CLIENT_ID | Google Cloud Console → APIs & Services → Credentials |
GOOGLE_CLIENT_SECRET | Same credentials page |
GOOGLE_REDIRECT_URI | The redirect URI you registered, pointing to your Convex HTTP endpoint |
Microsoft Azure — Outlook calendar integration
Microsoft Azure — Outlook calendar integration
Required if you want your AI receptionist to check availability and book appointments in Microsoft Outlook or Microsoft 365 calendars.Sign up: portal.azure.comWhat you need to set up:
- Register a new application in Azure Active Directory → App registrations.
- Add the required Microsoft Graph calendar permissions.
- Create a client secret under Certificates & secrets.
- Add your Convex HTTP endpoint as a redirect URI.
| Variable | Where to find it |
|---|---|
MICROSOFT_CLIENT_ID | Azure portal → your app registration → Overview |
MICROSOFT_CLIENT_SECRET | Azure portal → your app registration → Certificates & secrets |
MICROSOFT_TENANT_ID | Use common unless you are limiting to a single Azure tenant |
MICROSOFT_REDIRECT_URI | The redirect URI you registered in your app registration |
Resend — transactional email
Resend — transactional email
Resend sends auth emails — specifically password reset emails and email change confirmation messages. Without Resend, users cannot reset their passwords or confirm email address changes.Sign up: resend.com — a free tier is available.What you need to set up:
- Verify your sending domain in the Resend dashboard.
- Create an API key under API Keys.
| Variable | Where to find it |
|---|---|
RESEND_API_KEY | Resend dashboard → API Keys |
EMAIL_FROM_ADDRESS | Your verified sender address, e.g. [email protected] |
Firecrawl — website knowledge import
Firecrawl — website knowledge import
Firecrawl enables the website knowledge import feature. When you enter a URL in your knowledge base settings, LobbyStack uses Firecrawl to crawl that site and extract its content, which the AI can then reference when answering caller questions.Sign up: firecrawl.devEnvironment variables to set:
| Variable | Where to find it |
|---|---|
FIRECRAWL_API_KEY | Firecrawl dashboard → API Keys |
Google Gemini — knowledge base embeddings
Google Gemini — knowledge base embeddings
Google Gemini generates the text embeddings that power semantic search in your knowledge base. When a caller asks a question, LobbyStack uses embeddings to find the most relevant answers from your documents and FAQs. Without Gemini, knowledge base search uses a simpler fallback method.Sign up: aistudio.google.comEnvironment variables to set:
| Variable | Where to find it |
|---|---|
GOOGLE_GENERATIVE_AI_API_KEY | Google AI Studio → Get API key |
Polar — subscription billing
Polar — subscription billing
Polar powers subscription billing. You need this only if you are operating a multi-tenant deployment where your own customers pay for access to LobbyStack — for example, if you are building a product on top of the LobbyStack codebase. For a single-business self-hosted installation, Polar is not needed.Sign up: polar.shWhat you need to set up in Polar:
- Create a Polar organization.
- Create three products: a Pro monthly recurring product, an AI SMS monthly add-on product, and an AI SMS one-time setup product.
- Configure a webhook pointing to your Convex HTTP endpoint at
/polar/events.
| Variable | Where to find it |
|---|---|
POLAR_ORGANIZATION_TOKEN | Polar dashboard → Settings → API |
POLAR_WEBHOOK_SECRET | Polar dashboard → your webhook configuration |
POLAR_SERVER | Set to production or sandbox to match your token |
POLAR_PRO_PRODUCT_ID | Polar dashboard → your Pro product → product ID |
POLAR_AI_SMS_ADDON_PRODUCT_ID | Polar dashboard → your AI SMS add-on product → product ID |
POLAR_AI_SMS_SETUP_PRODUCT_ID | Polar dashboard → your AI SMS setup product → product ID |
