For every incoming email, Freshdesk checks 3 email markers to understand whether the email is a reply to an already-existing ticket. If the email is identified as a reply, Freshdesk performs additional sender email checks to make sure it's not spam.


Email Markers Check

Freshdesk looks for the following three markers in every incoming email. For an email to be threaded to a ticket, it has to pass one of the following checks:

  1. Ticket ID 
  2. Message-ID 
  3. Unique Identifier


Ticket ID

By default, when a ticket is created in your portal, a ticket ID is generated. The notifications that the customer and agent receive about the ticket updates will carry the ticket ID in the subject line. Freshdesk threads tickets by looking for the ticket ID in the subject line in this format - [#{{ticket.id}}]; so it is advisable to configure the subject line for your email notifications to carry the Ticket ID in the above format. When the customer or agent replies to these notifications, Freshdesk will check if the ticket ID matches and will thread the reply accordingly.


Almost all ticketing helpdesks follow the same nomenclature for the Ticket ID. When you use multiple helpdesks for your ticketing workflow, sometimes your tickets may get appended/threaded to the wrong ticket. To ensure that your ticket replies get threaded to the right ticket, you can configure a unique ticket threading identifier. To set this up:

  • Go to Admin > Email > Advanced Settings > Configure prefix for Ticket ID.
  • Provide a name that will get appended with your ticket ID, and hit Save.



Apart from setting up the prefix for the ticket ID, you can also add this prefix to all your outgoing email templates to additionally ensure that the emails get threaded to the right ticket. Some of these include adding them to your agent reply template emails, automation rules that send out emails to the requestor, and more. 


For example, let us see how you can add this to your agent reply template:

  • Go to Admin > Email Notifications > Templates tab
  • Click on Edit next to the Agent Reply Template
  • Input your prefix in the Subject box in this format "{{ticket.subject}} - [#Prefix{{ticket.id}}]", and hit Save
  • Now, this prefix will be appended to the ticket subject automatically when an agent responds to a ticket


Freshdesk lets companies that want to send personal replies to their customers remove the ticket ID from the subject line. If the ticket ID is not present, the threading check is done in the following two ways:


Message-ID

Every email has a unique identifier assigned to it by the email provider called Message-ID. (You can read this article to know how you can find the Message-IDs of emails from various email providers).


When you reply to an email, the Message-ID of the original email is available in the 'In-Reply-To' or in the 'References' section of the email, using which a reply gets threaded to the original email. Freshdesk uses the same method to thread replies to tickets.


Ticket Identifier

Apart from a unique identifier set by the email provider, Freshdesk also has a unique identifier for every email notification sent. This is done using a hidden div tag in the email. As long as the tag remains intact, the email will be threaded properly. For example, if the customer uses plaintext mode to reply, the ticket identifier will not work.


Email ticket threading will also work when two different businesses use Freshdesk to work with each other. Specifically, each Freshdesk account will add an identifier as part of the email message in the hidden div tag so that ticket threading will work in Reply and Forward scenarios.


Helpdesk address as recipient check:

  1. If the customer sends an email to support@abc.com and billing@abc.com, then it will be created two separate tickets. That is, if the customer keeps two addresses configured in the helpdesk as recipients in the same email, then it won’t be merged or threaded under the same ticket.
  2. Also in the middle of a ticket conversation, if the customer replies adding another support address, then that reply will be created as a separate ticket, and also be displayed as a reply in the current ticket.


Requester Checks

After the ticket is identified as a reply, the requester email should be one of the following for it to be threaded to a ticket:

  • Requester email address of the ticket
  • Agent email address of the ticket
  • Email address(es) in the CC of the ticket
  • Email address(es) to which the ticket was forwarded


So unless an email satisfies one of the email markers check and one of the sender email checks, it will be created as a new ticket in your helpdesk. If, however, the agent understands that the new ticket is a reply to an existing ticket, they can merge the tickets manually.