Service Desk

How email replies find their ticket

The exact order of checks DevStride runs on every inbound email to decide whether it belongs on an existing ticket or opens a new one: the reply address, email headers, the subject tag, staff forwards, and what each one requires.

When a customer replies to an email from your desk, DevStride has to decide which ticket the reply belongs to. It does this the same way every time, with a fixed list of checks. This page sets out what your customers receive, the checks in the order they run, and what to look at when a reply opens a new ticket instead of joining the old one.

What customers receive

Every email DevStride sends about a ticket (a public reply, a status change, the "we received your request" acknowledgement) carries three things that let the answer find its way back:

  • From: your channel address, with the Reply-From name you set on the channel. See Email Channels.
  • Reply-To: a reply address unique to that ticket, in the form reply+…@in.devstride.com. Hitting Reply sends the answer to it.
  • A tag in the subject: a short signed code in square brackets, such as Re: Printer is offline [I123-ab34cd56].

The reply address and the tag are both signed by DevStride, so neither can be made up for a ticket by someone who has never received one of your emails.

The checks DevStride runs, in order

For each inbound message, DevStride works down this list and stops at the first check that matches. If none matches, the message opens a new ticket.

OrderWhat is matchedWho may send itTypical case
1Reply address. Any recipient (To or Cc) is a valid reply address for a ticket in your organization.Anyone holding the address.The customer hits Reply and the mail goes to the Reply-To address.
2Email headers. The message's In-Reply-To or References name an email the desk sent, or one the desk already filed on a ticket.The ticket's requester, or an active member of your organization whose mail passed DMARC and who is replying to mail the desk received.A mail program that replies to the From address instead of the Reply-To address. A reply-all thread that includes the desk.
3Subject tag. The subject contains a valid [I123-xxxxxxxx] tag.Anyone whose subject carries the tag.Outlook and Exchange, which often rewrite the headers.
4Staff forward as attachment. A forward from a staff member whose attached original belongs to an existing ticket.An active member whose mail passed DMARC, forwarding the original of that ticket's own requester.A colleague forwards a customer's reply into the desk.
5Nothing matched.Anyone.A new request. It becomes a new ticket.

Replies typed into the customer portal do not go through these checks: the portal already knows which ticket and which customer, so the reply goes straight onto that ticket.

Who can thread by headers

Header matching (check 2) is the only check that looks at who sent the message, because email headers travel inside the message and anyone can copy them. It accepts:

  • The ticket's requester. The sender's address must be the requester's address.
  • A member of your organization whose mail passed DMARC, replying to an email the desk received (not to one the desk sent). This is what lets your team reply-all in a conversation that started outside DevStride and have each reply join the same ticket.

Anyone else, including a colleague of the customer who was copied on the thread, does not thread by headers. Their message continues down the list: if it also carries the reply address or the subject tag it still joins the ticket (see below), otherwise it opens a ticket of its own.

The reply address and the tag are keys

Checks 1 and 3 don't ask who is writing. They ask whether the message holds the key. Whoever has the reply address or the subject tag for a ticket can add to it. That has two practical effects:

  • Aliases and colleagues work. If a customer's reply comes from a different address than the one they wrote to you from, or a colleague replies to the desk's own email, it still joins the ticket as long as the reply address or the tag is intact.
  • Forged keys do nothing. A made-up reply address is dropped and appears on Dropped mail as Reply address failed verification. A made-up subject tag is ignored, and the message goes on to the remaining checks.

Treat the reply address like a password for that one ticket: if a customer forwards your email to someone, that person can reply to it and be added to the ticket.

Editing the subject

Keep the tag when you or a customer change a subject line. The tag is what carries a reply back to its ticket when the mail program has rewritten the headers and replied to the From address instead of the Reply-To address, which Outlook does often. If the tag is removed and the headers don't match either, the reply opens a new ticket.

Changing the words before the tag is fine. Replying turns Printer is offline [I123-ab34cd56] into Re: Printer is offline [I123-ab34cd56], and that still matches.

Staff forwards

When a colleague forwards a customer's email to the channel address, DevStride can add it to the customer's existing ticket (check 4) only when all of these hold:

  • The forward carries the original as an attached message (Forward as attachment in most mail clients).
  • The colleague is an active member of your organization and the mail passed DMARC.
  • The subject has a forward prefix such as Fwd: or FW:.
  • The attached original belongs to one existing ticket and was sent by that ticket's requester.

Otherwise the forward opens a new ticket. The rules for who is credited with a forward, and what is published to the customer, are on Email Channels.

Exceptions

  • Closed or archived tickets open a follow-up. A customer reply to a ticket in a status mapped to Closed, or to an archived ticket, does not reopen it. DevStride creates a new ticket for the reply, keeps the original's requester and company, and links the two as related items. See customer statuses.
  • Merged tickets. Merging archives the ticket that was merged away. A customer reply that threads by headers to an email from either ticket lands on the surviving ticket. A reply that carries the reply address or the subject tag of the archived ticket is treated as a reply to an archived ticket, so it opens a linked follow-up ticket rather than landing on the survivor. Replies to the survivor's own emails land on the survivor.
  • Confirmation and sign-in emails carry no key. The email-confirmation message sent before a requester is verified, the portal sign-in link and the portal redirect emails have no reply address and no subject tag, and a reply to them never joins a ticket.
  • Mail to a removed address is dropped. If a channel address has been removed, a late reply is recorded on Dropped mail as Support address was removed and no ticket is created.

Troubleshooting: my reply opened a new ticket

Work through these in order:

  1. Look at the original email's subject. If the reply's subject has no [I123-xxxxxxxx] tag, the tag was removed or the mail program rewrote it.
  2. Check who replied. Headers only match the ticket's requester or an authenticated staff member. A customer who writes from a different address than the requester's, without the reply address or the tag, opens a new ticket. Consider merging the tickets and merging the requesters.
  3. Check the status of the original ticket. A closed or archived original produces a linked follow-up by design.
  4. Open Dropped mail and Suspended. A message held back by a failed sender check never joined anything. See The Suspended Queue. A reply from your own team needs DMARC to pass; if your sending domain publishes no DMARC record, staff replies don't thread by headers.
  5. Look for Reply address failed verification on Dropped mail. That means the reply address was altered or copied incorrectly.