---
title: "Create an automation from a Journey DAG"
method: POST
path: "/automations"
tags: ["Automations"]
---

# Create an automation from a Journey DAG

`POST /automations`

## Request

- Base URL: `https://sending.dev/api/v1`
- URL: `https://sending.dev/api/v1/automations`
- Auth: HTTP bearer

Creates a draft + version 1. The Journey is validated (schema + DAG). Required scope: `automations:write`.

## Request body

- Journey
  - `name` string, required
  - `entry` string, required
  - `nodes` union[], required
    - union
      - object
        - `id` string, required
        - `type` 'trigger', required
        - `event` string, required
        - `match` object
        - `filter` string
        - `note` string
        - `next` string, nullable, required
      - object
        - `id` string, required
        - `type` 'message', required
        - `preferredChannel` 'email' | 'whatsapp' | 'telegram', required
        - `fallbackChain` string[], required
        - `templateByChannel` object, required
          - `email` string
          - `whatsapp` string
          - `telegram` string
        - `inline` object
          - `subject` string, required
          - `doc` object, required
            - `version` 1, required
            - `settings` object, required
              - …
            - `blocks` union[], required
              - …
        - `attachmentIds` string[]
        - `ai` object
          - `model` string, required
          - `prompt` string, required
          - `mode` 'section' | 'full', required
        - `filter` string
        - `note` string
        - `next` string, nullable, required
      - object
        - `id` string, required
        - `type` 'notify', required
        - `to` string[], required
        - `subject` string, required
        - `body` string, required
        - `note` string
        - `next` string, nullable, required
      - object
        - `id` string, required
        - `type` 'wait', required
        - `duration` string
        - `until` string, date-time
        - `untilCondition` string
        - `checkTimeout` string
        - `note` string
        - `next` string, nullable, required
      - object
        - `id` string, required
        - `type` 'wait_for_event', required
        - `event` string, required
        - `match` object
        - `timeout` string, required
        - `note` string
        - `onEvent` string, nullable, required
        - `onTimeout` string, nullable, required
      - object
        - `id` string, required
        - `type` 'branch', required
        - `condition` string, required
        - `label` string
        - `note` string
        - `onTrue` string, nullable, required
        - `onFalse` string, nullable, required
      - object
        - `id` string, required
        - `type` 'split', required
        - `weights` integer[], required
        - `paths` string[], required
        - `note` string
      - object
        - `id` string, required
        - `type` 'goto', required
        - `target` string, required
        - `note` string
      - object
        - `id` string, required
        - `type` 'webhook', required
        - `url` string, uri, required
        - `method` 'POST' | 'GET' | 'PUT', required
        - `headers` object
        - `bodyTemplate` string
        - `next` string, nullable, required
      - object
        - `id` string, required
        - `type` 'add_tag', required
        - `tagIds` string[], required
        - `note` string
        - `next` string, nullable, required
      - object
        - `id` string, required
        - `type` 'remove_tag', required
        - `tagIds` string[], required
        - `note` string
        - `next` string, nullable, required
      - object
        - `id` string, required
        - `type` 'subscribe', required
        - `listIds` string[], required
        - `note` string
        - `next` string, nullable, required
      - object
        - `id` string, required
        - `type` 'unsubscribe', required
        - `listIds` string[], required
        - `note` string
        - `next` string, nullable, required
      - object
        - `id` string, required
        - `type` 'update_contact', required
        - `updates` object, required
        - `note` string
        - `next` string, nullable, required
      - object
        - `id` string, required
        - `type` 'add_note', required
        - `text` string, required
        - `note` string
        - `next` string, nullable, required
      - object
        - `id` string, required
        - `type` 'score', required
        - `op` 'add' | 'subtract' | 'set', required
        - `points` integer, required
        - `field` string
        - `note` string
        - `next` string, nullable, required
      - object
        - `id` string, required
        - `type` 'conversion', required
        - `name` string, required
        - `valueCents` integer
        - `currency` string
        - `note` string
        - `next` string, nullable, required
      - object
        - `id` string, required
        - `type` 'start_automation', required
        - `automationId` string, uuid, required
        - `note` string
        - `next` string, nullable, required
      - object
        - `id` string, required
        - `type` 'end_automation', required
        - `automationId` string, uuid, required
        - `note` string
        - `next` string, nullable, required
      - object
        - `id` string, required
        - `type` 'goal', required
        - `event` string, required
        - `note` string
      - object
        - `id` string, required
        - `type` 'exit', required
        - `reason` string
        - `note` string
  - `flowFilter` string

## Response `201`

Automation created as draft.

- AutomationCreated
  - `id` string, uuid, required
  - `versionId` string, uuid, required
  - `status` string, required

## Other responses

- `401`: Missing or invalid token.
- `403`: Insufficient scope.
- `422`: Invalid journey.

---

[API](https://skmtc.dev/sending/apis/sending-dev-api.md) · [All operations](https://skmtc.dev/sending/apis/sending-dev-api/llms.txt) · [OpenAPI document](https://skmtc.dev/sending/apis/sending-dev-api/revisions/9fe78d2918a1?raw)
