Auto-translate Slack announcements into regional channels

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.

Agentic Task
DeepLSlack BotOperationsNotifications & AlertsContent Generation
PromptCreate

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.

Additional information

What does this prompt do?
  • Watches your main announcements channel and springs into action the moment a new message is posted.
  • Translates each announcement into every language your team speaks, keeping bold text, links, and formatting intact.
  • Posts each translation into its matching regional channel, like #announcements-de, #announcements-fr, and #announcements-es.
  • Skips the language the message was already written in and labels every post as an automated translation.
What do I need to use this?
  • A Slack workspace with a bot added to your announcements channel and to each regional channel.
  • A DeepL account for the translations (the free plan works too).
  • The list of languages your team speaks and which regional channel each one maps to.
How can I customize it?
  • Choose which channel is the source and which regional channels receive each language.
  • Add or remove languages, including regional variants like British English or Brazilian Portuguese.
  • Reword the short automated-translation note that appears at the top of every localized post.

FAQs

Will it re-post the message in the language it was already written in?
No. It detects the original language and skips that one, so nobody sees a pointless copy of the original.
Does it keep Slack formatting and links?
Yes. Bold text, italics, and links are preserved so each translated post reads just like the original announcement.
Which languages can it translate into?
DeepL supports dozens of languages, including regional variants like British English, US English, and Brazilian Portuguese. You pick the ones your team needs.
Do I need a paid DeepL plan?
No. It works with both the free and paid DeepL plans. The free plan covers a generous number of characters each month.
How quickly do the translations appear?
Almost immediately. Each time someone posts in the announcements channel, the translated versions land in the regional channels within moments.

Related templates

Reconcile Stripe payouts against your Mercury deposits

Every weekday morning, check that every Stripe payout actually landed in your Mercury account, and hear about it only when one did not.

Stripe
Mercury
Slack Bot
Agentic Task
Catch social posts stuck in approval before they miss their slot

Every weekday morning, get a Slack digest of the social posts still waiting on sign-off, with the ones about to go live flagged first.

Hootsuite
Slack Bot
Agentic Task
Turn last week's support tickets into a Miro affinity map

Every Monday morning, last week's support tickets become a themed Miro board, so your product team can see what customers actually complain about.

Zendesk
Miro
Slack Bot
Agentic Task
Chase unsigned contracts and nudge stalled signers daily

Every weekday we find the contracts still waiting on a signature, resend the ones going stale, and post a prioritized chase list to Slack.

Documenso
Gmail
Slack Bot
Agentic Task
Turn today's Miro boards into written Notion summaries

Every weekday at 6pm, any board your team edited today becomes a readable Notion write up, so the people who missed the session can catch up.

Miro
Notion
Slack Bot
Agentic Task
Log signed Documenso contracts as closed won in HubSpot

When a contract is fully signed, we read the agreed terms, move the matching HubSpot deal to closed won, and post a deal desk summary to Slack.

Documenso
HubSpot
Slack Bot
Agentic Task

Keep every team, in every language, on the same page.

Post your announcement once and let each regional channel receive it in the right language automatically.