Next Up Advance
Advance a Next Up pack timeline's show slot along a TV show's episode order
The Next Up Advance block maintains a "Next Up" pack timeline: one slot per tracked TV show, always pointing at the next uncompleted episode in the show's deterministic (season, episode) order (from TMDB episode metadata). Only the acting show's slot changes — other shows' slots and any hand-added todos on the timeline are untouched, and todos are never deleted.
It is provisioned automatically by the Next Up pack install (one small workflow per trigger: completion advance, Skip button, Random button, Refresh). The pack keeps its configuration — tracked show buckets, skipped episodes — in the pack root workflow's variables.
Block Type
kaizen_next_up_advanceInput Fields
| Field | Description |
|---|---|
| Action | Advance (default) — after a completion, move the show's slot to the next uncompleted episode after the completed one. Skip episode — permanently exclude the episode within the pack and move past it. Random episode — re-roll the slot from the show's uncompleted (and unskipped) episodes. Recompute all shows — point every tracked show's slot at its first uncompleted episode (install seed, Refresh, repairs). |
| Timeline | The Next Up pack's custom timeline. |
| Pack Root Workflow | The workflow id whose variables hold the Next Up config. Set automatically at pack install. |
| Todo | The acted-on episode todo from the trigger (e.g. <menu_trigger.todoId> or the activity trigger's todoId). Required for advance/skip/random; ignored by recompute. |
Outputs
| Output | Type | Description |
|---|---|---|
action | string | The action that ran |
slots | json | Per-show slot outcomes: bucketId, newSlot (todoId, seasonNumber, episodeNumber) or null, removedTodoIds, status (advanced / finished / unchanged) |
newSlotTodoId | string | New slot episode todo id (first slot; empty when the show is finished) |
bucketId | string | Show bucket of the first slot outcome |
summary | string | Human-readable outcome summary |
success | boolean | Whether the action succeeded |
How slot advancement works
- The acted-on todo is resolved to its show and (season, episode) position via TMDB episode metadata; non-episode or untracked todos no-op cheaply.
- The successor is the first episode after that position that the acting user has not completed (anywhere in the app) and has not skipped within the pack. Specials (season 0) are excluded unless the pack opts in.
- The timeline row is locked and the show's slot is swapped: every shown todo belonging to that show's bucket leaves the timeline (into the capped history list) and the successor is appended. The swap is idempotent — double-fires change nothing.
- When no eligible episode remains, the slot empties and the outcome is
finished.
Completion state is per-user: episodes live in catalog buckets owned by the TMDB account, so the block reads the acting user's own completion records, not the todo's global flag.
Example: the Next Up pack's workflows
- Kaizen Activity trigger (todo completed in a tracked show bucket) → Next Up Advance with Action = Advance. Deployed, so completions fire it automatically.
- Menu trigger (card button "Skip") → Next Up Advance with Action = Skip episode.
- Menu trigger (card button "Random") → Next Up Advance with Action = Random episode.
- API trigger (Refresh / install seed) → Next Up Advance with Action = Recompute all shows.