Preview mass-action plan
Validate a whole bulk plan without running anything and mint the consent token create_mass_action consumes. ALWAYS the first call of a bulk dispatch.
Validates in one pass, reporting all findings at once: plan shape (1..3 steps), step-eligibility of each tool, scope shape and size (1..100), the generate-scope rule (step 1 must mint an object) and the send-class schedule mandate. A tool outside the step vocabulary comes back 422 validation_failed with error.field_errors[“plan.steps..tool”] = [“not_step_eligible: …”], naming the authorable set so the plan is repairable in one turn. Nothing is persisted, charged or created.
On success the result carries preview (items_count, steps_per_item, credits_estimate, dangerous_steps, eta, warnings), commit_token and expires_at. Show the preview to the user, then pass the token to create_mass_action UNCHANGED with the exact same inputs: it is an HMAC over them plus the caller, so any edit invalidates it (422) and needs a fresh preview. Tokens live 15 minutes.
Contract:
- MCP tool
preview_mass_action, registry packagemcp.orchestration/mass_actions, mountorchestration.mass_actions. - Operation
action, response envelopeaction. - Flags: read only.
Authorizations
Access token issued by gtm.service.id. Its access_identity claim carries team_sid, actor_sid and actor_type, and that team scope is authoritative.
Team scope for tokens that do not carry one. Ignored when the token already names a team.
Body
Request body of preview_mass_action.
Kebab-plural entity family the plan's steps operate on, e.g. 'linkedin-connection-requests', 'linkedin-posting' or 'email-messages'. The compatibility anchor a linked auto-scrape checks against.
128What the run enrols: existing rows (objects), payload identities (targets), generated slots (generate), or nothing yet (none, a standing run an auto-scrape feeds).
- Option 1
- Option 2
- Option 3
- Option 4
Human label for the run, shown in the list view and on the consent surface.
255Omit for an ASAP drain. Required when the plan carries a send-class step, else 422 schedule_required.
Default 'first_item': only item 1 dispatches until it succeeds, so a wrong plan burns one target instead of all of them.
none, first_item