AI Voice Agent β€” Test UI

Minimal frontend to test all Week 1–4 functionality. Use with backend at ./run.sh or uvicorn main:app --reload --port 8000.

πŸ“ž Quick test call

Place an outbound AI call to any number. Uses TWILIO_PHONE_NUMBER from .env.


β€” Use same API URL as server (see Configuration)

    

⚠️ No transcript? Twilio Media Streams need HTTPS + wss:// port 443. If BASE_URL is http://, Twilio won't connect to the WebSocket β€” you'll hear "One moment" but no AI. Use ngrok or a server with SSL.

Configuration
(empty = this site’s origin)

πŸ“‹ Usage Guidelines

Week 1 β€” Missed call recovery

  • Search numbers: Area code (e.g. 415), country US β†’ Search β†’ pick a number.
  • Purchase: Phone number + optional client_id β†’ creates/assigns number.
  • Create client: Business name + Twilio number. Use purchased number or add manually.
  • Flow: Call β†’ no answer β†’ SMS sent β†’ lead logged to Sheets (if configured).

Week 2 β€” AI voice agent

  • Enable AI: Create client with "Use Media Stream" checked, or set use_media_stream=true.
  • Twilio: Point "A call comes in" to {BASE_URL}/webhooks/twilio/inbound-stream.
  • Flow: Call β†’ AI asks service, urgency, availability, next step β†’ lead saved in Leads.

Week 3 β€” Booking + CRM

  • Availability: Date (YYYY-MM-DD) + client_id β†’ slots for that day.
  • Confirm job: PATCH job with status=confirmed, optional scheduled_at, notes.
  • Confirmation: If BOOKING_CONFIRMATION_ENABLED, SMS/WhatsApp sent on confirm.

Week 4 β€” Follow-ups + AI callback

  • Follow-ups: Leads with next_step=follow_up β†’ 10min, 24h, 48h messages (needs FOLLOW_UP_ENABLED).
  • SMS reply YES: Creates callback request. With CALLBACK_ENABLED, backend places outbound AI call.
  • Callback requests: List high-intent leads who replied YES.

πŸ‘₯ Clients





    

πŸ“ž Phone Numbers (Week 1)




      



    

πŸ“Š Stats


    

πŸ“… Availability (Week 3)





    

πŸ“ Transcripts (Week 2)


    

🎯 Leads


    

πŸ“‹ Jobs (Week 3)


      
Update Job

    

πŸ“ž Calls


    

πŸ“² Callback Requests (Week 4)


    

⭐ Review Requests (Week 5)