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?