# Automation Flow

> What happens from the moment you request a movie or show to the moment it appears in Plex.

# Automation Flow

Once everything is configured, the entire process from request to playback runs without any manual steps.

## Step 1 — Request

You (or another user) open **Seerr** and search for a movie or TV show.

Requests can be set to auto-approve, or require admin approval first. Once approved, Seerr sends the request to **Radarr** (for movies) or **Sonarr** (for TV shows).

## Step 2 — Search

Sonarr or Radarr receives the request and looks for a matching release.

It searches through the indexers synced from **Prowlarr** and filters results against your quality profile — resolution, codec, size limits. Once a suitable release is found, it sends the NZB file to **SABnzbd**.

## Step 3 — Download

**SABnzbd** downloads the content from Usenet and unpacks it.

Files land in `/mnt/downloads`. SABnzbd notifies Sonarr or Radarr when the download is complete.

## Step 4 — Import

Sonarr or Radarr picks up the completed download and imports it into the media library.

For Usenet downloads, the arr apps use a **move** operation — they rename the file from `/mnt/downloads` into `/mnt/media/movies` or `/mnt/media/tv`. This is instant when both paths are on the same filesystem (the inode stays the same, just the path changes). The file is also renamed according to your naming scheme.

Hard links are **not** used for Usenet imports. The *Use Hardlinks instead of Copy* setting in Sonarr and Radarr exists solely for torrents, where the original file must stay in place so seeding can continue. For Usenet, there is no seeding to preserve, so a move is the intended behavior.

If `/mnt/downloads` and `/mnt/media` are on different filesystems, even a move falls back to copy+delete — the file is copied across and the original is deleted. This is slower and temporarily uses double the disk space.

**What about ZFS reflinks?** Sonarr and Radarr both support ZFS block cloning (reflinks) as of early 2025 (Sonarr PR #7566, Radarr PR #10845). This requires OpenZFS 2.2+ with block cloning explicitly enabled on the pool: `zfs set bclone=enabled tank`. Reflinks work within the same ZFS pool and avoid the extra disk I/O of a copy — but for a Usenet-only setup without torrent seeding, they offer no advantage over a simple move.

## Step 5 — Available in Plex

Plex detects the new file via a library scan or a direct notification from Sonarr/Radarr. It fetches metadata automatically: cover art, episode info, ratings.

The content is usually available to stream within a minute or two of the import finishing.

---

## Things to keep in mind

**Path consistency** — Sonarr, Radarr, and SABnzbd must all see the same paths inside their containers. If the paths don't match, imports will fail silently. This is the most common source of problems after a fresh setup.

**Permissions** — The user running Sonarr and Radarr needs write access to both `/mnt/downloads` and `/mnt/media`. This is handled by aligning UID/GID across all containers (`PUID=1000`, `PGID=1000`).

**Quality profiles** — If nothing downloads, check your quality profile in Sonarr or Radarr. It may be too strict for what your indexers have available.
