Translate foreign-language Zendesk tickets to Slack
Every 15 minutes we spot support tickets written in another language, translate them to English, and post a summary with a suggested priority to your Slack channel.
Every 15 minutes, check Zendesk for newly created support tickets and flag the ones written in a language my team cannot read. Our base language is English, so I only want to surface tickets whose detected language is not English.
Start by using Zendesk's List Tickets operation to pull recently created tickets, sorted by creation date with the newest first and using cursor-based pagination. Keep track of the last ticket you processed so each run only handles tickets created since the previous run.
For each new ticket, take the latest customer message and translate it into English using DeepL's Translate Text operation. Set the target language to English (EN) and do not set a source language, so DeepL auto-detects it and returns the detected source language in the response. To avoid wasting DeepL character quota, only continue with a ticket when the detected source language is not English.
For every non-English ticket, post it into our Slack support channel using Slack's Send a Message operation. Each Slack message should include the original customer text, the English translation, the detected source language, a direct link to the Zendesk ticket, a one-line summary of what the customer needs, and a suggested priority such as low, normal, high, or urgent based on how urgent or upset the message reads. Use your judgement to write the summary and pick the priority.
Optionally, add the English translation back onto the ticket using Zendesk's Update Ticket operation. Post it as a private internal note rather than a public reply, so agents have the translation in context without the customer seeing it.
A few details to bake in: DeepL accepts up to 50 text strings per translate request, so batch messages together when it makes sense. DeepL free-plan keys end in ':fx' and use the free API host while paid keys use the standard host, so respect whichever key is provided. Because we only translate when the detected language differs from English, we never burn character quota on tickets the team can already read.
Additional information
What does this prompt do?
- Checks your Zendesk for newly created support tickets every 15 minutes.
- Spots tickets written in a language other than English and automatically translates the latest customer message into English, detecting the language for you.
- Posts each one to a Slack channel with the original text, the English translation, the detected language, a link to the ticket, a one-line summary, and a suggested priority.
- Optionally drops the English translation back onto the ticket as a private internal note so your agents have it in context.
What do I need to use this?
- A Zendesk account where your support tickets live.
- A DeepL account for the translations (the free plan works too).
- A Slack workspace and the channel where you want the alerts to land.
How can I customize it?
- Change how often it checks for new tickets (every 15 minutes by default).
- Pick which Slack channel gets the alerts and who should be notified.
- Set your team's base language so only tickets written in something else get surfaced.
- Turn the internal-note-back-on-the-ticket step on or off.
Frequently asked questions
Which languages does it handle?
Will it translate tickets that are already in English?
Does it work with the free DeepL plan?
Will the customer see the translation?
How quickly will we hear about a new foreign-language ticket?
Related templates
Never miss a foreign-language support ticket again.
Set up automatic translation and Slack alerts for non-English Zendesk tickets in just a few clicks.