Placeholders in Freshdesk are a great way to add dynamic content and personalize your automated emails. An email that refers to the customer by name, adds the right link to the corresponding ticket and keeps the customer updated about status changes is a great way to keep the conversation context in place. So, the next time you end up having to write an email that'll go out to a huge bunch of people (like an email notification or a canned response), you can address people by their first names by using {{ticket.requester.firstname}} or insert ticket IDs automatically into templates with {{ticket.id}}.


Placeholders are available to be used with Email Notifications (which are sent to customers automatically) when enabled, Canned Responses (which you insert into ticket replies manually) and even in pre-formatted reply templates in your Automations! Keep an eye out for the "Insert Placeholders" button above your textbox, to insert dynamic data into your content.



Here is a complete list of placeholders available in Freshdesk:

Placeholder text

What it represents

{{ticket.id}}

Unique ticket ID generated for each ticket

{{ticket.subject}}

Subject of the ticket

{{ticket.description}}

Description content in the ticket

{{ticket.url}}

URL of the ticket for logged in users

{{ticket.public_url}}

Public URL to view the ticket without logging in

{{ticket.portal_url}}

URL of the ticket within the corresponding product portal

{{ticket.status}}

Current Status of the ticket in the helpdesk

{{ticket.priority}}

Current priority of the ticket

{{ticket.source}}

Source of the ticket (Email, Twitter, Facebook, Phone, MobiHelp, etc.)

{{ticket.ticket_type}}

Type of the ticket

{{ticket.tags}}

Tags that have been added to the ticket

{{ticket.due_by_time}}

The time by which a resolution is due on this ticket (set by SLA rules)

{{ticket.requester.name}}

The (full) name of the customer or ticket requestor

{{ticket.requester.firstname}}

Only the first name of the requestor

{{ticket.requester.lastname}}

Only the last name of the requestor

{{ticket.requester.email}}

Email address of the requester

{{ticket.requester.company_name}}

Company or Organization to which the requester belongs

{{ticket.requester.phone}}

Requester phone number

{{ticket.requester.address}}

Requester's address

{{ticket.group.name}}

The Group to which the ticket has been assigned

{{ticket.agent.name}}

The Agent to whom the ticket has been assigned

{{ticket.agent.email}}

Email address of the assigned agent

{{ticket.latest_public_comment}}

The latest public comment that has been added to the ticket

{{helpdesk_name}}

Name of the support portal specified under Helpdesk Rebranding

{{ticket.portal_name}}

Name of the product portal (when using multiple products)

{{ticket.product_description}}

Product specific description in multi-product setup

{{ticket.satisfaction_survey}}

Inserts a customer satisfaction survey to the message


Custom Ticket Fields:

Dynamic content placeholders can be used for custom fields as well.

Custom Ticket Fields

Examples

{{ticket.category}}

Custom Field - Category (example)

{{ticket.order_tracking_code}}

Custom Field - Order Tracking Code (example)


In addition to this list, every custom field you create under Ticket Fields will get a placeholder of its own. It will get added to the placeholders list once you save changes to the ticket form. 


Why some placeholders are unavailable in the Placeholders Popup?

While almost all the placeholders you can use are available when you click the Placeholder button under notifications and canned responses, there are a few, like "comment.body" that have been intentionally left out.

A placeholder brings up content dynamically from a ticket, requestor, comment etc. 

  • For example, the ticket.description placeholder will always show the original description of this ticket. That means the ticket must have been referenced somewhere before. If you are using this in a canned response, notification or in most other places (like in Scenarios) it should work just fine. If you are using it in a page on   your custom FreshTheme portal, you should probably make sure you've referenced which ticket you are talking about first though.
  • A placeholder like comment.body and comment.commenter.name shows the body and commenter name of this comment. That means, you must have referenced what this comment means, so it would work in the notification for an agent or customer adding a comment correctly. Otherwise (like if you need to use it in your themes), you need to make sure you've referenced the comment already.

This is why the comment.body and comment.commenter.name placeholders only make sense in the email notification corresponding to an agent or requestor adding a comment. And, that's why you will not find them under the general Placeholders popup.