CONTENT CREATION

Publish Dubbed Tracks Only After Human Review Approval

Triggered by an approval webhook from your review tool, this promotes the approved language dubs from a staging R2 prefix to the published prefix and notifies the instructor…

CategoryContent Creation
Enginesim
Difficultyintermediate
Triggerwebhook
Steps5
Setup~15 min

How it runs

The automated pipeline, trigger to output.

  • TriggerApproval webhook from review toolHTTP webhook
  • LogicValidate payload and confirm staged track existsCloudflareCloudflare R2
  • LogicBranch on approved vs rejected
  • ActionPromote track from staging to published in R2CloudflareCloudflare R2
  • OutputNotify instructor in Slack that language is liveSlack

What it does

Generated dubs land in a staging area first. When a reviewer approves a specific lesson-language pair in your QA tool, an approval webhook fires this workflow, which promotes only the approved track from staging to the published R2 location and records the approver.

When to use it

Use it when machine-generated dubs need a human ear before they reach learners. It enforces that nothing goes live until a reviewer signs off, while still keeping the promotion step fully automated and auditable.

How it works

  1. 1The review tool sends an approval webhook containing lesson ID, language, and reviewer.
  2. 2Validate the payload and confirm the staged track actually exists in R2; reject malformed or missing requests.
  3. 3Branch on decision: if rejected, log the reason and notify the producer to regenerate.
  4. 4If approved, copy the staged dub and subtitle from `staging/` to `published/` in R2 with approval metadata.
  5. 5Post a confirmation to Slack tagging the instructor that the language is now live.

Set it up

What you configure once, before turning it on.

  1. 1
    Connect HTTP webhookTrigger any URL on agent actions.
  2. 2
    Connect Cloudflare R2Object storage, S3-compatible.
  3. 3
    Connect SlackChannels, DMs, threads, mentions.
  4. 4
    Set each agent's modelWe leave models unset so you pick the tier — fast + cheap, or top-quality.
  5. 5
    Tune it to your dataEdit the prompts, filters, and field mappings so it matches how your team works.
  6. 6
    Test, then turn it onRun once against a sample, confirm the output, then enable the trigger.

Run this workflow in your colony.

14-day trial. No DevOps. No Sales call. Provisioned in under a minute.