Forums/Documentation/Extending your Zendesk

Zendesk placeholders reference

Anton de Young
posted this on June 17, 2011 14:14

Zendesk placeholders are containers for dynamically generated ticket and user data. The format is a data reference contained within double curly brackets. Since you can also access ticket and user data when defining programming logic, it may be helpful to think beyond placeholders and think instead of data objects and their properties that can be used for either purpose.

There are two primary data objects in Zendesk: Ticket and User. Each has its own set of properties; the User object, for example, contains user properties such as name and email. In addition to these two data objects, there are associated data objects. For tickets, there are the Comment and Satisfaction Rating objects. For users, there is the Organization object.

This article categorizes the placeholders by the data they display:

User data

In the context of updating a ticket, there are a number of different types of users. These include the following:
  • ticket.requester, who is the person who requested the ticket
  • ticket.assignee, who is the agent assigned to the ticket
  • ticket.submitter, who is either the user who submitted the request or the agent that opened the ticket on behalf of the requester
  • current_user, who is the user currently updating the ticket (an end-user or agent)

This means that most of the user data listed in the following table can be returned for each type of user (for example, {{ticket.submitter.name}}, {{current_user.name}}, and so on).

Table 1. User object data
Properties/placeholdersDescription
user.name
Important: Remember that you need to replace user with one of the user types shown above this table (for example, ticket.requester).
The user's full name.
user.first_name The user's first name.
user.last_name The user's last name.
user.email The user's email address.
user.language The user's language preference.
user.phone The user's telephone number.
user.external_id The user's external ID (if one exists). Optional for accounts that have enabled enterprise single sign-on using JWT or SAML.
user.details The user's details.
user.notes The user's notes.
user.time_zone The user's time zone.
user.role The user's role (end-user or agent). Administrator users return as agent.
user.extended_role When using Zendesk Enterprise agent roles, this returns the name of the agent's Enterprise role. These are the predefined roles:
  • Advisor
  • Light Agent
  • Staff
  • Team Leader
  • Legacy Agent
  • Administrator

If you've created custom agent roles, those role names are returned. If you're not an Enterprise account, using this placeholder returns 'Agent' for all agent users. End-users are 'End-user'.

For more information about custom agent roles, see Custom agent roles.

user.id The user's ID.
user.locale The user's locale (for example: en-US).
user.signature The agent's signature. Only agents have signatures.
user.organization... See Organization data below.
user.tags Tags. See Adding tags to users and organizations.

Organization data

Each type of user can be added to an organization. An organization contains the following data properties.

Table 2. Organization data object
Properties/placeholdersDescription
user.organization.id
Important: Remember that you need to replace user with one of the user types shown below this table (for example, ticket.requester).
The ID of the organization that the user is assigned to.
user.organization.name The name of the organization that the user is assigned to.
user.organization.is_shared True or False. Indicates if the organization is a shared organization.
user.organization.is_shared_comments True or False. Indicates if the organization allows users to add comments to other user's tickets.
user.organization.details Details about the organization.
user.organization.notes Notes about the organization.
user.organization.tags Tags. See Adding tags to users and organizations.
Since all users can be added to an organization, you can access the organization data for each using Liquid markup. For example, you can return data for each of the these types of users (shown here as placeholders):
  • {{ticket.organization.name}}, which is the ticket requester's organization
  • {{ticket.requester.organization.name}}, which the same as {{ticket.organization.name}} (the requester)
  • {{current_user.organization.name}}, who is the user currently updating the ticket (an end-user or agent)
  • {{ticket.assignee.organization.name}}, who is the agent assigned to the ticket
  • {{ticket.submitter.organization.name}}, who is either the user who submitted the request or the agent that opened the ticket on behalf of the requester

Ticket data

Zendesk tickets contain the following data properties.

Table 3. Ticket object data
Properties/placeholdersDescription
ticket.account The Zendesk account name.
ticket.cc_names The names of the people cc'd on the message.

If you want to return the email addresses of the people CC'd on the message, you can use this Liquid code:

{% for cc in ticket.ccs %}  
   {{cc.name}} ({{cc.email}})
{% endfor %}
ticket.created_at Time the ticket was created (for example, May-18).
ticket.created_at_with_timestamp Time the ticket was created expressed as an iso8601 format date/time. Example: 2013-12-12T05:35Z, which translates to December 12th, 2013 at 05:35am UTC.
ticket.description The ticket description (the first comment).
ticket.due_date The ticket due date (relevant for tickets of type Task). The format is: May-18.
ticket.due_date_with_timestamp The ticket due date (relevant for tickets of type Task) expressed as an iso8601 format date/time. Example: 2013-12-12T05:35+0100 which translates to December 12th, 2013 at 06:35am UTC+1.
ticket.external_id The external ticket ID (if one exists).
ticket.group.name The group assigned to the ticket.
ticket.id The ticket ID.
ticket.in_business_hours True or False. True if the ticket update is during business hours. See Setting your business hours.
ticket.link Full URL path to ticket.
ticket.organization.custom_fields.<key_name> Property/placeholder format for custom organization fields. See Adding custom fields to organizations.
ticket.organization.custom_fields.<field_key>.title Property/placeholder format for the title of a custom organization field. See Adding custom fields to organizations
ticket.organization.name See Organization data above.
ticket.priority The ticket priority (Low, Normal, High, Urgent).
ticket.requester.custom_fields.<key_name> Property/placeholder format for custom user fields. See Adding custom fields to users.
ticket.requester.custom_fields.<field_key>.title Property/placeholder format for the title of a custom user field. See Adding custom fields to users.
ticket.score The ticket score.
ticket.status The ticket status (New, Open, Pending, Solved, Closed).
ticket.tags All of the tags attached to the ticket.
ticket.ticket_field_<field ID number> Property/placeholder format for custom fields. See Placeholders for custom fields.
ticket.ticket_field_option_title_<field ID number> Property/placeholder format for the option titles of a drop-down custom field. See Placeholders for custom fields.
ticket.ticket_type Ticket type (Question, Incident, Problem, Task).
ticket.title The ticket subject.
ticket.updated_at Time the ticket was last updated (for example, May-18).
ticket.updated_at_with_timestamp Time the ticket was last updated expressed as an iso8601 format date/time. Example: 2013-12-12T05:35Z, which translates to December 12th, 2013 at 05:35am UTC.
ticket.url The full URL path to the ticket (excluding "http://").
ticket.url_with_protocol The full URL path to the ticket (including "http://").
ticket.via The source type of the ticket (Web form, Mail, Twitter, etc.).

Comment data

Comments are added to tickets, so they can be accessed as a ticket data object. There are two types of ticket objects. The first allows you to also return a collection of comment and attachment data. The second type is preformatted and these placeholders simply return comments in predefined formats.

Table 4. Comment data object
Properties/placeholdersDescription
ticket.comments Used as a placeholder, {{ticket.comments}} displays all the comments in a ticket (both public and private). Although private comments are always filtered out of the notifications that are sent to the requester.

Ticket.comments also serves as a collection for comment and attachment details. You can access the following data using Liquid markup:

  • comment.author.name
  • comment.created_at
  • comment.created_at_with_time
  • comment.is_public (true for public comments and false for private comments)
  • comment.value
  • comment.attachments
    • attachment.filename
    • attachment.url

For an example of accessing this data in business rules, see Customizing the formatting and placement of text in comments and email notifications.

Note: This same comment data collection is available when using the ticket.public_comments, ticket.latest_comment, and ticket.latest_public_comment placeholders.
ticket.public_comments All public comments, most recent first. Unformatted text.
ticket.latest_comment The most recent comment (both public and private). Unformatted text. Does not include attachments. To return attachments, use ticket.latest_comment_formatted.
ticket.latest_public_comment The most recent public comment. Unformatted text.

 

Table 5. Formatted comment data
Properties/placeholdersDescription
ticket.comments_formatted All public and private comments, most recent first.
Note: Private comments are filtered out of notifications that are sent to end-users.
ticket.public_comments_formatted All public comments, most recent first.
ticket.latest_comment_formatted The most recent comment (both public and private) with attachments (if any).
ticket.latest_public_comment_formatted The most recent public comment.

Satisfaction rating data

The following data properties are available for customer satisfaction rating (see Using customer satisfaction rating).
Table 6. Satisfaction rating data object
PropertiesDescription
satisfaction.rating_section A formatted block of text prompting the user to rate satisfaction.
satisfaction.current_rating The text of the current satisfaction rating (e.g. "Good, I am satisfied").
satisfaction.positive_rating_url A URL to rate the support positively.
satisfaction.negative_rating_url A URL to rate the support negatively.
satisfaction.current_comment The comment that the user added when rating the ticket.

 

 

Comments

User photo
Cory Brown
keeran

We want to create an email trigger or automation to end users that displays a list of their tickets grouped by status. For example, we could say:

We're making great progress with everything, below is a list of what we're working on.

Open (action on our part)

Link1
Link2

Pending (action on your part)

Link1
Link2

Recently solved (feel free to comment to reopen the ticket)

Link1
Link2

 

Could something like this be possible with the new placeholder tags or liquid markup?

Thanks,
Cory

July 19, 2011 20:55
User photo
John Everick

I have the same question as Cory above.

I was hoping to use the liquid markup but am not sure if that only applies to Organizations?
Could you please clarify if the liquid markup can be used for all objects?

Thanks, 

November 30, 2011 06:36
User photo
Maya Shoval
soluto

Can we have a "ticket.updated.via" to show if the ticket has been updated via email / webform etc. ?

thanks.

January 02, 2012 09:00
User photo
Tim Sayers

What is the placeholder for the unique return email address back to Zen which shows in the 'to' of any reply to emails with the '## In replies all text above this line is added to the ticket ##' EG such as support+idFVSH-X5FR@banlawsupport.zendesk.com ?


Ta

January 22, 2012 19:06
User photo
Eric Dahl
groupon

it seems that 

{{current_user.extended_role}}

does not work.

February 02, 2012 10:10
User photo
Seth Morgan
microvellum

@Eric

I see a possible issue with your format. Have you tried {{user.extended_role}}? I don't think the 'current' is necessary in that placeholder.


February 10, 2012 08:02
User photo
Anton de Young
Zendesk

Eric, 

The {{current_user.extended_role}} placeholder definitely works. In what context are you trying to use this? 

February 10, 2012 10:24
User photo
Seth Morgan
microvellum

Sorry Anton,

Still learning myself. I've been making much use of these placeholders in my macros. Great time savers.

February 10, 2012 10:49
User photo
Anton de Young
Zendesk

No problem Seth. I really appreciate that you jumped in to help. Agreed. Placeholders are very handy. 

February 10, 2012 11:19
User photo
Seth Morgan
microvellum

Anton, is there a way to put a placeholder in for similar forum topics? Or do you think I should just make a link to our forums?

February 15, 2012 14:30
User photo
Andy Goble

Hi Anton,

The placeholder {{ticket.id}} creates a link in the emails sent to the requester. Is it possible to insert the ticket id without it forming a link.

I don't want my customers to use the web portal.

Thanks
Andy. 

February 24, 2012 06:38
User photo
Andy Goble

I'll answer my own question...

Just found another article by Anton about setting up an email only help desk.

https://support.zendesk.com/entries/20032793-setting-up-an-email-only-help-desk

February 26, 2012 14:50
User photo
Julien Callede
madecom

Hi, quick question regarding requester name placehoder.

 

I'm trying to set up my macros to start answering emails with "Hi Mark,", Mark being my customer name.

 

However, when i use {{ticket.requester.last_name}}, {{ticket.requester.first_name}} or {{ticket.requester.name}}, it always gives me the full name of the customer, even when i can see that the 1st name is mentioned within the ticket.


For instance, here are some info about a ticket i received:

ticket info:

Name: Pam 
E-mail: pamhall@xxxxxxxx

customer info: 

Pamhall unverified

Contact Information

pamhall@xxxxxxx

 

Not depending on the placeholder i use, it always gives me "pamhall", and never "Pam". But "Pam" is a data used and displayed in the ticket itself (although not in the customer data), therefore it must be available to find somewhere?

 

Any tips?

 

Thanks

March 05, 2012 05:50
User photo
Seth Morgan
microvellum

@Julien: Is 'Pamhall" separate words? It doesn't look like you have a space between her first and last name.

March 05, 2012 08:50
User photo
Eric Dahl
groupon

@julien,  I agree with Seth.  What happens when you save the user's name as Pam Hall on their Zendesk profile?

March 05, 2012 08:52
User photo
Julien Callede
madecom
It's one single word in her profile (which is why i guess she only has a name registered, not a first name and a last name). However, in the ticket, it mentions "Pam" as her name, which i don't find anywhere else. I just guess that this word/data is stored somewhere and i could use it in my answer. ?
March 05, 2012 10:44
User photo
Eric Dahl
groupon

where exactly is it listed as "Pam"?

In a comment?

March 05, 2012 11:04
User photo
Matt Dietsche

I'm using a custom loop for my email template but am having a problem with comment formatting.  It seems that when I loop {% for comment in ticket.comments %}, comment.value isn't formatted.  But when I loop {% for comment in ticket.public_comments_formatted %}, comment is actually the comment value, not a comment object, so I can't access other comment details (like attachments).  Do I have to loop ticket.comments to get access to the comment details?  If so, is there something like comment.formatted_value that I can access on each comment object?  What I'm picturing is:

{% for comment in ticket.public_comments_formatted %}

{{comment.formatted_value}}

Attachments:

{% for attachment in comment.attachments %}

{{attachment.url}}

{% endfor %}

{% endfor %}

Thanks!

March 12, 2012 11:37
User photo
Carla Michelini

Is it possible to add a link to a URL that takes the customer to the client's website ?

April 12, 2012 11:23
User photo
Eric Dahl
groupon

You could just use a ticket field.

April 12, 2012 11:29
User photo
Carla Michelini

Sorry, what I was trying to get at was, in the "close and redirect to topics" macro, I could put something like,

"Thank you for your request. Your issue is well-known and we encourage you to visit our message forums or www.hp.com/go/hpexperience for further guidance."

 

in which the url was an actual link to the web site.

 

Sorry, I'm a beginner.

April 12, 2012 11:33
User photo
Eric Dahl
groupon

a URL is an actual link to a website.

April 12, 2012 11:35
User photo
Rob Eyre
bookdepository

Looks like ticket.tags is a simple space separated string rather than something you can iterate over directly (so you can't do

{% for tag in ticket.tags %} Tag: {{ tag }}{% endfor %}

For searching, you can use

{% capture spacetags %} {{ ticket.tags }} {% endcapture %}{% if spacetags contains " mytag " %} tagstuff {%endif %}

April 18, 2012 03:25
User photo
Seth Morgan
microvellum

Anton, 

Could you see my last comment here: https://support.zendesk.com/entries/21320558-converting-ticket-fiel...

Let me know what you think.

April 23, 2012 10:35
User photo
Anton de Young
Zendesk

Seth, I asked Skip to take a look at your feature request. 

May 03, 2012 09:31
User photo
Deepaks
saragroup

the placeholder {{ticket.description}}, displays, the requester name and the date and time:



Deepak Sapra, Jun 13 16:06 (IST):

This is the description

 

How do I get only the first comment "This is the description" without the requester name and date and time?

Thanks.

June 14, 2012 07:37
User photo
Nathan Chantrenne
valiantys

Hello,

I could use a ticket.latest_private_comment placeholder, do you plan to add it ?

 

Thanks.

 

Nathan

June 21, 2012 07:57
User photo
Deepaks
saragroup

Yes, this works!!! Thanks a ton, Nathan.

June 21, 2012 08:34
User photo
Cornelia Böhm

Hi,

I know it is old fashioned but we want to address our customers with Mr. or Ms.

Therefor I created a dropdown  field for our web-portal with those two keywords and I created an individual placeholder. But now the addressing is displayed in small letters (mr./ms.).

Is there a different possibility to correctly address customers?

 

Thanks.

July 10, 2012 02:05
User photo
Tawney
urbandaddy

I would like the subject line of the "comment added" notification to include the name of the commenter. Currently I'm trying this:

[Comment] {{comment.author.name}} Re: {{ticket.title}}

As the subject line, but nothing is coming through for the comment author name. Any suggestions? 

July 12, 2012 12:19
User photo
Sangeetha R

Hi, I'm using the Triggers to a URL endpoint to do so some ticket updates for my system. This trigger will send info about the ticket to the URL endpoint.The message contains ticket.updated_at and  ticket.created_at fields.

I'm not sure what timezone the dates are taking. The user I'm using in the target is configured in UTC. Could you please clarify?ticket.updated_at and  ticket.created_at  fields don't have any time or timezone info.

July 16, 2012 18:56
User photo
Anton de Young
Zendesk

Tawney,

Remember that {{comment.author.name}} is part of the ticket.comments data collection so you can't (that I know of) refer to it separately. 

Try this in your subject line: 

[Comment] {% for comment in ticket.comments limit:1 offset:0 %}{{comment.author.name}}{% endfor %} RE: {{ticket.title}}

That returns the author of the last (most recent) comment. 

July 17, 2012 14:41
User photo
Anton de Young
Zendesk

Sangeetha, 

The ticket_updated_at and ticket_created_at placeholders use your account's time zone. 

July 18, 2012 10:45
User photo
Tamara Field
press8

I created custom fields. How do I reference them in a macro? i.e. one is:

Control Panel Username

 

 

August 01, 2012 19:00
User photo
Tamara Field
press8

Found it:{{ticket.ticket_field_ID}}The value of a ticket custom field. For example, {{ticket.ticket_field_123}}.

 

August 01, 2012 19:02
User photo
Bojan
innofield

Is it possible to have the placeholder {{ticket.title}} without the (ticket #1111) at the end?!

I just need to have the Ticket Title within the subject.

Thanks,
Bojan 

August 08, 2012 10:07
User photo
Anton de Young
Zendesk

Bojan,

The {{ticket.title}} placeholder only returns the ticket's subject - not the ticket number. You're getting the ticket number as well? Where are you using the placeholder? 

August 08, 2012 10:33
User photo
Bojan
innofield

In my case it does it. I'm using the default placeholder within the trigger:

  • Notify requester of received request
  • Notify requester of comment update
Any idea?!
August 08, 2012 10:40
User photo
Anton de Young
Zendesk

Bojan, 

I just tested it in those triggers and I'm not getting the ticket number. I'll open a support request for you and one of our support agents will look into this for you. 

August 08, 2012 10:53
User photo
Bojan
innofield

Great, Thank you Anton.

Maybe it has something to do with our account. It was in use beginning 2011, then closed, and now re-activated again.

August 08, 2012 10:58
User photo
Bojan
innofield

Just for your information or BTW: I'm talking here about the Emails which are produced by those triggers.

August 08, 2012 11:48
User photo
Joy Carletti
Zendesk

Hi Bojan,

If you're using a non-zendesk email address for a default reply address, we add the ticket title into the subject line.  We need to do this in order for the ticket replies to thread properly.  (When you use a mycompany.zendesk.com email address, we put this information in a token in your reply address, but that's unavailable to us when you use your own address.)  Sorry for any confusion that this causes. If you have further questions, please feel free to reach out to us at support@zendesk.com.

August 08, 2012 12:28
User photo
Bojan
innofield

Hi Joy,

Thank you. That make sense. But, is it somehow possible to adjust the wording:
For example from (ticket #1111) to just Ticket #1111

August 08, 2012 13:20
User photo
Cactus Craig ™

Cornelia Böhm

{{ticket.ticket_field_option_title_ID}} instead of {{ticket.ticket_field_ID}}

August 22, 2012 15:22
User photo
Árni St. Sigurðsson
vis

I'm using an URL target to deliver ticket information and emulating JSON structures.  This breaks when a user uses characters like apostrophe or quotes.  Are there any sort of functions like urlquote available?

September 06, 2012 06:35
User photo
Travis Koger
Prism Europe Limited

Any idea when the ticket URL placeholder will support the new agent interface? Currently clicking on the URL in an email reverts you back to the Classic design.

 

It would be nice if it would automatically detect that you are an agent and keep you in the new interface without having to change the URL itself as that would cause problems when a client clicks on it.

September 13, 2012 01:45
User photo
Christian Heiler
Expedia

Hi,

I just worked on some Macros on this one and noted that some important information is not in the objects:

  • Age in hours of the ticket
  • Time since last update

These would be great to have to generate more custom responses.

 

Thanks,

Christian

September 26, 2012 01:24
User photo
Henrik Nyh

We want to show the ticket description, but truncated to a max length. This is in a HipChat URL target.

This:

{{ticket.description | truncate:400}}

Is truncated correctly, but the description is always prefixed with something like "------ Sender Name, The Date" as Deepak Sapra described above.

If we do:

{{ticket.latest_comment | truncate:400}}

We don't get the prefix, but neither is it truncated.

If we use ticket.latest_comment_formatted, it has the prefix and is truncated fine, exactly like ticket.description.

Is this by design or a bug? Is there some way to get a truncated ticket description without that prefix, but with truncation?

September 30, 2012 11:45
User photo
Nick Jones

Hi,

In the web interface for a ticket, in the events and notifications area, it shows all the change events for a ticket, e.g.:

  • Group changed from Support to -
  • Group changed from - to Service Management
  • Group set to Support
  • Status set to New

 

We need this in emails, as currently it is very hard to know what has happened from the current email template. Is there anyway to isolate and email exactly what has changed, as is possible to see on the web?

November 19, 2012 12:11
User photo
Aaron Stewart
pco

I notice that ticket.created_at and updated_at just have the date. Are there any fields that give me the time as well? I'm trying to set up some if statements so that on holidays they get a specialized message. I can set it for just the date right now, but I'd like my specialized message to begin at 5PM the day before so that people submitting know their ticket won't be answered until we return after the holiday. If there's a better way to do that, I'm up for that too!

November 21, 2012 10:17
User photo
Richard Suwelack

Hi,

I need a placeholder that shows the date/time stamp of a ticket, in the format: dd.mm.yyyy hh:mm:ss (e.g. 02.12.2012 15:01:10). When I use for instance {{ticket.created_at}} , I get DEC 02 for instance, which is not what I need.

Moreover, can I adjust the output of the date/time stamp? I would like to be yyyy.mm.dd for instance.

Thanks in advance,

Richard

December 03, 2012 06:18
User photo
Andrew J
BizStudio NZ

Time stamp would be a great addition.  Coupled with this, it would be FANTASTIC if we could refer to this in triggers and rules.  Rather than having to use 'hours' all the time (though these work great, just looking at options)

December 03, 2012 12:48
User photo
Zen2Jira
Author-it

Is there a way to insert the linked ticket ids? For example, my ticket is of type problem and I want to show in the comments (private) what the linked incident ticket numbers are. This is so an external system (JIRA) will get the information (since I don't have another easy way of showing this). 

Thanks :)

December 03, 2012 19:43
User photo
David Crompton
absolutemarketing

I'd like to have a widget [app?] visible at login that displays the current number of unsolved tickets and the total number of tickets solved [since the beginning or maybe even for a certain timeframe] Are there placeholders for these two pieces of data? Or maybe an app for this already exists?

December 17, 2012 09:52
User photo
Justin Seymour
Zendesk

Thanks for the feedback, folks! I'd like to see a timestamp specific placeholder as well. Just as a reminder, ticket notifications should all include a timestamp, it's just not tied to a placeholder. 

David: This sounds doable with a bit of custom coding, though I wouldn't know where to start. Maybe somebody else has some input? To my knowledge, no application exists which displays that information. 

Annastashia: You'll have to drop that information in manually, or populate some custom fields with the relavent ticket details. You could then use a custom placeholder to share that data: https://support.zendesk.com/entries/20011631-using-placeholders#top...

December 18, 2012 10:49
User photo
Kees Fransen
ited

Is there a placeholder that can provide a URL to the ticket in the Lotus interface and not the Web portal?

Cheers :)

February 11, 2013 13:17
User photo
Andrew J
BizStudio NZ

Hello Kees,

You can achieve this using the {{ticket.id}} holder.

ie; https://mysite.zendesk.com/agent/#/tickets/{{ticket.id}}

Hope this helps.

February 11, 2013 13:35
User photo
Jeff Hancock
oryxalign

Can you use any of these placeholders in your Zendesk Signiture!?

IE: 

Kind Regards, 

{{ticket.assignee.name}}

{{current_user.organization.name}}

RATE OUR SERVICE!!

{{satisfaction.positive_rating_url}} {{satisfaction.negative_rating_url}}


These can of coarse be used in a ticket comment.. but how about a signiture? 

February 21, 2013 02:09
User photo
Andrew J
BizStudio NZ

Hello Jeff,

I have certainly used placeholders in signatures... not sure about all these ones though; my best advice, chuck them all in a demo signature and give it a whirl!

Somehow I doubt you really want 'rate our service' in EVERY signature... I guess it depends on your workflow... Not too many of our customers are insterested in rating us before we solve their request :-)

Let us know how you get on! :-)

February 21, 2013 03:00
User photo
Jeff Hancock
oryxalign

Hey Andrew, 


Good point. I was going to make a macro for 'final clousure of a ticket' when your not expecting a reply, but having it in the signature was something i wanted to experiment with. 

 

I did a test, and only the plain text that i entered around the placeholder showed up. 

What place holders are you using in your signiture!? Name, organisation, address etc etc ?? 

February 21, 2013 04:24
User photo
Andrew J
BizStudio NZ

Hello Jeff,

I have had a look now, and the only placeholder currently in our signature is the {{agent.signature}} one, which is obviously specific to signatures.

Upon running a test, the placeholder I used didnt work either.

My bad, sorry about that.  Not sure if I was 100% mistaken, or if this was something we tried some time ago and the functionality changed.

Currently we have a fixed organisation signature and individual agent signatures.

March 04, 2013 10:53
User photo
Harley Pellowe
exactearth

I can't seem to get any of these placeholders to work in the email template. {{content}} and {{delimiter}} work, but that's it. For example,  "This message was sent to {{ticket.submitter.email}} in reference to case: {{ticket.id}}." renders as "This message was sent to in reference to case: ." Any ideas?

March 05, 2013 07:09
User photo
Brandon K.
Zendesk

@Harley Its possible that you're entering these placeholders in a field that does not support dynamic content. Do you think you could submit an email to support@zendesk.com with a description of the issues your having using these placeholders? Any screenshots you could provide would also be helpful.

March 05, 2013 15:52
User photo
Caroline Schnapp
Shopify

Is it possible for you guys at ZenDesk to answer Matt Dietsche's question, submitted 1 year ago on March 12th, 2012?

I have the same exact question.

I need to show the latest reply, followed by a call to a special partial we have, so far so good. After that, I need to show the rest of the comments, properly formatted. I would like to use a for loop to iterate through all comments, with offset:1. The issue I have is with formatting, just like Matt. If I use the default code given in your examples — comment.value, etc — it looks very bad.

Thanks guys!

March 09, 2013 13:54
User photo
Brandon K.
Zendesk

Hey Caroline,

This might be best answered as a support ticket. Do you think you could submit a ticket at the top of the page or send in an email to support@zendesk.com? We might need to see a live example first, but i'm sure someone on the Advocate team will be able to help you out. Be sure to post the answer here when you get it!

March 11, 2013 10:36
User photo
Stanislav Mokry
jetbrains

Hi we would need to list the CCs' e-mail addresses, not just names. How can we do that? Can you please add the option? Those on CC needs to be informed who else is on CC (and who is the ticket requester - that, on the other hand - we can add as e-mail, odd...)

April 04, 2013 05:04
User photo
Stanislav Mokry
jetbrains

I was thinking maybe instead of:
ticket.cc_names

this:
ticket.cc_emails

April 04, 2013 06:06
User photo
Anton de Young
Zendesk

Stanislav,

You can return the CC email addresses using this Liquid code:

{% for cc in ticket.ccs %}
  {{cc.name}} ({{cc.email}})
{% endfor %}

You don't need to include {{cc.names}} of course. Thanks for asking. We haven't added this to the user guide yet. We'll fix that. 

April 04, 2013 08:59
User photo
Denis Andreev
smartptt

Hi!

I create a placeholder for account name but it doesn't work :(

I try to create multilingual webportal titles...

April 11, 2013 02:08
User photo
Brandon K.
Zendesk

Hello Denis,

If you want to refer to your account name with a placeholder you can use {{ticket.account}} to do this. If you are trying to put a dynamic content placeholder in the account name field, unfortunately the account name field does not support dynamic content and you will be unable to put a placeholder that will render in this field. I would recommend that you take advantage of the multi-branding feature of Enterprise if you want to provide support with several different web portals.

April 17, 2013 12:21
User photo
Denis Andreev
smartptt

Hi Brandon

Thansk for answer, but in general, it is logical to be able to use dynamic content that would otherwise not get the full multilanguage support i think...

April 17, 2013 19:04
User photo
Brandon K.
Zendesk

Hey Denis,

I understand what you're looking for, the difficulty is that dynamic content doesn't work in all areas of the product. I'll pass along this feedback to our Product Management team, I think it's a good point. 

April 18, 2013 11:57
User photo
Denis Andreev
smartptt

Hi Brandon

Thanks for feedback. 

We don't interfere with this problem, but for example russian-language users should see the russian name of the service...

April 18, 2013 19:17
User photo
Scott San Filippo

Do we have access to the comment type (private or public) for markup? 

May 10, 2013 15:19
User photo
Brandon K.
Zendesk

Hey Scott,

Markup will work for both private and public comments.

May 13, 2013 10:50
User photo
Scott San Filippo

Brandon - Thanks - Yes - I know that - but can I get the comment type (public or private) for each comment so I can show that?

May 13, 2013 11:03
User photo
Brandon K.
Zendesk

Hey Scott,

I guess I don't understand what you are asking. When you say "get the comment type" what are you referring to. Are you exporting your ticket information or are you looking to be able to set the comment as public or private using markup?

May 13, 2013 11:36
User photo
Scott San Filippo

Brandon - Sorry for not being clear - Specifically I'd like to format my comments using markup manually and include the comment type as part of the display so that my developers and others reading the data can know which comments are public and which are private: (So yes, exporting the ticket info). 

 

"This is comment 1 - ipsum lipsum commentsum" (public)

"This is comment 2 - ipsum lipsum secondsum:" (private)

May 13, 2013 11:43
User photo
Brandon K.
Zendesk

Thanks for the clarification Scott! Unfortunately, I don't know myself, but i've sent a ticket up to our advanced team and hopefully we can get someone smarter than me to chime in and give you an answer. Thank you for your patience!

May 13, 2013 17:15
User photo
Matt Sirianni
Zendesk

Hello,

Thank you for your patience as we are currently experiencing an unusually high volume of support requests.

If I'm understanding you correctly, you are likely looking to pull a ticket audit with the API as described here: http://developer.zendesk.com/documentation/rest_api/ticket_audits.html
To do what you are describing, you'd just want to take a look at the returned "public":boolean field for the information you desire. If it is false, it is a private comment. If it is true, that would denote a public comment.

Does that help? My apologies if you are after different information, but please elaborate if that is the case and I will try and get you an answer!

Thanks for your question, and have a great day!

Matt Sirianni | Advanced Support | support@zendesk.com

May 27, 2013 08:10
User photo
Scott San Filippo

But is this data available in markdown - like {{comment.coment_type}}?

May 29, 2013 11:53
User photo
Matt Sirianni
Zendesk

@Scott- Unfortunately nothing like {{comment.comment_type}} currently exists. One somewhat convoluted workaround would be to iterate over {{ticket.comments}} and compare them to the contents of {{ticket.public_comments}}.  Any comment not found in {{ticket.public_comments}} but in {{ticket.comments}} would naturally be a private comment! For more advanced examples of markup logic usage, please check out this article: Using Liquid markup to customize comments and email notifications

May 29, 2013 14:34
User photo
Scott San Filippo

@Matt - Could you please repeat that (about the convoluted workaround) - there was a little noise in the transmission! :)

 

Also, is there any plan to surface "comment.comment_type" as a placeholder reference? 

 

May 29, 2013 14:39
User photo
Matt Sirianni
Zendesk

@Scott It should be fixed now if you want to re-read my previous response.  Thanks for the free lesson in making sure to escape my markup when replying to forum posts from within Zendesk. =)

As for future placeholders, I'll have to leave that to someone with more knowledge of the pipeline! 

May 29, 2013 14:47
User photo
Suzana Bueno
movile

Is there a placeholder that I can add to my emails that would allow the user to mark the ticket as solved?

June 11, 2013 06:30
User photo
Todd Zabel
Hearsay Social

@Suzana - I don't see anything for this in the full reference (https://support.zendesk.com/entries/20203943-zendesk-data-object-placeholders-reference). You might add a link in the email back to the ticket in Zendesk and indicate that they can mark the ticket as resolved (see attachment). 

The link would look like this:  http://ticket.url

June 12, 2013 07:53
User photo
Brandon K.
Zendesk

@Suzana: Although there isn't a pre-built placeholder to allow your end users to mark the ticket as solved, you could create the functionality with a trigger. If you create a new trigger and have the condition 'Comment text... Contains at least one of the following' and then put whatever word there you want to cause a ticket to be solved, this will allow your end users to solve the ticket themselves. Just set the action of the trigger as 'Status Solved' and maybe add a condition 'Current user Requester' so that your agent doesn't accidentally set the ticket to solved by letting the end user know how to type the command.

Todd's solution also works, as your end user's can choose to mark the ticket as solved through the web portal.

June 13, 2013 16:05
User photo
Evelyn Yoder
activevideo

Is there a placeholder for the default web portal URL (mycompany.zendesk.com)? 

June 28, 2013 13:30
User photo
Laura D.
Zendesk

Hi Evelyn, 

I'm sorry there isn't a placeholder for the default web portal URL. You could manually add the URL to triggers that send messages to end-users or to macros, even agent signatures. Markdown would let you format it so that it looks a little more friendly without the "http://" part. 

June 28, 2013 14:56
User photo
Evelyn Yoder
activevideo
June 28, 2013 16:38
User photo
Teresa
techtorium47

Hi I need introduce user password as placeholder in a macro, is it possible?

Thanks

July 23, 2013 05:25
User photo
Hank Eisenstein
bentex

I am setting up a notification that the ticket will be closed without further action.  If they reply to the automated email, will it reopen the associated ticket?

August 16, 2013 07:36
User photo
Allen Hancock
watchmanmonitoring

when we add custom field to emails via triggers, the text is hard to read.. overlapping itself.

How can we format this information? maybe calling it a code block, or better, having it match by getting the _formatted liquid to apply to the custom fields?

September 01, 2013 23:43
User photo
Nick Haines
Zendesk

@Teresa- For security reasons, user passwords are stored as a separate value and are not able to be inserted using a placeholder.

@Hank- since your question isn't related to placeholders specifically, I've created a ticket for you to discuss your question. You should see an email from us shortly.

@Allen- I wasn't able to replicate your overlap issue, would you be able to send an example of what you're seeing to support@zendesk.com and we can look into it for you?

September 04, 2013 09:10
User photo
Allen Hancock
watchmanmonitoring

The overlap issue turned out to be a problem for a user who had set his minimum font size.

the _formatted comments flowed properly for the larger font, however the custom fields ended up overlapping each other as pictured.

One solution would be to allow _formatted to apply to custom fields as well... I'm happy to open a ticket if you feel it would move that forward.

September 04, 2013 11:35
User photo
Nick Haines
Zendesk

Allen,

I'm not seeing an attachment on your post so I still can't see the overlap issue on my end. Submitting a ticket would probably be the easiest route at this point. Thanks! 

September 04, 2013 13:49
User photo
Tobias Braun
global

Hello,

is it possible to use Placeholders in the topic of a ticket? We want to put an order number from a custom field in the topic but currently it looks like this is not possible :-(

September 26, 2013 23:46
User photo
Tobias Braun
global

Should i use {{ticket.url_with_protocol}} or {{ticket.link}} in my email templates? Im wondering because {{ticket.link}} is not in this documentation and  {{ticket.url_with_protocol}} is not in the inline documentation when editing an email template.

September 27, 2013 00:49
User photo
Dean
savethemoment

{{ticket.title}} currently includes the text "(request #nnn)" in the email subject line sent to the end user.  Is there any way to change the word 'request' to the word 'ticket' instead?

September 27, 2013 06:32
User photo
Oscar Tobar
Zendesk

@Tobias Are you referring to the "subject line" of the ticket when you say "topic"? If so, placeholders can be used in this line. See above, in this article, about using custom ticket fields in the "Ticket Data" section. Also, using {{ticket.url_with_protocol}} will be the option to choose. It doesn't appear in the email template because it is used in triggers or notifications. Your email template modifies the look and feel of your outgoing notifications.

@Dean The word request can be modified by modifying it in your triggers. By default, the subject line in a trigger will read "Request received: {{ticket.title}}" but that can easily be changed to "Ticket received...". 

October 03, 2013 07:12