Omnichannel — one inbox for every conversation

How Ona keeps a patient's calls, texts, emails, portal messages, and website chats in one conversation — and how to find your way around the Chats inbox.

Omnichannel7 min readUpdated

"Omnichannel" is one idea: a conversation belongs to a person, not to the channel they happened to use. A patient who calls on Monday, texts on Tuesday, and emails a photo on Wednesday has one conversation in Ona, opened from their chart, with each channel as a tab. Your team reads the whole story in order and replies on whichever channel fits — and the conversation carries a private layer of notes the patient never sees.

This article is the map. The channel-specific details live in their own articles: Setting up your channels, Texting and emailing patients, Phone calls, Chatting with website visitors, and Internal notes and mentions.

The channels

Every channel lands in the same inbox and works with the same composer.

Channel What it is Where it comes from
In-App Secure messaging with a patient through the patient portal Every patient with a portal account
SMS Two-way text messages Your practice's provisioned phone number
Email Two-way email Your practice's dedicated address, e.g. [email protected]
Calls Phone calls made from the browser, bridged through your mobile, or received on the practice number The same phone number as SMS, once calling is enabled
Widget Chats started by visitors on your own website The website widget
Notes Team-only threads pinned to the patient — never sent to anyone Started by your team

Turning a channel on is a one-time job in Settings → Omnichannel (Setting up your channels). Until a channel is provisioned its tab still appears, greyed out, with a hint saying what to enable.

The Chats inbox

Chats in the left sidebar is where day-to-day messaging happens. On a wide screen it's two columns: the list on the left, the selected conversation on the right. On a phone or a narrow window it's one pane that slides between the two.

The Chats inbox with a patient selected: the Threads, Contacts and Mentions tabs, the list grouped by person, and the channel strip — In-App, SMS, Email, Calls, Widget, Notes — with the Calls tab open

The list has three tabs:

  • Threads — every conversation, grouped by person and sorted by most recent activity. A row shows the person's name, the channel their latest message came in on, a preview, and an unread badge that adds up across all their channels. Group chats and conversations with an unknown number sit in the same list.
  • Contacts — your patients and leads, whether or not you've talked to them yet. Pick one to start a conversation.
  • Mentions — every message a teammate has @mentioned you in, split into Open and All (Internal notes and mentions).

The search box filters the current tab by name, number, address, or message text. Your practice's own number sits at the bottom of the list, so it's always at hand to give out.

One person, every channel

Select a person and the right-hand pane shows their channel strip — a tab for each channel, with the identifier under it (their number, their email address) and an unread count per channel. Tabs are ordered by recent activity, so whichever way the patient last reached you is first.

Switching tabs switches the conversation you're looking at; nothing is lost. Reply to a text on the SMS tab, then click Email to answer the message with the attachment, then open Calls to see the call from this morning with its transcript. All of it is the same person and the same record.

A tab you can't use tells you why on hover — "No phone number on file", or "Provision a local number in Settings → Omnichannel to enable SMS".

Starting a conversation

Conversations don't only start in Chats.

  • From Chats — open Contacts, pick a person, and choose a channel. Nothing is created until you send: a draft tab is just a place to write.
  • From a patient or lead record — every patient and lead row carries a contact button that opens a menu: call them, or open their SMS, email, or in-app conversation. Open conversation lands on whichever channel they used most recently.
  • From the floating messenger — the message button in the bottom-right dock opens a compact version of Chats over whatever page you're on, so you can answer a text while charting. Pop a conversation out into it from the full Chats page, and pop it back.

Conversations also arrive on their own: an inbound text, email, or call from a number or address Ona recognises lands under that patient or lead. An unknown caller or website visitor becomes a new lead automatically — with a conversation already open — so nobody re-keys a number (Managing leads).

The composer

The same composer serves every channel, with small differences per channel:

  • SMS counts characters and message segments as you type — long texts cost more segments and read worse.
  • Email adds a subject line on a new thread, editable later from the conversation menu.
  • In-App and Widget are plain text, delivered to the portal or the visitor's chat window.
  • Calls has no composer — the tab shows the call history and a Call button instead (Phone calls).

Every channel shares the Message / Internal toggle. Switch to Internal and the box turns amber: what you write goes to your team only, on any channel, and you can @mention a colleague or turn it into a Note. That whole layer is covered in Internal notes and mentions.

Who can see a conversation

By default a conversation is open — every active member of your practice can read and reply to it, whatever their role.

For a sensitive conversation, open the menu in the conversation header and choose Manage access to make it restricted: only the members you list can open it, plus owners and admins. @Mentioning someone who isn't on a restricted thread asks for confirmation first, because it would add them.

Group chats

Create a group at the bottom of the list starts a named, multi-party thread. Add the teammates who belong in it, and optionally one or more patients — a group with a patient in it shows up in that patient's portal as its own conversation, alongside their care-team thread. Ona warns before you add a second patient, since patients in a group can see each other.

Groups are for a specific case or huddle. Everything about one patient's ordinary care still belongs on their own conversation.

Closing and reopening

When a conversation is done, Close conversation from the header menu marks it closed; the history stays, new messages from the patient still land in it, and Reopen conversation from the same menu brings it back. A Note uses the same menu with Resolve note / Reopen note.

What patients see

None of this structure reaches the patient. Texts and emails come back the ordinary way, to the number or address you wrote from. In the patient portal, Chats is one plain thread with their care team — no channel tabs, no mentions, no internal notes — plus a row for any group they've been added to.

The patient portal Chats page, showing a single thread with the care team

Unread counts and notifications

An unread badge appears on the sidebar's Chats entry, on the floating messenger, on each person's row, and on each channel tab. A conversation you have open is never counted as unread. Calls follow their own rule: a ringing or answered call never marks a thread unread; a missed call or one answered by the AI receptionist does, once.

New messages also raise the notifications your practice has turned on — an email or text to the team for a new chat message, a bell notification for a missed call — configured in Notification settings, and adjustable per member.

Related guides

Can’t find what you’re looking for?

Book a demo and we’ll walk you through it live — or email [email protected] and a human will help.