> ## Documentation Index
> Fetch the complete documentation index at: https://docs.vetox.io/llms.txt
> Use this file to discover all available pages before exploring further.

# RSS notifications

> Announce new items from any RSS or Atom feed in your Discord server.

<Info>
  Requires **Basic**. Up to **10 feeds** per server. See [how notifications work](/en/notifications/overview) for the shared rules.
</Info>

RSS is the catch-all. If a site publishes a feed, Vetox can announce it — blogs, changelogs, news sites, forum sections, release notes.

## Adding a feed

Paste the feed URL. Vetox fetches and parses it before saving; anything that is not a readable feed is rejected with **Invalid RSS feed URL or unable to parse feed**.

<Tip>
  Use the feed URL, not the site URL. It usually ends in `/feed`, `/rss`, `/atom.xml` or `/index.xml`. If you are unsure, view the page source and look for a `application/rss+xml` link.
</Tip>

## Settings

| Setting                       | Default     | Notes                                                                    |
| ----------------------------- | ----------- | ------------------------------------------------------------------------ |
| **Discord Channel**           | —           | Required                                                                 |
| **Notify on New Items**       | **On**      |                                                                          |
| **Custom Message**            | None        | Plain text, up to 2,000 characters — one of only two platforms with this |
| **Mention Role**              | None        |                                                                          |
| **Custom Notification Embed** | RSS default | Orange                                                                   |

## Variables

| Variable             | Resolves to          |
| -------------------- | -------------------- |
| `{item.title}`       | Item title           |
| `{item.url}`         | Link to the item     |
| `{item.description}` | Item summary or body |
| `{item.author}`      | Author               |
| `{feed.name}`        | The feed's title     |
| `{feed.url}`         | The feed's site URL  |

<Note>
  How much text `{item.description}` carries is entirely up to the publisher. Some feeds give a one-line summary, others the full article. Vetox does not truncate it, but Discord's 4,096-character description limit applies.
</Note>

## What is announced

Checked every **5 minutes** with a **5-minute cooldown** per feed.

<Warning>
  **RSS has no per-poll cap.** The other platforms look at their 5 most recent items; RSS considers every item in the feed as a candidate.

  In practice the 2-hour age cutoff and the 7-day seen-list keep this under control. But a feed that suddenly republishes many items with fresh dates can produce a burst of announcements.
</Warning>

<Note>
  Items with no readable publish date bypass the 2-hour age cutoff. A poorly-formed feed can therefore announce older items. If a feed does this repeatedly, it is a defect in the feed, not in Vetox.
</Note>

Vetox uses conditional requests, so a feed that has not changed costs almost nothing to check.

## Real-world examples

<AccordionGroup>
  <Accordion title="A game's patch notes">
    Many studios publish a changelog feed. This is often better than the Steam integration because it carries only official posts.
  </Accordion>

  <Accordion title="A status page">
    Most status pages expose a feed. Route it to your staff channel for early warning of an outage affecting your community.
  </Accordion>

  <Accordion title="A blog or newsletter">
    `{item.title}` as the embed title, `{item.description}` as the body, `{item.url}` as the link.
  </Accordion>
</AccordionGroup>

## Troubleshooting

<AccordionGroup>
  <Accordion title="The feed will not save">
    Vetox must be able to fetch and parse it right then. Check the URL in a browser — if it renders as a web page rather than XML, it is not the feed URL.
  </Accordion>

  <Accordion title="Old items were announced">
    The feed does not provide usable publish dates, so the age cutoff cannot apply.
  </Accordion>

  <Accordion title="A burst of announcements arrived at once">
    The publisher re-dated multiple items. There is no rate limit beyond the per-feed cooldown.
  </Accordion>

  <Accordion title="The description is empty">
    That feed does not include one. Use `{item.title}` and `{item.url}` instead.
  </Accordion>
</AccordionGroup>

<Card title="Podcasts" icon="podcast" horizontal href="/en/notifications/podcasts">
  A specialised view of the same feed machinery.
</Card>
