Most operations teams run their conversation somewhere else: a personal messaging app, usually, with the actual work in a different tool entirely. It works right up until you need to know why a task was skipped in March, and the answer is in someone's phone. EasyBee puts the conversation in the same place as the work.
Channels
Create channels per site, per department or per project. Channels can be open for anyone in the workspace to join, or restricted to the people added to them. So a head-office thread and a kitchen thread can live in the same workspace without overlapping.
Announcements
Announcement channels are for the messages that go one way: a policy change, a rota update, a closure. Everyone receives it; the channel doesn't turn into a hundred replies.
Direct messages
One-to-one conversations for the things that don't belong in a channel, in the same app, not on someone's personal number. When a member of staff leaves, the conversation history stays with the workspace.
Threads
Replies can branch into a thread, so a single question doesn't push the rest of the channel out of view. Useful on a busy site channel where several things are happening at once.
What you'd expect, and it's there
Reactions
Inline photos
@mentions
Search
Unread tracking
Unread that tells the truth
Unread state is worked out from where you actually last read a channel, rather than from a counter that gets nudged up and down as messages arrive. Counters drift: they survive a missed socket event or a second device and end up showing a badge for messages you read yesterday, or worse, showing nothing while a mention sits unread.
The practical result is a badge you can trust enough to act on, which is the only kind worth having, because a notification people learn to ignore is indistinguishable from no notification at all.
Notifications that reach people who aren't at a desk
Mentions and messages push to mobile as well as the web app, alongside task assignments and approval requests: one notification stream, not a different app for each kind of interruption. Someone on the floor gets the same nudge for "you've been mentioned" and "this audit is waiting on your approval", because from their side both are simply things that need them.
Comments stay attached to the task
Chat is for conversation; comments are for a specific task or checklist and live on that record permanently. A question about last Tuesday's close belongs on last Tuesday's close, where anyone reviewing it later will find it, not in a channel scroll.
Task rows show whether a task has comments, whether any are unread, and separately whether any of them mention you, so a direct question doesn't get lost among general chatter.
Both notify the same way, so nobody has to decide which one people are actually reading.
Who can see what
Channel membership decides visibility, and the same roles that govern the rest of the workspace govern conversation. A site channel can be limited to the people who work at that site; a head-office channel need not be visible to every part-time member of staff.
Draw those lines deliberately at the start. Operations chat accumulates things you wouldn't want everyone to read. Incident details, performance conversations, supplier pricing, and retrofitting boundaries onto a workspace where everything has always been open is considerably harder than drawing them on day one.
Why this matters more than it sounds
Running operations chat through a consumer messaging app has three costs that only become obvious later. Conversation history leaves with the employee. There is no way to connect a decision to the task it was about. And anything said about a safety issue or an incident lives outside the record you would need in an audit. See compliance evidence for why that gap is expensive.
Keeping conversation next to checklists and approvals means the question, the answer and the work are one record, not three systems and a good memory.