> ## 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.

# Podcast notifications

> Announce new podcast episodes in your Discord server, with artwork and episode details.

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

## Adding a podcast

Search by name. Vetox looks the show up in a podcast directory and stores its feed.

## Settings

| Setting                       | Default         | Notes                              |
| ----------------------------- | --------------- | ---------------------------------- |
| **Discord Channel**           | —               | Required                           |
| **Notify on New Episodes**    | **On**          |                                    |
| **Custom Message**            | None            | Plain text, up to 2,000 characters |
| **Mention Role**              | None            |                                    |
| **Custom Notification Embed** | Podcast default | Purple                             |

## Variables

| Variable                | Resolves to         |
| ----------------------- | ------------------- |
| `{episode.title}`       | Episode title       |
| `{episode.url}`         | Link to the episode |
| `{episode.description}` | Episode notes       |
| `{podcast.name}`        | Show name           |

<Warning>
  **Three offered variables never produce a value:**

  | Variable             | Behaviour                                                                                       |
  | -------------------- | ----------------------------------------------------------------------------------------------- |
  | `{episode.duration}` | Always empty — the episode length is not read from the feed                                     |
  | `{podcast.author}`   | Always empty                                                                                    |
  | `{podcast.artwork}`  | Empty unless the feed itself carries channel-level artwork; the directory's artwork is not used |

  They appear in the variables dropdown but resolve to nothing, and **any embed field built only from them is dropped from the message**. This is the most common cause of a podcast embed arriving with fewer fields than expected.

  Do not build an embed around them.
</Warning>

<Tip>
  A reliable podcast embed uses `{episode.title}` as the title, `{episode.description}` as the body, `{episode.url}` as the link and `{podcast.name}` in the footer. Everything else is unreliable.
</Tip>

## What is announced

Checked every **5 minutes** with a **5-minute cooldown** per show, reading the show's feed directly rather than the directory.

Same behaviour as [RSS](/en/notifications/rss): no per-poll cap, a 2-hour age cutoff on items with readable dates, and a 7-day seen-list.

<Note>
  If the directory lookup fails when you add a show but the feed is valid, the podcast is still added — but it may be listed under its feed URL rather than its name. Remove it and re-add it if the name looks wrong.
</Note>

## Troubleshooting

<AccordionGroup>
  <Accordion title="The duration field never appears">
    `{episode.duration}` is always empty and its field is dropped. Remove it from your embed.
  </Accordion>

  <Accordion title="The artwork is missing">
    Only channel-level artwork inside the feed is used. Many feeds do not include it. Use a static image URL in the embed instead.
  </Accordion>

  <Accordion title="The show is listed under a URL instead of its name">
    The directory lookup failed while the feed succeeded. Remove and re-add it.
  </Accordion>

  <Accordion title="Nothing arrives">
    Server Setup's Podcasts toggle, premium, and Embed Links in the channel.
  </Accordion>
</AccordionGroup>

<Card title="RSS" icon="rss" horizontal href="/en/notifications/rss">
  Track a podcast feed directly for more reliable variables.
</Card>
