Canned Responses
Reusable agent reply templates with placeholder variables. Insert a response in one click and Deskuss auto-fills the customer's name, ticket number, and other context.
What Are Canned Responses?
A canned response is a pre-written reply that an agent can drop into a ticket with one click. Each response can include placeholder variables that Deskuss auto-fills with values from the current ticket — recipient name, ticket number, assigned agent, and so on — so every response feels personal even though no one typed it.
Use them for:
- Common greetings and sign-offs
- Standard troubleshooting steps (e.g., "Please clear your browser cache and try again")
- Refund, cancellation, and billing procedures
- Status updates ("We're still investigating — we'll get back to you by EOD")
- Escalation notices that explain what's happening next
Where to Find Canned Responses
From the staff control panel: Manage → Canned Responses. The page shows all canned responses, with the ability to filter by category, search by title, and add new ones.
Creating a Canned Response
- Click Add New Canned Response
- Enter a descriptive title (what agents see in the dropdown)
- Write the body in the rich-text editor
- Choose a category (optional — useful for organizing large libraries)
- Choose the visibility (private to you, departmental, or global)
- Save
Naming Convention
The title is what agents see in the dropdown. Use a naming convention that makes search fast — e.g., [Greeting] Friendly intro, [Billing] Refund approved, [Tech] Clear cache. The bracketed prefix lets agents scan a long list quickly.
Placeholder Variables
Variables are written as %{path.to.value} and are filled in automatically when the response is inserted. They use the same syntax as email templates.
General
| Variable | Expands to |
|---|---|
%{ticket.id} | Numeric ticket ID (e.g., 1042) |
%{ticket.number} | Formatted ticket number (e.g., #1042) |
%{ticket.subject} | Ticket subject line |
%{ticket.status} | Current status (Open / Answered / Closed) |
%{ticket.priority} | Priority (Low / Normal / High / Emergency) |
%{ticket.url} | Direct link to the ticket (staff-side) |
%{ticket.client.url} | Direct link with auth token (client-side) |
%{today} | Current date in the agent's timezone |
Client
| Variable | Expands to |
|---|---|
%{ticket.user.name} | Customer's full name |
%{ticket.user.firstname} | First name only |
%{ticket.user.email} | Customer email |
%{ticket.user.phone} | Phone (if on file) |
Staff
| Variable | Expands to |
|---|---|
%{ticket.staff.name} | Assigned agent's name |
%{ticket.staff.firstname} | Assigned agent's first name |
%{ticket.staff.email} | Assigned agent's email |
%{ticket.staff.signature} | Personal signature block |
%{signature} | Active signature (department or personal) |
Department & SLA
| Variable | Expands to |
|---|---|
%{ticket.dept.name} | Department name |
%{ticket.dept.signature} | Department signature |
%{ticket.sla.name} | SLA plan name |
%{ticket.due} | Due date (when SLA expires) |
%{ticket.user.name}, that variable is filled in fresh on every insert — based on the ticket you're replying to. Save the response once, use it across thousands of tickets, each with the right name.
Sharing & Visibility
Every canned response has one of three visibility levels:
| Level | Who can see & use it | Typical use |
|---|---|---|
| Private | Only the author | Personal drafts, half-finished templates |
| Departmental | Anyone in one or more departments | Team-specific procedures |
| Global | All agents in the helpdesk | Greetings, sign-offs, common troubleshooting |
Visibility is set when creating or editing a response. Department managers can promote private responses within their team; admins can do anything.
Per-Language Variants
If your team operates in multiple languages, you can store a different version of a canned response per language. The agent's UI language determines which version is shown in the dropdown.
To add a language variant: open the canned response, click Add Translation, pick the target language, and write the localized version. The same %{variables} work in every language — Deskuss fills them in based on the ticket, not the language.
Searching Canned Responses
The reply-box dropdown is filterable. Start typing and the list narrows to responses whose title, body, or category matches. Search is case-insensitive and supports partial words — typing refund shows every response about refunds even if the word is in the middle of a sentence.
Inserting in the Reply Box
When composing a reply, click the canned-response icon in the editor toolbar (or press Ctrl+. / ⌘+.). The dropdown opens. Pick a response, and Deskuss inserts it at the cursor position with all variables expanded.
Best Practices
Do
- Use a consistent naming convention with a category prefix
- Keep responses short — they're starting points, not essays
- Use variables for anything that varies per ticket (name, ticket number)
- Create a "library hygiene" review every quarter: archive responses that are out of date
- Write a sign-off response that includes your signature, so agents can end a reply with one click
Don't
- Don't paste full troubleshooting runbooks into a single response — link to KB articles instead
- Don't include private information (internal-only links, customer-specific data) in global responses
- Don't use private responses for things other agents will eventually need — share early, share often
- Don't forget to test variables in a real ticket before publishing globally
Example Library Structure
Here's a starting set many teams find useful:
[Greeting] Friendly intro
[Greeting] Returning customer
[Sign-off] Standard
[Sign-off] With next steps
[Status] Investigating — will update by EOD
[Status] Awaiting customer reply
[Status] Escalated to engineering
[Billing] Refund approved
[Billing] Invoice sent
[Billing] Plan change processed
[Tech] Clear browser cache
[Tech] Try incognito
[Tech] Reinstall steps (macOS)
[Tech] Reinstall steps (Windows)
[Closing] Resolved — anything else?
[Closing] Resolved — survey link