Skip to main content

Messaging

Customer AdminSupervisorAgent

Messaging is Orbit's internal chat: direct messages between colleagues, team groups, and one-way broadcasts — inside the same app people already run their calls in. An agent asks a colleague to cover a slot, a supervisor announces the Saturday shift, the attendant hands a caller's context to the person about to take the call.

In the app: Messages in the sidebar (/messages) — plus a floating chat dock on every other page, so a conversation doesn't force anyone off the screen they're working on.

The Messages page with the thread list, an open direct message and the composer

The Messages page with the thread list, an open direct message and the composer

A licensed module

Messaging is a licensed product; accounts entitled to the Attendant Console are messaging-entitled as well — an operator with a caller on the line must be able to message the colleague they're about to hand the caller to (the CALL threads below). The menu item appears when the account has the license and the user's security profile grants chat.use.

The page and the dock are the same conversations

The full page is for working through messages; the dock is for not leaving the page you're on. The dock opens from the speech-bubble button in the header — its red badge counts your unread messages and pending requests; click again to close it. Both surfaces read the same threads, both update live, and both are URL-addressable — /messages?thread=<id> opens a conversation on the full page, ?chat=<id> opens the dock on any page, which is exactly what a notification links to.

The floating chat dock open on a conversation

The floating chat dock open on a conversation

Chat in the pop-out phone window

The standalone Orbit Panel window (the pop-out softphone) doesn't carry the dock — it has its own Chat tab built into the panel, a compact view of the same conversations sized for the small window. Same threads, different door.

Read the thread list

The thread list with a broadcast, a group, an unread direct message and search

The thread list with a broadcast, a group, an unread direct message and search

  • No badge — a direct message.
  • GROUP — everyone in it can post.
  • BROADCAST — one-way: the owner posts, members read.
  • A red count — unread messages in that conversation.
  • CALL — the conversation was opened from the attendant board while a caller was on the line (see Attendant Console); the thread's first line says so, because the recipient must instantly see why this conversation exists.
  • Search covers the messages in your own conversations (type at least two characters).

Have a conversation

To start a direct message:

  1. Click the pencil (New message) button — it sits at the top of the thread list on the Messages page, and in the dock's header.
  2. A "Search people…" picker lists your colleagues — type a few letters and click the person.
  3. Type in the composer; Enter sends, Shift+Enter makes a new line.

(To continue an existing conversation, just open the thread and type.)

A direct message conversation with sent and read ticks on the outgoing bubbles

A direct message conversation with sent and read ticks on the outgoing bubbles

  • — delivered to the server; ✓✓ — read by everyone in the thread.
  • In a direct message the other side also sees a typing indicator.
  • Messages arrive live. Someone with no Orbit window open gets a notification instead (see the alert center) — nothing is lost by being away.
Sent means sent

A message cannot be edited or recalled once it's sent — by anyone, its author included. That is deliberate: like a call recording, chat history is workplace evidence, and a record you can quietly prune is worthless in a dispute. Read twice before Enter; a correction is a new message.

First contact can require approval

By default anyone in the account can message anyone. If the account policy is set to Request approval (an account-level setting your administrator controls), the first message to someone new arrives as a request they explicitly accept or decline:

A first-contact message request with Accept and Decline buttons

A first-contact message request with Accept and Decline buttons

  • The requester sees their message as sent, but can only send a couple more until the recipient accepts — a cold-contact can't flood an inbox from the pending state.
  • Accept turns it into a normal conversation; Decline closes the door — the sender cannot keep messaging.
  • Attendants and supervisors are exempt (the chat.priority_contact permission): an operator with a live caller can't wait for an approval. Out of the box that permission sits on the Admin and Supervisor profile templates — the Agent template deliberately goes through the approval gate.
  • Changing the policy never touches existing conversations.

Groups and broadcasts

Users with chat.broadcast get the megaphone button, which opens the New group form:

The new group form with the Group/Broadcast choice, a name and selected members

The new group form with the Group/Broadcast choice, a name and selected members

The Type choice is the whole design decision:

TypeWho can postUse it for
GroupEvery memberTeam coordination — a queue's agents, a project
BroadcastOnly the ownerAnnouncements — shift changes, incident notices

A group holds up to 500 members. In a broadcast, members see the conversation read-only — the composer says "Only owners can post in a broadcast".

Every group and broadcast has exactly one owner — the person who created it. Ownership is fixed to the creator by design: an announcement channel and the accountability for it stay with one named person, who is the only one who can post in a broadcast and the only one who can add members. Plan the creator accordingly — the person who should run the channel is the person who creates it.

Open a group and the members pane appears on the right — the crown marks the owner:

The group members pane with the owner crown, the add-member button and Leave

The group members pane with the owner crown, the add-member button and Leave

Joining and leaving is visible

Member changes appear as small system lines inside the conversation ("Jane Smith left"), so a group's history explains its membership.

Supervisor oversight — read-only, audited, off by default

A supervisor can be given a compliance view over their own agents' conversations. It is deliberately hard to turn on, because it is a privacy switch, not a feature toggle — two independent keys must both be set:

  1. The account owner (the admin user the workspace was created with) — nobody else, not even another admin with settings access — enables Supervisor oversight in the account's messaging settings.
  2. The supervisor is hand-granted the chat.oversight permission on their security profile. No built-in profile template includes it — not even Admin — so it can never arrive by default.

With both keys set, the supervisor gets an amber eye button ("Team oversight") at the top of the thread list on the Messages page — it opens the compliance view (/messages/oversight).

The oversight compliance view with the amber read-only banner and an agent conversation open

The oversight compliance view with the amber read-only banner and an agent conversation open

  • The view is read-only by construction — there is no composer on this page.
  • Every conversation opened is written to the audit log (chat_oversight_read), so oversight of the agents comes with oversight of the supervisor.
  • Scope is the supervisor's own reporting line — at least one participant must be one of their agents.
Tell your team

Turning this on is a workplace-privacy decision. The switch exists so a regulated site can meet its compliance duty — not for quietly reading the break-room chat. The audit trail cuts both ways on purpose.

Messaging settings (administrators)

Settings → System Settings → Messaging (needs chat.settings_edit):

The Messaging settings card with the contact policy and the supervisor oversight switch

The Messaging settings card with the contact policy and the supervisor oversight switch

SettingWhat it does
Who can start a conversationAnyone in the account, or Request approval for first contact (attendants and supervisors exempt; existing conversations unaffected)
Supervisor oversightThe account-owner-only privacy switch described above

How long messages are kept

Chat has its own retention clock, next to the one for recordings: Compliance → Retention Policy → Chat retention. Messages older than the window you set are removed by an hourly sweep, with a 30-day grace period before the hard purge — so a thread that has just aged out can still be recovered for a month. A legal hold pins a thread exactly as it pins a recording, and outlasts the sweep.

Retention is also the only way a message leaves the system — there is no per-message delete for anyone, admins included (see Sent means sent above). Content problems are a supervision matter (oversight), and the record's lifespan is a policy decision made once on this screen — never message by message.

See Compliance §1.

Permissions

PermissionGrants
chat.useMessaging itself — the page, the dock, direct messages
chat.broadcastCreating groups and broadcasts
chat.priority_contactExemption from first-contact approval
chat.settings_editThe Messaging settings card
chat.oversightThe compliance view — hand-granted only, and inert until the account owner enables oversight