๐Ÿ“ž Call Catcher โ€” Setup & Configuration Guide

AI for Trades ยท April 2026

What Call Catcher Does

Call Catcher is an automated missed-call system for tradespeople. When a customer calls and the tradesperson doesn't answer, the system automatically sends an SMS asking what the job is. When the customer replies, AI triages the message and alerts the tradesperson via Telegram.

The Call Flow

  1. Customer calls the Twilio number (+447886074844)
  2. Twilio forwards the call to the tradesperson's real mobile (30 second timeout)
  3. If unanswered โ€” auto-SMS sent to customer: "Sorry we missed your call โ€” what's the job?"
  4. Customer replies by SMS
  5. Claude AI triages the reply as EMERGENCY, QUOTE, or GENERAL
  6. EMERGENCY โ€” draft reply sent to Telegram for tradesperson approval (Send / Edit / Skip buttons)
  7. QUOTE / GENERAL โ€” auto-reply sent immediately, Telegram alert fired

How the Tradesperson Connects Their Number

The tradesperson does NOT give out the Twilio number directly. They keep their existing mobile number. They set up a conditional call divert so unanswered calls forward to the Twilio number automatically. Customers never know Twilio exists.

Setting Up Call Divert (UK Mobiles)

Dial this code once from the tradesperson's mobile:

**61*+447886074844#

Works on EE, O2, Vodafone, Three. To cancel the divert at any time:

##61#
๐Ÿ’ก The tradesperson keeps their existing number โ€” customers call their normal number, no answer diverts to Twilio, auto-SMS fires. Invisible to the customer.

System Configuration

Twilio Number+447886074844
Tradesperson Number+447484321578 (update per client)
VPS Hostsrv1484566.hstgr.cloud (Hostinger)
Webhook Port5010
Voice Webhookhttp://187.77.153.44:5010/voice
SMS Webhookhttp://187.77.153.44:5010/sms
Telegram Webhookhttp://187.77.153.44:5010/tg-webhook
Script Location/home/keiths/callcatcher/webhook.py
PM2 Processcallcatcher (id 10)
Database/home/keiths/callcatcher/callcatcher.db (SQLite)
Telegram Chat ID353484746

Twilio Dashboard Setup

Log in at console.twilio.com โ†’ Phone Numbers โ†’ Manage โ†’ Active Numbers โ†’ +447886074844

Voice Configuration

A call comes inWebhook โ€” HTTP POST โ†’ http://187.77.153.44:5010/voice

Messaging Configuration

A message comes inWebhook โ€” HTTP POST โ†’ http://187.77.153.44:5010/sms

Environment Variables (.env)

Location: /home/keiths/callcatcher/.env

TWILIO_NUMBER+447886074844
TRADESPERSON_NUMBERPlumber's real mobile number
TELEGRAM_BOT_TOKENBot token (in .env file)
TELEGRAM_CHAT_ID353484746
ANTHROPIC_API_KEYsk-ant-... (in .env file)
TWILIO_ACCOUNT_SIDAC... (in .env file)
TWILIO_AUTH_TOKENIn .env file

AI Triage Categories

Category Action Examples
EMERGENCY Requires Telegram approval Burst pipe, flood, no heating, gas smell, leak causing damage
QUOTE Auto-reply sent New job enquiry, price request
GENERAL Auto-reply sent Anything else

VPS Management Commands

Check statuspm2 status callcatcher
View logspm2 logs callcatcher --lines 30
Restartpm2 restart callcatcher
SSH into VPSssh keiths@srv1484566.hstgr.cloud

Testing the System

  1. Set up call divert on a test phone: **61*+447886074844#
  2. Call the test phone from another phone โ€” let it ring out
  3. Caller should receive auto-SMS: "Sorry we missed your call โ€” what's the job?"
  4. Reply with a test message e.g. "burst pipe in kitchen"
  5. Telegram should show EMERGENCY alert with Send / Edit / Skip buttons