Auto-translate Slack announcements into regional channels

By General Input

When you post in your main announcements channel, we instantly translate it and share it in each regional Slack channel, so your whole team stays aligned.

Integrations

  • DeepL
  • Slack Bot

Type

Agentic Task

Categories

  • Operations

Whenever a new message is posted in our designated #announcements Slack channel, run automatically. Use a Slack message webhook event on that channel as the trigger, and treat each new top-level message as an announcement to translate and broadcast to our regional channels.

Take the announcement text and translate it into each of our team's languages using DeepL's Translate Text operation. Omit source_lang so DeepL auto-detects the original language of the message. Each target language maps to a regional Slack channel, for example German to #announcements-de, French to #announcements-fr, and Spanish to #announcements-es. target_lang accepts regional variants like EN-GB, PT-BR, and ZH-HANS when we need them, so use the variant that matches the channel.

Skip any target language whose code matches the language DeepL detected for the original message, so we never post a translation that just echoes the original in the same language. If a message is already in one of our team languages, that channel simply does not receive a duplicate.

Preserve Slack formatting and links in every translation. Keep mrkdwn like *bold*, _italic_, and <url|text> links intact so each localized post reads just like the original, and clean up the formatting per language so it looks native rather than machine-dumped. Post each translation into its matching regional channel using Slack Bot's Send a Message operation. The bot must be a member of both the source announcements channel and each regional channel it posts to.

Prefix every localized post with a short note, written in that target language, saying it is an automated translation of the original announcement (for example, an English source would read "Automated translation of the original announcement posted in #announcements."). If DeepL returns nothing usable for a language, skip that channel rather than posting an empty message.

Setup nuance: DeepL free-plan API keys end in ':fx' and call api-free.deepl.com, while paid keys call api.deepl.com; the right host is chosen automatically from the key. Keep the channel-to-language mapping easy to edit so we can add or remove languages and regional channels over time.

Related prompts

Explore more prompts
A brand asset library your marketing team actually searchesTurn Mailjet email clicks into ranked HubSpot follow-upsClean out the Looker dashboards and Looks nobody opensLiveKit live operations console for room moderationWake up dormant Keap leads with a researched reasonLiveChat coverage board for planning next week's shiftsPhone routing control panel for LiveKit voice agentsLinkedIn Ads budget pacing dashboard for every client accountGive your team Looker numbers without buying more seatsPause marketing emails to escalated customers, then restore them