Filters & Pages
Two modules under the Manage menu: the Ticket Filters rules engine and the editable site Pages (landing, thank-you, offline, registration, banner).
The Manage Menu
The top-level Manage menu in the staff control panel has two sub-items:
- Ticket Filters — the rules engine that runs against every incoming ticket
- Pages — the editable site pages shown on the client portal
Ticket Filters
Filters are if-this-then-that rules that run against every incoming ticket — from the portal, email, or API. They can:
- Reject a ticket outright (with an auto-response)
- Route to a specific department
- Assign to a staff member or team
- Set the priority
- Send an auto-response
- Mark as spam
Creating a Filter
- Go to Deskuss → Manage → Ticket Filters
- Click Add New Filter
- Pick the target — New Tickets (default) or New Replies
- Add conditions (see below)
- Add actions (see below)
- Set execution order (lower runs first; use increments of 10)
- Save
Rule Conditions
Each condition has a field, operator, and value. Conditions within a filter are ANDed. For OR logic, create multiple filters.
| Field | Operators | Notes |
|---|---|---|
Subject | contains, equals, regex, starts-with, ends-with | Case-insensitive |
Body | contains, equals, regex | Plain-text body, HTML stripped |
From email | equals, contains, regex, ends-with | Use ends-with @domain.com to match an organization |
From name | equals, contains, regex | — |
To email | equals, ends-with | Useful for "incoming to tickets@ vs billing@" |
Priority | equals, in list | low, normal, high, emergency |
Department | equals, in list | By ID or name |
Custom field | equals, contains, in list, empty, not-empty | Field-name selector is dynamic |
Source | equals | web, email, api, phone |
Filter Actions
Each filter can fire multiple actions. They run in the order listed — put destructive ones (Reject, Mark as Spam) before constructive ones (Set Priority, Notify).
| Action | Effect |
|---|---|
| Reject | Drop the ticket entirely. Optionally send a rejection email. |
| Mark as Spam | Hidden from queues; no staff alert; tagged for review. |
| Set Department | Route to a specific department. |
| Set Priority | Override the priority. |
| Set Status | Force a non-default status. |
| Assign to Staff | Assign to a specific agent. |
| Assign to Team | Assign to a team. |
| Set SLA | Override the SLA plan. |
| Send Auto-Response | Send a canned reply to the customer. |
| Send Alert | Send an internal alert. |
| Add Internal Note | Append a staff-only note to the ticket. |
Filter Order
Filters run from lowest order number to highest. The first matching filter fires its actions. By default, processing stops there ("stop on first match"). To run multiple filters on the same ticket, enable Continue processing on match in the filter's settings.
Example Filters
Route all @enterprise-customer.com tickets to a senior agent
Target: New Tickets
Condition: From email ends-with "@enterprise-customer.com"
Action: Assign to staff "Sarah Lee"
Action: Set priority = High
Action: Set SLA = "Enterprise (1h response)"
Order: 20
Reject spam with common phrases
Target: New Tickets
Condition: Body regex "/(viagra|crypto airdrop|click here to claim)/i"
Action: Mark as Spam
Order: 30
Force high priority on outage reports
Target: New Tickets
Condition: Subject contains "outage" OR subject contains "down" OR body contains "completely offline"
Action: Set priority = Emergency
Action: Add internal note "Customer reported outage — confirm and escalate"
Order: 25
Testing a Filter
Before going live, test the filter:
- Open the filter
- Click Test
- Paste a sample subject, body, and sender
- Deskuss simulates the filter pipeline and tells you which filter would match and what actions would fire
For end-to-end testing, submit a real ticket from a test email account. Check the system log for filter matches and confirm the actions behaved as expected.
Email-Loop Prevention
If your From address matches the address you're polling or piping, every reply triggers a new notification which triggers a new ticket. The fix:
- Set a different From address for outgoing email than for incoming (e.g., outgoing from
support@, incoming totickets@) - Add the From address to a Reject filter with reason "self-loop"
- Empty the queue and start fresh
Site Pages
The Manage → Pages module lets you edit the text content shown on the client portal — landing, thank-you, offline, registration, and banner pages. No coding required.
The Editable Pages
| Page | What it shows | Default content |
|---|---|---|
| Landing | The portal's home page — buttons to open a ticket and check status, plus optional intro text | "Welcome to the Support Center" |
| Thank-you | Shown right after a customer submits a new ticket | "We've received your ticket and will respond shortly" |
| Offline | Shown when the helpdesk is set to offline mode | "The support center is temporarily unavailable" |
| Registration | Shown on the sign-up form, above the fields | "Create an account to track your tickets" |
| Banner | Top-of-portal announcement (e.g., for scheduled maintenance) | (empty by default) |
Editing a Page
- Go to Deskuss → Manage → Pages
- Click the page you want to edit
- Edit the content in the rich-text editor
- Save
The page accepts a constrained subset of HTML: h1–h3, p, ul/ol, strong, em, a, img, and a custom <deskuss-search> tag that renders the KB search box.
Resetting a Page
To restore the default content of any page:
- Open the page in the editor
- Click Reset to Default
- Confirm
Adding a New Page
You can add a new editable page beyond the five defaults. Useful for custom legal notices, FAQ pages, or anything else that needs to live on the portal.
- Click Add New Page
- Set the page's URL slug (e.g.,
terms) - Write the content
- Save
New pages are accessible at /deskuss/pages/{slug}.
{prefix}dk_content table, not in WordPress's wp_posts. They're rendered by Deskuss's own templates, not your theme's. This means you can use any WordPress theme and the pages will look the same.
HTML & CSS Restrictions
For security, the page editor strips:
<script>tags (any inline JS)on*attributes (event handlers)styleattributes (inline CSS)iframeandobjecttags- Any
javascript:URLs in links
For visual customization beyond the constrained HTML, edit your theme's stylesheet to target the relevant Deskuss classes. See the Theming section of the troubleshooting guide for the most useful selectors.