> This page is for version v2025-04-21.
> For other versions, use one of these documentation indexes:
> - v2026-02-09 (default): https://docs.extend.ai/2026-02-09/llms.txt
> - v2025-04-21: https://docs.extend.ai/2025-04-21/llms.txt
> - v2024-12-23: https://docs.extend.ai/2024-12-23/llms.txt

> ## Documentation Index
> Fetch the complete documentation index at: https://docs.extend.ai/llms.txt
> Use this file to discover all available pages before exploring further.
>
> ## API version
> The current API version is `2026-02-09`, served at the site root (no version prefix in URLs).
> If this page URL contains `/2025-04-21/` or `/2024-12-23/`, you are reading an older API version.
> Prefer the current docs at https://docs.extend.ai/llms.txt unless the user explicitly needs that older version.
> Do not treat older-version pages as the source of truth for new integrations.

# Workflows create/update API

> Create, update, and delete workflows and workflow versions entirely via API for programmatic, CI/CD-managed document pipelines.

You can now create, update, and delete workflows and workflow versions entirely via API. Previously, workflows could only be managed in the Extend dashboard. This makes it easier to generate workflows programmatically, check configs into code, manage them with CI/CD, and build them with agents like Claude Code.

```typescript
await client.workflows.update("workflow_abc123", {
    steps: [
      { "name": "trigger", "type": "TRIGGER", "next": [{ "step": "parse" }] },
      { "name": "parse", "type": "PARSE", "next": [{ "step": "split" }] },
      {
        "name": "split",
        "type": "SPLIT",
        "config": {
          "splitter": { "id": "spl_abc123", "version": "0.1" }
        },
        "next": [
          { "step": "extract_invoice", "classificationId": "cls_invoice" },
          { "step": "extract_receipt", "classificationId": "cls_receipt" },
          { "step": "review", "classificationId": "cls_other" }
        ]
      },
      { "name": "review", "type": "HUMAN_REVIEW", "next": [{ "step": "collect" }] },
      { "name": "collect", "type": "COLLECT", "next": [{ "step": "webhook" }] },
      { "name": "webhook", "type": "WEBHOOK_RESPONSE" }
    ]
});
```

See the [full documentation](/workflows/configuring-workflows).