Communication Overview

Communication Overview

The Communication module provides a unified messaging and notification platform for your entire organisation. It connects internal teams, external clients, and freelancers through real-time threads, channels, direct messages, and email-based discussions — all within one interface.

What the Communication Module Covers

  • Internal Messaging — Team channels, direct messages, and group chats with real-time delivery via WebSocket
  • External Discussions — Email-based threads for communicating with clients, freelancers, and external contacts
  • Notifications — Multi-channel alerts (in-app, email, SMS, push) for 50+ event types across all modules
  • Client Communications — Quote and invoice discussions linked directly to financial records
  • Project Threads — Context-aware conversations attached to specific projects, sub-projects, or equipment
  • Warehouse Announcements — Broadcast-only channels for warehouse-wide updates and packing instructions

Navigation

Destination Path Purpose
Notifications Page /notifications Full notification feed with four category tabs and filters
Discussion Hub /threads All external discussion threads, organised by category
Project Communication Project detail > Communication tab Context-linked threads for a specific project
Client Communication Client detail > Communication tab All discussions related to a specific client
Warehouse Announcements #warehouse channel Default announcement channel for warehouse staff

Five Thread Types

  1. thread — Context-aware thread linked to a business entity (project, client, invoice, or equipment). Automatically inherits context for filtering and search.
  2. channel — Team-wide channel prefixed with # (e.g. #general, #projects, #warehouse). Supports public, private, and announcement types.
  3. dm — One-to-one direct message between two users. Uses an MD5 participant hash for deduplication so the same pair always shares one thread.
  4. group_dm — Group direct message with three or more participants. Supports an optional custom name and the same hash-based deduplication.
  5. discussion — External email-based thread for communicating with clients, freelancers, and outside contacts. Messages are sent via email with full tracking.

Four Notification Categories

Category Icon Colour Content
System mdi-bullhorn Info blue Platform broadcasts, maintenance alerts, security notices
Community mdi-account-group Purple Forum replies, roadmap votes, community mentions
Business mdi-briefcase Primary blue (#1976D2) Project, equipment, invoice, crew, warehouse, and repair alerts
Connect mdi-handshake Teal Marketplace connections, freelancer reviews, boost updates

Multi-Channel Delivery

Every notification can be delivered through up to five channels simultaneously. Each user configures their own preferences per notification type:

  • In-app — Real-time badge and feed via WebSocket (Laravel Reverb)
  • Email — Instant, hourly, daily, or weekly digest options
  • SMS — Reserved for high and urgent priority alerts (cost-controlled via Twilio)
  • Push — Browser push notifications and PWA mobile push
  • Desktop — Browser Notification API (requires user permission grant)

Key Concepts

  • Threads — Every conversation exists within a CommunicationThread record, regardless of type
  • Channels — Team-wide spaces; three defaults are auto-created for each new tenant (#general, #projects, #warehouse)
  • Participants — Each thread tracks its members via CommunicationParticipant with roles (owner, participant, cc, bcc)
  • Read Receipts — Per-message tracking via the read_by JSON array and per-participant unread_count
  • Reactions — Emoji reactions stored through CommunicationReaction records
  • Mentions — @username patterns extracted from message bodies and stored in the mentions JSON array
  • Templates — Reusable message templates managed through CommunicationTemplate records

Getting Started

  1. Open the bell icon in the header to view your latest notifications across all four categories.
  2. Visit the Discussion Hub at /threads to browse and create external email-based conversations.
  3. Join or create channels by navigating to the Channels section — default channels are joined automatically.
  4. Configure your delivery preferences under Configuration > Communication > Notifications to control how and when you receive alerts.
  5. Set up quiet hours to pause non-urgent notifications during off-hours.

Was this article helpful?