SmileLineDocs
Inbox

Working with conversations

Read, answer and triage patient messages from every channel in one place.

The Inbox gathers every WhatsApp, SMS and email exchange into one screen. This page shows you how to read a conversation, reply, leave internal notes, attach files, and keep the queue tidy with assign, snooze and close.

Open the Inbox from the sidebar. The page has three panes: the conversation list on the left, the open thread in the middle, and the contact panel on the right.

The Inbox with the conversation list, an open thread and the contact panel

Find the conversation you need

  • Switch between the Open, Snoozed and Closed tabs above the list. Open is everything that still needs attention.
  • Narrow the list with the channel filter (All channels, WhatsApp, SMS, Email), the assignee filter (Mine, Unassigned, Anyone, or a colleague), and the Unread toggle.
  • Type in Search conversations to match a contact's name, phone number, email address or the last message.

Unread conversations show a badge with the unread count, and the header shows how many conversations are unread in total. New inbound messages appear in the list the moment they arrive.

The list works from the keyboard: press j/k (or the arrow keys) to move, Enter to open, and Esc to close the thread. Opening a conversation marks it as read.

Read the thread

Messages from the patient sit on the left; yours sit on the right with delivery ticks — a clock while sending, one tick for Sent, two for Delivered, and two coloured ticks for Read. Scroll up to load older messages. Emails show their subject line; click Show full email to expand a long one.

A conversation can span more than one channel — the same contact's WhatsApp, SMS and email messages live in a single thread, each message marked with its channel icon. A parent, guardian or guarantor may represent more than one patient through that contact. In that case, each message records which patient it concerns before consent, timeline and automation effects are applied.

When a practice retention period removes patient-bearing message content, the thread keeps the message's direction, channel, time and delivery state but replaces its body with Content removed by your data retention policy.

Reply

Open the conversation and click into the composer at the bottom. Make sure the Reply tab is active.

If the thread spans several channels, check the channel picker next to the attach button. It defaults to the channel the patient last wrote on; click it to reply on a different one.

If the contact represents more than one patient, use Message about to choose the patient this reply concerns. SmileLine uses that choice for consent checks, the patient timeline and automation.

Type your message. For email replies you can set a subject — leave it blank to reply on the thread's latest subject.

Press Enter or click Send. Shift+Enter adds a new line instead.

Email replies use the same visual editor as email templates, so a reply can be formatted rather than plain text: type / for layout blocks, select text for formatting, and paste or drag in an image to add one inline. Because Enter makes a new paragraph there, an email reply sends with Cmd/Ctrl + Enter or the Send button. Every other channel — and internal notes — stays a plain text box where Enter sends.

You can't send on a channel that is disconnected or that the patient has opted out of — the composer tells you why and lets you pick another channel. WhatsApp replies are also subject to the 24-hour window; see Channels.

When a shared family contact replies and the message cannot honestly be tied to one patient, SmileLine stops reply-sensitive nurture for every patient that contact represents. It does not put the reply on one patient's timeline or count it as that patient's campaign response.

Attach a file

Click the paperclip icon in the composer, pick a file, and send. For email, you can send up to 8 attachments, each no larger than 10 MiB and no larger than 18 MiB combined. SMS doesn't support attachments, so the paperclip is hidden on SMS replies.

SmileLine keeps an uploaded file private until you send the message. The upload expires after one hour if you abandon the draft, and each upload can be sent only once. If it expires, upload the file again. Recognised image formats can be previewed in the thread; documents and unknown file types download instead of opening as a page.

Leave an internal note

Switch the composer to the Note tab, write your note, and click Add note. Notes appear in the thread on an amber card marked "not visible to the patient" — they are never sent. Use them for handovers and context.

Triage a conversation

The thread header carries the triage actions:

  • Click Close when the conversation is dealt with (or Reopen to bring it back).
  • Open the actions menu (the button) for the rest:
    • Assign to — hand the conversation to a colleague, or set it back to Unassigned.
    • Snooze — hide it until Later today (+3h), Tomorrow 9:00 or Next Monday 9:00.
    • Mark unread — put it back in the unread queue for a second look.
    • Link to patient — see below.

The conversation actions menu with assign and snooze options

Snoozed conversations reopen on their own when the timer runs out — and immediately if the patient replies. An inbound message also reopens a closed conversation, so nothing slips past the Open tab.

Messages from a number or address SmileLine doesn't recognise arrive as an "Unknown contact". Link them so the exchange lands on the patient's timeline:

Click Link patient in the thread header (or Link to patient in the contact panel).

Search by name, phone or email and pick the right patient — or click Create a new patient.

The conversation and all its past messages are added to the patient's timeline.

A reachable contact has one conversation thread. If the contact you link already has one, the two threads merge into it automatically. For a shared family contact, choose the represented patient for each new outbound message; SmileLine never guesses from the shared phone number or email address.

Once linked, the contact panel on the right shows the patient's details and journeys. You can edit contact fields directly there, or click Open full patient record.

Retry a failed message

Most ordinary messages that cannot be delivered show Not delivered with the failure reason and a Retry button. Fix the cause if there is one (for example, a wrong number) and click Retry to send that message again.

If an SMS or WhatsApp provider may have accepted a message but did not return a conclusive response, the bubble instead shows Delivery status unknown. SmileLine does not offer Retry for that message because sending it again could give the patient a duplicate. A later signed delivery callback can still recover the message to Sent, Delivered, Read or a confirmed failure.

An appointment reminder suppressed while a historical PMS import resolves a source correction is also non-retryable. Its frozen message may describe an old appointment time. SmileLine leaves the reminder lifecycle available for a later live appointment change, which creates a new message with current content.

SmileLine also removes Retry after retention has removed the message content. The API reports MESSAGE_CONTENT_REDACTED rather than risking an empty message being delivered to the patient.

SmileLine also withholds Retry when the original reason for a scheduled message no longer exists: for example, its automation was cancelled or its deposit request was already paid, cancelled or expired. Campaign messages are retried through their campaign workflow, not from the Inbox. Write a fresh manual message if the patient still needs a different follow-up.

Retry is also withheld once a message has stopped being worth sending rather than merely failing. A reminder whose appointment has already started shows Not sent — the appointment time had already passed. Ordinary failed messages, by contrast, are never refused for their age or for how many times they have been retried: every Retry starts a fresh delivery attempt.

If a new message cannot be handed to the delivery queue, SmileLine retries that handoff on a finite backoff for up to 48 hours. A handoff recorded as accepted is not published again merely because processing is delayed. If the worker cannot tell whether an older handoff succeeded, recovery can create another queue copy after 30 minutes; a persisted provider-attempt claim allows only one copy to submit the patient message, and the generation is not failed while a sibling could still be delivered. If a delivery attempt is still queued when its own 48-hour horizon elapses, it is marked as no longer timely instead of being delivered late — and Retry starts a fresh attempt with a fresh horizon.

A send attempt 2 label appears on later attempts. Each attempt has its own finite queue-publication budget, so a retry can never restart earlier attempts' work — only add one more.

Start a new conversation

Click New in the Inbox header, choose a channel, enter the recipient's phone number or email address, and write the first message. If a thread already exists for that contact and channel, your message lands there instead of creating a duplicate. Business-initiated WhatsApp messages must use an approved template — see Message templates.

On this page