---
title: "Update a workflow"
method: POST
path: "/workflows/update"
tags: ["Workflows"]
---

# Update a workflow

`POST /workflows/update`

Updates workflow fields like name and authentication requirement

## Request body

- object
  - `workflowId` string, required — ID of the workflow to update
  - `name` string — New name for the workflow
  - `isAuthenticationRequired` boolean — Whether authentication is required for this workflow
  - `autoSaveEnabled` boolean — Whether auto-save is enabled for this workflow
  - `timeoutMs` integer, nullable — Timeout in milliseconds for workflow execution
  - `shouldPauseOnError` boolean — Whether to pause workflow execution on error
  - `shouldSelfHeal` boolean — Whether to automatically clean up cache when workflow execution fails
  - `shouldSaveResultFile` boolean — Whether to save result files for this workflow
  - `model` union — The LLM model to use for this workflow
    - 'gpt-4.1-mini-2025-04-14' | 'gpt-4.1-2025-04-14' | 'gpt-5.1-2025-11-13' | 'gpt-5.4' | 'gpt-5.4-mini' | 'gpt-5.4-nano' | 'gpt-5.6-terra' | 'gpt-5.6-luna'
    - 'gemini-2.5-computer-use-preview-10-2025' | 'gemini-3.1-pro-preview' | 'gemini-3.1-flash-lite' | 'gemini-3.5-flash' | 'gemini-3.7-flash'
    - 'claude-haiku-4-5' | 'claude-sonnet-4-5' | 'claude-sonnet-4-6' | 'claude-opus-4-6' | 'claude-sonnet-5'
  - `webhooks` object[] — List of webhooks to receive notifications when this workflow completes. Use id for updates/deletes, omit for creates.
    - `id` string — Workflow webhook URL external ID. Required for updates, omitted for new webhooks.
    - `url` string, uri, required — Webhook URL
  - `useProxy` boolean — Whether to use proxy for this workflow
  - `operatingSystem` 'Windows' | 'MacOS' | 'Linux', nullable — Operating system for browser sessions
  - `fingerprintBrowser` 'Chrome' | 'Safari' — Browser fingerprint to use for sessions
  - `maxConcurrentSessions` integer, nullable — Maximum concurrent executions for this workflow
  - `useLoginDetection` boolean — Whether to use login detection for this workflow
  - `retryConfiguration` object, nullable — Retry configuration for failed blocks. Set to null to remove retries.
    - `delay` integer, required — Retry delay in milliseconds
    - `retryCount` integer, required — Number of retries to attempt
  - `blockRetryCount` integer, nullable — Number of retries for failed blocks
  - `blockBackoffStrategy` 'exponential' | 'linear', nullable — Backoff strategy for block retries
  - `isOptimizedForComputerVision` boolean — Whether this workflow is optimized for computer vision blocks (uses specialized viewport and settings)
  - `waitBetweenBlocksMs` integer — Wait time in milliseconds between executing each block
  - `tagIds` string[] — List of tag external IDs to associate with this workflow
  - `workflowGroupId` string, nullable — External ID of the workflow group to assign this workflow to. Set to null to remove from any group.
  - `useRecoveryAgent` boolean — Whether to enable the recovery agent for all blocks in this workflow. When enabled, all blocks will use the recovery agent regardless of their individual settings.
  - `executionMode` 'standard' | 'structured' — Execution mode for this workflow. "standard" is the default, "structured" is experimental visual mode.
  - `executeInAgentMode` boolean — Whether this workflow should execute in agent mode instead of traditional block-based execution.
  - `agentModeKaizenVersion` 'Full' | 'Lite' | 'Open' | 'Flash' | 'Fast' | 'Amethyst', nullable — Kaizen mode used when this workflow executes in agent mode. Set to null to use the organization default.
  - `agentModeSummarySchema` object, nullable — JSON Schema that defines the structure of the execution summary when running in agent mode. Set to null to remove.

## Response `200`

Workflow updated successfully

- object
  - `id` string, required — ID of the updated workflow
  - `name` string, required — Updated name of the workflow
  - `isAuthenticationRequired` boolean, required — Whether authentication is required for this workflow
  - `autoSaveEnabled` boolean, required — Whether auto-save is enabled for this workflow
  - `timeoutMs` integer, nullable — Timeout in milliseconds for workflow execution
  - `shouldPauseOnError` boolean — Whether to pause workflow execution on error
  - `shouldSelfHeal` boolean — Whether to automatically clean up cache when workflow execution fails
  - `shouldSaveResultFile` boolean — Whether to save result files for this workflow
  - `maxConcurrentSessions` integer, nullable — Maximum concurrent executions for this workflow
  - `model` union, required — The LLM model used for this workflow
    - 'gpt-4.1-mini-2025-04-14' | 'gpt-4.1-2025-04-14' | 'gpt-5.1-2025-11-13' | 'gpt-5.4' | 'gpt-5.4-mini' | 'gpt-5.4-nano' | 'gpt-5.6-terra' | 'gpt-5.6-luna'
    - 'gemini-2.5-computer-use-preview-10-2025' | 'gemini-3.1-pro-preview' | 'gemini-3.1-flash-lite' | 'gemini-3.5-flash' | 'gemini-3.7-flash'
    - 'claude-haiku-4-5' | 'claude-sonnet-4-5' | 'claude-sonnet-4-6' | 'claude-opus-4-6' | 'claude-sonnet-5'
  - `useProxy` boolean — Whether to use proxy for this workflow
  - `useLoginDetection` boolean — Whether to use login detection for this workflow
  - `operatingSystem` 'Windows' | 'MacOS' | 'Linux', nullable — Operating system for browser sessions
  - `fingerprintBrowser` 'Chrome' | 'Safari' — Browser fingerprint to use for sessions
  - `blockRetryCount` integer, nullable — Number of retries for failed blocks
  - `blockBackoffStrategy` 'exponential' | 'linear', nullable — Backoff strategy for block retries
  - `isOptimizedForComputerVision` boolean — Whether this workflow is optimized for computer vision blocks (uses specialized viewport and settings)
  - `waitBetweenBlocksMs` integer — Wait time in milliseconds between executing each block
  - `useRecoveryAgent` boolean — Whether to enable the recovery agent for all blocks in this workflow. When enabled, all blocks will use the recovery agent regardless of their individual settings.
  - `executionMode` 'standard' | 'structured' — Execution mode for this workflow. "standard" is the default, "structured" is experimental visual mode.
  - `executeInAgentMode` boolean — Whether this workflow should execute in agent mode instead of traditional block-based execution.
  - `agentModeKaizenVersion` 'Full' | 'Lite' | 'Open' | 'Flash' | 'Fast' | 'Amethyst', nullable, required — Kaizen mode used when this workflow executes in agent mode. Null uses the organization default.
  - `agentModeSummarySchema` object, nullable — JSON Schema that defines the structure of the execution summary when running in agent mode.
  - `message` string, required — Success message

## Other responses

- `400` — Bad request
- `401` — Unauthorized
- `404` — Workflow not found
- `500` — Internal server error

---

[API](https://skmtc.dev/kaizenautomation/apis/kaizen-api.md) · [All operations](https://skmtc.dev/kaizenautomation/apis/kaizen-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/kaizenautomation/kaizen-api/revisions/4aa3664ceff2/schema)
