Client Communication & Threads
Client Communication & Threads
NexusRMS provides a centralised communication log for every client, ensuring that no interaction — whether an email, phone call, meeting, or internal note — is ever lost. All records are stored as ClientCommunication entries accessible from the client detail page.
Communication Types and Direction
Every record has a type field set to one of five values:
- email — Outbound or inbound email messages
- phone — Logged telephone calls
- sms — Text messages sent or received
- meeting — In-person, video, or telephone meetings
- note — Internal notes visible only to your team
The direction field is either inbound or outbound. Notes are always recorded as outbound.
Communication Statuses
The status field tracks the lifecycle: draft (saved, not sent), sent (dispatched), delivered (confirmed delivery, email/SMS only), read (opened, email/SMS only), or failed (delivery unsuccessful). Timestamps sent_at, delivered_at, and read_at are recorded automatically.
Logging Emails
Click New Email to compose. The system captures from_email, to_email, subject (required), body (required), attachments (JSON array), and integration_id (external service reference for Mailgun, Twilio, etc.). You may add CC and BCC recipients. If send_now is enabled (the default), the email is dispatched immediately; otherwise it is saved as a draft.
Logging Phone Calls
Click Log Call. Required: direction (inbound/outbound). Optional: from_phone, to_phone, duration_minutes, outcome (max 100 characters), subject (defaults to "Phone Call"), and notes in the body field. You can flag calls for follow-up with requires_followup, followup_date, and followup_notes.
Logging Meetings
Click Log Meeting. Provide subject (required), meeting_date, start_time/end_time (HH:MM), and duration_minutes (auto-calculated from times if both provided). Also record location_type (in_person, video, phone), location, attendees, outcome, and action_items.
Adding Notes
Click Add Note. Only body text is required. Notes use type note, direction outbound, and status sent.
Linking to Projects and Contacts
Every communication can be linked to a project via project_id and to a contact person via client_contact_id, providing context when reviewing project or contact records.
Communication Threads
The Threads tab groups related communications into conversations. Each thread shows: subject, status (active or archived), messages count, last activity date, creator name, and a message preview. Thread type icons: mdi-message-text (general), mdi-email (email), mdi-pound (SMS), mdi-message (chat/note), mdi-account-group (meeting). Click New Thread to start a conversation.
Filtering, Editing, and Deleting
Filter by Type (multi-select), Contact, or Date Range. Search checks both subject and body fields. Use the controller methods update and destroy to modify or soft-delete records.
Communication Preferences and Response Tracking
Each client has a communication_preference field: email, phone, sms, or post. Always check this before initiating contact. The getResponseTimeMinutes() method calculates how long it took to respond to an inbound message by finding the next outbound communication.
Tips
- Log every interaction to maintain a complete client history.
- Link communications to projects so they appear in the project timeline.
- Always use the client's preferred communication channel.
- Review response time metrics to identify bottlenecks.
- Use notes for internal observations not shared with the client.
Was this article helpful?