Configuration
All configuration lives in a single .env file at the repository root. This page is the reference for the CallMineAI-specific keys; standard Laravel keys (mail, session, cache) behave as usual.
Provider keys
Most integration secrets can be managed in the admin UI (ElevenLabs keys, SMTP, WhatsApp provider mode, payment gateways). The .env values are bootstrap defaults / fallbacks.
App & seeding
APP_NAME="CallMineAI"
APP_ENV=local # production in prod
APP_DEBUG=true # false in prod
APP_URL=http://localhost:8000
APP_LOCALE=en
APP_DEMO_MODE=false # true = read-only demo (no create/update/delete)
Seed accounts (used once by php artisan db:seed — uncomment to override):
ADMIN_SEED_EMAIL=admin@callmineai.com
ADMIN_SEED_PASSWORD=123456
CLIENT_SEED_EMAIL=customer@callmineai.com
CLIENT_SEED_PASSWORD=123456
CLIENT_SEED_CLIENT_NAME="Demo Customer"
Database, cache & queue
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=callmineai
DB_USERNAME=root
DB_PASSWORD=
# Use "redis" when available; "database" is the zero-dependency fallback
QUEUE_CONNECTION=database
CACHE_STORE=database
SESSION_DRIVER=database
Queue is required
Calls dial through the queue. Use a real queue driver and keep a worker running — see Deployment.
AI / LLM brain
Powers the agent conversation and call analysis (sentiment + lead scoring).
| Key | Purpose | Default |
|---|---|---|
AI_PROVIDER | Active AI provider | openai |
OPENAI_API_KEY | OpenAI key | — |
OPENAI_MODEL | Default model | gpt-4o-mini |
OPENAI_MAX_TOKENS | Max tokens per completion | 4096 |
AI_PROVIDER=openai
AI_OPENAI_ENABLED=true
OPENAI_API_KEY=
OPENAI_MODEL=gpt-4o-mini
See Voice & AI for per-model credit costs.
Voice (ElevenLabs)
Keys are managed in Admin → ElevenLabs; these are a bootstrap fallback.
| Key | Purpose | Default |
|---|---|---|
ELEVENLABS_ENABLED | Enable the voice stack | true |
ELEVENLABS_API_KEY | Fallback key | — |
ELEVENLABS_MAX_CONCURRENCY | Concurrency cap per key | 30 |
ELEVENLABS_DEFAULT_VOICE_ID | Default voice | — |
ELEVENLABS_TTS_MODEL | TTS model | eleven_turbo_v2_5 |
Calling economics
Overridable in admin settings.
| Key | Purpose | Default |
|---|---|---|
CALL_CREDIT_PRICE_CENTS | Price of one credit | 10 |
CALL_VOICE_COST_CENTS | Voice cost per minute | 10 |
CALL_NUMBER_COST_CREDITS | Monthly cost per phone number | 50 |
CALL_DEFAULT_LLM | Default LLM | gpt-4o-mini |
See Billing & Credits.
Telephony (Twilio)
Without credentials, number search/buy is disabled but manual (BYO) numbers still work. See Telephony.
TWILIO_ENABLED=true
TWILIO_ACCOUNT_SID=
TWILIO_AUTH_TOKEN=
TWILIO_DEFAULT_FROM=
TWILIO_STATUS_CALLBACK_URL="${APP_URL}/webhooks/twilio/status"
TWILIO_RECORDING_CALLBACK_URL="${APP_URL}/webhooks/twilio/recording"
Messaging add-on (Email + WhatsApp)
Live provider mode is set in Admin → Messaging. See Messaging.
MESSAGING_ENABLED=true
WHATSAPP_PROVIDER_MODE=disabled # disabled | meta | whatsway | both
META_APP_ID=
META_APP_SECRET=
META_CONFIG_ID=
META_VERIFY_TOKEN=callmineai
META_GRAPH_VERSION=v21.0
WHATSWAY_BASE_URL=
WHATSWAY_API_KEY=
Billing gateways
Enable a gateway by setting its *_ENABLED=true and filling credentials. Success/cancel URLs point at the customer billing/pricing pages.
BILLING_STRIPE_ENABLED=false
STRIPE_SECRET=
STRIPE_WEBHOOK_SECRET=
BILLING_PAYPAL_ENABLED=false
PAYPAL_CLIENT_ID=
PAYPAL_CLIENT_SECRET=
PAYPAL_SANDBOX=true
BILLING_PADDLE_ENABLED=false
PADDLE_API_KEY=
PADDLE_ENVIRONMENT=sandbox
PADDLE_WEBHOOK_SECRET=
SIP trunk add-on
See SIP trunks.
SIP_ENABLED=true
SIP_DEFAULT_ENGINE=elevenlabs # elevenlabs | openai
OPENAI_REALTIME_MODEL=gpt-4o-realtime-preview
Mobile app links (optional)
Landing-page App Store / Google Play badges (omit until your apps are live):
APP_STORE_URL=
GOOGLE_PLAY_URL=