Internal chat

A messenger that already knows your work

Certainty HelpDesk ships the messenger as well as the help desk: direct messages between colleagues, rooms per project, and the same conversation surface opened to a client where you want one. It carries what a team actually asks of a chat app, replies and threads, reactions, pins, forward, send later, reminders, voice notes and code blocks, without a second product to buy or a second account to lose.

The cost of a second chat app

Three things that happen when the talking lives elsewhere

01 / THE DECISION IN A DM

Something was agreed in a message nobody can find, and the record never heard about it.

02 / TWO PLACES TO CHECK

Half the team answers in one app and half in the other, so neither is the whole conversation.

03 / THE CLIENT WHO CANNOT COME IN

Your messenger has no room for them, so their questions arrive as email and get re-typed.

Direct messages

One conversation per pair, and it simply exists

A new chat button beside the search finds any colleague, and the conversation is already there: one per pair, carrying files, voice notes, edits, links and everything else a room does. It shows as their name with their presence beside it, and client accounts never see it.

Clients get their own version of the same thing. A client can open a direct chat with the staff working on their projects or with a fellow contact in the same organisation, and reach stops there: a client cannot message somebody they share no organisation with.

  • Saved Messages is a chat with yourself, pinned above the rest of the list
  • The chat info is a page of its own, with Members, Files and Links tabs
  • Links finds every URL ever sent in a room, so a shared address is findable later
One direct chat per pairFound by name, not created and named
A client reaches their own organisationStaff on their projects, or a fellow contact
The message menu

Long press, and the message stays where it is

Long press or right click and the conversation behind blurs while the message itself stays put, quick reactions float above it and a compact menu sits below, aligned to your side or theirs. The order is the one your thumb already knows: Reply, Copy, Pin, Forward, Save, Remind me. Tap outside to dismiss.

Reply quotes what you are answering and tapping the quote jumps back to it. A message that has been replied to carries its count and opens its own thread, so a side conversation does not have to push the room along with it.

  • React with any emoji from the full picker, not a fixed row of six
  • Pin a message and the newest pin sits in a bar at the top of the room, tap to cycle the rest
  • Forward one message or several to another chat, with a line saying where they came from
NurulReply

Quoting the message you are answering, and jumping back to it on tap

Reply, Copy, Pin, Forward, Save, Remind me

Timing

Send it later, or ask to be reminded about it

Send later schedules a message for a chosen minute in Malaysia time, and it can be cancelled before it goes. Scheduled messages sit behind a calendar button beside the composer that appears only when you have some and vanishes as you type, and it opens that chat's scheduled page with Send now and Cancel on each one.

Remind me is the other half of it. Ask to be reminded about any message and a notification comes back when it is time, pointing at the message rather than at the room.

  • GIFs come from a search with trending picks, and are stored with us like any other attachment
  • Voice notes: hold to talk, slide left to throw it away, slide up to keep recording hands free
  • Fenced code renders as a proper block with syntax colouring and a copy button

Scheduled in this chat

08:30Send now, or cancel before it goesTomorrow
RemindA notification, on the message you asked about17:00
Presence and quiet

Say whether you are around, or say nothing at all

A status pill in the top bar reads Available, Busy or Away, sets itself to Busy while you are in a meeting or running a timer, and can be overridden for an hour, for four, or for the rest of the day, which ends at 7:00 PM. Colleagues see the same dot beside your name in chat and on the home widgets. Online means the app is on a screen in front of you and has had a key, a click, a scroll or a touch in the last five minutes, so a laptop left open on a desk goes grey rather than staying green all night, and last seen follows the same rule.

Two switches in Settings hide whether you are online and when you were last seen. Hide yours and you stop seeing other people's, which is the only honest way round that trade. Muting a person is separate again: their messages still arrive, but no toast, push, email or badge follows them, and the chat sits dimmed in the list until you unmute.

  • Muting is about the noise, not the message: nothing is hidden from you
  • A group room, or a whole project, can be muted the same way, and its messages still arrive
  • Chat messages stay off the notifications page, and ride the sidebar's unread count instead
  • Press Command and J anywhere to find a chat by name, alongside pages, records and meetings
Available, Busy, AwayBusy sets itself in a meeting or on a timer
Hide online and last seenHide yours and you stop seeing theirs
Not built yet
  • Searching the words inside a conversation: the command palette finds a chat by its name, not by what was said in it.
  • There is no voice or video call inside a chat. A conversation that needs one moves to a meeting, which a client can be named on.
Questions ยท Team messaging

The things teams ask about this

What is the difference between a project room and a direct message?

A room belongs to a project or an organisation and its membership is managed alongside that project, which is what makes it the right place for a client. A direct message belongs to two people, exists as soon as one of them looks for the other, and is never visible to anybody else. Staff can direct message any colleague; a client can direct message the staff working on their projects and other contacts in the same organisation, and nobody beyond that.

Can I react with an emoji that is not in the quick row?

Yes. The quick reactions floating above a held message are a shortcut, not the list. The full picker opens from the same menu and reacts with anything in it, and it opens at a readable size, scrolls, and flips above the message when there is no room below. On a phone the message slides up to make room and slides back when you are done.

What happens to a message I schedule and then change my mind about?

Cancel it. Scheduled messages live behind a calendar button beside the composer that only appears when you have some, and that page carries Send now and Cancel on each one. The minute you choose is read in Malaysia time, which is the timezone the product schedules everything in, so a message set for 08:30 goes at 08:30 there.

Does muting somebody mean I stop receiving their messages?

No. Their messages arrive and sit in the conversation exactly as they would otherwise. What stops is the noise around them: no toast, no push, no email and no unread badge, and the chat sits dimmed in the list so you can see at a glance that you have muted it. Unmuting puts all of that back.

Can we send code to each other without it turning into soup?

Yes. Fenced code renders as a proper block with syntax colouring and a copy button rather than being reflowed into a paragraph, and Shift and Enter starts a new line in the composer so a snippet can be pasted or typed in one message. It works the same way in a client-facing room, which matters when the thing being discussed is an error somebody pasted.

Next step

See it against your own work

Thirty minutes on a call, one of your real client projects on the screen, and an honest answer about whether this part of the product earns its place in how you work.

partnerships@dhcertainty.com