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
- thread — Context-aware thread linked to a business entity (project, client, invoice, or equipment). Automatically inherits context for filtering and search.
- channel — Team-wide channel prefixed with # (e.g. #general, #projects, #warehouse). Supports public, private, and announcement types.
- dm — One-to-one direct message between two users. Uses an MD5 participant hash for deduplication so the same pair always shares one thread.
- group_dm — Group direct message with three or more participants. Supports an optional custom name and the same hash-based deduplication.
- 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
- Open the bell icon in the header to view your latest notifications across all four categories.
- Visit the Discussion Hub at /threads to browse and create external email-based conversations.
- Join or create channels by navigating to the Channels section — default channels are joined automatically.
- Configure your delivery preferences under Configuration > Communication > Notifications to control how and when you receive alerts.
- Set up quiet hours to pause non-urgent notifications during off-hours.
Was this article helpful?