Sunday streaming alerts from your Notion watchlist

By General Input

Every Sunday morning, get a short email that tells you what to watch this week before it leaves your services and what just became available.

Integrations

  • Notion
  • Streaming Availability
  • Gmail

Type

Agentic Task

Categories

  • Personal Productivity
  • Operations

Every Sunday at 8am America/New_York (cron trigger), turn my personal Notion Watchlist database into a streaming alert email so I know what to watch before it leaves my services and what just became available.

Inputs to expose on the workflow:

- The Notion data source ID for the Watchlist database. Each row is a title with a Title property and optional properties Country (ISO 3166-1 alpha-2, lowercase, e.g. us, gb, ca), Services (multi-select of streaming services I subscribe to, e.g. netflix, prime, disney, max, hulu, apple, paramount), and optional IMDb ID and TMDB ID text fields. There should also be a Streaming On rich-text or URL property the workflow will overwrite.

- A default Country (default: us) used when a row leaves Country empty.

- A default Services list used when a row leaves Services empty.

- The recipient email address (and optional Cc/Bcc) for the digest.

What the agent should do each run:

1. Use Notion Query a Data Source on the Watchlist data source to fetch every row that is not archived. Page through results until has_more is false.

2. For each row, resolve the title in Streaming Availability:

- If the row has an IMDb ID (tt...) or TMDB ID (movie/123 or tv/456), call Streaming Availability Get a Show with that ID and the row's country (or default country).

- Otherwise call Streaming Availability Search Shows by Title with the row's title and country, and take the best match (closest title, most recent release year if multiple).

- From the response, collect the set of streaming services the title is available on right now in that country, and the deep link for each one. Intersect that with the row's Services list (or the default Services list) to get my-services availability.

3. Call Streaming Availability Get Changes once per country with change_type=expiring, target_type=show, the union of my subscribed services (catalogs param), and a date window of today through 30 days from today. Page through results. Build a lookup of which titles on my watchlist are expiring on which service, with the expiry date and deep link.

4. For every row, call Notion Update a Page to overwrite the Streaming On property with a compact summary of the current my-services availability (service name + deep link). Do this for every row, even ones that will not appear in the email, so the Notion database stays fresh.

5. Build two ranked sections for the email:

- Watch this week (leaving soon): every watchlist title that is currently on one of my services AND is in the expiring lookup within the next 30 days. Sort by expiry date ascending (soonest first). Show title, service, expiry date, and deep link.

- Just became available on your services: titles whose Notion Streaming On value changed this run such that a service I subscribe to was added (was not there last week, is there now). Sort by service then title.

Within each section, group items by streaming service so I can skim by what I want to open.

6. Skip titles that are already available on my services and not leaving soon. They should NOT appear in the email, but their Notion row should still get the Streaming On refresh in step 4.

7. If both sections are empty, do nothing more. Do not send an email that week.

8. Otherwise call Gmail Send a Message to my recipient address. Subject: "Your streaming watchlist — week of {Sunday date}". Body should be plain text, scannable, with the two sections as headers and each item on its own line as: "Title — Service — leaving {date} — {deep link}" for the leaving-soon section, and "Title — Service — {deep link}" for the just-available section. Keep it short. No marketing language.

Other rules: be resilient to titles that cannot be matched (skip them silently rather than failing the run), respect Streaming Availability rate limits by paging sensibly and backing off on 429, and prefer the row's per-row Country/Services when present over the defaults.

Related prompts

Explore more prompts
Win back LiveChat visitors whose chats went unansweredChase the paperwork every new client and vendor still owesFile Gmail attachments into storage with names you can findScreen chartered vessels for AIS gaps and sanctions red flagsCandidate rediscovery desk for your archived Lever applicantsCompare candidate store locations with drive time trade areasBrowse every competitor ad and build a Notion swipe fileLaytime and demurrage claim workspace for chartering opsKajabi customer support console for member access fixesRun your application review round on Jotform submissions