← Back to CallKite
1
Get your CallKite webhook URL

This is the URL you'll give Twilio — where CallKite listens for incoming calls. Your URL is:

https://callkite.polsia.app/api/twilio/webhook

You'll need this URL for Step 2. Keep it handy.

2
Configure Twilio to forward missed calls

You need a Twilio phone number. If you don't have one, get one here.

Then configure the webhook:

  1. Go to console.twilio.com
  2. Click Phone Numbers → select your number
  3. Scroll to "A call comes in" — set it to Webhook
  4. Paste your webhook URL: https://callkite.polsia.app/api/twilio/webhook
  5. Set HTTP method to POST
  6. Save
Important: Set the webhook to fire on all call statuses — "completed", "busy", "failed", and "no-answer". CallKite checks the call duration on its side, so the webhook fires for every call and CallKite decides whether to reply.

Also configure SMS webhook (so customer replies route back to CallKite):

  1. In the same Twilio phone number config, scroll to "A message comes in"
  2. Set it to Webhook → URL: https://callkite.polsia.app/api/twilio/sms-webhook
  3. Set HTTP method to POST
  4. Save
3
Enter Twilio credentials in CallKite

Configure your Twilio credentials so CallKite can send SMS on your behalf:

Open credentials settings →

You'll need your Account SID, Auth Token, and Twilio phone number from console.twilio.com.

Note: Once credentials are configured, CallKite will automatically text back anyone who calls and doesn't get through within 30 seconds. No manual triggering needed.
4
Verify your setup

Test that CallKite is reachable from Twilio:

Webhook health check URL
https://callkite.polsia.app/api/twilio/validate

Then test end-to-end: call your Twilio number from a personal phone. You should receive an SMS within 30 seconds if the call wasn't answered.

View activity in your dashboard →

5
Customize for your trade (optional)

CallKite generates different SMS copy depending on your trade. Preview how each sounds:

"Hey, saw you called [Company]. What do you need? We'll get right back to you."

To change your trade setting, pass ?trade=hvac (or plumbing/roofing) as a query param on the webhook URL, or contact support to set a default.

You're live. Here's what happens next:
  • Customer calls your Twilio number → Twilio forwards to CallKite webhook
  • CallKite detects the call wasn't answered within 30 seconds
  • OpenAI generates a trade-specific text message
  • CallKite sends the SMS from your Twilio number (your customers see your real business number)
  • Customer replies → routes back through CallKite → you get the full conversation
Open dashboard →