Portal messaging

Thread-per-shipment messaging that replaces scattered emails.

1 min readLast updated 13 Apr 2026

Portal messaging turns email chaos into a structured thread-per-record log, visible to everyone who needs it on both sides.

Where threads attach

  • Shipments — ops questions, ETA requests, changes.
  • Invoices — disputes, payment queries, partial allocations.
  • Quotes — clarifications, changes.
  • Accounts — general / non-record questions.

Participants

  • Your team — ops / sales / finance users with the relevant role.
  • Customer contacts — the account's portal-active contacts.
  • Auto-added — the shipment owner, the AE, the collector (per thread type).

What's in a thread

  • Messages (rich text, attachments).
  • System events (shipment moved to customs hold) — optional inline, keeps context.
  • @mentions — notify a specific person by name.
  • Status: open / waiting-customer / resolved.

Notifications

  • Email on new messages (threaded, reply-to works).
  • In-app bell.
  • Mobile notification if using mobile-web.

Email-in

Customer replies to a notification email go back into the thread. Means customers don't need to change their habit — they still get emails — but everything is captured in one place.

SLA

  • Response SLA per tenant (e.g. respond within 4 business hours).
  • Breach alerts to ops manager.
  • Customer-visible SLA badge builds trust.

Why not just email

  • Multiple ops staff see the same thread — no context loss on handover.
  • Customer's team all see status (buyer, scheduler, billing) without forwarding.
  • Searchable across years.
  • Linked tightly to the record in context.

Privacy

Threads attach to records the participant has access to. A customer contact can't see a thread on a shipment they're not a party to.

Archive

Resolved threads archive after N days (configurable) — stay searchable, stop generating notifications.

Was this article helpful?