---
title: "Update automation"
full: true
_openapi:
  method: PATCH
  toc: []
  structuredData:
    headings: []
    contents:
      - content: "Updates automation name, description, or draft graph"
_apiData:
  document: "https://reloop.sh/api/workflow/openapi/json"
  operationData: [{"path":"/api/workflow/v1/automations/{automation_id}","method":"patch"}]
  parameterList: [{"name":"automation_id","type":"string","required":true,"description":"Automation ID (auto_...)","location":"path","minLength":1},{"name":"name","type":"string","required":false,"description":"Automation name","location":"body","minLength":1,"maxLength":255},{"name":"description","type":"string | null","required":false,"description":"Description, or null to clear it","location":"body"},{"name":"graph","type":"object","required":false,"description":"Used by the dashboard editor. Send steps and connections instead.","location":"body","properties":[{"name":"nodes","type":"object[]","required":true,"description":"","location":"body","properties":[{"name":"id","type":"string","required":true,"description":"","location":"body"},{"name":"type","type":"string","required":true,"description":"","location":"body"},{"name":"position","type":"object","required":true,"description":"","location":"body","properties":[{"name":"x","type":"number","required":true,"description":"","location":"body"},{"name":"y","type":"number","required":true,"description":"","location":"body"}]},{"name":"data","type":"object","required":true,"description":"","location":"body"}]},{"name":"edges","type":"object[]","required":true,"description":"","location":"body","properties":[{"name":"id","type":"string","required":true,"description":"","location":"body"},{"name":"source","type":"string","required":true,"description":"","location":"body"},{"name":"target","type":"string","required":true,"description":"","location":"body"},{"name":"sourceHandle","type":"string | null","required":false,"description":"","location":"body"},{"name":"targetHandle","type":"string | null","required":false,"description":"","location":"body"},{"name":"type","type":"string","required":false,"description":"","location":"body"},{"name":"data","type":"object","required":false,"description":"","location":"body"}]}]},{"name":"steps","type":"object[]","required":false,"description":"Replaces all steps (send `connections` with it).","location":"body","properties":[{"name":"key","type":"string","required":true,"description":"Unique key for this step, used by connections (1-64 letters, numbers, _ or -).","location":"body"},{"name":"type","type":"string","required":true,"description":"\"trigger\", \"send_email\", \"delay\" or \"condition\".","location":"body"},{"name":"config","type":"object","required":false,"description":"trigger: { eventName }. send_email: { template: { id }, from?, subject? }. delay: { amount, unit }. condition: { type: \"rule\", field, operator, value } or { type: \"and\" | \"or\", rules }.","location":"body"}]},{"name":"connections","type":"object[]","required":false,"description":"Replaces all connections (send `steps` with it).","location":"body","properties":[{"name":"from","type":"string","required":true,"description":"Key of the step this connection leaves.","location":"body"},{"name":"to","type":"string","required":true,"description":"Key of the step it leads to.","location":"body"},{"name":"type","type":"string","required":false,"description":"\"default\" (the default), or \"condition_met\" / \"condition_not_met\" from a condition step.","location":"body"}]},{"name":"status","type":"\"active\" | \"paused\"","required":false,"description":"","location":"body","enumValues":["active","paused"]}]
  responseMap: {"200":{"description":"Response for status 200","schema":{"id":"auto_123456789","organizationId":"org_123456789","name":"Welcome","description":"Greets new sign-ups","status":"active","triggerEvent":"trigger.user.signed_up","steps":[{"key":"start","type":"trigger","config":{"eventName":"trigger.user.signed_up"}},{"key":"is_pro","type":"condition","config":{"type":"rule","field":"trigger.plan","operator":"eq","value":"pro"}},{"key":"welcome_pro","type":"send_email","config":{"template":{"id":"tmpl_123456789"}}},{"key":"wait","type":"delay","config":{"amount":1,"unit":"days"}},{"key":"welcome_free","type":"send_email","config":{"template":{"id":"tmpl_987654321"}}}],"connections":[{"from":"start","to":"is_pro","type":"default"},{"from":"is_pro","to":"welcome_pro","type":"condition_met"},{"from":"is_pro","to":"wait","type":"condition_not_met"},{"from":"wait","to":"welcome_free","type":"default"}],"graph":{"nodes":[],"edges":[]},"activeVersionId":"autov_123456789","createdAt":"2026-03-23T10:00:00.000Z","updatedAt":"2026-03-23T10:00:00.000Z"}},"400":{"description":"Response for status 400","schema":{"message":"Invalid workflow graph","why":"Step \"is_pro\": config.operator is required. Step \"welcome_pro\": config.template.id is required.","fix":"Fix the validation issues and try again."}},"401":{"description":"Response for status 401","schema":{"message":"Authentication required"}},"404":{"description":"Response for status 404","schema":{"message":"Automation not found","why":"No automation with ID \"auto_123456789\" exists for your organization.","fix":"Verify the ID and ensure it belongs to your active organization."}},"500":{"description":"Response for status 500","schema":{"message":"Failed to update automation","why":"An unexpected error occurred while updating automation \"auto_123456789\".","fix":"Please try again later or contact support."}}}
  codeSamples:
    - id: node
      lang: javascript
      label: Node.js
      source: |-
        import { Reloop } from "reloop-email";
        
        const reloop = new Reloop({ apiKey: "rl_123456789" });
        
        const { automation, automationError } = await reloop.automations.update("auto_123456789", {
          name: "Welcome series",
          description: "Greets new sign-ups",
        });
        if (automationError) throw automationError;
    - id: curl
      lang: bash
      label: cURL
      source: |-
        curl -X PATCH https://reloop.sh/api/workflow/v1/automations/auto_123456789 \
          -H "x-api-key: rl_123456789" \
          -H "Content-Type: application/json" \
          -d '{"name":"Welcome series","description":"Greets new sign-ups"}'
    - id: python
      lang: python
      label: Python
      source: |-
        import requests
        
        res = requests.patch(
            "https://reloop.sh/api/workflow/v1/automations/auto_123456789",
            headers={"x-api-key": "rl_123456789"},
            json={
                "name": "Welcome series",
                "description": "Greets new sign-ups"
            },
        )
        res.raise_for_status()
        print(res.json())
---
> For the complete documentation index, see [llms-docs.txt](/llms-docs.txt) or the site index [llms.txt](/llms.txt). Full docs corpus: [llms-full-docs.txt](/llms-full-docs.txt). Prefer markdown URLs (append `.md`) for agent consumption. Product skill: [skill.md](/skill.md).


{/* This file was generated by the OpenAPI doc generator. Do not edit this file directly. Run `bun run generate:api-docs` to regenerate. */}

<APIPage />
