Dashboard
Overview of activity across all your clients
Active Clients
—
businesses onboarded
Conversations Today
—
last 24 hours
Messages Today
—
last 24 hours
Total Messages
—
all time
Recent Conversations
View all →Loading…
Recent Activity Log
Loading…
Conversations
Click a conversation to read the full message thread
No conversations yet
Clients
Businesses using Alli as their AI receptionist
Loading…
Appointments
All bookings made by customers via AI chat or calls
Upcoming
All
CRM Follow-Ups
Loading…
Loading…
Loading…
Settings
API keys, server config, and connection setup
Server
OpenAI
Twilio
ElevenLabs
Meta API
Evolution API
Google Calendar
Connect
⚙️ Server Configuration
Default: 3000
Public HTTPS URL of this server. Used in Twilio webhook URLs. Use your ngrok URL for local testing.
PostgreSQL connection string. Run
npm run db:init after setting this.Set true to skip webhook signature checks during local development.
🤖 OpenAI
Get your API key at platform.openai.com → API Keys
📱 Twilio
Find these at console.twilio.com → Account → API keys & tokens
🎙️ ElevenLabs optional — for realistic voice
If not configured, calls will use Twilio's built-in text-to-speech (Amazon Polly). Get a key at elevenlabs.io.
Find voice IDs at elevenlabs.io/voice-library. You can also set per-client voice IDs when adding a client.
🟦 Meta WhatsApp Cloud API optional — official Meta Business API
The official Meta WhatsApp Business API — clients get a verified business number, green tick, and higher messaging limits.
Set up at developers.facebook.com → WhatsApp → Getting Started.
You create this. Enter the same value in Meta's webhook configuration as the Verify Token.
Permanent system user token from Meta Business Suite, or the temporary token for testing.
Meta webhook URL
In Meta App Dashboard → WhatsApp → Configuration, paste this URL and your Verify Token above.
Subscribe to the
messages webhook field.
Per-client setup
Each client needs a Meta Phone Number ID — found in Meta App Dashboard → WhatsApp → API Setup.
Set this when adding or editing a client.
⚡ Evolution API optional — WhatsApp with existing numbers
Evolution API lets your clients use their existing WhatsApp number — no Twilio number needed for WhatsApp.
Install Evolution API on your server, then connect it here.
The URL where Evolution API is running. Must be accessible from this server.
Set in Evolution API's
ENV as AUTHENTICATION_API_KEY.Per-client setup
Each client needs an Evolution Instance — one WhatsApp number connected to Evolution API.
Set the instance name when adding a client (the Instance Name field).
Evolution API webhook URL to configure per instance:
Evolution API webhook URL to configure per instance:
In Evolution API → Instances → your instance → Webhook, set this URL and enable the
MESSAGES_UPSERT event.📅 Google Calendar optional — sync appointments to client calendars
Uses a Google Service Account to sync appointments. Create one in
Google Cloud Console
→ enable Calendar API → download JSON key.
The
client_email from the service account JSON key file.The
private_key from the JSON file. Paste the entire key including BEGIN/END lines.Per-client setup
1. Ask the client to share their Google Calendar with the service account email above
2. In Alli → Edit client → enter their calendar ID (usually their Gmail) → enable sync
3. Done! Appointments will sync automatically.
2. In Alli → Edit client → enter their calendar ID (usually their Gmail) → enable sync
3. Done! Appointments will sync automatically.
🟦 WhatsApp Option 1 — Meta Cloud API (Official)
Best for clients who want a verified business number with green tick. Requires a Meta Business account.
Paste into Meta App Dashboard → WhatsApp → Configuration → Webhook URL. Set Verify Token in the Meta API tab above.
- 1Go to developers.facebook.com → Create App → Business → Add WhatsApp
- 2In API Setup, copy the Phone Number ID and add it to the client in Alli (Meta Phone Number ID field)
- 3In Configuration, paste the webhook URL above. Set Verify Token to match what you saved in Meta API tab
- 4Subscribe to the
messageswebhook field and save. Send a test message to verify
⚡ WhatsApp Option 2 — Evolution API (Keep Existing Number)
Best for clients who want to keep their existing WhatsApp number. No Meta approval needed.
Set this per Evolution instance: Instances → your instance → Webhook. Enable the
MESSAGES_UPSERT event.- 1Install Evolution API on your server, configure it in the Evolution API settings tab
- 2Create an instance in Evolution API, connect your client's existing WhatsApp number via QR code
- 3Set the webhook URL above on that instance and enable
MESSAGES_UPSERT - 4Add the instance name to the client in Alli (Evolution Instance field)
💬 WhatsApp Option 3 — Twilio (Sandbox / Dedicated Number)
Use Twilio's WhatsApp sandbox for quick testing, or purchase a dedicated Twilio WhatsApp number for production.
Paste this URL into Twilio Console as your WhatsApp webhook.
- 1Go to console.twilio.com → Messaging → Try it out → Send a WhatsApp message
- 2Under Sandbox Configuration, set "When a message comes in" to the URL above (HTTP POST)
- 3Save, then send a WhatsApp message to your sandbox number to test
📞 Voice (Phone Calls) Setup
Paste this URL into your Twilio phone number's voice webhook.
- 1Go to console.twilio.com → Phone Numbers → Manage → Active numbers
- 2Click your number → Voice Configuration → set "A call comes in" to the webhook URL above (HTTP POST)
- 3Save. Call the number to test — Alli will greet and respond
- 4Make sure BASE_URL in Server settings is a public HTTPS URL (use ngrok for local testing)
🎙️ For realistic AI voice, configure ElevenLabs. Without it, calls use Amazon Polly (Joanna voice).