Using an end user's language in business rules

<div class="article-banners">
<div id="docs-wmp-link">
<a href="https://support.zendesk.com/hc/en-us/articles/5411234991258-plan" rel="noopener" target="_blank">What's my plan?</a>
</div>
<div class="article-banner" id="suite_gpee">
<table style="margin-left: 0px; margin-right: auto;">
<tbody>
<tr>
<td>
<strong>All Suites</strong>
</td>
<td>Growth, Professional, Enterprise, or Enterprise Plus</td>
</tr>
</tbody>
</table>
</div>
<div class="article-banner" id="support_pe">
<table style="margin-left: 0px; margin-right: auto;">
<tbody>
<tr>
<td>
<strong>Support</strong>
</td>
<td>Professional or Enterprise</td>
</tr>
</tbody>
</table>
</div>
</div>
<div id="docs-ai-summary">
<p id="docs-ai-summary-toggle">
Verified AI summary <span id="up-triangle">◀</span><span id="down-triangle">▼</span>
</p>
<p id="docs-ai-summary-content">
Tailor workflows based on customer language. Automatically assign tickets to language-specific
groups, create language-based views and reports, and set user language
preferences through automations and triggers. Leverage dynamic content
for multilingual communication without needing extensive coding.
</p>
</div>
<div class="body">
<p class="p">
Knowing your user's language means that you can use that information
to determine
how to respond to your users and how to move tickets through your workflow.
There are a number of ways that a
<a class="xref" href="https://support.zendesk.com/hc/en-us/articles/10395044176538" target="_blank">user's language can be set or
detected</a>.
</p>
<p class="p">
Regardless of how the user's language is identified, it is accessible
in
automations, reports, triggers, and views. You can, for example, assign
incoming tickets to specific groups or agents based on language. You
can
also create views and reports to track tickets by language.
</p>
<p class="p">
The <em class="ph i">Requester's language</em> condition allows you to
test for a specific
language and then act on that information. You also have the option of
explicitly setting the user's language with the
<em class="ph i">Set requester's language
to</em>
action in automations and triggers.
</p>
<p class="p">
This article contains some examples of how you might use the
<em class="ph i">Requester's
language</em>
condition and <em class="ph i">Set requester's language to</em> action
to build a workflow based on language.
</p>
<p class="p">This article contains the following sections:</p>
<div class="p">
<ul class="ul" id="topic-1__ul_2gf_zbj_1y">
<li class="li">
<a class="xref" href="#topic_xrw_ufw_bf">Using dynamic
content to communicate in multiple
languages</a>
</li>
<li class="li">
<a class="xref" href="#topic_zrw_ufw_bf">Assigning a ticket
to a group or agent based on language</a>
</li>
<li class="li">
<a class="xref" href="#topic_lhe_zfw_bf">Creating views and
reports based on language</a>
</li>
<li class="li">
<a class="xref" href="#topic_elc_xfw_bf">Setting a user's
language preference with an automation or
trigger</a>
</li>
</ul>
</div>
</div>
<div aria-labelledby="ariaid-title2" class="topic nested1" id="topic_xrw_ufw_bf">
<h2 class="title topictitle2" id="ariaid-title2">Using dynamic content to communicate in multiple languages</h2>
<div class="body">
<p class="p">
Although it's possible to create a multiple language response within
the
email body of, for example, a trigger using Liquid markup (described
in
<a class="xref" href="https://support.zendesk.com/hc/en-us/articles/4408883291290#topic_snv_nqh_jc" target="_blank">Using Liquid markup</a>),
you should
instead use dynamic content. One of the advantages of doing so is
that language detection is handled automatically: you don't need
to
write Liquid markup for each of the languages you support.
</p>
<p class="p">
As described in
<a class="xref" href="https://support.zendesk.com/hc/en-us/articles/4408882999066#topic_enk_bdi_je" target="_blank">Using your dynamic content</a>,
dynamic
content and its language variants can be referenced in many places
in Zendesk using a placeholder. In the example in that
article, a message describing how end users can reset their
passwords is added to a macro by simply adding the placeholder as
the text in a macro action. Based on the user's language, the
correct language variant of the dynamic content is displayed.
</p>
<p class="p">
All your content, from the welcome message to automated responses
in
your business rules, should be managed with dynamic content.
</p>
</div>
</div>
<div aria-labelledby="ariaid-title3" class="topic nested1" id="topic_zrw_ufw_bf">
<h2 class="title topictitle2" id="ariaid-title3">Assigning a ticket to a group or agent based on language</h2>
<div class="body">
<p class="p"> </p>
<p class="p">
As you receive support tickets in the different languages you support,
you can use automations and triggers to automatically route them
through your workflow. As an example, imagine that your Zendesk
account includes three languages: English as the primary and
default language, and French and German. You've structured your
organization to support this by creating groups of agents that are
fluent in French and German. When you receive support requests in
either French or German, you use a trigger to automatically assign
those requests to the appropriate group.
</p>
<p class="p">
This is easily done using the <em class="ph i">Requester's language</em>
condition,
which is available in automations, reports, triggers, and views.
</p>
<p class="p">
<img class="image img-screenshot" id="topic_zrw_ufw_bf__image_ctw_ufw_bf" src="https://zen-marketing-documentation.s3.amazonaws.com/docs/en/lang_workflow_trigger.png" width="500">
</p>
<p class="p">
In this example, tickets from French language users are automatically
assigned to the French support group.
</p>
</div>
</div>
<div aria-labelledby="ariaid-title4" class="topic nested1" id="topic_lhe_zfw_bf">
<h2 class="title topictitle2" id="ariaid-title4">Creating views and reports based on language</h2>
<div class="body">
<p class="p">
The <em class="ph i">Requester's language</em> condition can also
be used to create
reports and views based on language.
</p>
<p class="p">
<img class="image img-screenshot" height="NaN" id="topic_lhe_zfw_bf__image_efr_zsy_cf" src="https://zen-marketing-documentation.s3.amazonaws.com/docs/en/lang_italian_view.png" width="NaN">
</p>
<p class="p">
You can also make the view visible to agents in a specific group.
</p>
<p class="p">
<img class="image img-screenshot" height="NaN" id="topic_lhe_zfw_bf__image_wff_wty_cf" src="https://zen-marketing-documentation.s3.amazonaws.com/docs/en/lang_view_group.png" width="NaN">
</p>
<p class="p">
In this example, the view is only visible to agents in the Italian
Support group.
</p>
<p class="p">
This works the same way in reports: use the
<em class="ph i">Requester's language</em>
condition to select tickets in a particular language.
</p>
</div>
</div>
<div aria-labelledby="ariaid-title5" class="topic nested1" id="topic_elc_xfw_bf">
<h2 class="title topictitle2" id="ariaid-title5">
Setting a user's language preference with an automation or trigger
</h2>
<div class="body">
<p class="p">
An end user's language can be set using the
<em class="ph i">Set requester's language
to</em>
action, which is available in automations and
triggers. You may want to use this action to set an end user's
language in those cases where the source of the support request is
not otherwise identified as originating from a specific language.
For example, if you use a separate support email address for each
of
the languages or locales that you support, you can use a trigger
to
then set the end user's language based on that email address.
</p>
<p class="p">
<img class="image img-screenshot" id="topic_elc_xfw_bf__image_hlc_xfw_bf" src="https://zen-marketing-documentation.s3.amazonaws.com/docs/en/dc_trigger.png" width="500">
</p>
<p class="p">
In this example, z3nbugulator uses the aide@bugulator.fr email address
for its French language users. This email address is forwarded to
french@z3nbugulator.zendesk.com, which is the email address used
in
this trigger.
</p>
<p class="p">
When a user's language is set via the
<em class="ph i">Set requester's language to</em>
action, that event is added to the ticket's events and
notifications.
</p>
</div>
</div>
<script id="ai-summary-script">
//<![CDATA[
const ai_summary_style = document.createElement('style');
ai_summary_style.innerHTML = `#styled-article-body{padding:0 0 0}#article-body #docs-ai-summary{background-color:#f3f3f3;border:1px solid #d3d3d3;padding:10px 10px 6px;margin-bottom:16px}#article-body #docs-ai-summary #docs-ai-summary-toggle{font-size:.9em;font-weight:700;margin-bottom:4px;cursor:pointer;display:flex;justify-content:space-between;align-items:center}#article-body #docs-ai-summary #docs-ai-summary-toggle #up-triangle{margin-left:auto;padding-right:10px;display:none}#article-body #docs-ai-summary #docs-ai-summary-toggle #down-triangle{margin-left:auto;padding-right:10px}#article-body #docs-ai-summary #docs-ai-summary-content{font-size:.9em;padding-left:25px;padding-right:25px;margin-bottom:12px}`;
document.head.appendChild(ai_summary_style);

const toggleAISummary = () => {
const summary = document.getElementById("docs-ai-summary-content");
const upTriangle = document.getElementById("up-triangle");
const downTriangle = document.getElementById("down-triangle");
if (summary.style.display === "none") {
summary.style.display = "block";
upTriangle.style.display = "none";
downTriangle.style.display = "inline";
} else {
summary.style.display = "none";
upTriangle.style.display = "inline";
downTriangle.style.display = "none";
}
};

document.getElementById("docs-ai-summary-toggle").addEventListener("click", toggleAISummary);
//]]>
</script>