5-Minute Setup Guide
Wire up Twilio, Calendly, and GoHighLevel to run the demo
Prerequisite: The app must be publicly accessible. The webhook URL below must be reachable from Twilio's servers.
STEP 1
Point Twilio to your webhook
In your Twilio console, go to your phone number and set the voice webhook:
HTTP Method: POST
Voice Request URL: https://leadloop-26.polsia.app/voice/inbound
Set "A call comes in" to this URL. Save. Now your Twilio number will forward all inbound calls to the AI agent.
STEP 2
Set your API keys as environment variables
Set these in your Render dashboard (Settings → Environment) or in your .env file:
# Twilio (get from console.twilio.com)
TWILIO_ACCOUNT_SID=ACxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
TWILIO_AUTH_TOKEN=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
# OpenAI (platform.openai.com)
OPENAI_API_KEY=sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
# Calendly (connect at calendly.com/integrations/api_webhooks)
CALENDLY_API_KEY=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
CALENDLY_EVENT_TYPE_URI=https://api.calendly.com/event_types/xxxxxxxxxxxxxxx
# GoHighLevel (app.gohighlevel.com → Settings → API Keys)
GHL_API_KEY=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
GHL_LOCATION_ID=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
STEP 3
Test the agent
Call your Twilio number. The AI will answer, greet the caller, collect their name and need, offer appointment slots, and book a time. Check /admin to see real-time call logs and transcripts.
INTEGRATION STATUS
What's wired up
⚠️ Twilio webhook endpoint
⚠️ Calendly availability + booking
⚠️ GoHighLevel CRM contact creation
✅ OpenAI GPT-4o-mini for call qualification
✅ Call transcripts stored in PostgreSQL
Missing keys? The agent still works — it just skips the integrations you haven't configured. Add keys to enable them.