Product

Shared Inbox

Your support addresses arrive in a common queue. Each message becomes a ticket with a number, a requester, a priority, and an owner. No more « I thought you had replied ».

One ticket per conversation

Successive replies are linked to the same ticket via References and In-Reply-To headers, even when the customer replies from a different address.

No one replies twice

A banner indicates that a colleague is writing on the same ticket. Assignment visually locks the row in team views.

Sorting by keyboard

You scroll the list, assign, apply a label, and move to the next without touching the mouse.

acme.open-helpdesk.com/app/tickets
IDSujetSLAAgent
#4821Facture double sur juinMarie Duval · priorité haute42 minLéa
#4820Export CSV videStudio Novak · priorité normale3 hKarim
#4818Accès SSO refuséMairie de Blois · priorité haute18 min
#4815Demande de remboursementPierre Aubry · priorité basse1 jLéa
#4811Webhook non reçuTech Ardennes · priorité normale5 hKarim

In detail

Precise queue behavior

Reception
MX redirect to an ingestion address, or IMAP poll every 60 seconds.
Parsing
Signature and quotes automatically collapsed, attachments extracted and scanned.
Priority
Low, normal, high, urgent. Manually editable or by rule.
Views
Combinable filters on 14 fields, multi-sort, shared with a team or private.
Merge
Two merged tickets retain both threads and notify the requester only once.
Search
Postgres full-text search on subject, body, internal notes, and text attachments.
Replies
Editor with attachments up to 40 MB, draft saved every 3 seconds.

Create a ticket from your application

curl -X POST https://acme.open-helpdesk.com/api/v1/tickets \
  -H "Authorization: Bearer $OHD_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "subject": "Paiement refuse",
    "requester": { "email": "marie@exemple.fr", "name": "Marie Duval" },
    "priority": "high",
    "channel": "api",
    "body": "La carte est refusee depuis ce matin."
  }'