Start a conversation

Adding dynamic content with placeholders

PLAN AVAILABILITY
Free
Inbox
Growth
Scale
Enterprise
NOTE: If you're not sure what plan you're on, sign into the admin area and check the 'Plan' page.

As the frontline of your customer service efforts, your support team responds to a deluge of conversations every day, often responding to similar questions and concerns. 

To save time and keep your service experience personal, Kayako lets you use placeholders to add dynamic content to your replies and notifications automatically. This saves precious time that would otherwise be spent manually retrieving unique customer information for every reply. 

You can use placeholders in:

  • Email notifications (triggers and monitors)
  • Email templates
  • Conversation replies and macros

When used correctly, placeholders can customize even the most common support messages and processes. For example, you can automatically acknowledge each customer by their first name while providing their conversation ID number when they submit a conversation. On top of that, you can quickly ask for or deliver information for common issues, such as billing concerns, cancellation requests, or account verification. 

In this article, we'll explain how placeholders work in Kayako, and then share concrete examples of placeholders in action. Your support team can copy and use these examples for their own notifications, templates, and messages. 

NOTE: If you're just looking for a list of all of the placeholders available in Kayako, check out our placeholder reference article.

Understanding how placeholders work

A conversation is structured with different kinds of data, and placeholders reference these pieces of information. These can be users, organizations, tags, a customer's email address, teams, etc. 

Placeholders are therefore formatted as keywords that represent the data being referenced. They are then enclosed in double curly brackets. When inserted into a conversation reply or an email template, Kayako replaces the placeholder with its corresponding value provided by the conversation. For example, to reference the conversation's subject, you would use {{case.subject}}

Kayako also supports for-loop placeholders, which can reference more than one line of information without using several placeholders individually. For example, you can pull up a detailed list of conversation replies or notes added to a conversation in one go. You'll recognize these for-loop placeholders by the {% for post ...%}{% endfor %} tags.  

NOTE: You'll notice that 'case' and 'conversation' are used interchangeably here. 'Case' is the shorthand for 'conversation', and it's used throughout Kayako's backend.

There are different types of placeholders that reference specific kinds of information:

  1. Conversation placeholders - let you specify conversation-related data. These placeholders are useful when referencing a conversation in an email template or a notification. (e.g. {{case.agent_url}} references the URL of the conversation in the agent panel, while {{case.helpcenter_url}} references the URL of the conversation, which can be accessed if the user logs in to the Help Center)
  2. Post placeholders - let you specify post-related data. Posts are both your public conversation replies and private conversation/user/organization notes. (e.g. {{case.latest_public_post.creator.name}} references the full name of the newest public post's creator, whether it's an agent or a requester)
  3. User placeholders - let you specify user-related data. Compared to other placeholder types, user placeholders are a little more complex since there are various types of users. (e.g. {{case.requester.first_name}} references the first name of the person that created the conversation)
  4. Organization placeholders - let you specify organization-related data in the conversation. (e.g. {{case.organization.name}} references the organization's name in the conversation, while {{case.requester.organization.name}} references the name of that specific requester's organization)
  5. Update event placeholders - provide you with information specific to the conversation update event. These placeholders are available only when a conversation has been updated and are available in conversation trigger rules. (e.g. {{case.update.via_channel}} references the channel over which the conversation was updated, such as Twitter, Facebook, email, or API.)

NOTE: Check out our placeholder reference guide for the full list of placeholders you can use in Kayako.

Example placeholder use cases

Below are some basic real-life examples of how placeholders are used in conversation replies, email notifications, and email templates. You can copy these examples and use them for your own conversations right away. 

If you need help creating email notifications using automations, working with email templates, or creating your first macro, head on over to our instructions articles on how to create and customize triggers or monitors, how to customize your email templates, and how to create macros to save time and effort when drafting your conversation replies. 

Acknowledging the customer after submitting a new conversation

Description: You can send a customized trigger notification informing the customer that you successfully received their conversation. This will require tweaking or disabling out-of-the-box acknowledgement triggers where you'd customize the email to be sent to the customer. 

AUTOMATION DEFINITION
Automation Type
Trigger


Channel Settings
Any


Conditions
Conversations: Update type
equal to
New conversation created

AND
Conversations: Source channel
equal to Help Center

OR Conversations: Source channel
equal to
Mail
Actions
Notification: Email a user
(Requester)


Sample message:

Hi {{case.requester.first_name}}!

Thank you for your message. Our team will reply to you very shortly and we'll update you by email.

You can log in and view your entire conversation history with us at anytime in our Help Center. Here's the URL to the case: {{case.helpcenter_url}}.

Thank you!

The arrows above point to content referenced by the placeholders we used in the sample above.

Inserting the latest previous public post in agent replies

Description: You can modify your Reply email template to include the last three previous public posts of a conversation in an agent's reply. This helps the customer and any other cc'ed contacts understand the context of the conversation. 

Sample template:

<table>
<tbody>
<tr>
<td><br>{{ contents|raw }}</td>
</tr>
</tbody>
<br>
<hr>
The last reply to this conversation was:
<br>
<br>
{% for post in case.posts|slice(1,3) %}
{{post.creator.name}} added a new post on {{post.created_at}}<br>
{{post.contents_html}}<br>{% endfor %}
<tfoot>{{ footer|raw }}</tfoot></table>

Notifying a team member about an assigned conversation

Description: You can create a trigger that sends an email notification to a team member that a conversation was just assigned to them. 

Definition:

AUTOMATION DEFINITION
Automation Type
Trigger


Channel Settings
Any


Conditions
Conversations: Assignee
changed

AND
Conversations: Assignee
not equal to (Current user)
Actions
Notification: Email a user
(Assignee)


Sample message:

Hi {{case.assignee.name}}!


Case {{case.id}} has been assigned to you. Here's the URL: {{case.agent_url}}

Preview:
{{case.formatted_latest_post}}

Preventing churning customers with a reason-for-cancellation message

Description: If your customer reached out to ask about cancelling their subscription or deleting their account, you can send them a cancellation message asking for the reason behind their decision. At Kayako, we use a macro to encourage the customer to share their experience and reason for cancelling so we can tackle their issues and prevent them from churning.

Definition:

AUTOMATION DEFINITION
Automation Type
Macro


Sharing Every agent

Actions
Change assignee change (Current user)


Sample message:

Hi {{case.requester.first_name}},

I'm sorry to hear you've decided to cancel your [name of company] account.

Before moving forward, could you share your thoughts and experience with the product that led you to cancel? This will allow me to understand where we fell short and how we can better serve you and your needs.

Thank you!

Sending custom satisfaction survey in your language

Description: If you provide support to customers in your native language, you can create a new monitor that automatically sends a translated satisfaction survey after completing a conversation. This can further make the service experience consistent for your customers.

Definition:

AUTOMATION DEFINITION
Automation Type
Monitor


Channel Settings
Any


Conditions
Conversations: Status
equal to Completed

AND
Conversations: Time spent in current status
greater than 24 (hours)

AND
Satisfaction: Satisfaction status
equal to
UNOFFERED
Actions
Notification: Email a user
(Requester)


Sample message (in Spanish):

Hola,

Como te pareció nuestra atención al cliente? Por favor, use la clasificación debajo para contarnos.

<a href="{{case.satisfaction_positive_rating_url}}">Bueno</a> | <a href="{{case.satisfaction_negative_rating_url}}">Mediocre</a>

¡Muchas gracias!

Choose files or drag and drop files
  1. Amaninder Singh

  2. Posted
  3. Updated
Was this article helpful?
Yes
No