Skip to content
All docs

Guides

Discord Announcement Bot: Auto-Publish and Ping Roles

Build a free Discord announcement bot: auto-publish (crosspost) in announcement channels, ping the right roles, send embeds, and schedule posts, no code.

4 min read

A Discord announcement bot does the tedious parts of announcing for you. It posts to the right channel, pings the right roles (and only them) and formats the news as a clean embed. It hits Publish in announcement channels automatically, and can post at a scheduled time or when another app sends it data. In NoriaFlow you build all of this as one visual workflow on your own bot, no code, free during the beta.

What an announcement bot does

  • Auto-publish (crosspost) messages in announcement channels so followers in other servers get them
  • Ping roles like @Announcements or @Events without waking up the whole server
  • Post embeds (title, image, color, fields) instead of walls of text
  • Schedule announcements for an exact time, once or recurring
  • Relay announcements from other apps via webhooks: release notes, blog posts, status updates

Let's build each piece.

Auto-publish in announcement channels (crosspost)

Discord's announcement channels can be followed by other servers, but a message only reaches followers once it's published. Manually, that's a "Publish" click on every single message. A bot removes the click:

  1. Send Message (or Send Embed). Posts the announcement in your announcement channel. The action outputs the new message's ID.
  2. Crosspost (publish): the same Discord action node, operation switched to Crosspost (publish). Set the channel, and set Message ID to {{message_id}} from the previous step.

Every announcement the workflow sends is now published automatically the moment it's posted. Two honest caveats: crossposting only works in channels of the Announcement type (convert yours in the channel settings), and Discord rate-limits how many messages a channel can publish per hour. Fine for real announcements, not for a chatty feed.

Ping the right roles, without pinging everyone

The fastest way to make members mute your server is over-pinging. Do it surgically instead:

  • Mention a role in the message text with <@&ROLE_ID>, for example a self-assigned @Announcements role members opt into with reaction roles.
  • Set the action's Mentions & pings field to Ping users & roles so the role actually gets notified. There is also a silent option: No pings shows the mention without notifying anyone. Perfect for log channels.
  • Reserve Ping everything (incl. @everyone) for genuinely rare, server-wide news.

Opt-in ping roles plus crossposting is the pattern big communities use: local members choose their notifications, follower servers get the news automatically.

Announcement embeds

Plain text announcements get skimmed; embeds get read. Switch the action to Send Embed and use the full builder: title, description, color, image, thumbnail, fields, footer, and timestamp. Copy a layout from these Discord embed examples.

Two features worth knowing:

  • Embed ID: give the embed a permanent ID and every run edits the same message instead of posting a new one. Ideal for a "current status" or "latest version" announcement that should always be up to date.
  • Discord timestamps: the Date node outputs <t:UNIX:R> tags, so "maintenance starts in 3 hours" counts down live in every member's own timezone.

Scheduled announcements

Write the announcement when you have time; let the bot post it at the right time. Swap the trigger for a Schedule trigger, set the cron expression and your timezone, and tick Run once only for a one-off, or leave it recurring for a weekly update post. The full playbook, with six copy-paste setups, is in the Discord scheduled message guide; cron basics live in scheduled automation.

Streaming? The same idea powers go-live announcements: a Twitch live alert or YouTube go-live post is just an announcement workflow with a platform trigger.

Announcements from other apps (webhooks)

Anything that can send an HTTP request can feed your announcement bot. A Webhook trigger gives your workflow a URL; when your blog, CI, store, or status page POSTs to it, the payload arrives as variables like {{body.title}}, which you drop straight into an embed:

TriggerLoading step…
ActionLoading step…
ActionLoading step…

Start from the Webhook to Discord Embed template, then add the crosspost step from above so relayed announcements publish themselves too. The webhook automation guide covers securing the URL with a secret token.

Set it up in 5 steps

  1. Connect your Discord bot: announcements post under your bot's name and avatar.
  2. Pick a trigger: Schedule (timed), Webhook (from another app), or a slash command you type when news drops.
  3. Add Send Embed with your announcement layout and the role mention.
  4. Add Crosspost (publish) with Message ID {{message_id}} if the channel is an announcement channel.
  5. Test in the editor, then Activate.

Start announcing

One workflow replaces the whole routine: format, ping, publish, on time, every time. Start building free: it runs on your own bot and everything is free during the beta.

Related guides: Discord scheduled messages · Discord embed examples.

Setup checks and next steps

  • Check the selected bot, server and destination channel. Role actions also require the bot role to sit above the role it changes.
  • Test with a dedicated channel or member before enabling this automation for everyone.
  • If a step fails, inspect its error and inputs rather than reconnecting every account.

See the extension setup guide for adding and reusing services, the node reference for parameters, and testing and debugging for execution diagnostics.

Frequently asked questions

How do I auto-publish Discord announcements?

Use a bot with the Crosspost (publish) action. In NoriaFlow, a workflow sends the message to your announcement channel, then a second step crossposts it using the new message's ID. The announcement is published to every server that follows the channel, with no manual 'Publish' click.

What is a Discord announcement channel?

A channel type that other servers can follow. When a message in it is published (crossposted), it appears in every following server's chosen channel. Regular messages in it stay local until someone, or a bot, publishes them.

How do I make a bot ping a role in an announcement?

Put the role mention in the message using <@&ROLE_ID> and set the action's 'Mentions & pings' option to 'Ping users & roles'. Members with that role get notified; everyone else just sees the mention. Pinging @everyone requires the 'Ping everything' setting.

Can I schedule Discord announcements in advance?

Yes. Swap the trigger for a Schedule trigger: write the announcement now, set the exact time (with your timezone), and tick 'Run once only' for a one-time post, or leave it recurring for weekly updates. The bot posts it on time without you being online.

Is the NoriaFlow announcement bot free?

Yes. Every feature is free during the open beta. You bring your own Discord bot, so announcements are posted under your bot's name and avatar, not a shared branded bot.