Relay
Das Helpdesk, in dem Anfragen aus dem Portal, per E-Mail und aus dem Panel in einem Fluss zusammenlaufen: Warteschlangen, Servicezeiten, Automatisierung, Wissensdatenbank und Kundenportal.
Where a request stops getting lost
Relay is a help desk where every request that reaches a business lands in the same place. A customer fills in the form on your support page, emails an address directly, or an agent types up what they heard on the phone — all three turn into the same thing: a request with an owner, a priority, a clock and a history.
The product came out of the pile on our own desk. In a team running several products at once, support volume stops fitting into an inbox: who is looking at what, what was promised to which customer, and what has been waiting how long all disappear between email threads. Relay was written to bind those three questions to a durable record.
That is also where the first design decision came from: requests do not land in one pile, they land in projects. Every product, every team, every customer group gets its own project, its own queues and its own service promise. In a single installation, the software team's requests and the field team's requests never mix; each flows in its own lane.
- Project → queue → request: every team's work in its own lane
- The channel does not matter: portal, email and panel land in the same record
- Internal notes and customer-facing replies: same record, separate layers
- Two deployment models: cloud subscription or your own servers
The screens a support team lives in
The same record gets asked different questions all day: what do I work on today, which promise is about to break, what did this customer ask before, how did this month go. Each screen answers one of those questions — all of them running on the same data.
Dashboard
Open, pending, resolved-today and overdue requests; queue distribution, weekly trend and agent load on one screen.
Request list
Server-side filtering, saved filters you return to in one click, label and company filters, bulk updates on a selection.
Request detail
The conversation timeline, internal note vs reply, attachments, logged time, watchers and a badge showing who else is on the record.
Queues
Every project has its own queues; the default owner, the auto-assignment mode and the service promise are attached to the queue.
Service targets (SLA)
First-response and resolution targets per priority, a business-hours calendar, a warning before time runs out and a mark on the ones that broke it.
Automation
Condition-action rules: route an incoming request to the right queue, raise its priority, chase one waiting without a reply, drop an internal note.
Knowledge base
Categories and articles; published ones appear on a public help page — and as suggestions while the customer is still typing.
Customer portal
Submit without an account, follow the status and reply through a tracking link, and a one-question satisfaction survey after resolution.
The heart of the flow
The life of a request
The moment a record opens it gets a number and a project key — like SUPPORT-142. Every step from new to open, to waiting for information if needed, then to resolved and closed is recorded: who assigned it, who raised the priority, which reply went out when. If a second record was opened for the same thing, it is merged and the conversation collects in one place.
- Project-keyed request numbers on a counter that never reuses
- Field-level activity and audit trail
- Merge, bulk update, labelling
The clock on the promise you made
The service promise is written into policies: a first-response and a resolution target for each priority. The clock starts when the request opens, the resolution clock pauses while you are waiting on the customer, and picks up where it left off when they answer. If you want, time runs on working hours rather than calendar hours: workdays, start and end of the day and public holidays are defined, so a Friday-evening request is measured against Monday morning.
- First-response and resolution targets per priority
- A clock that pauses while you wait and resumes when they reply
- Workday, working-hours and holiday calendar
- An automatic warning to the owner when a target is missed
The part that runs itself
Anything that repeats can be turned into a rule. An incoming request is routed by its channel, priority, company or queue; if nobody has picked it up, a rule fires after a while and raises the priority or nudges the owner. A queue can hand incoming work to the team in turn, or to whichever agent currently has the fewest open items. Frequently written replies sit ready as canned text, and the wording of outgoing email comes from templates.
- Triggers on creation and on a schedule
- Queue assignment: round-robin or least-loaded agent
- Canned replies and email templates
The face the customer sees
The customer side is deliberately plain: no account required. Whoever follows the link fills in the form and keeps a tracking address; from there they see the status, write back and attach files. If they write to a closed request, it reopens by itself. While they type, relevant knowledge-base articles are suggested — someone who finds the answer there never has to bother anyone. After resolution a one-question satisfaction survey arrives, and the results flow into the reports.
- Account-free intake with a tracking link
- A signed-in user sees all of their own requests
- Internal notes never reach the customer side
- Article suggestions while typing, a survey after resolution
- The portal in Turkish and English
Who opened the request is never a guess
In business support, the most tedious job is tying an incoming request to the right company. Showing the user a "pick your company" list is both tiresome and unreliable: it gets picked wrong, left empty, or changed on purpose. Relay solves this differently.
When a user already signed in to your own application clicks the support link, your application signs their identity and company with a project-specific secret and sends it along. Relay verifies the signature; if it is valid, the name, email and company come from the signature regardless of what the form says. The user cannot see or change them, and cannot open a request in someone else's name. An old signature is not accepted.
For a visitor using the link without a signature nothing changes — the anonymous form opens, the request still comes in, only the company stays empty and staff can attach it by hand later. So the same portal can be both your public support page and the support button inside your application.
- Company and user identity come from the signature, not the form
- Each project has its own secret; renewing it invalidates the old one
- Without a signature the anonymous flow works exactly as before
- Company records are global: the same customer is recognised across projects
The capability catalogue
- New / Open / Pending / Resolved / Closed
- Four priority levels
- Project → queue → request hierarchy
- Project-keyed request numbers
- Labels
- Merge requests
- Bulk update
- Custom fields: text, number, date, select, checkbox
- Customer portal (no account)
- Requests opened from incoming email
- Outgoing email that stays in the same thread
- Manual entry from the panel (phone, field)
- Signed in-app intake
- Live chat · soon
- Policies with a target per priority
- First-response and resolution clocks
- A clock that pauses while waiting on the customer
- Workdays, working hours, holiday calendar
- Breach scanning and a warning to the owner
- Remaining-time indicator
- Rules triggered when a request opens
- Scheduled scanning rules
- Conditions on channel, priority, company, queue, waiting time
- Move queue, raise priority, assign, change status
- Drop an internal note, notify the owner
- Queue assignment: round-robin / least loaded
- Run a rule by hand, with a log of what it hit
- Canned replies (macros)
- Email templates
- Internal notes separated from customer replies
- Rich-text reply editor
- Watching and notifications
- A notification centre with an unread badge
- Lists and details that refresh live
- A badge for other agents on the same record
- Logged time and estimates
- Attachments: on the staff and the customer side
- Category and article management
- A public help page
- Article suggestions while typing in the portal
- Publish / unpublish
- A satisfaction survey after resolution
- Survey averages and comments
- Full-text search (subject, description, messages)
- Jump straight by request number
- Quick search from a keyboard shortcut
- Saved filters
- Filters for queue, status, priority, owner, label, company
- Admin / agent / customer roles
- Last-admin protection
- Project and queue management
- Company records and assigning a company to a request
- Menu and screen permissions
- Single sign-on (SSO)
- Turkish and English interface
- Status and priority distribution
- Open, pending, resolved today, overdue
- Service-target compliance and its monthly trend
- Agent performance
- Weekly trend per queue
- Satisfaction summary
- Organisation, brand and branch scope
- A module market: switch on what you use
- A module that is off disappears from the menu
- Trial period and subscription
- Invoice records and payment marking
- Turning a request into a development item
- A note back on the request when development closes it
- General-purpose webhooks · soon
Two deployment models, one product
You can use Relay in the cloud on a subscription: installation, backups, upgrades and monitoring stay with us, and you start working the day you sign up. As the team and the request volume grow, none of that becomes maintenance work on your side. And thanks to the module market only the part you use stays on — a module you switch off even disappears from the menu, so nobody has to learn a screen they never see.
The second model is the product installed on your own servers. Where customer correspondence must not leave the institution — public sector, defence, finance, healthcare and organisations running their own data centre — the same product lives inside your network, on your database. These are not two editions; it is the same core in a different place. There is no such thing as a cut-down version.
Authentication in both models goes through our central sign-on service: no password is stored in Relay, the session token lives server-side and can be revoked in one move. In an on-premises setup that service runs on your side too. The customer portal, on the other hand, asks for no identity at all; that door is deliberately open without an account.
- Cloud: subscription, zero maintenance
- On-premises: your servers, your database
- The same core — no feature gap
- Passwordless identity: central sign-on + revocable tokens
Live in five steps
1 · Open the project
Create a project and a short key for the product or team you support; from then on records are numbered with that key.
2 · Set up queues and owners
Open the queues incoming work lands in, pick a default owner, and decide whether assignment goes round-robin or to the least loaded agent.
3 · Write down your promise
Enter first-response and resolution targets per priority; if it should run on working hours, define workdays, hours and holidays.
4 · Connect the channels
Put the portal link on your site and in your app, define the support mailbox, and turn on signed identity for in-app intake.
5 · Hand the repetition over
Look at the first week's records and move what repeats into rules, what you keep typing into canned replies, and what keeps being asked into the knowledge base.
Technology
- .NET 9 Web API
- PostgreSQL
- Dapper + parameterised SQL
- PostgreSQL full-text search
- WebSocket live connection
- Background services: target scanning, automation, mail
- Angular 20 (standalone, zoneless)
- Library-free rich-text editor
- Library-free SVG charts
- Light / dark theme
- Turkish and English
- Docker containers
- Continuous delivery with Jenkins
- S3-compatible object storage
- SMTP / IMAP email channel
- Server-side, revocable session tokens
- Rate limiting and sanitisation on public endpoints
- Automated tests
A help desk is not measured by how many fields it has, but by whether the customer ever has to ask "what happened to my request". In a support flow that is set up well, that question has already been answered.
Frequently asked
What is Relay and what is it for?
Relay is help desk software where customer and internal requests are run from one place. It collects requests arriving from the portal, from email and from the panel into the same record, and includes queues, service targets (SLA), automation, a knowledge base, satisfaction surveys and reporting.
Does a customer need an account to open a request?
No. The customer portal works without an account: the person fills in the form from a link and keeps a tracking address. From there they see the status, write back and attach files. Writing to a closed request reopens it.
What happens to support requests that arrive by email?
Mail landing in the support mailbox turns into a request automatically. Replies on the same thread do not create a new record, they are appended to the existing conversation, and outgoing replies stay in the same email thread. Auto-replies and out-of-office messages do not open records.
Do SLA targets run on working hours?
Both are possible. By default time runs on calendar hours; when you enable the business-hours calendar, workdays, working hours and public holidays are taken into account. On top of that, the resolution clock pauses while you are waiting on the customer and resumes when they reply.
How is it established which company the requester is from?
Your own application signs the signed-in user's identity and company with a project-specific secret and appends it to the support link. Relay verifies the signature and uses that instead of the form fields; the user cannot change their company or identity. For a visitor arriving without a signature, the anonymous flow works as before.
Can several products or teams run support in one installation?
Yes. Requests land in projects: each product or team gets its own project, queues, service targets and portal address. You pick a project in the panel and the list, dashboard and reports narrow to it — requests never pile up together.
Can it be installed on our own servers?
Yes. Relay runs both as a cloud subscription and as an on-premises installation, with the same core and the same feature set in both. On-premises, customer correspondence and files stay in your own database and your own storage.
Can we switch on only the part we will use?
Yes. Parts like the knowledge base, satisfaction surveys, automation, reports and the email channel are switched on and off as modules. A module you turn off also disappears from the menu, so the team never deals with a screen it will not use; when the need appears, it is switched back on in one move.
Let us set up your support flow together
Tell us where requests reach you today — we will set up the queues, the targets and the portal around the way you actually work. You will be talking to the team that wrote the product, not a sales team.
Machen wir heute den ersten Schritt
Beschreiben Sie Ihren Bedarf in einer Nachricht; wir melden uns innerhalb von 24 Stunden.