Create Automation
create-automationSave a new automation as a draft: a trigger step, action steps, and connections between step keys. Saving runs nothing; steps run only after start-automation (for each matching event) or trigger-automation (one run). Each action does the same as one tool: send_email = send-email with a template, forward_email = forward-email, add_to_audience = add-audience-subscriber, remove_from_audience = remove-audience-subscriber, update_subscription = bulk-unsubscribe/resubscribe, edit_contact = update-contact, add_tag/remove_tag = add/remove-contact-tags, update_score = update-contact-score, create_contact = create-contact, add_to_suppressions = create-suppression, remove_from_suppressions = delete-suppression, exit_automation = remove-contact-from-automation. Steps that call webhooks can only be added in the dashboard or the REST API. Flow steps: wait, wait_until (date / event / condition, with timeout), condition, goal (runs jump to it when the contact meets it), experiment, run_automation (enter or move to another automation), end_run, end. settings.exit_conditions cancels a contact's run when an event or condition matches (e.g. a purchase). Plans: goal steps and custom events (contact.on_event in exits, goals and waits) need Pro or Business; the contact.on_event trigger needs Business (403 plan_required otherwise). Example "webinar": trigger contact.added_to_audience (registrants) -> wait_until date {type: "global", key: "webinar_date"} 1 day before -> send_email reminder -> wait_until date 1 hour before -> send_email; a goal on contact.on_event c:purchase -> add_tag customer -> exit_automation all -> run_automation onboarding; a separate automation on contact.score_changed threshold 50 starts the sales sequence.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| steps | Yes | ||
| context | Yes | What the automation runs on. | |
| settings | No | ||
| connections | Yes | ||
| description | No |