Conversations and Customer Chat

The Conversations feature keeps all your customer communication in one place. Whether messages come from SMS, email, or the customer portal, they appear in a unified inbox. This guide shows you how to manage conversations, send messages, use AI-powered suggestions to respond faster, set up message templates, and search through your communication history.

:clock1: Estimated time: 9 minutes

Before You Begin

  • An active Exoserva account (any role with messaging permissions)
  • You are logged in to the Exoserva platform
  • At least one customer with a phone number or email on file

Step 1: Open the Conversations Page

Click “Conversations” in the left sidebar. The page opens with a header showing the page title, a total conversation count (e.g., “42 total”), a needs-attention count (e.g., “5 need attention”), and a prominent “New Conversation” button (primary-colored with a plus icon) on the right side.

Below the header, the page uses a three-panel layout: the left panel contains the conversation list (inbox), the center panel shows the active message thread, and the optional right panel displays an AI compose sidebar. The inbox panel includes a search bar at the top (with a magnifying glass icon and “Search…” placeholder), followed by filter buttons arranged horizontally: All, Active, Attention (conversations flagged as needing your response), Leads (conversations from potential new customers), and Archived. Unread conversations in the list are highlighted with bold text and a badge count showing unread messages per thread.

:bulb: Tip: The sidebar badge next to “Conversations” in the main navigation shows your total unread count across all conversations. This count updates in real time via server-sent events, so you never miss an incoming customer message even when you are on a different page.

:warning: Warning: The “Attention” filter shows conversations where the customer is waiting for your reply. Check this filter at least twice per day to maintain good response times – customers expect replies within a few hours for SMS and within 24 hours for email.

Step 2: Select and Read a Conversation

Click any conversation in the left inbox panel to open the full message thread in the center panel. Messages are displayed in chronological order with timestamps showing the exact date and time, formatted according to your locale settings. The conversation header at the top of the center panel shows the customer’s name, phone number or email, a lead status badge (color-coded: green for qualified, blue for new, amber for follow-up, grey for closed), and the communication channel icon (phone for SMS, envelope for email, globe for portal).

Each message bubble shows the sender (customer messages on the left, your team messages on the right), the message content with markdown formatting support (bold, italic, links, code), a delivery status indicator for sent messages, and the timestamp. AI-generated messages are marked with a sparkles icon badge.

:bulb: Tip: Conversations are sorted by most recent activity by default. Pin important conversations to keep them at the top of the list regardless of when the last message was sent – this is useful for ongoing projects, VIP customers, or active negotiations.

Step 3: Send a Message

At the bottom of the center message thread panel, you will see the message input area. Type your message in the text input field and press Enter or click the Send button (arrow icon) to deliver the message. Messages are routed through the channel the customer originally used – SMS messages go via SMS, email conversations continue via email, and portal messages appear in the customer’s portal.

A delivery status indicator appears next to each sent message: a single checkmark means sent, a double checkmark means delivered, and a grey indicator means pending. The message input also supports file attachments: click the attachment icon in the input toolbar to open the Quick Attach Panel, where you can drag and drop files or browse to select them. Supported file types and size limits are shown in the panel.

:bulb: Tip: Use the voice input button (microphone icon) next to the message input to dictate messages by speaking instead of typing. This is especially useful for technicians in the field who need to send a quick update to the customer while their hands are busy. Voice input supports multiple languages configured in your account.

:warning: Warning: SMS messages are charged per segment by your carrier. Long messages (over 160 characters) are split into multiple segments. Keep SMS messages concise to control costs and improve readability on mobile devices.

Step 4: Use AI-Powered Compose

When the AI assistant is enabled, the right sidebar panel becomes the AI Compose panel (labeled “ComposeAI” with a sparkles icon). This panel analyzes the conversation history, customer profile, lead score, and associated job details to generate context-aware reply suggestions.

The AI panel may display Smart Replies – pre-composed reply options that you can click to copy to your clipboard, then paste into the message input and send. Smart replies are generated based on the conversation context: for example, after a customer inquiry about pricing, the AI might suggest a reply that includes your service rates and availability. You can also click individual quick-reply buttons that appear below the message input for one-tap responses to common questions.

At the top of the conversation header, you may see an AI Mode selector with three options: a green mode (standard communication), a blue mode (scheduling-focused), and an amber mode (sales-focused). Each mode adjusts the AI’s tone and suggestions to match the conversation context.

:bulb: Tip: AI suggestions improve over time as they learn from your communication patterns, editing behavior, and preferred phrasing. The more you use and refine AI-generated replies (editing them before sending rather than discarding them entirely), the more closely they match your business voice in future suggestions.

:warning: Warning: Always review AI-generated replies before sending. The AI is context-aware but may occasionally suggest responses that do not match your specific situation, pricing, or availability. A quick review takes seconds and prevents miscommunication.

Step 5: Use Message Templates

Click the templates icon (document icon) in the message input toolbar or use the dedicated button to open the Chat Templates Modal. The modal presents a searchable list of saved templates organized by category. Common categories include Appointment Confirmation, Job Completion, Follow-Up, Payment Reminder, and Welcome Message.

Select a template to copy its content to your clipboard. A success toast notification appears confirming “Template copied to clipboard! Paste it in the message box.” Paste the template text into the message input field using Ctrl+V (or Cmd+V on Mac). Template variables like customer name, job number, and appointment date are filled in automatically based on the current conversation context and associated customer or job records.

:bulb: Tip: Create templates for your most frequent messages to save time and ensure consistent, professional communication. You can manage templates in Settings under Message Templates, where you can add new templates, edit existing ones, assign categories, and configure which template variables are available.

:warning: Warning: Templates with variables (e.g., {{customerName}}, {{appointmentDate}}) require the relevant data to be present in the conversation context. If a variable cannot be resolved (e.g., no job is linked to the conversation), the variable placeholder will remain in the message text – always check before sending.

Step 6: View Customer Information in Context

While viewing a conversation, customer context is available without leaving the page. The conversation header shows the customer’s name, phone number, and email. In the full ChatView (accessible when clicking into an individual conversation), an expandable sidebar section shows a more complete customer profile summary including: the customer name with a clickable link to their full customer profile page, phone number (clickable to initiate a call), email address, property address, associated job details (job number, status, scheduled date, and amount), and lead score information.

This contextual information lets you reference past work, check appointment dates, verify pricing, and review account notes – all without navigating away from the conversation.

:bulb: Tip: Before replying to a customer question about a past job or outstanding balance, glance at the customer context panel to verify the details. Providing accurate, specific information in your reply (e.g., “Your last service was on March 15 for the HVAC filter replacement”) builds trust and professionalism.

Step 7: Search Conversations

Use the search bar at the top of the conversation inbox list to find specific messages or threads. The search input (magnifying glass icon, “Search…” placeholder) filters conversations in real time as you type. Search by customer name, phone number, or keywords from message content. Results narrow the conversation list to only matching threads, and the matching text within each conversation is highlighted.

For more targeted searching within a specific conversation, the ChatView provides a dedicated search feature (ChatSearch component) that lets you search within a single thread and jump between matching messages with next/previous navigation.

:bulb: Tip: Use search to find past quotes, commitments, or instructions you discussed with a customer. This is especially useful when resolving disputes or verifying what was communicated about a job scope – search for the customer name plus keywords like “price,” “schedule,” or “warranty” to find the relevant messages quickly.

Step 8: Start a New Conversation

Click the “New Conversation” button (primary-colored with a plus icon) in the page header. A modal dialog opens (the NewConversationModal) where you can search for a customer by name, phone number, or email using the search fields. The modal supports pre-filling: if you navigate to the Conversations page from a customer detail page using the “Message” button, the customer’s phone number and name are automatically filled in.

Select or enter the customer information, choose the communication channel (SMS or email), and type your opening message. Click “Start Conversation” to create the thread and send the first message. The new conversation appears immediately in your inbox list and is selected so you can continue the conversation right away. A success toast confirms “Conversation started!”

:bulb: Tip: When starting a new conversation with a customer who is not yet in your system, the modal allows you to enter their phone number or email directly. The system will create a conversation record that you can later link to a customer profile when you add them to your customer database.

:warning: Warning: Starting an SMS conversation with a new phone number may trigger carrier spam filters if the number has not opted in to receive messages from your business. Ensure you have the customer’s consent before sending the first SMS to comply with TCPA and carrier regulations.

What’s Next?

Now that you’ve completed this guide, check out:


Need help? Post in the Tech Support category or contact support@exoserva.com.