Skip to main content

Conversations

½ morning
lost calling customers about ETAs
"Half my morning was calling customers to tell them when the tech was coming" — Jobber user; every manual status call is recoverable time
~80%
of missed calls become lost leads
Field service calls go unanswered during active jobs — the prospect calls a competitor within minutes; AI receptionist eliminates the window
<10 sec
is the response window that converts
SMS follow-up within 10 seconds of a missed call converts 4× better than callback within an hour — speed is the differentiator
1 inbox
vs 4 fragmented channels
SMS, email, voicemail, and notes spread across apps create dropped threads — unified conversation history is the fix, not another notification

Status: Concept — Last Updated: 2026-05-15

The Conversations module is a unified inbox for every message channel the business uses — SMS, email, inbound calls, missed calls, AI receptionist interactions, and internal CRM notes. Modeled after GoHighLevel's conversation architecture. Every message thread is per-contact, not per-channel — the full history of how your business has talked to a customer lives in one place.

AllSMSEmailCallsUnread
SG
Sarah Garcia2m ago
Got it, see you then!
MP
Marcus Patel1h ago
Can you do Tuesday morning?
LN
Linda Nguyen3h ago
Invoice looks good, paying now
DW
Derek WilsonYesterday
Appreciate the quick response
SG
Sarah Garcia
SMS · (208) 555-0142
Hi, just confirming my deck appointment tomorrow at 2pm?
9:02am
Yes, confirmed for May 16 at 2:00pm — 445 Maple St. We'll reach out the morning of!
9:04am
Perfect. Will Jake be the one coming out?
9:07am
Yep, Jake Torres. He's got all the job details. See you tomorrow!
9:09am
Got it, see you then!
9:11am

Layout

The Conversations page uses a two-panel layout:

  • Left panel: List of all conversation threads, sorted by most recent activity. Each thread shows contact name, message preview, channel icon, and time.
  • Right panel: Full message thread for the selected contact — all messages across all channels in chronological order.

Filter buttons at the top of the left panel: All / SMS / Email / Calls / Unread


Sample Thread

A conversation thread with a customer shows messages from all channels interleaved:

SG
Sarah Garcia
Full thread — May 15
SMSMay 15 · 9:02am

"Hi, just wanted to confirm my deck appointment for tomorrow at 2pm?"

Sarah Garcia
May 15 · 9:04amSMSAI Receptionist

"Hi Sarah! Yes, your appointment is confirmed for May 16 at 2:00pm at 445 Maple Street. Our team will reach out the morning of. Is there anything else I can help with?"

📞
Inbound CallMay 15 · 2:47pm · 3m 12s

Transcribed: "Called to ask if we can start at 1pm instead. Agreed to move to 1:30pm."

📝
CRM NoteMay 15 · 3:01pmJake Torres

"Moved appointment to 1:30pm per customer request. Confirmed."

May 15 · 3:02pmSMS

"Hi Sarah — your appointment has been updated to 1:30pm tomorrow. See you then!"


Channel Coverage

SMS
2-way
Full thread history
Email
2-way
Threading by subject
Inbound Calls
Inbound
AI transcribes + stores recording
Missed Calls
Inbound
Alert shown, AI auto-responds
Voicemail
Inbound
AI transcribes
AI Receptionist
Inbound
Full interaction log
CRM Notes
Internal
Team-only, not sent to customer
Portal Messages
2-way
Messages from customer portal
PTT Transcription
Internal
Push-to-talk auto-transcribed

AI Suggestions

When a message arrives, the AI analyzes the content and presents suggestions inline below the thread:

Draft Reply
Suggested response the team member can send as-is or edit before sending.
Suggested Action
"Create appointment", "Send estimate", "Update project status" — based on message content.
Urgency Flag
Flags messages that look like complaints, payment disputes, or time-sensitive requests.

AI suggestions appear below the message thread. They don't send anything automatically — a human always approves.


Reply Tabs

Within any thread, the compose area has three tabs:

SMS
Send text message
Email
Send email
AI Reply
AI drafts response for review

Compose area → Type message here or use a template...


Contact Context Panel

While viewing a conversation, a sidebar shows context about the contact without leaving the thread:

SG
Sarah Garcia
(208) 555-0142
Customer
🔨
Open Projects
Deck Build — In Progress
💰
Outstanding Invoices
$1,850 unpaid · INV-0041
📅
Recent Appointments
Next: May 16 @ 1:30pm
🏷️
Tags
Repeat Customer · Deck · VIP
Quick Actions
Send EstimateCreate ProjectSchedule Appt

Channel
SMS · Email · Calls · All
Status
Unread · Read · Snoozed · Archived
Assigned To
Filter by responsible team member
Contact Type
Lead · Customer · Prospect
Date Range
Custom date picker
Contains Text
Full-text search across all message content
Has Attachment
Filter for threads with photo or file attachments
AI Flagged
Show only threads the AI marked as needing attention

Bulk Actions

Mark as Read
Mark multiple threads read at once
Archive
Remove from active inbox without deleting
Assign
Reassign multiple threads to a team member
Export
Export thread content to PDF or CSV
Send Campaign
Select contacts for a bulk SMS broadcast

Notifications & Assignment

New inbound message
In-app alert + push to assigned team member
Missed call
Alert to dispatcher or owner
AI escalation
AI flags a call it couldn't handle — alert to owner
Unread for 2+ hours
Reminder notification to assigned team member
Unread for 24 hours
Escalation notification to manager
New lead message
Notification to team member assigned to lead pipeline

Assignment Rules

New contact / no prior thread
Assigned to the team member who created the contact, or round-robin if configured
Reply to existing thread
Stays assigned to the original assignee
AI receptionist handoff
Assigned to dispatcher or owner (configurable)
Missed call from existing contact
Assigned to the contact's owner
Bulk import
Assigned per the import mapping or round-robin