Responding to Clients
This guide covers how agents communicate with clients via responses and internal notes, including the editor, attachments, canned responses, and drafts.
Response Types
| Type | Code | Visible to Client | Purpose |
|---|---|---|---|
| Response | R | ✅ Yes | Public reply sent to client |
| Internal Note | N | ❌ No | Team communication, hidden from client |
Use Internal Notes for team discussions about a ticket. Clients will never see these, even if they log into the portal.
Posting a Response
Step-by-Step
- Open the ticket
- Click the Post Reply tab (or button)
- Compose your response in the TinyMCE editor:
- Format text (bold, italic, lists, headings)
- Add links
- Insert images
- Use code blocks for technical content
- Configure response options:
| Option | Description |
|---|---|
| To | Client email (pre-filled) |
| CC | Additional recipients |
| Status | Set ticket status after posting (e.g., "Awaiting Client") |
| Signature | Append your email signature |
| Attachments | Add files to the response |
- Click Post Reply
What Happens After Posting
- Response appears in the ticket thread (type R)
- Client receives an email notification with your response
- Ticket status updates to your selected value
- AI queue is triggered (re-analyzes ticket with new content)
- Algolia index updates with new content
Posting an Internal Note
Step-by-Step
- Open the ticket
- Click the Post Internal Note tab
- Write your note content
- Configure options:
| Option | Description |
|---|---|
| Status | Optionally change status |
| Assign To | Optionally reassign the ticket |
| Attachments | Add files visible to staff only |
- Click Post Note
Use Cases for Internal Notes
- Document investigation findings
- Ask a colleague for help on a ticket
- Record phone call summaries
- Note steps taken that didn't resolve the issue
- Flag concerns for PM review
- Add context before transferring
TinyMCE Editor
The rich text editor provides:
| Feature | Shortcut | Description |
|---|---|---|
| Bold | Ctrl+B | Bold text |
| Italic | Ctrl+I | Italic text |
| Lists | — | Ordered and unordered lists |
| Links | Ctrl+K | Insert hyperlinks |
| Images | — | Embed images (upload or URL) |
| Code | — | Inline code and code blocks |
| Tables | — | Insert tables |
| Undo/Redo | Ctrl+Z/Y | Undo and redo changes |
Formatting Tips
- Use headers sparingly —
<h3>for section breaks in longer responses - Use code blocks for technical instructions, SQL queries, or file paths
- Use numbered lists for step-by-step instructions
- Keep responses concise — long responses can overwhelm clients
Canned Responses
Pre-written templates for common responses:
Using a Canned Response
- In the reply editor, click the Canned Responses button (or dropdown)
- Search/browse available templates
- Select a template — it inserts into the editor
- Customize the inserted text as needed
- Post as normal
Creating Canned Responses
Agents with permission can create shared responses:
- Navigate to Admin → Manage → Canned Responses
- Click Add New Response
- Set:
- Title — searchable name
- Department — restrict to specific department (optional)
- Status — Active/Disabled
- Content — template body with optional variables
- Save
Template Variables
Canned responses support variable substitution:
| Variable | Value |
|---|---|
%{ticket.number} | Ticket number |
%{ticket.subject} | Subject line |
%{user.name.first} | Client first name |
%{staff.name} | Your name |
File Attachments
Adding Attachments
- In the response/note form, click Choose Files or drag-and-drop
- Files appear in the attachment list
- Multiple files can be attached
- Post the response/note
File Limits
| Constraint | Value |
|---|---|
| Max File Size | Configured in Admin → Settings → Tickets |
| Allowed Types | Configured per settings (e.g., pdf, doc, png, jpg, zip) |
| Storage | Server filesystem (referenced in ost_file table) |
Inline Images
Images pasted or inserted in the editor are stored as inline attachments and display directly in the thread.
Drafts (Auto-Save)
The system auto-saves your response as you type:
- Drafts are saved every 30 seconds
- If you navigate away, the draft is preserved
- When you return to the ticket, your draft is restored
- Drafts are deleted when the response is posted
Draft Behavior
| Scenario | Behavior |
|---|---|
| Typing response, navigate away | Draft saved automatically |
| Return to same ticket | Draft restored in editor |
| Post the response | Draft deleted |
| Another agent posts first | Draft preserved (you can still post) |
| Ticket closed by someone else | Draft preserved until you dismiss |
Email Threading
When you post a response:
- An email is sent to the client (and any CC recipients)
- The email subject includes
[#XXXXXX](ticket number) - Message-ID and In-Reply-To headers maintain threading
- Client's email client groups messages as a conversation
- When client replies, the response is automatically added to the ticket
Response Best Practices
- Acknowledge the issue first — show the client you understand their problem
- Be specific — "I've fixed the CSS on the product page" not "It should be fixed now"
- Set expectations — if it will take time, say when you'll follow up
- Use "Awaiting Client" status — when you need information from them
- One topic per response — don't bury questions in long paragraphs
- Check AI Summary — read the AI summary before writing to avoid asking questions already answered
- Internal Note first — if unsure, write a note to a colleague before responding to the client
- Include links — link to relevant documentation, screenshots, or examples when helpful
CC and BCC
Adding Recipients
- CC: Additional visible recipients (they see each other)
- BCC: Hidden recipients (not visible to client or other CC)
Common Use Cases
| Scenario | Action |
|---|---|
| Client's manager wants visibility | Add manager as CC |
| Internal stakeholder needs updates | Add as BCC |
| Multiple client contacts involved | Add all as CC |
CC Behavior
CC recipients receive the response email but cannot reply directly to add thread entries (only the original client email is linked to the ticket).