Overview
Ekso’s ticketing system turns inbound emails into work items and lets agents reply directly from within the application. When a customer sends an email, Ekso creates a ticket in the right container with the right process. When an agent responds, the reply goes back to the customer by email. If the customer replies again, Ekso threads the response back to the same ticket — maintaining a complete conversation history. This is Ekso’s built-in help desk capability: two-way email ticketing with threading, acknowledgement emails, reply templates, and domain-based filtering. Before configuring ticketing, you need at least one mailbox connection. You manage ticketing configurations under Settings > Ticketing.Ticketing configuration
A ticketing configuration maps a mailbox to a destination container and process. This is what turns raw emails into structured tickets. You can create multiple ticketing configurations — for example, one that routes support emails to a “Support” container and another that routes sales enquiries to a “Sales” container.| Property | Description |
|---|---|
| Name | Display name for this ticketing configuration |
| Mailbox | Which mailbox connection to use |
| Container | Destination container for inbound tickets |
| Process | The process type for inbound tickets |
| Domain filter | Email domains to allow or block (see Domain filtering) |
| Acknowledgement email | Subject and body template for new ticket confirmations |
| Reply email | Subject and body template for threaded replies |
| Start from | Earliest date to process tickets from |
Domain filtering
Domain filtering controls which email senders can create tickets. Two modes are available — they are mutually exclusive:- Only these email domains are allowed — whitelist mode: only emails from the listed domains create tickets. All others are skipped.
- These email domains are disallowed, all others are allowed — blacklist mode: emails from the listed domains are blocked. All other domains are accepted.
Domain filtering on the ticketing configuration is separate from the global block lists in general mail settings. Global block lists are evaluated first, then the per-ticketing domain filter.
Email templates
Each ticketing configuration has two email templates that control what the sender receives: Acknowledgement email — sent when a new ticket is created from an inbound email. This confirms receipt to the sender. Reply email — sent when an agent adds a response to an existing ticket. This delivers the agent’s reply back to the original sender. Both templates have a subject line and a rich text body. Templates use tags that are replaced with real values at send time:| Tag | Required in | Resolves to |
|---|---|---|
#code# | Subject (mandatory) | The item key (e.g., GEM-123) |
#name# | Subject (optional) | The item name |
#content# | Body (mandatory) | The annotation or reply content |
Testing
After configuring a ticketing pipeline, use the ticketing test to run a full end-to-end processing cycle. This converts any available emails in the connected mailbox into tickets, verifying the complete pipeline — domain filtering, thread detection, item creation, and email tagging. Test before activating a ticketing configuration to catch configuration issues early.How ticketing works
The ticketing engine processes emails every 5 minutes. Here is the complete flow:Mailbox polled
Ekso checks the configured inbox folder for new messages. For IMAP, it queries for unseen messages by UID. For Microsoft 365, it queries by received date using Microsoft Graph.
Filters applied
Each email is checked against the global block lists (domain and subject) and the ticketing domain filter. Emails that fail are tagged as EksoSkipped and ignored.
Thread detection
Ekso scans the email subject and body for an item key pattern — a container code followed by a sequence number in square brackets, like
[GEM-123]. The pattern matches 2–5 letter codes followed by a hyphen and number. If found and the item exists, this email is a reply to an existing ticket.New ticket or reply
- New email (no item key found): A new item is created in the target container and process. The email subject becomes the item name, the cleaned body becomes the description, and attachments are preserved. An acknowledgement email is sent to the sender, with the new item key in the subject.
- Reply to existing ticket (item key found): The email content is added as an annotation (comment) on the existing item. Attachments are added to the annotation. A reply confirmation email is sent to the sender.
Reply threading
The threading cycle works as follows:- Customer sends an email → Ekso creates a ticket (e.g.,
GEM-123) → acknowledgement email goes out with[GEM-123]in the subject - Agent responds from within Ekso → reply email goes out to the customer with
[GEM-123]in the subject - Customer replies → their email client preserves the
[GEM-123]subject → Ekso extracts the key and adds the reply as an annotation on itemGEM-123 - The cycle repeats — every reply from either side threads to the same item
Email content cleaning
Emails often contain HTML formatting, tracking pixels, scripts, and quoted reply chains. Ekso sanitizes all inbound email content before storing it as an item description or annotation:- Script and style removal — all
<script>and<style>tags are stripped, along with HTML comments, to prevent any executable content from being stored - Attribute sanitization — only safe HTML attributes are preserved. All other attributes (event handlers, tracking attributes) are removed
- Reply chain stripping — quoted reply content below separator lines is removed, so only the new message content is captured. This prevents conversations from accumulating duplicated text with each reply
- Format preservation — the cleaned HTML retains formatting like bold, links, and lists so the ticket content remains readable
Working with tickets
Once ticketing is configured, here is how agents interact with tickets day-to-day.Ticket detail view
Email-originated items display an email metadata bar beneath the field summary. The left side shows the sender’s email address (for example,[email protected]) with a mail icon. The right side shows the receiving mailbox address (for example, [email protected]) with an inbox icon.
This bar only appears on items created through the ticketing pipeline. It gives agents immediate context about who sent the email and which mailbox received it.
Replying to tickets
The Reply button appears at the top of any email-originated ticket. Clicking it opens a reply panel showing:- The recipient email address (the original sender)
- A rich text editor for composing the response
- An Attachment button for uploading files to include in the reply
[HELP-101]) in the subject line for threading.
Ticket tab
Email-originated items gain a Ticket tab alongside Description, Attachment, Annotations, and other tabs. The Ticket tab shows the conversation history — both inbound emails from the sender and outbound replies from agents. Each entry displays the message content, sender, and timestamp. This is separate from the Annotations tab. Annotations capture internal team commentary, while the Ticket tab tracks the external email conversation.Blocking spam
A Block dropdown appears below the ticket tabs on email-originated items. It provides two options:- By Sender Domain — adds the sender’s email domain to the global domain stop list
- By Email Subject Line — adds the email subject to the global subject stop list
Blocking is immediate for future emails. Existing tickets from the blocked sender or subject are not affected.
General mail settings
Global mail settings apply across all mailbox connections and ticketing configurations. You manage these under Settings > General in the mailbox section.Signatures
A mail signature is appended to all outbound emails sent from Ekso. Use this to add your organization’s branding, contact details, or legal notices to every reply.Block lists
Global block lists filter emails before they reach any ticketing configuration:- Domain stop list — block all emails from specific domains (e.g.,
noreply.example.com) - Subject stop list — block emails matching specific subject patterns (e.g., out-of-office auto-replies)