An isolated agent queue, a branded customer portal with passwordless sign-in, and email-to-ticket across Microsoft 365, Gmail and IMAP — one product, one contract, no per-agent licence and no three-agent ceiling.
A separate world inside Trakr, not a tag on your engineering backlog.
Where your agents live. Same engine as the ticket list, different world.
A Support Desk project carries a helpdesk flag, and its tickets live at /helpdesk — hidden from every standard surface. Trakr enforces this with a ticket scope (STANDARD, HELPDESK, SERVICE, ALL) so the three worlds never leak into each other's lists, searches or dashboard widgets.
Moving or merging a ticket across that boundary is refused, not warned about. Customer conversations do not accidentally surface in an engineering board.
The queue spans every helpdesk-flagged project and carries the complete TQL bar, a column manager, grouping, bulk actions, export, import and pagination.
Which means an agent's saved filter is the same object as an engineer's saved filter, and it can drive a dashboard widget or a scheduled report without being rewritten.
Canned responses are scoped to the organisation or to a single project, and expand placeholders when inserted — there is a placeholder catalogue in the editor so agents are not guessing at token names.
The point is the second half of the reply: the standard opening is generated, and the agent spends their attention on the part that is specific to this customer.
Internal notes never leave to the portal, and never leave to a mirrored GitHub or GitLab issue either. Ordinary comments, threaded replies, per-comment translation, @mentions and attachments all work as they do everywhere else.
Guest comments carry the sender's email and name, so a reply that arrives by mail from an address you have never seen is still attributable.
The project's routing rule — manual, round-robin or least-busy, drawing on project members, a group, a skill or named users — applies to every way a ticket can arrive: the portal, inbound mail, the REST API, MCP, automation and bulk create.
Viewers and customers are never eligible to be routed work, and people marked away can be skipped rather than accumulating a silent queue.
Merging duplicates never deletes anything: the source keeps its row, its key, its history and its portal visibility, is resolved as DUPLICATE and is linked to the survivor.
For a helpdesk source, comment mode COPY is offered or forced — a customer's own words stay on the ticket they can still see.
At /portal/{orgSlug}. No account to create, no password to forget.
A language picker and a "powered by" footer complete the page. Portal reporters are not agents and are not licensed as such.
Organisation settings establish the look; each project tunes its own entry point.
Switch the Support Desk feature off and Trakr hides the page, returns 404 on every /portal/{slug}, removes the project-settings switch, the wizard option, the scope pickers and the g h shortcut.
And it refuses to switch off while a project is still in Support Desk mode — naming the projects, so you know exactly what to deal with first. A feature flag that leaves orphaned data behind is not a feature flag.
Most support still arrives as email. Trakr polls it natively — no connector, no marketplace app.
The unglamorous work that decides whether email-to-ticket is usable or a source of noise.
Each mailbox carries a name, address, provider, enabled flag, JSON config, poll interval (five minutes by default), whether to store the original .eml, whether to extract attachments, its reply-handling mode, and default ticket type, priority and assignee.
Mailboxes are organisation-scoped or project-scoped. Operations: create, edit, enable or disable, test connection, poll now, plus sync history and per-mailbox statistics — including last poll, last error and an error count on the row.
ALWAYS_NEW_TICKET — every message files fresh. Right for intake addresses that never carry a conversation.
MATCH_BY_SUBJECT — a ticket key in the subject line, resolved only within the mailbox's own organisation, and retired keys included so a reply to a ticket that has since moved project still lands correctly.
MATCH_BY_THREAD — thread id, In-Reply-To and References. The right default for a modern mail client.
An auto-response detector skips out-of-office replies, bounces and DSNs, mailing-list confirmations and other automation.
A reply parser strips quoted chains: the > prefix style, Outlook's -----Original Message-----, the Gmail and Apple form "On [date], [name] wrote:", Thunderbird, and forwarded blocks. What lands on the ticket is the sentence the customer wrote.
Processing either creates a ticket or appends a comment, deduplicated by message id so a re-polled mailbox never doubles the queue. Attachments are extracted; the original message can be stored as .eml.
It then finds or creates a customer account from the sender, initialises the SLA clock on a new ticket, adds the customer as a watcher, and sends the confirmation after commit — so no customer is ever told about a ticket that failed to save.
Every message Trakr sends is an editable template with a preview and a test send.
Templates carry a scope — ORGANIZATION, TENANT or PLATFORM — and an audience: INTERNAL, CUSTOMER or ADMIN. Resolution walks organisation → tenant → platform → built-in, with two properties worth knowing:
enabled flag ANDs down the ladderSo an organisation can override a subject line without inheriting a stale body, and a platform operator who disables a template cannot have it re-enabled from below. The same ladder governs outbound sender configuration — SMTP, Outboundly, Microsoft 365, Google and Zoho — where the lowest appropriate configuration wins, every secret is encrypted per field, and each level offers a connection test, a test send, and a view of which configuration is actually in effect.
Trakr's UI is Thymeleaf. Its email templates deliberately are not. Admin-authored template strings evaluated by a Thymeleaf engine would hand you SpEL expression evaluation — which is remote code execution wearing a marketing email's clothes. Email templates therefore use a purpose-built, non-evaluating renderer:
{{name}} escaped value
{{{name}}} raw value
{{#name}} … {{/name}} presence block
{{^name}} … {{/name}} inverse block
{{#each name}} … {{/each}} iteration
{{item.field}} {{item.index}} {{item.number}}
{{t:message.code}} translated in the recipient's locale
There is no expression language, so there is nothing to escape into. The editor gives a live preview, a test send, an enable switch and a revert-to-inherited. Email chrome carries the organisation logo, brand colours, font and footer — rendered as nested-table HTML, because Outlook and Gmail are still what they are.
Atlassian list prices as published July 2026, ex. VAT. List prices only, no assumed discounts.
No. The portal at /portal/{orgSlug} is reachable without a login: a branded landing page with project cards and a links library.
To see their own tickets a customer signs in passwordlessly — they enter an email address, receive a 6-digit access code, and get a session token. Codes are stored hashed, attempts are limited, and expired codes are cleaned up nightly. There is no password to set, forget or reset.
As many as you like. Trakr is priced on your organisation's revenue, not on seats or agents, and the Support Desk, the customer portal, email-to-ticket and SLA enforcement are included at every tier — including the entry ones.
For comparison: Jira Service Management Free stops at 3 agents, and JSM Standard is $20 per agent per month on Atlassian's July 2026 list prices.
Inbound polling supports Microsoft 365 through the Graph API, Google through the Gmail API, and any IMAP mailbox through Jakarta Mail. Zoho and Outboundly are supported as outbound senders, and there is no POP3 support.
A mailbox can be scoped to the organisation or to a single project, with its own poll interval, reply-handling mode, and default ticket type, priority and assignee.
An auto-response detector skips out-of-office messages, bounce and DSN notifications, mailing-list confirmations and other automation. Every message is also deduplicated by message id, so a re-polled mailbox never doubles the queue.
A reply parser then strips quoted chains — the > prefix style, Outlook's -----Original Message-----, the Gmail and Apple "On [date], [name] wrote:" form, Thunderbird and forwarded blocks — so a reply lands as the customer's actual sentence.
No. Internal notes never leave to the portal, and never leave to a mirrored issue on GitHub or GitLab.
The rule is structural rather than a UI toggle: Support Desk projects are a separate world enforced by a ticket scope, so helpdesk tickets are hidden from every standard surface, and moving or merging a ticket across that boundary is refused.
Yes. The portal carries your organisation's branding, portal name, tagline, welcome message and support email, with per-project welcome text, submit button label and default ticket type, plus an FAQ link library at both levels.
Email chrome carries the organisation logo, brand colours, font and footer, rendered as nested-table HTML so it survives Outlook and Gmail. There are 18 templates, each resolvable at organisation, tenant or platform scope, with a live preview and a test send.
The desk, the portal, the mailboxes and the SLA clock are one product — self-hostable, made in Belgium.