T
Threadbook
demo build for the fictional Sunfield Solar

SMS outreach, AI conversation, appointment booking

Text a lead list. Each reply gets answered until a consult is on a rep's calendar.

Import, campaign, delivery tracking, an assistant that qualifies by text and books real openings, and role-based dashboards. Focused on that one job. Not a CRM.

Try this: open the console, then the phone in a second window. Text back as the lead and watch the appointment appear.

1 · Import and set up

  • Drop a CSV, map the columns, and every row is checked: number format, duplicates, consent source, opt-out and DNC lists. Rejected rows say why.
  • Write the campaign text with merge fields, see the segment count, set the send window and the questions the assistant should ask.

2 · Send and talk

  • Launch, and each message moves queued, sent, delivered or failed as the carrier reports back. STOP and HELP are handled in code before anything else sees the text.
  • Replies land in one inbox. The assistant answers each thread; a person can take any thread over with one click.

3 · Qualify and book

  • The assistant asks the qualifying questions one at a time, then offers two real openings pulled from the reps' calendars.
  • When the lead picks one, the appointment is created, assigned round-robin, and pushed to that rep's Google Calendar.

4 · Manage and measure

  • Appointments with reschedule, cancel and sync status. Week calendars per rep. A dashboard with delivery, reply, quality and booking numbers.
  • Admins see everything. Reps see their own threads, bookings and calendar, nothing else.

What runs for real in this demo, and what is simulated

Real
  • The assistant's replies in the phone simulator (Claude, structured output, rate-limited).
  • Import validation: E.164 normalisation, duplicates, consent, suppression list.
  • SMS segment math (GSM-7 160/153, UCS-2 70/67), quiet hours by lead time zone.
  • Availability from working hours, busy blocks and existing bookings; round-robin assignment.
  • STOP, HELP, START and AGENT keyword handling in code, before any model call.
Simulated
  • Carrier delivery receipts and lead replies after a launch (scripted, deterministic).
  • Google Calendar writes and the busy blocks read from it.
  • The national DNC scrub (two fixed numbers stand in for registry hits).
  • A2P 10DLC brand and campaign status (the panel shows what registration records).
  • Data lives in this browser and resets each day. Production schema: /stack.

Sunfield Solar, its people and every phone number here are fictional. A LeverKit demo build.