To provide multiple language support, you can create dynamic content that can then be referenced via a placeholder in automations, macros, triggers, custom fields, custom agent statuses, and by many of the system generated messages such as those sent in email notifications when a user creates an account.
As an example of how dynamic content is used, the text of a message that you currently add to a macro can be replaced by a dynamic content placeholder.
This text:
If you forget your password, just click the "Help! I don't know what to enter here!" link on the login page.
Thanks and have a great day!
The MondoCam Support Team
Is replaced with this placeholder:
{{dc.password_help}}
When the macro is applied to a ticket, the content is inserted into the ticket. If you're already using Zendesk placeholders, you're already familiar with how this works. The primary difference between the Zendesk placeholders and dynamic content is that you define the content that is dynamically inserted into your business rules and communications with your customers.
Dynamic content is a combination of a default version of the text (typically in the same language as your default language) and variants for every other language that you support. In the example above, the default variant is in English. If your Zendesk also supports French and German, for example, you create variants for each of those languages. Then, based on the end user's language, the appropriate variant is automatically used when the dynamic content is referenced and displayed to the end user.
If the end user's language is not one of your supported languages, the default variant is used.
Dynamic content provides you with a way to streamline support for multiple languages. You reference one placeholder and the appropriate language is displayed based on the end user's language preference. How an end user's language is detected is described in Setting and detecting a user's language.
Of course when you support multiple languages, you must translate your content into the languages you support in your Zendesk. There are a number of ways to manage the translation of your default content. You can create and edit all your language variants directly in your Zendesk or you can export all your dynamic content and send it off to a translation agency. You then import the dynamic content back into your Zendesk and all language variants are added.
If you later update the default content, the variants are flagged as being potentially out of date with the default content. Meaning that if you update the default content you probably need to also update the translations in the variants. When an update is required, you simply repeat the export and import process to update the content. See Managing the translation of your dynamic content.
You can also manually set variants to be inactive so that they are not used. You might do this if your variant isn't ready to be made public (for example, if the translation is incomplete or incorrect).
Finally, how you use your dynamic content in automations, macros, and triggers is tracked so that you have an easy way to monitor their use.
Creating dynamic content
When you create a dynamic content item, you select the default language and enter the text of the dynamic content. You then create variants for each of your supported languages.
- In Admin Center, click Workspaces in the sidebar, then select Agent tools > Dynamic content.
- Click Add item.
- Enter a title for the dynamic content.
- Select the default language. Note: The list of languages you can choose from is based on your default language and the additional languages you've chosen to support in the Localization settings page. You can add language variants for all of the languages that Zendesk supports.
- Enter the text of the dynamic content.
- You can use Zendesk placeholders in your dynamic content. For example, you can add placeholders for ticket and user properties. See Zendesk data object (placeholders) reference. You can also add other dynamic content placeholders.
- Click Create.
When you create a dynamic content item, the detail page is displayed. Below the title of the dynamic content, you'll see the placeholder that you'll use to refer to this dynamic content in your automations, macros, triggers and in system messages.
Once you use the placeholder, you'll see where its been used in the References section.
You can edit the dynamic content title by selecting Edit.
The text of your default content, shown above in the Variants section, can be edited by clicking the Edit button in the table row.
After you create your language variants, they are listed in the Variants section of the page.
Creating variants
Variants are different language versions of the default variant.
- Select Add Variant.
- Select the variant language. The list of languages you can choose from is based on the languages you've chosen to support in the Localization settings page. For more information, see Configuring your Help Center to support multiple languages.
- Set the variant to Active or
Inactive.
Active means that the variant will be used as the text for all users of that language. When you set a variant to Inactive, you're disabling its use and users of the inactive language will instead see the default content variant. In other words, if the default content is in English and you make the German variant inactive, German users see English content. Typically, you set a variant to inactive if the variant's content is not ready to be made public (i.e., the translation is not complete).
- You can also optionally set the variant to be
the default variant, which overrides the current
default variant.
Setting a language variant as the default variant is useful when you want to create dynamic content specifically for a group that supports a language other than your default language. For example, a Japanese language support group can set default variants as Japanese. When you change the default from one variant to another, the status of the other variants changes to Out of date.
- Enter the text of the variant language.
Depending on how you're managing the translation of the content, you can instead first create all your dynamic content in your default language and then export the content and send it to a translation agency. An export file is created for each of the languages that your Zendesk supports. You then import the files back into your Zendesk and all of the language variants are added to the dynamic content. For information about managing the translation workflow, see Managing the translation of your dynamic content.
- Click Create.
Here's an example of the password help dynamic content variant in German (translation courtesy of Google Translate).
When you add variants, they are listed as shown here:
In the list of variants, you'll see that the default content is flagged as the default. You can edit each variant by clicking Edit. You can also delete all the variants that are not the default. To delete the default variant you need to either set a different variant as the default or delete the entire dynamic content item. See Deleting dynamic content.
- Active
- Inactive
- Active (Out of date)
As described below (Filtering the dynamic content list by status), you can quickly view the dynamic content items that contain variants that are out of date.
Managing dynamic content
You can view all of your dynamic content from the Dynamic content page. To add variants to a dynamic content item, or to edit an item, click the item's title.
The list of dynamic content items contains the title, placeholder name, default language, the date of the last update, and status.
- Current, which means that the default content and all the variants are up to date.
- Out of date, which means that one or more of the variants are out of sync with the default content. In other words, the default content was updated and one or more of the variants were not. This status gives you a quick way to locate content that may need a translation update.
Filtering and sorting the dynamic content list
You can filter the list by status by clicking the drop-down list located at the top left of the dynamic content table.
Filtering by the out of date status allows you to quickly see the dynamic content that needs to be updated.
You can also click the Placeholder column header to sort the list by the placeholder name, alphabetically.
Organizing and viewing dynamic content by category
You can also organize your dynamic content into categories. This is done in the same way that you can organize your macros: just add the category name and double colons (::) to the beginning of the dynamic content title. You can then filter the list by category.
Deleting dynamic content
You can delete dynamic content only if it is not being referenced by your automations, macros, or triggers. How your dynamic content is being used is shown in the References section of each dynamic content item.
By clicking the link to the reference you can edit the business rule and remove the dynamic content placeholder. Once all the references have been removed, you can delete the dynamic content item.
- In Admin Center, click Workspaces in the sidebar, then select Agent tools > Dynamic content.
- Locate the item you want to delete
- Click Delete.
- You'll be prompted to confirm that you want to delete the item. Click OK. If there are no references to the dynamic content, the item is deleted. If there are references, the item is not deleted. You can then remove the references and delete the item.
Deleting variants
Any of the non-default variants in a dynamic content item can be deleted at any time. References to the dynamic content placeholder do not affect the variants. To delete the default variant, you need to make another variant the default or delete the entire dynamic content item.
- In Admin Center, click Workspaces in the sidebar, then select Agent tools > Dynamic content.
- Locate the item that contains the variant you want to delete and open it.
- Locate the variant and click Delete.
- You'll be prompted to confirm that you want to delete the item. Click OK.
Searching your dynamic content
The content in your dynamic content variants can be searched. The dynamic content search tool is located on the Dynamic content page.
You can search for any text string in any of the languages you've used in your dynamic content variants.
Managing the translation of your dynamic content
You can manage the translation of your dynamic content in the following ways:
- You can add translated content when you create the variants in your Zendesk. You can then manage updates to the translated content by editing the variants.
- You can create all the default language versions of the dynamic content and then export them as CSV (comma separated values) files and send them out for translation. When the translations are complete you import the CSV files back into your Zendesk and all the language variants are added.
- You can do a combination of both these approaches; translating and editing some variants in-house and using the export/import process to create and update the language variants via a third-party translation agency.
For information about exporting and importing your dynamic content, see Exporting and importing dynamic content.
Using your dynamic content
The dynamic part of dynamic content is that the correct version of the content is automatically shown to the end user based on their language. As with the Zendesk placeholders (see Zendesk data object (placeholders) reference), to use your dynamic content you simply reference the placeholder.
Using the 'Password Help' dynamic content as an example, you can use the dynamic content by adding the placeholder into a comment in a business rule, such as a macro.
Every dynamic content item has a corresponding placeholder.
In this example, it's {{dc.password_help}}.
When the macro is applied to the ticket, the appropriate language variant text is inserted into the comment. If the end user's language is not one of your supported languages, the default variant is used.
Dynamic content placeholders can be used in your automations, macros, and triggers. You can also use your dynamic content for common system messages such as those used in the sign up process. For example, the text contained in the user welcome email message can be replaced with a dynamic content placeholder.
You can use dynamic content placeholders in the following:
- Ticket field names, both system and custom (see Using dynamic content to translate your ticket fields)
- Custom drop-down labels
- Custom ticket statuses
- Ticket form names
- Agent signature (see Adding an agent signature to ticket email notifications)
- Help center (see Adding translated text)
- Satisfaction reasons (See Working with satisfaction reasons)
- Sign-up messages for end users (visible only when Guide
is enabled), including:
- User registration message
- User welcome email
- Email verification email
- Macros
- Triggers and automationsNote: When dynamic content is used in the body of a Notify URL target action, the default variant is always used.
- Custom unified agent statuses
- Other dynamic contentNote: Placeholders of all types that are used in dynamic content are limited to a maximum of five levels of recursion.
How an end user's language is set and detected and then used when displaying dynamic content is explained in Setting and detecting a user's language. You can also find several examples of how to build a workflow based on language in Using a requester's language in your business rules.
33 comments
Omar
Hey I had a question, I'm providing our contact form in multiple languages, with some custom fields that have specific values in each of them but are not reused anywhere else, currently I created dynamic items for each one of the fieldvalues so they are translated when needed, but is there an easier way to do this with text/items that are not used in multiple places?
0
Jean-Francois Weston
Hi Omar and thank you for reaching out. I think you have used the best way to handle the situation. And I can't provide another way that would be less tedious or more efficient. Enjoy the rest of your day Omar, and stay safe!
Jeff | Zendesk Advocate | EMEA
support@zendesk.com
0
Pim Hulskorte
Hey, I have a question. I want to add a variant to the dynamic content but the button 'Add variant' is not there. We are using the Professional plan. An extra language is already configured so I don't really get why I don't see the button 'Add variant'?
0
Juraj Jarmek
Hello @...,
I will have to look directly into your account to see what is exactly going on, therefore I will open a private ticket and reach out to you directly.
Have a great day!
0
Terry Ehrhard
I would like to be able to use dynamic content in replacement for listing out tags to exclude. For instance we use two list boxes in our forms throughout; "Remind Me In" and "Remind Customer In". These are use for dynamically determining time for automations to fire based on user selections. The challenge is excluding these tags from other automations that might be doing the same thing for specific static times. This is a list of many tags in the list box to exclude where we list over and over again. We have also added more fields to this list. Instead of replacing the list of tags over and over again in many automations we would prefer to have a DC field where we could make this tag list and update once but propagate throughout many automations.
See attached example in an automation (with an error)
-1
Alexandre Sabatier
Would it be possible to generate dynamic content items from a manifest.json (like settings)?
0
Dave Dyson
Hi Alex,
I don't believe that's possible, but it is possible to create Dynamic Content variants and items via the API – see Dynamic Content Items and Dynamic Content Item Variants in our API documentation.
0
Basile Jodeau
Most of the links of this article are out of date
0
Dave Dyson
Hi Basile,
We've updated the article today – let us know if you still see anything amiss!
0
Chris Stewart
Hi @... - is there any consideration to add the ability to use the search function to be able to search for the placeholder or dynamic content name?
If I have dynamic content in triggers etc that need to be updated, searching by a text string (which I don't have readily available) is essentially useless.
Would be interested to hear if others out there find the existing functionality fit for what I see as the most likely use-case.
5
Hugo Meana
Chris Stewart This has been requested many times and always greeted by support and PMs with "Can't you just scroll through your 500 pages of dynamic content until you find what you are looking for, you lazy people???"
0
Jennifer Côté
This page doesn't link to anything in the article above :( I'd love to know what the specific references are so I could organize our system better
0
Dave Dyson
I'll let our documentation team know that link needs to be updated. Thanks for the heads-up@
0
Raphaël Péguet - Officers.fr
Line breaks putted in dynamic content and then used as macros for messaging or chat disappear :/
0
Alexandra Cretu
Hi there! I'm adding the French version to the dynamic content of our Help Page, following all the instructions (same as I did with the other languages), but the French help centre is still missing these translations. Can you advise me what I'm doing wrong?
0
Dane
Upon checking, your concern has been resolved through a ticket. For visibility, the resolution was achieved by creating a new variant for your FR dynamic content.
Hi Ira,
This can only be done by utilizing Zendesk APIs, mainly List Items and List Variants.
0
Max
I think we're missing a little 'copy' button near the freshly created placeholder in order to copy/paste easily. In general, would be appreciated near any placeholder :)
1
Andrew Kenny
It seems Dynamic Content placeholders don't work in the Agent signature of a Brand. Is that correct?
Also, Dynamic Content placeholders don't seem to work in the Agent Signature on an agent's profile.
My Dynamic Content is working just fine when it's in a ticket comment, but can I use it in either of these places that don't require action from the agent?
0
Dane
I have tested it on my end. The value of the dynamic content was rendered without any issues.
0
Andrew Kenny
ok, thanks Dane. Then it may be the logic I've put into the Dynamic Content. Are there any values that should that might not work inside Dynamic Content when the Dynamic Content placeholder is placed in certain areas?
{% if ticket.brand.name == Brand 1 %}phone number 1
{% elsif ticket.brand.name == Brand 2 %}phone number 2
{% elsif ticket.brand.name == Brand 3 %}phone number 3
{% else %}ALL ELSE
-
{% endif %}
0
Dane
You can use dynamic content placeholders in the following:
1
Cheyenne Trommels - Oorebeek
We need most of our macros in both Dutch and English and got the tip to use DC for this. However, DC does not allow formatting like bold text. Neither can I add attachments in dc. How would you advise to solve this?
For example we have a macro with appointment confirmation. We use bold headers to divide crucial information. Next to that in the macro we added a pdf with important information in our brand style. Using DC we cannot use the headers and all text is flat. An attachment cannot be added to the variants, so how do we make sure the macro adds the correct pdf (Dutch or English, depending on the language of the customer)?
This seem basic options to me when DC is the way to go for translations of macros. At least you'd want to be able to use the same formatting/options as you can use in the Comment option in macros.
Even easier would be if you could set up translations of macro's the same way as Guide articles; select the variants of the macro/Comment (or whatever you want to translate) WITHIN the macro, so you don't have to edit contents anywhere else than in the macro itself. It's so cumbersome you have to go to dynamic contents if you want to correct a spelling mistake or change a sentence, instead of being able to do this in the macro itself...
2
Sabra
Hey Cheyenne Trommels - Oorebeek! This is great feedback as this functionality isn't something that is available with Dynamic Content currently. I would highly recommend that you follow and upvote this feedback post Add formatting (rich text editor) to dynamic content so our product managers can see how wanted this is by folks. An alternative option that you could look into in the meantime is using liquid markup in your macro: Using Liquid markup to support multiple languages in automations, macros, and triggers.
0
Aoife O'Neill
Hello,
Does nesting DC placeholders in macros impact translation?
e.g. if I have a macro that includes a DC placeholder + some original text, and that macro requires translation, does the fact that there's already DC in there impact the translation?
Thank you,
Aoife
0
Tony
Using DCs in a Macro, will pull the text from the DC itself on the macro when used. Hence, all the text in the Macro, except for the one pulled from the DC, will need to be translated if that's what you are asking.
Check this article to know more: Translating macros using dynamic content
Best,
0
Milena Rusanova
Hi,
Can I use DC in trigger conditions? For example by "Ticket Subject contains the following string" = [DC placeholder]?
We want to create an automated approach to categorize our incoming emails, based on the subject text. As we will have multiple languages, we were considering using DC to avoid creating a separate condition for each language in the triggers?
Thanks!
0
Joyce
If you intend to use the actual dynamic content placeholder as a condition in the trigger, I'm afraid that the trigger will not work as the placeholder converts into text content when used in a ticket.
As you are looking for an automated way to categorize your emails based on the requester language, using the Subject Text condition may not be the best approach. This condition will check for the presence of single words and strings of words in the subject line of the ticket and that has to be indicated on your trigger condition. The "Requester language" condition is what you can use for your workflow but you must create different triggers per language as this cannot be achieved with only one trigger.
0
Bobby Koch
Do dynamic placeholders work in the community? We are having issues with translating community topics and articles. How can we adjust for this? How can we have an international community?
0
Jupete Manitas
However, there are some strategies you can employ to handle multilingual communities (https://support.zendesk.com/hc/en-us/community/posts/4411809382170-Localization-of-Posts-in-Gather#:~:text=Hi%20Julien%2C,Translate%20API.):
1. You could create separate forum Topics for each locale/language. For example, Zendesk has multiple "Global Communities" listed on their topics page, each dedicated to a different locale (https://support.zendesk.com/hc/en-us/community/topics).
2. You could also consider building a custom translation solution using a third-party translation service, such as Google Translate API (https://cloud.google.com/translate/docs).
Upon searching online I've found this similar request - https://support.zendesk.com/hc/en-us/community/posts/5165435298074-Set-up-multiple-language-in-the-community. You can up-vote that original post and add your detailed use-case to the conversation. Threads with a high level of engagement ultimately get flagged for product managers to review when they go through roadmap planning. Thank you!
0
Damien Messé
Hello, you have recently added the placeholder column to the dynamic content but I'm surprised to see that we can't search with placeholder… everytime it gives 0 result.
We are managing close to the 3000 dynamic contents in Zendesk and it's a nightmare when we need to find a variant with the placeholder or the title…
So for now we are managing it outside of Zendesk…
0