Translate foreign-language Zendesk tickets to Slack

By General Input

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.

Integrations

  • Zendesk
  • DeepL
  • Slack

Type

Agentic Task

Categories

  • Customer Support

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.

Related prompts

Explore more prompts
Call overdue Xero customers with an AI collections agentWin back LiveChat visitors whose chats went unansweredChat quality review board for LiveChat support leadsPause marketing emails to escalated customers, then restore themWin back no-show and cancelled appointments every morningLive Loop returns analytics with product-level drill-downNewsletter pre-flight and approval board for Mailjet sendsTurn a prospect spreadsheet into personalized sequence enrollmentsLook up any customer's email delivery history in one placeMailjet email delivery lookup console for support teams