A stage-based pipeline for a multi-channel YouTube portfolio. Stages hand off on events, AI does the repetitive work inside each stage, people sign off at three gates, and one dashboard reads the same record everything else writes to.
Select any stage to see what runs inside it, what moves it forward, and what it writes to the record.
A view of the record, so it is never out of date and nobody updates it by hand. Sample videos below.
Sample · first seven days of views for the last published video, pulled nightly and written back to its record.
Every piece below has a public API, a webhook, or an MCP server today. Nothing depends on a screen-scraper or a person copying between tools.
The single source of truth.
A stage column only the orchestrator writes, plus a stage-history table, so time in stage and bottlenecks fall out of the data instead of a status meeting.
Airtable is faster to stand up. Postgres is the scale option and gives the agent a database it can query.
Events in, work out.
Listens for stage events, runs the work inside a stage, retries, writes the result back. Every failure posts to Slack with the record link.
Scripts and cuts are reviewed where the team already comments. Approval fires a webhook. Nobody reports "done" in chat.
One channel: gate waiting on you, render failed, quota at 80%, upload confirmed. Every message carries the record link.
AI inside stages, behind gates.
Structured JSON only: segments, image prompts, title options, description, tags, chapters. A text blob is what breaks pipelines.
Transcribe the final cut, diff it against the approved script, check duration, loudness, resolution and a policy list. Failures go back with the reason attached.
Reads 30 days of performance and comments, proposes packaging with the numbers behind it. No upload scope, no publish permission.
The tools that make the asset.
Templated channels render from a JSON timeline and call back when the file is ready. Editor-cut channels wait on the Frame.io approval instead.
One brand template per channel, autofilled with the title and a generated key image. Three variants land on the record for a person to pick.
Upload private with publishAt, set thumbnail and captions, then read it back to confirm the schedule held. One named token per channel.
About 1,600 of 10,000 daily quota units per upload. More than six uploads a day needs a quota plan in week one.
What the team looks at.
Board by stage, time in stage, who holds what, the three gates, and the first-seven-days curve per video. Read-only by design.
Nightly per-video metrics written to the record, so the dashboard and the agent read the same numbers.
Every later piece needs somewhere to write, and the team sees progress from week two.
Video table, stage machine, stage history, the board. Current videos migrated in once.
The team sees where everything is.
Review and render webhooks, Slack alerts, the three gates. No AI yet.
The chasing stops.
Script and metadata drafts, thumbnail autofill, QA transcript diff, each behind its gate.
Repetitive work moves to the machine.
Scheduled private uploads with readback, nightly metrics to the record.
The loop closes.
Packaging candidates from performance, with reasons. Hit rate measured before scope widens.
Only once the data is trustworthy.
Videos per week per channel, which channels are templated versus editor-cut, where reviews happen today, and how the channels sit under Google accounts. Those four answers set the render path, the quota plan and the OAuth layout.
The agent has no publish scope. Every upload is private, then scheduled, then read back. Every automation retries and reports failures with the record link. No stage moves without an event.