On this page
If you followed the Arr stack deployment guide, you already have Radarr and Sonarr running — but they’re still waiting on you. Every movie has to be added by hand, and every search started with a click. That’s automation with training wheels, and this guide takes them off. We’ll set up three things: import lists that add titles for you the moment you watchlist them, quality profiles that teach the apps which release is worth grabbing, and a notification hook that refreshes your media server the instant a file lands on disk.
When all three are in place, the loop becomes genuinely hands-off. You add a movie to a watchlist on your phone while you’re out, and by the time you’re home it’s sitting in your library, correctly named and ready to play. Everything here works identically whether your media server is Plex or Jellyfin — the Arr apps don’t care which one is on the receiving end.
Task 1: Add titles automatically with import lists
An import list is a feed that Radarr or Sonarr checks on a schedule and adds titles from — think of it as telling the app “watch this list, and whatever shows up on it, I want.” It’s the piece that replaces manually typing in movie names. The common sources:
| List type | Adds… | Good for |
|---|---|---|
| Plex / Jellyfin Watchlist | Whatever you watchlist in the app | The main “I want this” trigger |
| Trakt list | A curated or personal Trakt list | Sharing a list across apps |
| IMDb / TMDb popular / top-rated | Trending or acclaimed titles | Filling out a library (use carefully) |
In Radarr → Settings → Import Lists → Add (and Sonarr), add your media server’s Watchlist list. Enable Automatic Add and, for the watchlist specifically, Search on Add so a watchlisted title downloads right away.
Some token-based watchlist integrations quietly return nothing. If a list shows “no results,” switch to the server’s official Watchlist RSS feed as the list source — it’s far more reliable and syncs every few minutes. For Sonarr, decide up front whether a watchlisted show should monitor the whole series or just season one.
Task 2: Contain the downloads (avoid the flood)
Before you add more lists, a word of caution born from many people’s flooded hard drives. The number-one Arr stack mistake is pointing the apps at a discovery list with monitor-all and auto-search enabled. A “popular movies” list sounds harmless, but it contains hundreds of entries, and with those two settings on, Radarr will treat every one of them as a request — happily queueing hundreds of downloads overnight and filling whatever disk you gave it.
Set exactly one curated list (your watchlist) to actually trigger downloads. Set every discovery list (IMDb popular, TMDb top-rated, Trakt trending) to add-and-monitor only, no auto-search — or monitor: none so they populate a browsable catalog without grabbing anything. Trakt “popular” and “trending” lists on monitor-all are the classic source of a runaway queue.
The safe pattern:
- Watchlist list → auto-add + search (this is what downloads).
- Discovery lists → auto-add, no search, monitor none.
- Periodically unmonitor anything fileless you don’t actually want.
Task 3: Set quality profiles so it grabs the right release
When a title gets added, there are usually dozens of releases of it floating around — different resolutions, different codecs, different levels of quality, and a few outright fakes. A quality profile is your ruleset for choosing among them: it’s how you tell the apps “1080p Blu-ray preferred, 4K if available under this size, never a cam recording.” Radarr and Sonarr score every candidate release against the profile and grab the best allowed match, so the judgment call you’d normally make by squinting at release names happens automatically.
You could tune these rules from scratch, but there’s no need — the community TRaSH Guides have spent years refining tested profiles and custom formats (scoring rules that reward or punish specific codecs, release groups, and unwanted tags). Starting from their recommendations saves hours of trial and error. A few high-value custom formats to know about:
| Custom format | Typical score | Effect |
|---|---|---|
AV1 |
large negative | Reject a codec many clients can’t play |
Preferred codec (e.g. HEVC) |
positive | Nudge toward efficient, compatible files |
Low-quality / fake tags (CAM, AI-Upscaled) |
large negative | Reject junk and fakes outright |
Match the profile to your playback hardware, not just “highest quality.” If your setup needs files to Direct Play (see the Plex transcoding guide), score incompatible codecs negative so they’re never grabbed. Tools like Recyclarr can sync TRaSH profiles into your apps automatically.
Task 4: Refresh your media server on import
There’s one last seam to close. By default, Plex and Jellyfin only discover new files when their scheduled library scan runs — which means a finished download might sit invisible on disk for an hour before it appears in your apps. The fix is a Connect notification: the Arr app tells your media server to rescan the moment it imports a file, so nothing waits on a timer.
In Radarr → Settings → Connect → Add (and Sonarr), add your media server (Plex or Jellyfin). Enter its host and port and an auth token, enable On Import / On Upgrade, and turn on Update Library. Now imports trigger an immediate, targeted rescan.
Radarr imports "Dune (2021)" -> /data/media/movies/Dune (2021)/
│
▼
Radarr fires the Connect notification to your media server
│
▼
Server rescans only the Movies library -> "Dune (2021)" appears in seconds
Task 5: Keep the download folder clean
Automation means files arrive unattended, so add a safety net. Neither the Arr apps nor the download client scan content — the Arr apps only import video and ignore executables, but junk and the occasional disguised file still land in the download folder. A scheduled scan that deletes executables and quarantines anything infected closes that gap — see the ClamAV scan-and-purge playbook.
Release names containing .exe, AI-Upscaled, RIFE, or 60fps are red flags — a fake or a re-encode, sometimes malware wearing a movie’s name. Blocklist them (Radarr/Sonarr can remove-and-blocklist a bad grab) so the app fetches a real release instead.
Keep it working: don’t hardcode your keys
If you script any part of this loop (a watchlist reconcile, an anime sorter, a health check), resist the urge to paste your API key into the script. The day you rotate that key — or your app reissues one — every hardcoded copy fails with a silent HTTP 401 and your automation stops with no error at all. Read the key from each app’s config.xml at runtime, or talk to the app on 127.0.0.1 with Authentication Required → Disabled for Local Addresses so no key is needed locally. The full incident and the four patterns that make this immune to key rotation are in The Self-Healing Arr Stack.
What’s next
That’s the full hands-off loop: watchlist a title, the stack grabs the best allowed release, files it, and your library refreshes — all automatically, all shielded behind a VPN. From here it’s just choosing your media server. If you haven’t picked one, the Plex and Jellyfin guides cover both; the Arr stack you just built feeds either identically.
Related posts:
- Jellyseerr: Let Your Family Request Movies Themselves — put a self-service request page in front of this automation
- The Self-Healing Arr Stack — make this automation immune to key rotation, and alert you when it stops
- What Is the Arr Stack? — the concepts
- Deploy the Arr Stack with Docker Compose — the stack this guide automates
- ClamAV Download Scan + Auto-Purge — the download-folder safety net
- Plex Direct Play and Transcoding — match your quality profile to your playback hardware
- Organizing a Plex Library: Naming, Agents, and Metadata — clean naming for what the stack imports
- VPN-Shielded Torrent Stack — the shielded download client
Sources: TRaSH Guides, Servarr Wiki, Recyclarr.
Comments
Comments are powered by GitHub Discussions — sign in with a GitHub account to join the conversation.