Create a journey draft
create_journeySaves a new draft journey from a full definition. It stays a draft until publish_journey. A recipe or generate_journey is usually a simpler start.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| definition | Yes | The journey document: { name, description, trigger (one of: ticket.created, ticket.escalated, ticket.closed, ticket.reopened, ticket.tagged, ticket.unresolved, ticket.rated, customer.replied, human.replied, chat.started, chat.answer_rated, contact.subscribed, contact.created, contact.updated, contact.tagged, custom.event, page.visited, login.succeeded, login.failed, email.delivered, email.opened, email.clicked, stripe.customer.created, stripe.customer.updated, stripe.checkout.completed, stripe.subscription.created, stripe.subscription.updated, stripe.subscription.cancelled, stripe.subscription.trial_ending, stripe.subscription.product_status, stripe.invoice.paid, stripe.invoice.payment_failed, stripe.charge.refunded, form.submitted, form.confirmed, contact.enriched, segment.entered, segment.left, article.viewed, article.rated, search.failed, roadmap.idea, roadmap.voted, roadmap.shipped, changelog.viewed, survey.answered, journey.entered, journey.completed, journey.converted, date.reached, manual.enrolled), triggers?: [{ event, ... }], productId, stopOnReply, reentry: always|once|after_completion, entry?: conditions, goal?, settings?: { quietHours, timeZone, emailCap }, steps: [...] }. Steps (1 to 50, each may have an id): { type: "wait", minutes }, { type: "email", campaignId } (a ready journey email), { type: "tag", tag }, { type: "remove_tag", tag }, { type: "set_attribute", ... }, { type: "branch", conditions, yes, no }, { type: "wait_event", ... }, { type: "message", ... }, { type: "note", body }, { type: "notify", ... }, { type: "exit" }, among others. Existing journey documents include the full step configuration. |