RSS a 66 redes sociales: Facebook, Instagram, X, LinkedIn, Telegram y más Blog Afiliados Contactos
Iniciar sesión Empezar gratis
Updated: 2026-10-10
Zulip Channels and Topics for RSS Feed Notifications

Short answer: In Zulip, every message belongs to a channel and a topic, so an RSS feed works best when you decide both before connecting it. Create an incoming webhook bot, generate a Slack-compatible webhook URL with the channel and topic you want, and connect that URL to your auto-poster. Use one fixed topic per feed for simple setups, or several webhook URLs with different topics and keyword filters when one feed covers several subjects. Readers can then follow, mute or resolve feed topics like any other conversation.

Zulip is different from most team chats. Instead of one long stream of messages per channel, conversations are split into named topics, a little like email subjects. That model is excellent for feed notifications: release notes, blog posts, status updates and news can each live in their own topic, where they are easy to read later and easy to ignore when they do not matter to you. It also means a carelessly connected feed can scatter messages or bury real discussions. This guide shows how to plan channels and topics for RSS feeds in Zulip, how to set up the webhook, and how to keep feed topics useful over time.

Channels and topics in Zulip

A Zulip organization contains channels, which were called streams in older versions. Each channel holds topics, and every message is posted to exactly one topic. Users can read a whole channel at once, open one topic, follow a topic to get notified about it, or mute it so it disappears from their view. Topics can also be marked as resolved, and moderators can move messages between topics.

For automated content, this gives you three levels of control:

  • The channel decides who can see the messages at all, because people subscribe to channels.
  • The topic decides how messages are grouped and how easily people can follow or mute them.
  • The feed decides what arrives, which you control with filters before anything is posted.

Getting the first two right is what turns a feed from noise into a reference. Zulip’s own help center describes how channels, topics, following and muting work for users.

Choose a topic strategy before you connect

There are three common patterns. Pick one per feed and stick to it.

  1. One topic per feed. All items from the company blog go to the topic blog posts in the channel announcements. This is the simplest and most common choice. People who want the blog follow the topic, everyone else mutes it.
  2. One topic per subject. A product feed that covers releases, security notices and documentation updates is split into three topics, such as releases, security y docs updates. Each needs its own webhook URL and a filter that sends only matching items.
  3. One channel per audience. Industry news goes to a news channel for the whole company, while competitor updates go to a private market watch channel for the sales team. Topics inside each channel then follow pattern 1 or 2.

Avoid a fourth pattern that seems attractive: a new topic for every item. It turns each article into a separate conversation, fills the left sidebar with one-message topics, and makes muting impossible. If you want discussion per item, people can start a topic by replying with a new topic name when an article deserves it.

Topic names in Zulip are limited to 60 characters, so short, stable names work best: blog posts, releases, status updates, industry news.

Which feeds belong in Zulip

Not every feed deserves a place in team chat. The feeds that work best are the ones colleagues would otherwise check by hand or miss entirely:

  • Your own publications: the company blog, help center updates and the product changelog, so support and sales see changes as soon as customers do.
  • Dependencies: release feeds of the libraries and services you rely on, and status pages of your providers.
  • Market signals: news searches, competitor blogs and industry newsletters that offer a feed.
  • Community activity: forum or issue tracker feeds, sent to the people who answer them.

A feed that nobody acts on is noise, however neatly it is sorted into topics. Start with two or three feeds and add more only when people ask for them.

Create the incoming webhook bot

Zulip receives external messages through bots. For an RSS feed you need an incoming webhook bot:

  1. In Zulip, open Settings, then Personal settings, then Bots, and choose Add a new bot.
  2. Select the bot type Incoming webhook, give it a clear name such as PostRSS or Feed bot, and optionally an avatar so readers recognise it.
  3. Create the bot. It appears in your list of bots.

The bot posts messages under its own name, which helps readers tell automated messages from human ones. Depending on the organization settings, only some users may be allowed to create bots, and the bot needs to be able to post in the channel you choose; check the channel’s posting permissions if messages are rejected.

Generate the webhook URL with channel and topic

Next to the bot, choose Generate URL for an integration. In the dialog:

  • Choose the integration Slack compatible webhook. Many tools send messages in the format Slack uses, and Zulip converts them to its own Markdown. Zulip documents this in its Slack-compatible webhook guide.
  • Pick the channel.
  • Enter the topic. Always set it explicitly, so you know exactly where every message will land.
  • Copy the generated URL.

The URL contains the bot’s API key along with the channel and topic. Treat it like a password: anyone who has it can post to that topic as the bot. Do not paste it into tickets, screenshots or shared documents. If it leaks, regenerate the bot’s API key in Zulip and update the URL wherever you use it.

For pattern 2 from the previous section, repeat this step once per topic. You end up with several URLs that differ only in the topic part, each connected as its own destination.

Connect the feed and route items to topics

With the URL in hand, connecting the feed takes a few minutes in PostRSS:

  1. Add Zulip as a target and paste the webhook URL. PostRSS sends one confirmation message, so you can see immediately that the bot, channel and topic are right.
  2. Add the RSS or Atom feed as the source, and choose whether to start with new items only or to post some older ones too.
  3. If one feed should feed several topics, connect each topic URL as a separate target with the same feed and give each one a keyword filter. The filter searches the item title, description and categories, so a rule such as release or a category name sends only matching items to that topic.
  4. Set a limit on the number of posts per update, so a backlog never floods the topic at once.

Each item is posted with its title as a bold link and a short description below it. If your organization shows link previews, Zulip may add a preview of the linked page as well. A clear feed title and description therefore matter more than in many chat tools. For filtering ideas, see category filtering for auto-posting.

FeedChannelTopicFilter
Company blogannouncementsblog postsNone
Product changelogproductreleasesCategory release
Product changelogproductsecurityKeyword security
Status pageoperationsstatus updatesNone
Industry news search feedmarket watchindustry newsExclude unrelated keywords

Link previews, formatting and notifications

Three organization and user settings change how feed messages look and feel:

  • Link previews. Zulip organizations can show previews of linked websites and images. If previews are on, the linked page’s title, description and image may appear under the message. Pages with proper Open Graph tags give the best results, as explained in Open Graph tags and auto-posted links.
  • Notifications. By default, Zulip users are not notified about every channel message. They can turn on notifications for a channel or follow a specific topic. For feed topics, encourage people to follow only what they really want, such as security notices.
  • Muting. Anyone who finds a feed topic irrelevant can mute it without leaving the channel. That is one of the strongest reasons to give each feed a stable topic name.

Messages from a bot in a busy channel can still feel noisy. Posting windows help here: if your team works office hours, allow posting only during the working day, so items published overnight arrive together in the morning, limited by the posts per update setting.

Keep feed topics tidy over time

A good topic setup still needs a little care:

  • Resolve, do not delete. When a status incident or a release discussion is finished, mark the topic as resolved. The history stays searchable.
  • Move discussions out of feed topics. If people start a long conversation under a feed message, a moderator can move those messages to a new topic, keeping the feed topic clean.
  • Rename carefully. If you rename a feed topic in Zulip, update the webhook URL too, or new items will start a topic with the old name.
  • Review filters monthly. If a topic receives items nobody reads, tighten the filter or move the feed to a less busy channel.
  • Keep one owner. Someone should own each feed: who added it, why, and when it can be removed.

Troubleshooting

  • No confirmation message. The URL was copied incompletely, the bot was deactivated, or the bot is not allowed to post in that channel.
  • Messages appear in an unexpected topic. The topic in the URL is different from the one you expected, or it was edited. Generate the URL again in Zulip.
  • Some items never arrive. A keyword filter is excluding them, or the item appeared in the feed before the date you chose to start from.
  • Self-hosted server not reachable. The Zulip server must be reachable from the internet over HTTPS on the standard port. An internal-only server cannot receive webhooks from an outside service.
  • Everything arrives at once. Set a maximum number of posts per update and a posting window.

How PostRSS helps

PostRSS has been turning RSS and Atom feeds into posts since 2014, and Zulip is one of its 66 supported networks, alongside other team chats such as Mattermost, Google Chat and Rocket.Chat. You paste the Zulip webhook URL, add your feed, and each new item is posted to the channel and topic you chose, with its title, a short description and the link. Keyword filters route items to the right topics, and posting windows and posting limits keep channels calm. Setup steps are on the Zulip page, all options are on the features page, and plan limits are on the pricing page.

Related reading

The bottom line

Zulip’s topics make it one of the best places to receive RSS feeds at work, as long as you plan them. Choose a channel for the audience, a stable topic for each feed or subject, generate a Slack-compatible webhook URL with both, and use keyword filters when one feed should reach several topics. Add posting windows and limits, let people follow or mute topics, and the feed becomes a tidy, searchable record instead of background noise.

FAQ

How do I send an RSS feed to a specific Zulip topic?

Create an incoming webhook bot, choose Generate URL for an integration, select the Slack compatible webhook, and enter the channel and topic. Connect that URL to your auto-poster and every item lands in that topic.

Can one RSS feed post to several Zulip topics?

Yes. Generate one webhook URL per topic and connect each as a separate target with the same feed. Keyword filters on each target decide which items go to which topic.

Should every RSS item get its own Zulip topic?

Usually not. One-message topics clutter the sidebar and cannot be muted as a group. A stable topic per feed or subject is easier to follow, mute and search.

Is the Zulip webhook URL secret?

Yes. It contains the bot’s API key, so anyone with the URL can post as the bot. If it leaks, regenerate the bot’s API key in Zulip and update the URL.

Does a self-hosted Zulip server work?

Yes, as long as it is reachable from the internet over HTTPS on the standard port. Servers available only inside a private network cannot receive messages from an outside service.

New guides, once a month

What changed in the networks, what broke, and how to fix it before it costs you reach.

We send a confirmation e-mail first. Unsubscribe any time.

Más herramientas de nuestro equipo

Creadas por Internet Solutions, el equipo detrás de PostRSS. Cada una te ahorra tiempo a su manera.