Zero-fluff starter to:
- Answer inbound calls
- Ask 7 deterministic questions via speech
- Save a clean Markdown note to
data/ - Schedule an outbound follow-up call at the captured time
- On outbound, ask for the outcome and append it to the same
.md
- Twilio
- Buy/verify a Voice number
- Console → Phone Numbers → your number → Voice webhook:
- Request URL:
{BASE_URL}/voice/incoming - HTTP: POST
- Request URL:
- Local run
python -m venv .venv
source .venv/bin/activate # Windows: .venv\Scripts\activate
pip install -r requirements.txt
cp .env.example .env # fill values
python app.pyTunnel (choose one):
# ngrok example
ngrok http 5000
# then set BASE_URL to the https URL ngrok prints- Test
- Call your Twilio number, answer the 7 prompts. Speak clearly.
- Find the Markdown in
data/. - For follow-up, say a near-future time like
2025-08-19 17:10(24h clock). - When the time hits, you'll get an automated call asking for the Outcome; it appends to the same
.md.
- Uses Twilio speech recognition via
<Gather input="speech">. - Uses APScheduler for single-shot outbound scheduling.
- OpenAI + Notion are optional.
- For production, persist
CALL_STATEin Redis/Postgres and deploy on a public server (Render/Cloud Run/EC2).
— Generated 2025-08-19T09:47:36.084875