5 · Create a marketing campaign

Use case · the want as a person would post it:

“I want a marketing campaign for my book — plan, copy, assets, and a launch calendar.”

WORKS TODAY As a deliverables walk this works end to end today: strategy chosen, drafts approved, assets delivered through the r169 document reader. Execution beyond email splits per channel (see 6 and 9).

The walk, step by step

Deal signed
FINISH

Blocks

Gates that fire Signing freeze.

Scope: audience, budget ceiling, channels
PROVIDE

Blocks structured_form, number, multiple_choice

Gates that fire Form-field minimums (REJ-25); the number block carries the ceiling in its unit.

Choose the campaign direction
CHOOSE

Blocks single_choice, rank

Gates that fire 2–3+ real options; the deadlock-prone shape until auto-open ships.

Review the plan document
APPROVE

Blocks review_approve

Gates that fire r169 inline reader: ≤40 blocks, ≤6 images; send-back → redraft loop.

Deliver copy + assets
APPROVE

Blocks review_approve, file_upload

Gates that fire Released materials always listed, including zero.

Launch the email leg
CONTACT

Blocks review_approve

Gates that fire Per-attempt approval per send.

Finish line
FINISH

Blocks yes_no

Gates that fire Binary only.

Gaps & what to build

Paid placement (6), voice (9), and posting into the person's own social accounts (a provider lane, like 3/7) are the channels this walk cannot execute today — it hands you the assets instead.

HAR Reference · generated 2026-08-29 from bid_validator.py, target_walk.py, deal_step.py · staging is source of truth