PLATFORM · COMMUNICATIONS
The thread about the late lot lives in someone's Slack DMs. The order record knows nothing.
Trade ops teams generate hundreds of conversations a week — about orders, production lots, shipments, invoices, claims, samples, internal coordination. The thread with the factory about the late lot lives in someone's Slack DMs. The discussion about the amendment lives in an email thread on a procurement manager's laptop. The client's question about lead time lives in WhatsApp messages no one else can search. The record of the order knows nothing. Six months later, an audit asks "why did we accept the split shipment?" and nobody can find the conversation that explained the decision.
Messages in TradeOS anchors every thread to the entity it's about, surfaces who you're talking to (client / supplier / logistics / your team), lets any line become a task in one click, and keeps internal team coordination inside the same thread without exposing it to the counterparty. The conversation lives on the record. The record knows what was said.
Entity types
Order, shipment, lot, invoice, claim, sample, task, direct message
Counterparty kinds
Client, supplier, logistics, internal team
Edit window
15 min · then immutable
Tasks from chat
One click from any selected line
The operator Messages page — entity-anchored threads on the left, active conversation with task pills and internal notes on the right.
WHEN CONVERSATIONS LIVE OFF-RECORD
Trade conversations are not channels. They're records.
A trade conversation about a production lot, an order amendment, or a quality dispute is a business record — not a Slack channel that scrolls away. Most platforms treat it as the latter; the cost shows up six months later when no one can find the conversation that explained the decision.
01 · INBOX SPRAWL
Conversations live in inboxes, not on records.
The thread with the factory about the late lot lives in someone's Slack DMs. The discussion about the amendment lives in an email thread on a procurement manager's laptop. The client's question about lead time lives in WhatsApp messages no one else can search. The record of the order knows nothing.
02 · HANDOFF LOSS
Every handoff means rebuilding the context.
The ops lead is on PTO. A colleague picks up the order, opens it in the platform, and sees a clean status row — but nothing about the three-message back-and-forth on the QC concern, the agreed split-shipment plan, or the supplier's promised remedy. The conversation existed; the platform doesn't have it.
03 · ACTION DRIFT
What was decided becomes what was discussed.
"Send the SGS report by Wednesday." Said in a message. Agreed in a message. Forgotten in a message. Decisions made inside conversations need to become tracked tasks on the record — not stay buried in the thread until someone finds them too late.
WHAT IT DOES
What the Messages module does
Open any order, see the conversation about it — without leaving the platform.
A thread in TradeOS is never abstract — it carries a threadType and entityId pointing at the order, shipment, production lot, invoice, claim, sample, or task it's about. Eight thread types in total. Open an order; the thread is there. Open Messages; the thread shows the entity it belongs to in a badge above the preview. Open the entity from the thread header with one click. No more "which channel was that in" — the conversation lives on the record it's about.
THREAD TYPES · 8 ENTITY-ANCHORED
Filter your inbox by who you're actually talking to — client, supplier, logistics, your team.
Every counterparty in TradeOS is tagged with a relationship kind: client (the buyer), supplier (the manufacturer), logistics (the forwarder, carrier, customs broker), or internal (your own team). The Messages inbox carries that tag onto every thread, and the filter strip lets the operator narrow to one relationship at a time. Sales follow-ups go under Client. Production check-ins go under Supplier. BOL discussions go under Logistics. Team coordination goes under Internal. The signal-to-noise ratio in the inbox shifts from "every message" to "every message from the side of the trade you're working on right now."
RELATIONSHIP FILTER · 4 KINDS
Decisions made in chat become tracked tasks on the record — not buried in the thread until someone finds them too late.
Decisions made in conversations don't have to stay there. Highlight any text inside a message — a deadline, an action item, an agreed remedy — and a floating "Create task" button appears above the selection. Click it; the task modal opens with the selected text prefilled as title and description, the source message attached, and the thread's entity context inherited. The composer also carries a "Create task" button for proactive task creation when no specific message is the source. Tasks spawned from a message appear as a pill directly under it in the thread, so the conversation always shows which lines became commitments. Composer-spawned tasks land in a footer summary at the bottom of the timeline.
TASKS FROM CHAT · 2 ENTRY POINTS
Select text in any message
Highlight the action item, deadline, or agreed remedy.
Confirmed — we'll have the SGS report by Wednesday EOD. Apr 26 cut-off is tight.
Modal prefilled · source message attached
Title and description carry the selection; assignee, due date, priority set on creation.
Pill appears under the source message
The thread keeps a visible link from the line that became a task to the task itself.
Tell your team what you really think about the supplier — without the supplier ever seeing it.
The hardest part of customer-facing communication isn't the customer-facing part — it's the team coordination that happens around the customer-facing part. Most platforms force operators to spin up a separate Slack thread to coordinate on a reply, then forget which conversation belonged to which. TradeOS keeps both inside the same thread: flip the "Internal note" toggle in the composer, post your team-side message, and it saves with audience scoped to operator users only — invisible to the client, supplier, or logistics partner on the other side of the thread. Distinct styling makes internal notes visually obvious so no one posts to the wrong audience by accident. Every internal note is part of the same chronological timeline as the external messages; the team coordination context lives next to the customer context.
INTERNAL NOTE · SAME THREAD · OPERATOR-ONLY AUDIENCE
HOW IT CONNECTS
Every other section reads from this thread — every order page, every shipment, every task.
Messages isn't a separate inbox living next to the platform — it's a layer that lives on every entity that already exists, with bidirectional connections to Tasks and Documents.
| Section | What flows | What you see |
|---|---|---|
| Orders | One thread per order · subject + consignee + amendments | Order detail surfaces the thread inline |
| Production | One thread per lot · QC questions, inspection coordination | Lot detail shows the thread next to QC results |
| Shipments | One thread per shipment · forwarder, carrier, BOL discussion | Shipment detail shows the thread next to tracking |
| Finance | One thread per invoice · payment, balance, dispute | Invoice detail shows the conversation |
| Tasks | Bidirectional: tasks created from messages, messages reference source tasks | Task pills appear under spawning messages |
| Documents | Message attachments stored as documents (linked by documentId) | Attachments land in the documents library |
ON THE ROADMAP
Where Messages is heading next.
Today, Messages is an in-app messaging layer — entity-anchored, relationship-aware, with tasks-from-chat and internal notes. The next milestones extend it outward to the channels trade actually runs on, plus the in-thread affordances (attach, mention) that are currently scaffolded but not yet wired.
v1.5 · NEXT
Channel routing
Inbound messages from WhatsApp Business, Telegram, Email (Gmail · Outlook · IMAP), and SMS via Twilio land in the same threads, anchored to the same entities. Outbound replies route back through the same channel. Counterparties keep using their existing apps; operators keep using TradeOS Messages.
v1.5 · NEXT
Attach & Mention in composer
The composer's Attach button (link a file from the documents library or upload a new one) and @Mention picker (tag teammates or counterparty contacts) are currently scaffolded with disabled "coming soon" tooltips. Wiring them up is a near-term unlock — the data model already supports it (message attachments and mentions fields exist on the DTO).
v2 · LATER
Inline translation
Auto-translation for cross-language threads (Mandarin ↔ English the most common case for our footprint), with a trade-terminology dictionary that preserves Incoterms (CIF / FOB), LC terms, QC standards (AQL / EN 455), and product references rather than translating them word-for-word. Operators see source + translated; counterparties see their native language.
v2 · LATER
Voice notes & meeting recap
Voice memos in WhatsApp / WeChat threads transcribed inline. Calendar meetings (Zoom, Meet, Teams) summarized into thread posts on the relevant order or claim. Both depend on channel routing landing first; both are paced behind operator demand once the in-app foundation is settled.
We list the integration backlog explicitly because the alternative — claiming WhatsApp / Telegram / WeChat / SMS as built when they're not — wastes a buyer's evaluation cycle and our reputation. Today's Messages is in-app; tomorrow's is the same threads, more channels.
VS. ALTERNATIVES
Where Messages fits versus the tools that already organize conversations.
| Capability | TradeOS | Slack | MS Teams | Front | HubSpot |
|---|---|---|---|---|---|
| Threads anchored to order / shipment / lot / invoice / claim / sample / task | ✓ | — | — | — | deal only |
| Relationship-aware inbox (client · supplier · logistics · internal filter) | ✓ | — | — | tags | contact type |
| Create task from selected text in a message | ✓ | via app | via app | via app | workflows |
| Internal notes inside a counterparty thread (audience-scoped) | ✓ | — | — | ✓ | deal notes |
| 15-min edit window then immutable audit trail | ✓ | unbounded edit | unbounded edit | email immutable | activity log |
| Connected to order / lot / shipment data inside the same platform | ✓ | — | — | — | CRM only |
| Channel routing (WhatsApp / Telegram / Email / SMS) | v1.5 roadmap | email · WA | email · WA · SMS | email · WA |
This isn't a knock on Slack, Teams, Front, or HubSpot. Slack and Microsoft Teams are excellent at internal team chat organized by channel. Front is excellent at collaborative email with shared inboxes and team comments. HubSpot is excellent at sales conversations attached to a CRM deal. Each was built for a specific shape of conversation. TradeOS Messages is built for the conversation a trade operator actually has — anchored to an order, a lot, a shipment, an invoice, with the counterparty's relationship (client / supplier / logistics) tagged on the thread, and tasks spawning from any line. Channel routing (WhatsApp / Telegram / Email / SMS) is the next milestone, not the current claim.
Send us one order with a real thread happening on it. We'll show you what that conversation looks like anchored to the entity, with tasks spawning from selected lines.
Send the email thread, the WhatsApp chat, or the Slack DMs you'd normally have about one in-flight order. We'll show you how those messages land on the order record, how internal notes stay invisible to the counterparty, and how decisions in chat become tracked tasks. No demo data. Your conversation.
FAQ
Frequently asked questions
The five questions operators ask first when they evaluate Messages.
Slack and Teams are channel-based — conversations live in #channels named after projects or teams. TradeOS Messages are entity-based — every conversation lives on the order, shipment, production lot, invoice, claim, sample, or task it's about. Open an order, see its thread. Open Messages, see every thread grouped by what it's about and who you're talking to (client / supplier / logistics / internal). You don't need to remember which channel a conversation lives in — it lives on the record.