Conversation ledger
Every AI and human message needs to land in one visible thread
This is the part GHL papered over for you. The replacement has to feel cleaner: one customer timeline, clear ownership, and no side-channel texts that clients can’t audit later.
Inbox UX
Chatwoot
Workflow brain
Inngest
State store
Postgres
| Thread | Tenant | Assigned | Status | Last activity |
|---|---|---|---|---|
Roof repair + gutter quote Kylie Foster · Customer asked for a combined quote after AI answered serviceability questions. | Hunter Exteriors | Jesse | awaiting human | 12h ago |
Voice AI callback request Rick Salazar · AI followed up after missed call and customer asked for a callback slot. | Osprey Solutions | Nigel | live | 12h ago |
Spring cleanup scheduling Alison Marks · Conversation ended after booking window was sent and customer confirmed. | B&W Outdoor | Alex | resolved | 16h ago |
Non-negotiables
What the v1 inbox must do
- • Show every inbound and outbound SMS in one timeline.
- • Make it obvious when AI is active, paused, or handed to a human.
- • Let the client jump in without breaking automation history.
- • Preserve notes from voice calls, forms, and booking actions.
- • Keep tenant-level context outside the inbox so the product stays yours.