---
title: "Create a new workflow"
method: POST
path: "/workflows/create"
tags: ["Workflows"]
---

# Create a new workflow

`POST /workflows/create`

Creates a new workflow for the authenticated organization

## Request body

- object
  - `name` string, required — Name of the workflow to create
  - `blocks` union[] — Array of workflow block initializers to initialize the workflow with
    - union
      - object
        - `name` string, required
        - `blockReferenceId` string, required
        - `type` 'Login', required
        - `locator` ElementLocator
          - `role` string
          - `text` string
          - `label` string
          - `placeholder` string
          - `altText` string
          - `title` string
          - `css` string
          - `xpath` string
        - `isCacheable` boolean, required
        - `skipIfNotPresent` boolean, required
        - `useWorkflowRecoveryAgent` boolean, required
        - `data` object, required
          - `loginId` string
          - `isParameter` boolean
          - `forceLoginEveryTime` boolean
      - object — A block that automatically maps and fills input fields on a form using AI-powered field detection and data mapping.
        - `name` string, required
        - `blockReferenceId` string, required
        - `type` 'Form', required
        - `locator` ElementLocator
          - `role` string
          - `text` string
          - `label` string
          - `placeholder` string
          - `altText` string
          - `title` string
          - `css` string
          - `xpath` string
        - `isCacheable` boolean, required
        - `skipIfNotPresent` boolean, required
        - `useWorkflowRecoveryAgent` boolean, required
        - `data` object, required
          - `dataPrompt` union, required
            - string
            - TextExpression
              - …
      - object
        - `name` string, required
        - `blockReferenceId` string, required
        - `type` 'Mouse', required
        - `locator` ElementLocator
          - `role` string
          - `text` string
          - `label` string
          - `placeholder` string
          - `altText` string
          - `title` string
          - `css` string
          - `xpath` string
        - `isCacheable` boolean, required
        - `skipIfNotPresent` boolean, required
        - `useWorkflowRecoveryAgent` boolean, required
        - `data` object, required
          - `prompt` union
            - string
            - TextExpression
              - …
          - `locationHint` union
            - string
            - TextExpression
              - …
          - `doubleClick` boolean
          - `force` boolean
          - `useVision` boolean
          - `segment` 'top' | 'left', nullable
      - object
        - `name` string, required
        - `blockReferenceId` string, required
        - `type` 'Hover', required
        - `locator` ElementLocator
          - `role` string
          - `text` string
          - `label` string
          - `placeholder` string
          - `altText` string
          - `title` string
          - `css` string
          - `xpath` string
        - `isCacheable` boolean, required
        - `skipIfNotPresent` boolean, required
        - `useWorkflowRecoveryAgent` boolean, required
        - `data` object, required
          - `prompt` union
            - string
            - TextExpression
              - …
          - `locationHint` union
            - string
            - TextExpression
              - …
          - `useVision` boolean
      - object
        - `name` string, required
        - `blockReferenceId` string, required
        - `type` 'Search', required
        - `locator` ElementLocator
          - `role` string
          - `text` string
          - `label` string
          - `placeholder` string
          - `altText` string
          - `title` string
          - `css` string
          - `xpath` string
        - `isCacheable` boolean, required
        - `skipIfNotPresent` boolean, required
        - `useWorkflowRecoveryAgent` boolean, required
        - `data` object, required
          - `prompt` union, required
            - string
            - TextExpression
              - …
          - `query` union, required
            - string
            - TextExpression
              - …
          - `shouldNotClearFirst` boolean
          - `shouldType` boolean
          - `agenticSearch` boolean
          - `knowledgeBaseIds` string[]
          - `instructions` union
            - string
            - TextExpression
              - …
          - `skipIfMaxStepsReached` boolean
      - object
        - `name` string, required
        - `blockReferenceId` string, required
        - `type` 'Input', required
        - `locator` ElementLocator
          - `role` string
          - `text` string
          - `label` string
          - `placeholder` string
          - `altText` string
          - `title` string
          - `css` string
          - `xpath` string
        - `isCacheable` boolean, required
        - `skipIfNotPresent` boolean, required
        - `useWorkflowRecoveryAgent` boolean, required
        - `data` union, required
          - union
            - object
              - …
            - object
              - …
          - object
            - `key` string, required
            - `mode` 'code' | 'aiInference'
            - `useVision` boolean
            - `inputType` 'SensitiveTextInput', required
            - `value` string, required
          - object
            - `key` string, required
            - `mode` 'code' | 'aiInference'
            - `useVision` boolean
            - `inputType` 'Dropdown', required
            - `value` string, required
          - object
            - `key` string, required
            - `mode` 'code' | 'aiInference'
            - `useVision` boolean
            - `inputType` 'NativeDropdown', required
            - `value` string, required
          - object
            - `key` string, required
            - `mode` 'code' | 'aiInference'
            - `useVision` boolean
            - `inputType` 'Checkbox', required
            - `value` string, required
      - object
        - `name` string, required
        - `blockReferenceId` string, required
        - `type` 'DateInput', required
        - `locator` ElementLocator
          - `role` string
          - `text` string
          - `label` string
          - `placeholder` string
          - `altText` string
          - `title` string
          - `css` string
          - `xpath` string
        - `isCacheable` boolean, required
        - `skipIfNotPresent` boolean, required
        - `useWorkflowRecoveryAgent` boolean, required
        - `data` object, required
          - `key` union, required
            - string
            - TextExpression
              - …
          - `value` union, required
            - string
            - TextExpression
              - …
          - `useVision` boolean
      - object
        - `name` string, required
        - `blockReferenceId` string, required
        - `type` 'Extract', required
        - `locator` ElementLocator
          - `role` string
          - `text` string
          - `label` string
          - `placeholder` string
          - `altText` string
          - `title` string
          - `css` string
          - `xpath` string
        - `isCacheable` boolean, required
        - `skipIfNotPresent` boolean, required
        - `useWorkflowRecoveryAgent` boolean, required
        - `data` object, required
          - `prompt` union, required
            - string
            - TextExpression
              - …
          - `schema` unknown
          - `useVision` boolean
          - `model` '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'
          - `overrideModelWithDefault` boolean — When true, uses the default model (Gemini Flash 2.5) regardless of the model field value. When false, uses the model specified in the model field. This allows internal users to override the model selection while keeping the default behavior for all other users.
          - `selector` object, nullable — The XPath selector to extract from.
            - `xpath` string, required
          - `usePageImage` boolean — When true and useVision is false, sends both DOM content and a page screenshot to the model for extraction.
          - `knowledgeBaseIds` string[]
      - object
        - `name` string, required
        - `blockReferenceId` string, required
        - `type` 'ExtractFromInput', required
        - `locator` ElementLocator
          - `role` string
          - `text` string
          - `label` string
          - `placeholder` string
          - `altText` string
          - `title` string
          - `css` string
          - `xpath` string
        - `isCacheable` boolean, required
        - `skipIfNotPresent` boolean, required
        - `useWorkflowRecoveryAgent` boolean, required
        - `data` object, required
          - `inputText` union, required
            - string
            - TextExpression
              - …
          - `prompt` union, required
            - string
            - TextExpression
              - …
          - `schema` unknown
          - `model` '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'
          - `overrideModelWithDefault` boolean — When true, uses the default model (Gemini Flash 2.5) regardless of the model field value. When false, uses the model specified in the model field. This allows internal users to override the model selection while keeping the default behavior for all other users.
      - object
        - `name` string, required
        - `blockReferenceId` string, required
        - `type` 'ExtractImages', required
        - `locator` ElementLocator
          - `role` string
          - `text` string
          - `label` string
          - `placeholder` string
          - `altText` string
          - `title` string
          - `css` string
          - `xpath` string
        - `isCacheable` boolean, required
        - `skipIfNotPresent` boolean, required
        - `useWorkflowRecoveryAgent` boolean, required
        - `data` object, required
          - `imageDescriptions` string[], required — List of image descriptions to extract. Each description should be a single word with no spaces (e.g., "logo", "profile", "banner").
      - object
        - `name` string, required
        - `blockReferenceId` string, required
        - `type` 'API', required
        - `locator` ElementLocator
          - `role` string
          - `text` string
          - `label` string
          - `placeholder` string
          - `altText` string
          - `title` string
          - `css` string
          - `xpath` string
        - `isCacheable` boolean, required
        - `skipIfNotPresent` boolean, required
        - `useWorkflowRecoveryAgent` boolean, required
        - `data` ObjectMethodRouteData24, required
          - `method` 'GET' | 'POST' | 'PUT' | 'DELETE' | 'PATCH'
          - `route` union, required
            - string
            - TextExpression
              - …
          - `data` union
            - string
            - TextExpression
              - …
          - `failOnError` boolean
          - `authorizationKey` union
            - string
            - TextExpression
              - …
          - `useBrowserCookies` boolean — Whether to use browser cookies in the request
          - `contentType` 'JSON' | 'FORM_DATA' — Content type for the request data
      - object
        - `name` string, required
        - `blockReferenceId` string, required
        - `type` 'LoopV2', required
        - `locator` ElementLocator
          - `role` string
          - `text` string
          - `label` string
          - `placeholder` string
          - `altText` string
          - `title` string
          - `css` string
          - `xpath` string
        - `isCacheable` boolean, required
        - `skipIfNotPresent` boolean, required
        - `useWorkflowRecoveryAgent` boolean, required
        - `data` union, required
          - object
            - `iterableName` string, required
            - `semanticIterableKey` string, required
            - `isSemantic` true, required
            - `iterableKey` string
          - object
            - `iterableName` string, required
            - `iterableKey` string
            - `isSemantic` boolean
        - `sequenceData` object, required
          - `sequence` LoopV2NestedBlockInitializer[], required — Sequence of blocks within the loop
      - object
        - `name` string, required
        - `blockReferenceId` string, required
        - `type` 'Navigate', required
        - `locator` ElementLocator
          - `role` string
          - `text` string
          - `label` string
          - `placeholder` string
          - `altText` string
          - `title` string
          - `css` string
          - `xpath` string
        - `isCacheable` boolean, required
        - `skipIfNotPresent` boolean, required
        - `useWorkflowRecoveryAgent` boolean, required
        - `data` union, required
          - object
            - `actionType` 'GoTo', required
            - `url` union, required
              - …
          - object
            - `actionType` 'GoBack', required
      - object
        - `name` string, required
        - `blockReferenceId` string, required
        - `type` 'GoBack', required
        - `locator` ElementLocator
          - `role` string
          - `text` string
          - `label` string
          - `placeholder` string
          - `altText` string
          - `title` string
          - `css` string
          - `xpath` string
        - `isCacheable` boolean, required
        - `skipIfNotPresent` boolean, required
        - `useWorkflowRecoveryAgent` boolean, required
        - `data` object, required
      - object
        - `name` string, required
        - `blockReferenceId` string, required
        - `type` 'CloseTab', required
        - `locator` ElementLocator
          - `role` string
          - `text` string
          - `label` string
          - `placeholder` string
          - `altText` string
          - `title` string
          - `css` string
          - `xpath` string
        - `isCacheable` boolean, required
        - `skipIfNotPresent` boolean, required
        - `useWorkflowRecoveryAgent` boolean, required
        - `data` object, required
      - object — Automatically close cookie consent and other popups using AI detection
        - `name` string, required
        - `blockReferenceId` string, required
        - `type` 'ClosePopup', required
        - `locator` ElementLocator
          - `role` string
          - `text` string
          - `label` string
          - `placeholder` string
          - `altText` string
          - `title` string
          - `css` string
          - `xpath` string
        - `isCacheable` boolean, required
        - `skipIfNotPresent` boolean, required
        - `useWorkflowRecoveryAgent` boolean, required
        - `data` object, required
          - `prompt` union
            - string
            - TextExpression
              - …
          - `useVision` boolean
      - object
        - `name` string, required
        - `blockReferenceId` string, required
        - `type` 'If', required
        - `locator` ElementLocator
          - `role` string
          - `text` string
          - `label` string
          - `placeholder` string
          - `altText` string
          - `title` string
          - `css` string
          - `xpath` string
        - `isCacheable` boolean, required
        - `skipIfNotPresent` boolean, required
        - `useWorkflowRecoveryAgent` boolean, required
        - `data` object, required
          - `condition` union, required
            - string
            - TextExpression
              - …
          - `semantic` boolean
        - `sequenceData` object, required
          - `trueSequence` IfTrueNestedBlockInitializer[], required
          - `falseSequence` IfFalseNestedBlockInitializer[], required
      - object
        - `name` string, required
        - `blockReferenceId` string, required
        - `type` 'ExitFromLoop', required
        - `locator` ElementLocator
          - `role` string
          - `text` string
          - `label` string
          - `placeholder` string
          - `altText` string
          - `title` string
          - `css` string
          - `xpath` string
        - `isCacheable` boolean, required
        - `skipIfNotPresent` boolean, required
        - `useWorkflowRecoveryAgent` boolean, required
        - `data` object, required
          - `condition` union, required
            - string
            - TextExpression
              - …
          - `semantic` boolean
      - object
        - `name` string, required
        - `blockReferenceId` string, required
        - `type` 'Next', required
        - `locator` ElementLocator
          - `role` string
          - `text` string
          - `label` string
          - `placeholder` string
          - `altText` string
          - `title` string
          - `css` string
          - `xpath` string
        - `isCacheable` boolean, required
        - `skipIfNotPresent` boolean, required
        - `useWorkflowRecoveryAgent` boolean, required
        - `data` object, required
          - `condition` union, required
            - string
            - TextExpression
              - …
          - `semantic` boolean
      - object
        - `name` string, required
        - `blockReferenceId` string, required
        - `type` 'FailOnCondition', required
        - `locator` ElementLocator
          - `role` string
          - `text` string
          - `label` string
          - `placeholder` string
          - `altText` string
          - `title` string
          - `css` string
          - `xpath` string
        - `isCacheable` boolean, required
        - `skipIfNotPresent` boolean, required
        - `useWorkflowRecoveryAgent` boolean, required
        - `data` object, required
          - `condition` union, required
            - string
            - TextExpression
              - …
          - `message` union, required
            - string
            - TextExpression
              - …
          - `code` union
            - string
            - TextExpression
              - …
      - object
        - `name` string, required
        - `blockReferenceId` string, required
        - `type` 'FileUpload', required
        - `locator` ElementLocator
          - `role` string
          - `text` string
          - `label` string
          - `placeholder` string
          - `altText` string
          - `title` string
          - `css` string
          - `xpath` string
        - `isCacheable` boolean, required
        - `skipIfNotPresent` boolean, required
        - `useWorkflowRecoveryAgent` boolean, required
        - `data` object, required
          - `fileId` string, required
          - `fileIds` string[]
          - `prompt` union, required
            - string
            - TextExpression
              - …
          - `useVision` boolean
          - `fromOrganizationFiles` boolean
      - object — A block that fills a document with specified content using AI
        - `name` string, required
        - `blockReferenceId` string, required
        - `type` 'FillDocument', required
        - `locator` ElementLocator
          - `role` string
          - `text` string
          - `label` string
          - `placeholder` string
          - `altText` string
          - `title` string
          - `css` string
          - `xpath` string
        - `isCacheable` boolean, required
        - `skipIfNotPresent` boolean, required
        - `useWorkflowRecoveryAgent` boolean, required
        - `data` object, required
          - `fileId` string, required — The ID of the file to fill
          - `prompt` union, required
            - string
            - TextExpression
              - …
      - object
        - `name` string, required
        - `blockReferenceId` string, required
        - `type` 'Dropdown', required
        - `locator` ElementLocator
          - `role` string
          - `text` string
          - `label` string
          - `placeholder` string
          - `altText` string
          - `title` string
          - `css` string
          - `xpath` string
        - `isCacheable` boolean, required
        - `skipIfNotPresent` boolean, required
        - `useWorkflowRecoveryAgent` boolean, required
        - `data` object, required
          - `key` union, required
            - string
            - TextExpression
              - …
          - `value` union, required
            - string
            - TextExpression
              - …
          - `useVision` boolean — Use AI vision to identify and click the dropdown and option instead of selectors
          - `multipleSelect` boolean — Select multiple options from the dropdown
      - object
        - `name` string, required
        - `blockReferenceId` string, required
        - `type` 'Wait', required
        - `locator` ElementLocator
          - `role` string
          - `text` string
          - `label` string
          - `placeholder` string
          - `altText` string
          - `title` string
          - `css` string
          - `xpath` string
        - `isCacheable` boolean, required
        - `skipIfNotPresent` boolean, required
        - `useWorkflowRecoveryAgent` boolean, required
        - `data` object, required
          - `durationSeconds` number, required
      - object
        - `name` string, required
        - `blockReferenceId` string, required
        - `type` 'WaitForCondition', required
        - `locator` ElementLocator
          - `role` string
          - `text` string
          - `label` string
          - `placeholder` string
          - `altText` string
          - `title` string
          - `css` string
          - `xpath` string
        - `isCacheable` boolean, required
        - `skipIfNotPresent` boolean, required
        - `useWorkflowRecoveryAgent` boolean, required
        - `data` object, required
          - `eventDescription` union, required
            - string
            - TextExpression
              - …
          - `maxTimeoutSeconds` number
      - object
        - `name` string, required
        - `blockReferenceId` string, required
        - `type` 'WaitForCaptchaSolve', required
        - `locator` ElementLocator
          - `role` string
          - `text` string
          - `label` string
          - `placeholder` string
          - `altText` string
          - `title` string
          - `css` string
          - `xpath` string
        - `isCacheable` boolean, required
        - `skipIfNotPresent` boolean, required
        - `useWorkflowRecoveryAgent` boolean, required
        - `data` object, required
          - `timeoutSeconds` number
      - object
        - `name` string, required
        - `blockReferenceId` string, required
        - `type` 'Press', required
        - `locator` ElementLocator
          - `role` string
          - `text` string
          - `label` string
          - `placeholder` string
          - `altText` string
          - `title` string
          - `css` string
          - `xpath` string
        - `isCacheable` boolean, required
        - `skipIfNotPresent` boolean, required
        - `useWorkflowRecoveryAgent` boolean, required
        - `data` object, required
          - `key` 'Escape' | 'Enter' | 'Return' | 'Tab' | 'Down' | 'Up' | 'Left' | 'Right', required — The keyboard key to press
      - object
        - `name` string, required
        - `blockReferenceId` string, required
        - `type` 'Type', required
        - `locator` ElementLocator
          - `role` string
          - `text` string
          - `label` string
          - `placeholder` string
          - `altText` string
          - `title` string
          - `css` string
          - `xpath` string
        - `isCacheable` boolean, required
        - `skipIfNotPresent` boolean, required
        - `useWorkflowRecoveryAgent` boolean, required
        - `data` object, required
          - `value` union, required
            - string
            - TextExpression
              - …
      - object
        - `name` string, required
        - `blockReferenceId` string, required
        - `type` 'TriggerWorkflow', required
        - `locator` ElementLocator
          - `role` string
          - `text` string
          - `label` string
          - `placeholder` string
          - `altText` string
          - `title` string
          - `css` string
          - `xpath` string
        - `isCacheable` boolean, required
        - `skipIfNotPresent` boolean, required
        - `useWorkflowRecoveryAgent` boolean, required
        - `data` object, required
          - `workflowExternalId` string, required
          - `parameters` object
      - object
        - `name` string, required
        - `blockReferenceId` string, required
        - `type` 'DownloadFile', required
        - `locator` ElementLocator
          - `role` string
          - `text` string
          - `label` string
          - `placeholder` string
          - `altText` string
          - `title` string
          - `css` string
          - `xpath` string
        - `isCacheable` boolean, required
        - `skipIfNotPresent` boolean, required
        - `useWorkflowRecoveryAgent` boolean, required
        - `data` object, required
          - `key` union
            - string
            - TextExpression
              - …
          - `prompt` union
            - string
            - TextExpression
              - …
          - `locationHint` union
            - string
            - TextExpression
              - …
      - object
        - `name` string, required
        - `blockReferenceId` string, required
        - `type` 'SaveAsPdf', required
        - `locator` ElementLocator
          - `role` string
          - `text` string
          - `label` string
          - `placeholder` string
          - `altText` string
          - `title` string
          - `css` string
          - `xpath` string
        - `isCacheable` boolean, required
        - `skipIfNotPresent` boolean, required
        - `useWorkflowRecoveryAgent` boolean, required
        - `data` object, required
          - `fileName` union
            - string
            - TextExpression
              - …
          - `key` union
            - string
            - TextExpression
              - …
      - object
        - `name` string, required
        - `blockReferenceId` string, required
        - `type` 'CodeV2', required
        - `locator` ElementLocator
          - `role` string
          - `text` string
          - `label` string
          - `placeholder` string
          - `altText` string
          - `title` string
          - `css` string
          - `xpath` string
        - `isCacheable` boolean, required
        - `skipIfNotPresent` boolean, required
        - `useWorkflowRecoveryAgent` boolean, required
        - `data` object, required
          - `function` string, required
          - `accumulatorKey` string
          - `accumulatorBlockName` string
      - object
        - `name` string, required
        - `blockReferenceId` string, required
        - `type` 'QueryKnowledgeBase', required
        - `locator` ElementLocator
          - `role` string
          - `text` string
          - `label` string
          - `placeholder` string
          - `altText` string
          - `title` string
          - `css` string
          - `xpath` string
        - `isCacheable` boolean, required
        - `skipIfNotPresent` boolean, required
        - `useWorkflowRecoveryAgent` boolean, required
        - `data` object, required
          - `knowledgeBaseIds` string[], required
          - `query` union, required
            - string
            - TextExpression
              - …
          - `schema` unknown
          - `model` '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'
      - object
        - `name` string, required
        - `blockReferenceId` string, required
        - `type` 'Transform', required
        - `locator` ElementLocator
          - `role` string
          - `text` string
          - `label` string
          - `placeholder` string
          - `altText` string
          - `title` string
          - `css` string
          - `xpath` string
        - `isCacheable` boolean, required
        - `skipIfNotPresent` boolean, required
        - `useWorkflowRecoveryAgent` boolean, required
        - `data` object, required
          - `json` union, required
            - string
            - TextExpression
              - …
      - object
        - `name` string, required
        - `blockReferenceId` string, required
        - `type` 'ExtractFromFile', required
        - `locator` ElementLocator
          - `role` string
          - `text` string
          - `label` string
          - `placeholder` string
          - `altText` string
          - `title` string
          - `css` string
          - `xpath` string
        - `isCacheable` boolean, required
        - `skipIfNotPresent` boolean, required
        - `useWorkflowRecoveryAgent` boolean, required
        - `data` object, required
          - `prompt` union
            - string
            - TextExpression
              - …
          - `schema` unknown
          - `fileId` string, required
      - object
        - `name` string, required
        - `blockReferenceId` string, required
        - `type` 'RefreshPage', required
        - `locator` ElementLocator
          - `role` string
          - `text` string
          - `label` string
          - `placeholder` string
          - `altText` string
          - `title` string
          - `css` string
          - `xpath` string
        - `isCacheable` boolean, required
        - `skipIfNotPresent` boolean, required
        - `useWorkflowRecoveryAgent` boolean, required
        - `data` object, required
      - object — A block that reads an Excel file, extracts column headers from the second row, and uses an LLM to generate data for the third row
        - `name` string, required
        - `blockReferenceId` string, required
        - `type` 'FillSpreadsheet', required
        - `locator` ElementLocator
          - `role` string
          - `text` string
          - `label` string
          - `placeholder` string
          - `altText` string
          - `title` string
          - `css` string
          - `xpath` string
        - `isCacheable` boolean, required
        - `skipIfNotPresent` boolean, required
        - `useWorkflowRecoveryAgent` boolean, required
        - `data` object, required
          - `fileId` string, required — The ID of the Excel file to fill
          - `prompt` union
            - string
            - TextExpression
              - …
          - `fromOrganizationFiles` boolean — Whether the file is selected from organization files (true) or from a parameter (false)
      - object — A block that sends an email from the workflow with templated content and file attachments
        - `name` string, required
        - `blockReferenceId` string, required
        - `type` 'SendEmail', required
        - `locator` ElementLocator
          - `role` string
          - `text` string
          - `label` string
          - `placeholder` string
          - `altText` string
          - `title` string
          - `css` string
          - `xpath` string
        - `isCacheable` boolean, required
        - `skipIfNotPresent` boolean, required
        - `useWorkflowRecoveryAgent` boolean, required
        - `data` ObjectToAddressesCcAddressesSubject45, required
          - `toAddresses` string[], required — List of recipient email addresses
          - `ccAddresses` string[] — List of CC email addresses
          - `subject` union, required
            - string
            - TextExpression
              - …
          - `body` union
            - string
            - TextExpression
              - …
          - `bodyPrompt` union
            - string
            - TextExpression
              - …
          - `attachments` object[] — List of file attachments to include in the email
            - `fileId` string, required — The ID of a file to attach to the email
          - `fromOrganizationFiles` boolean — Whether the files are selected from organization files (true) or from a parameter (false)
      - object
        - `name` string, required
        - `blockReferenceId` string, required
        - `type` 'WebSearch', required
        - `locator` ElementLocator
          - `role` string
          - `text` string
          - `label` string
          - `placeholder` string
          - `altText` string
          - `title` string
          - `css` string
          - `xpath` string
        - `isCacheable` boolean, required
        - `skipIfNotPresent` boolean, required
        - `useWorkflowRecoveryAgent` boolean, required
        - `data` object, required
          - `query` union, required
            - string
            - TextExpression
              - …
      - object
        - `name` string, required
        - `blockReferenceId` string, required
        - `type` 'UnzipFile', required
        - `locator` ElementLocator
          - `role` string
          - `text` string
          - `label` string
          - `placeholder` string
          - `altText` string
          - `title` string
          - `css` string
          - `xpath` string
        - `isCacheable` boolean, required
        - `skipIfNotPresent` boolean, required
        - `useWorkflowRecoveryAgent` boolean, required
        - `data` object, required
          - `fileId` string, required — The file ID of the zip file to extract
          - `fromOrganizationFiles` boolean
  - `isAuthenticationRequired` boolean — Whether authentication is required for this workflow (defaults to false)
  - `useProxy` boolean — Whether to use proxy for this workflow (defaults to false)
  - `operatingSystem` 'Windows' | 'MacOS' | 'Linux', nullable — Operating system for browser sessions
  - `fingerprintBrowser` 'Chrome' | 'Safari' — Browser fingerprint to use for sessions
  - `isOptimizedForComputerVision` boolean — Whether this workflow is optimized for computer vision blocks (uses specialized viewport and settings, defaults to true)
  - `timeoutMs` integer — Timeout in milliseconds for workflow execution (defaults to 10800000ms / 3 hours)

## Response `200`

Workflow created successfully

- Workflow — Workflow definition
  - `id` string, required — ID of the workflow
  - `name` string, required — 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
  - `webhooks` object[] — List of webhooks for this workflow
    - `id` string, required — ID of the webhook
    - `url` string, uri, required — Webhook URL
  - `blocks` union[] — Sequence of workflow block summaries
    - union
      - object
        - `id` string, required
        - `name` string, required
        - `blockReferenceId` string, required
        - `type` 'Login', required
        - `locator` ElementLocator
          - `role` string
          - `text` string
          - `label` string
          - `placeholder` string
          - `altText` string
          - `title` string
          - `css` string
          - `xpath` string
        - `isCacheable` boolean, required
        - `skipIfNotPresent` boolean, required
        - `useWorkflowRecoveryAgent` boolean, required
        - `data` object, required
          - `loginId` string
          - `isParameter` boolean
          - `forceLoginEveryTime` boolean
        - `parentRelationship` object, required
          - `blockDepth` number, required
          - `positionInSequence` number, required
          - `parentBlockId` string, nullable, required
          - `parentSequenceId` 'sequence' | 'trueSequence' | 'falseSequence', nullable, required
      - object — A block that automatically maps and fills input fields on a form using AI-powered field detection and data mapping.
        - `id` string, required
        - `name` string, required
        - `blockReferenceId` string, required
        - `type` 'Form', required
        - `locator` ElementLocator
          - `role` string
          - `text` string
          - `label` string
          - `placeholder` string
          - `altText` string
          - `title` string
          - `css` string
          - `xpath` string
        - `isCacheable` boolean, required
        - `skipIfNotPresent` boolean, required
        - `useWorkflowRecoveryAgent` boolean, required
        - `data` object, required
          - `dataPrompt` union, required
            - string
            - TextExpression
              - …
        - `parentRelationship` object, required
          - `blockDepth` number, required
          - `positionInSequence` number, required
          - `parentBlockId` string, nullable, required
          - `parentSequenceId` 'sequence' | 'trueSequence' | 'falseSequence', nullable, required
      - object — A block that fills a document with specified content using AI
        - `id` string, required
        - `name` string, required
        - `blockReferenceId` string, required
        - `type` 'FillDocument', required
        - `locator` ElementLocator
          - `role` string
          - `text` string
          - `label` string
          - `placeholder` string
          - `altText` string
          - `title` string
          - `css` string
          - `xpath` string
        - `isCacheable` boolean, required
        - `skipIfNotPresent` boolean, required
        - `useWorkflowRecoveryAgent` boolean, required
        - `data` object, required
          - `fileId` string, required — The ID of the file to fill
          - `prompt` union, required
            - string
            - TextExpression
              - …
        - `parentRelationship` object, required
          - `blockDepth` number, required
          - `positionInSequence` number, required
          - `parentBlockId` string, nullable, required
          - `parentSequenceId` 'sequence' | 'trueSequence' | 'falseSequence', nullable, required
      - object — A block that reads an Excel file, extracts column headers from the second row, and uses an LLM to generate data for the third row
        - `id` string, required
        - `name` string, required
        - `blockReferenceId` string, required
        - `type` 'FillSpreadsheet', required
        - `locator` ElementLocator
          - `role` string
          - `text` string
          - `label` string
          - `placeholder` string
          - `altText` string
          - `title` string
          - `css` string
          - `xpath` string
        - `isCacheable` boolean, required
        - `skipIfNotPresent` boolean, required
        - `useWorkflowRecoveryAgent` boolean, required
        - `data` object, required
          - `fileId` string, required — The ID of the Excel file to fill
          - `prompt` union
            - string
            - TextExpression
              - …
          - `fromOrganizationFiles` boolean — Whether the file is selected from organization files (true) or from a parameter (false)
        - `parentRelationship` object, required
          - `blockDepth` number, required
          - `positionInSequence` number, required
          - `parentBlockId` string, nullable, required
          - `parentSequenceId` 'sequence' | 'trueSequence' | 'falseSequence', nullable, required
      - object
        - `id` string, required
        - `name` string, required
        - `blockReferenceId` string, required
        - `type` 'Mouse', required
        - `locator` ElementLocator
          - `role` string
          - `text` string
          - `label` string
          - `placeholder` string
          - `altText` string
          - `title` string
          - `css` string
          - `xpath` string
        - `isCacheable` boolean, required
        - `skipIfNotPresent` boolean, required
        - `useWorkflowRecoveryAgent` boolean, required
        - `data` object, required
          - `prompt` union
            - string
            - TextExpression
              - …
          - `locationHint` union
            - string
            - TextExpression
              - …
          - `doubleClick` boolean
          - `force` boolean
          - `useVision` boolean
          - `segment` 'top' | 'left', nullable
        - `parentRelationship` object, required
          - `blockDepth` number, required
          - `positionInSequence` number, required
          - `parentBlockId` string, nullable, required
          - `parentSequenceId` 'sequence' | 'trueSequence' | 'falseSequence', nullable, required
      - object
        - `id` string, required
        - `name` string, required
        - `blockReferenceId` string, required
        - `type` 'Hover', required
        - `locator` ElementLocator
          - `role` string
          - `text` string
          - `label` string
          - `placeholder` string
          - `altText` string
          - `title` string
          - `css` string
          - `xpath` string
        - `isCacheable` boolean, required
        - `skipIfNotPresent` boolean, required
        - `useWorkflowRecoveryAgent` boolean, required
        - `data` object, required
          - `prompt` union
            - string
            - TextExpression
              - …
          - `locationHint` union
            - string
            - TextExpression
              - …
          - `useVision` boolean
        - `parentRelationship` object, required
          - `blockDepth` number, required
          - `positionInSequence` number, required
          - `parentBlockId` string, nullable, required
          - `parentSequenceId` 'sequence' | 'trueSequence' | 'falseSequence', nullable, required
      - object
        - `id` string, required
        - `name` string, required
        - `blockReferenceId` string, required
        - `type` 'Search', required
        - `locator` ElementLocator
          - `role` string
          - `text` string
          - `label` string
          - `placeholder` string
          - `altText` string
          - `title` string
          - `css` string
          - `xpath` string
        - `isCacheable` boolean, required
        - `skipIfNotPresent` boolean, required
        - `useWorkflowRecoveryAgent` boolean, required
        - `data` object, required
          - `prompt` union, required
            - string
            - TextExpression
              - …
          - `query` union, required
            - string
            - TextExpression
              - …
          - `shouldNotClearFirst` boolean, required
          - `shouldType` boolean
          - `agenticSearch` boolean
          - `knowledgeBaseIds` string[]
          - `instructions` union
            - string
            - TextExpression
              - …
          - `skipIfMaxStepsReached` boolean
        - `parentRelationship` object, required
          - `blockDepth` number, required
          - `positionInSequence` number, required
          - `parentBlockId` string, nullable, required
          - `parentSequenceId` 'sequence' | 'trueSequence' | 'falseSequence', nullable, required
      - object
        - `id` string, required
        - `name` string, required
        - `blockReferenceId` string, required
        - `type` 'Input', required
        - `locator` ElementLocator
          - `role` string
          - `text` string
          - `label` string
          - `placeholder` string
          - `altText` string
          - `title` string
          - `css` string
          - `xpath` string
        - `isCacheable` boolean, required
        - `skipIfNotPresent` boolean, required
        - `useWorkflowRecoveryAgent` boolean, required
        - `data` union, required
          - object
            - `key` string, required
            - `mode` 'code' | 'aiInference'
            - `useVision` boolean
            - `inputType` 'TextInput', required
            - `value` string
            - `semanticValue` string, required
            - `knowledgeBaseIds` string[]
            - `shouldNotClearFirst` boolean
          - object
            - `key` string, required
            - `mode` 'code' | 'aiInference'
            - `useVision` boolean
            - `inputType` 'TextInput', required
            - `value` string, required
            - `semanticValue` string
            - `knowledgeBaseIds` string[]
            - `shouldNotClearFirst` boolean
          - object
            - `key` string, required
            - `mode` 'code' | 'aiInference'
            - `useVision` boolean
            - `inputType` 'SensitiveTextInput', required
            - `value` string, required
          - object
            - `key` string, required
            - `mode` 'code' | 'aiInference'
            - `useVision` boolean
            - `inputType` 'Dropdown', required
            - `value` string, required
          - object
            - `key` string, required
            - `mode` 'code' | 'aiInference'
            - `useVision` boolean
            - `inputType` 'NativeDropdown', required
            - `value` string, required
          - object
            - `key` string, required
            - `mode` 'code' | 'aiInference'
            - `useVision` boolean
            - `inputType` 'Checkbox', required
            - `value` string, required
        - `parentRelationship` object, required
          - `blockDepth` number, required
          - `positionInSequence` number, required
          - `parentBlockId` string, nullable, required
          - `parentSequenceId` 'sequence' | 'trueSequence' | 'falseSequence', nullable, required
      - object
        - `id` string, required
        - `name` string, required
        - `blockReferenceId` string, required
        - `type` 'DateInput', required
        - `locator` ElementLocator
          - `role` string
          - `text` string
          - `label` string
          - `placeholder` string
          - `altText` string
          - `title` string
          - `css` string
          - `xpath` string
        - `isCacheable` boolean, required
        - `skipIfNotPresent` boolean, required
        - `useWorkflowRecoveryAgent` boolean, required
        - `data` object, required
          - `key` union, required
            - string
            - TextExpression
              - …
          - `value` union, required
            - string
            - TextExpression
              - …
          - `useVision` boolean, required
        - `parentRelationship` object, required
          - `blockDepth` number, required
          - `positionInSequence` number, required
          - `parentBlockId` string, nullable, required
          - `parentSequenceId` 'sequence' | 'trueSequence' | 'falseSequence', nullable, required
      - object
        - `id` string, required
        - `name` string, required
        - `blockReferenceId` string, required
        - `type` 'Dropdown', required
        - `locator` ElementLocator
          - `role` string
          - `text` string
          - `label` string
          - `placeholder` string
          - `altText` string
          - `title` string
          - `css` string
          - `xpath` string
        - `isCacheable` boolean, required
        - `skipIfNotPresent` boolean, required
        - `useWorkflowRecoveryAgent` boolean, required
        - `data` object, required
          - `key` union, required
            - string
            - TextExpression
              - …
          - `value` union, required
            - string
            - TextExpression
              - …
          - `useVision` boolean — Use AI vision to identify and click the dropdown and option instead of selectors
          - `multipleSelect` boolean — Select multiple options from the dropdown
        - `parentRelationship` object, required
          - `blockDepth` number, required
          - `positionInSequence` number, required
          - `parentBlockId` string, nullable, required
          - `parentSequenceId` 'sequence' | 'trueSequence' | 'falseSequence', nullable, required
      - object
        - `id` string, required
        - `name` string, required
        - `blockReferenceId` string, required
        - `type` 'Extract', required
        - `locator` ElementLocator
          - `role` string
          - `text` string
          - `label` string
          - `placeholder` string
          - `altText` string
          - `title` string
          - `css` string
          - `xpath` string
        - `isCacheable` boolean, required
        - `skipIfNotPresent` boolean, required
        - `useWorkflowRecoveryAgent` boolean, required
        - `data` object, required
          - `prompt` union, required
            - string
            - TextExpression
              - …
          - `schema` unknown
          - `useVision` boolean, required
          - `model` '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'
          - `overrideModelWithDefault` boolean, required — When true, uses the default model (Gemini Flash 2.5) regardless of the model field value. When false, uses the model specified in the model field. This allows internal users to override the model selection while keeping the default behavior for all other users.
          - `selector` object, nullable — The XPath selector to extract from.
            - `xpath` string, required
          - `usePageImage` boolean, required — When true and useVision is false, sends both DOM content and a page screenshot to the model for extraction.
          - `knowledgeBaseIds` string[]
        - `parentRelationship` object, required
          - `blockDepth` number, required
          - `positionInSequence` number, required
          - `parentBlockId` string, nullable, required
          - `parentSequenceId` 'sequence' | 'trueSequence' | 'falseSequence', nullable, required
      - object
        - `id` string, required
        - `name` string, required
        - `blockReferenceId` string, required
        - `type` 'ExtractFromFile', required
        - `locator` ElementLocator
          - `role` string
          - `text` string
          - `label` string
          - `placeholder` string
          - `altText` string
          - `title` string
          - `css` string
          - `xpath` string
        - `isCacheable` boolean, required
        - `skipIfNotPresent` boolean, required
        - `useWorkflowRecoveryAgent` boolean, required
        - `data` object, required
          - `prompt` union
            - string
            - TextExpression
              - …
          - `schema` unknown
          - `fileId` string, required
        - `parentRelationship` object, required
          - `blockDepth` number, required
          - `positionInSequence` number, required
          - `parentBlockId` string, nullable, required
          - `parentSequenceId` 'sequence' | 'trueSequence' | 'falseSequence', nullable, required
      - object
        - `id` string, required
        - `name` string, required
        - `blockReferenceId` string, required
        - `type` 'ExtractFromInput', required
        - `locator` ElementLocator
          - `role` string
          - `text` string
          - `label` string
          - `placeholder` string
          - `altText` string
          - `title` string
          - `css` string
          - `xpath` string
        - `isCacheable` boolean, required
        - `skipIfNotPresent` boolean, required
        - `useWorkflowRecoveryAgent` boolean, required
        - `data` object, required
          - `inputText` union, required
            - string
            - TextExpression
              - …
          - `prompt` union, required
            - string
            - TextExpression
              - …
          - `schema` unknown
          - `model` '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'
          - `overrideModelWithDefault` boolean, required — When true, uses the default model (Gemini Flash 2.5) regardless of the model field value. When false, uses the model specified in the model field. This allows internal users to override the model selection while keeping the default behavior for all other users.
        - `parentRelationship` object, required
          - `blockDepth` number, required
          - `positionInSequence` number, required
          - `parentBlockId` string, nullable, required
          - `parentSequenceId` 'sequence' | 'trueSequence' | 'falseSequence', nullable, required
      - object
        - `id` string, required
        - `name` string, required
        - `blockReferenceId` string, required
        - `type` 'ExtractImages', required
        - `locator` ElementLocator
          - `role` string
          - `text` string
          - `label` string
          - `placeholder` string
          - `altText` string
          - `title` string
          - `css` string
          - `xpath` string
        - `isCacheable` boolean, required
        - `skipIfNotPresent` boolean, required
        - `useWorkflowRecoveryAgent` boolean, required
        - `data` object, required
          - `imageDescriptions` string[], required — List of image descriptions to extract. Each description should be a single word with no spaces (e.g., "logo", "profile", "banner").
        - `parentRelationship` object, required
          - `blockDepth` number, required
          - `positionInSequence` number, required
          - `parentBlockId` string, nullable, required
          - `parentSequenceId` 'sequence' | 'trueSequence' | 'falseSequence', nullable, required
      - object
        - `id` string, required
        - `name` string, required
        - `blockReferenceId` string, required
        - `type` 'QueryKnowledgeBase', required
        - `locator` ElementLocator
          - `role` string
          - `text` string
          - `label` string
          - `placeholder` string
          - `altText` string
          - `title` string
          - `css` string
          - `xpath` string
        - `isCacheable` boolean, required
        - `skipIfNotPresent` boolean, required
        - `useWorkflowRecoveryAgent` boolean, required
        - `data` object, required
          - `knowledgeBaseIds` string[], required
          - `query` union, required
            - string
            - TextExpression
              - …
          - `schema` unknown
          - `model` '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'
        - `parentRelationship` object, required
          - `blockDepth` number, required
          - `positionInSequence` number, required
          - `parentBlockId` string, nullable, required
          - `parentSequenceId` 'sequence' | 'trueSequence' | 'falseSequence', nullable, required
      - object
        - `id` string, required
        - `name` string, required
        - `blockReferenceId` string, required
        - `type` 'API', required
        - `locator` ElementLocator
          - `role` string
          - `text` string
          - `label` string
          - `placeholder` string
          - `altText` string
          - `title` string
          - `css` string
          - `xpath` string
        - `isCacheable` boolean, required
        - `skipIfNotPresent` boolean, required
        - `useWorkflowRecoveryAgent` boolean, required
        - `data` object, required
          - `method` 'GET' | 'POST' | 'PUT' | 'DELETE' | 'PATCH'
          - `route` union, required
            - string
            - TextExpression
              - …
          - `data` union
            - string
            - TextExpression
              - …
          - `failOnError` boolean
          - `authorizationKey` union
            - string
            - TextExpression
              - …
          - `useBrowserCookies` boolean — Whether to use browser cookies in the request
          - `contentType` 'JSON' | 'FORM_DATA' — Content type for the request data
        - `parentRelationship` object, required
          - `blockDepth` number, required
          - `positionInSequence` number, required
          - `parentBlockId` string, nullable, required
          - `parentSequenceId` 'sequence' | 'trueSequence' | 'falseSequence', nullable, required
      - object
        - `id` string, required
        - `name` string, required
        - `blockReferenceId` string, required
        - `type` 'Navigate', required
        - `locator` ElementLocator
          - `role` string
          - `text` string
          - `label` string
          - `placeholder` string
          - `altText` string
          - `title` string
          - `css` string
          - `xpath` string
        - `isCacheable` boolean, required
        - `skipIfNotPresent` boolean, required
        - `useWorkflowRecoveryAgent` boolean, required
        - `data` union, required
          - object
            - `actionType` 'GoTo', required
            - `url` union, required
              - …
          - object
            - `actionType` 'GoBack', required
        - `parentRelationship` object, required
          - `blockDepth` number, required
          - `positionInSequence` number, required
          - `parentBlockId` string, nullable, required
          - `parentSequenceId` 'sequence' | 'trueSequence' | 'falseSequence', nullable, required
      - object
        - `id` string, required
        - `name` string, required
        - `blockReferenceId` string, required
        - `type` 'CloseTab', required
        - `locator` ElementLocator
          - `role` string
          - `text` string
          - `label` string
          - `placeholder` string
          - `altText` string
          - `title` string
          - `css` string
          - `xpath` string
        - `isCacheable` boolean, required
        - `skipIfNotPresent` boolean, required
        - `useWorkflowRecoveryAgent` boolean, required
        - `data` object, required
        - `parentRelationship` object, required
          - `blockDepth` number, required
          - `positionInSequence` number, required
          - `parentBlockId` string, nullable, required
          - `parentSequenceId` 'sequence' | 'trueSequence' | 'falseSequence', nullable, required
      - object — Automatically close cookie consent and other popups using AI detection
        - `id` string, required
        - `name` string, required
        - `blockReferenceId` string, required
        - `type` 'ClosePopup', required
        - `locator` ElementLocator
          - `role` string
          - `text` string
          - `label` string
          - `placeholder` string
          - `altText` string
          - `title` string
          - `css` string
          - `xpath` string
        - `isCacheable` boolean, required
        - `skipIfNotPresent` boolean, required
        - `useWorkflowRecoveryAgent` boolean, required
        - `data` object, required
          - `prompt` union
            - string
            - TextExpression
              - …
          - `useVision` boolean
        - `parentRelationship` object, required
          - `blockDepth` number, required
          - `positionInSequence` number, required
          - `parentBlockId` string, nullable, required
          - `parentSequenceId` 'sequence' | 'trueSequence' | 'falseSequence', nullable, required
      - object
        - `id` string, required
        - `name` string, required
        - `blockReferenceId` string, required
        - `type` 'FileUpload', required
        - `locator` ElementLocator
          - `role` string
          - `text` string
          - `label` string
          - `placeholder` string
          - `altText` string
          - `title` string
          - `css` string
          - `xpath` string
        - `isCacheable` boolean, required
        - `skipIfNotPresent` boolean, required
        - `useWorkflowRecoveryAgent` boolean, required
        - `data` object, required
          - `fileId` string, required
          - `fileIds` string[]
          - `prompt` union, required
            - string
            - TextExpression
              - …
          - `useVision` boolean
          - `fromOrganizationFiles` boolean
        - `parentRelationship` object, required
          - `blockDepth` number, required
          - `positionInSequence` number, required
          - `parentBlockId` string, nullable, required
          - `parentSequenceId` 'sequence' | 'trueSequence' | 'falseSequence', nullable, required
      - object
        - `id` string, required
        - `name` string, required
        - `blockReferenceId` string, required
        - `type` 'Wait', required
        - `locator` ElementLocator
          - `role` string
          - `text` string
          - `label` string
          - `placeholder` string
          - `altText` string
          - `title` string
          - `css` string
          - `xpath` string
        - `isCacheable` boolean, required
        - `skipIfNotPresent` boolean, required
        - `useWorkflowRecoveryAgent` boolean, required
        - `data` object, required
          - `durationSeconds` number, required
        - `parentRelationship` object, required
          - `blockDepth` number, required
          - `positionInSequence` number, required
          - `parentBlockId` string, nullable, required
          - `parentSequenceId` 'sequence' | 'trueSequence' | 'falseSequence', nullable, required
      - object
        - `id` string, required
        - `name` string, required
        - `blockReferenceId` string, required
        - `type` 'WaitForCondition', required
        - `locator` ElementLocator
          - `role` string
          - `text` string
          - `label` string
          - `placeholder` string
          - `altText` string
          - `title` string
          - `css` string
          - `xpath` string
        - `isCacheable` boolean, required
        - `skipIfNotPresent` boolean, required
        - `useWorkflowRecoveryAgent` boolean, required
        - `data` object, required
          - `eventDescription` union, required
            - string
            - TextExpression
              - …
          - `maxTimeoutSeconds` number, required
        - `parentRelationship` object, required
          - `blockDepth` number, required
          - `positionInSequence` number, required
          - `parentBlockId` string, nullable, required
          - `parentSequenceId` 'sequence' | 'trueSequence' | 'falseSequence', nullable, required
      - object
        - `id` string, required
        - `name` string, required
        - `blockReferenceId` string, required
        - `type` 'WaitForCaptchaSolve', required
        - `locator` ElementLocator
          - `role` string
          - `text` string
          - `label` string
          - `placeholder` string
          - `altText` string
          - `title` string
          - `css` string
          - `xpath` string
        - `isCacheable` boolean, required
        - `skipIfNotPresent` boolean, required
        - `useWorkflowRecoveryAgent` boolean, required
        - `data` object, required
          - `timeoutSeconds` number
        - `parentRelationship` object, required
          - `blockDepth` number, required
          - `positionInSequence` number, required
          - `parentBlockId` string, nullable, required
          - `parentSequenceId` 'sequence' | 'trueSequence' | 'falseSequence', nullable, required
      - object
        - `id` string, required
        - `name` string, required
        - `blockReferenceId` string, required
        - `type` 'FailOnCondition', required
        - `locator` ElementLocator
          - `role` string
          - `text` string
          - `label` string
          - `placeholder` string
          - `altText` string
          - `title` string
          - `css` string
          - `xpath` string
        - `isCacheable` boolean, required
        - `skipIfNotPresent` boolean, required
        - `useWorkflowRecoveryAgent` boolean, required
        - `data` object, required
          - `condition` union, required
            - string
            - TextExpression
              - …
          - `message` union, required
            - string
            - TextExpression
              - …
          - `code` union
            - string
            - TextExpression
              - …
        - `parentRelationship` object, required
          - `blockDepth` number, required
          - `positionInSequence` number, required
          - `parentBlockId` string, nullable, required
          - `parentSequenceId` 'sequence' | 'trueSequence' | 'falseSequence', nullable, required
      - object
        - `id` string, required
        - `name` string, required
        - `blockReferenceId` string, required
        - `type` 'GoBack', required
        - `locator` ElementLocator
          - `role` string
          - `text` string
          - `label` string
          - `placeholder` string
          - `altText` string
          - `title` string
          - `css` string
          - `xpath` string
        - `isCacheable` boolean, required
        - `skipIfNotPresent` boolean, required
        - `useWorkflowRecoveryAgent` boolean, required
        - `data` object, required
        - `parentRelationship` object, required
          - `blockDepth` number, required
          - `positionInSequence` number, required
          - `parentBlockId` string, nullable, required
          - `parentSequenceId` 'sequence' | 'trueSequence' | 'falseSequence', nullable, required
      - object
        - `id` string, required
        - `name` string, required
        - `blockReferenceId` string, required
        - `type` 'RefreshPage', required
        - `locator` ElementLocator
          - `role` string
          - `text` string
          - `label` string
          - `placeholder` string
          - `altText` string
          - `title` string
          - `css` string
          - `xpath` string
        - `isCacheable` boolean, required
        - `skipIfNotPresent` boolean, required
        - `useWorkflowRecoveryAgent` boolean, required
        - `data` object, required
        - `parentRelationship` object, required
          - `blockDepth` number, required
          - `positionInSequence` number, required
          - `parentBlockId` string, nullable, required
          - `parentSequenceId` 'sequence' | 'trueSequence' | 'falseSequence', nullable, required
      - object
        - `id` string, required
        - `name` string, required
        - `blockReferenceId` string, required
        - `type` 'Press', required
        - `locator` ElementLocator
          - `role` string
          - `text` string
          - `label` string
          - `placeholder` string
          - `altText` string
          - `title` string
          - `css` string
          - `xpath` string
        - `isCacheable` boolean, required
        - `skipIfNotPresent` boolean, required
        - `useWorkflowRecoveryAgent` boolean, required
        - `data` object, required
          - `key` 'Escape' | 'Enter' | 'Return' | 'Tab' | 'Down' | 'Up' | 'Left' | 'Right', required — The keyboard key to press
        - `parentRelationship` object, required
          - `blockDepth` number, required
          - `positionInSequence` number, required
          - `parentBlockId` string, nullable, required
          - `parentSequenceId` 'sequence' | 'trueSequence' | 'falseSequence', nullable, required
      - object
        - `id` string, required
        - `name` string, required
        - `blockReferenceId` string, required
        - `type` 'Type', required
        - `locator` ElementLocator
          - `role` string
          - `text` string
          - `label` string
          - `placeholder` string
          - `altText` string
          - `title` string
          - `css` string
          - `xpath` string
        - `isCacheable` boolean, required
        - `skipIfNotPresent` boolean, required
        - `useWorkflowRecoveryAgent` boolean, required
        - `data` object, required
          - `value` union, required
            - string
            - TextExpression
              - …
        - `parentRelationship` object, required
          - `blockDepth` number, required
          - `positionInSequence` number, required
          - `parentBlockId` string, nullable, required
          - `parentSequenceId` 'sequence' | 'trueSequence' | 'falseSequence', nullable, required
      - object
        - `id` string, required
        - `name` string, required
        - `blockReferenceId` string, required
        - `type` 'TriggerWorkflow', required
        - `locator` ElementLocator
          - `role` string
          - `text` string
          - `label` string
          - `placeholder` string
          - `altText` string
          - `title` string
          - `css` string
          - `xpath` string
        - `isCacheable` boolean, required
        - `skipIfNotPresent` boolean, required
        - `useWorkflowRecoveryAgent` boolean, required
        - `data` object, required
          - `workflowExternalId` string, required
          - `parameters` object
        - `parentRelationship` object, required
          - `blockDepth` number, required
          - `positionInSequence` number, required
          - `parentBlockId` string, nullable, required
          - `parentSequenceId` 'sequence' | 'trueSequence' | 'falseSequence', nullable, required
      - object
        - `id` string, required
        - `name` string, required
        - `blockReferenceId` string, required
        - `type` 'DownloadFile', required
        - `locator` ElementLocator
          - `role` string
          - `text` string
          - `label` string
          - `placeholder` string
          - `altText` string
          - `title` string
          - `css` string
          - `xpath` string
        - `isCacheable` boolean, required
        - `skipIfNotPresent` boolean, required
        - `useWorkflowRecoveryAgent` boolean, required
        - `data` object, required
          - `key` union
            - string
            - TextExpression
              - …
          - `prompt` union
            - string
            - TextExpression
              - …
          - `locationHint` union
            - string
            - TextExpression
              - …
        - `parentRelationship` object, required
          - `blockDepth` number, required
          - `positionInSequence` number, required
          - `parentBlockId` string, nullable, required
          - `parentSequenceId` 'sequence' | 'trueSequence' | 'falseSequence', nullable, required
      - object
        - `id` string, required
        - `name` string, required
        - `blockReferenceId` string, required
        - `type` 'SaveAsPdf', required
        - `locator` ElementLocator
          - `role` string
          - `text` string
          - `label` string
          - `placeholder` string
          - `altText` string
          - `title` string
          - `css` string
          - `xpath` string
        - `isCacheable` boolean, required
        - `skipIfNotPresent` boolean, required
        - `useWorkflowRecoveryAgent` boolean, required
        - `data` object, required
          - `fileName` union
            - string
            - TextExpression
              - …
          - `key` union
            - string
            - TextExpression
              - …
        - `parentRelationship` object, required
          - `blockDepth` number, required
          - `positionInSequence` number, required
          - `parentBlockId` string, nullable, required
          - `parentSequenceId` 'sequence' | 'trueSequence' | 'falseSequence', nullable, required
      - object
        - `id` string, required
        - `name` string, required
        - `blockReferenceId` string, required
        - `type` 'CodeV2', required
        - `locator` ElementLocator
          - `role` string
          - `text` string
          - `label` string
          - `placeholder` string
          - `altText` string
          - `title` string
          - `css` string
          - `xpath` string
        - `isCacheable` boolean, required
        - `skipIfNotPresent` boolean, required
        - `useWorkflowRecoveryAgent` boolean, required
        - `data` object, required
          - `function` string, required
          - `accumulatorKey` string
          - `accumulatorBlockName` string
        - `parentRelationship` object, required
          - `blockDepth` number, required
          - `positionInSequence` number, required
          - `parentBlockId` string, nullable, required
          - `parentSequenceId` 'sequence' | 'trueSequence' | 'falseSequence', nullable, required
      - object
        - `id` string, required
        - `name` string, required
        - `blockReferenceId` string, required
        - `type` 'Transform', required
        - `locator` ElementLocator
          - `role` string
          - `text` string
          - `label` string
          - `placeholder` string
          - `altText` string
          - `title` string
          - `css` string
          - `xpath` string
        - `isCacheable` boolean, required
        - `skipIfNotPresent` boolean, required
        - `useWorkflowRecoveryAgent` boolean, required
        - `data` object, required
          - `json` union, required
            - string
            - TextExpression
              - …
        - `parentRelationship` object, required
          - `blockDepth` number, required
          - `positionInSequence` number, required
          - `parentBlockId` string, nullable, required
          - `parentSequenceId` 'sequence' | 'trueSequence' | 'falseSequence', nullable, required
      - object
        - `id` string, required
        - `name` string, required
        - `blockReferenceId` string, required
        - `type` 'ExitFromLoop', required
        - `locator` ElementLocator
          - `role` string
          - `text` string
          - `label` string
          - `placeholder` string
          - `altText` string
          - `title` string
          - `css` string
          - `xpath` string
        - `isCacheable` boolean, required
        - `skipIfNotPresent` boolean, required
        - `useWorkflowRecoveryAgent` boolean, required
        - `data` object, required
          - `condition` union, required
            - string
            - TextExpression
              - …
          - `semantic` boolean
        - `parentRelationship` object, required
          - `blockDepth` number, required
          - `positionInSequence` number, required
          - `parentBlockId` string, nullable, required
          - `parentSequenceId` 'sequence' | 'trueSequence' | 'falseSequence', nullable, required
      - object
        - `id` string, required
        - `name` string, required
        - `blockReferenceId` string, required
        - `type` 'Next', required
        - `locator` ElementLocator
          - `role` string
          - `text` string
          - `label` string
          - `placeholder` string
          - `altText` string
          - `title` string
          - `css` string
          - `xpath` string
        - `isCacheable` boolean, required
        - `skipIfNotPresent` boolean, required
        - `useWorkflowRecoveryAgent` boolean, required
        - `data` object, required
          - `condition` union, required
            - string
            - TextExpression
              - …
          - `semantic` boolean
        - `parentRelationship` object, required
          - `blockDepth` number, required
          - `positionInSequence` number, required
          - `parentBlockId` string, nullable, required
          - `parentSequenceId` 'sequence' | 'trueSequence' | 'falseSequence', nullable, required
      - object — A block that sends an email from the workflow with templated content and file attachments
        - `id` string, required
        - `name` string, required
        - `blockReferenceId` string, required
        - `type` 'SendEmail', required
        - `locator` ElementLocator
          - `role` string
          - `text` string
          - `label` string
          - `placeholder` string
          - `altText` string
          - `title` string
          - `css` string
          - `xpath` string
        - `isCacheable` boolean, required
        - `skipIfNotPresent` boolean, required
        - `useWorkflowRecoveryAgent` boolean, required
        - `data` object, required
          - `toAddresses` string[], required — List of recipient email addresses
          - `ccAddresses` string[] — List of CC email addresses
          - `subject` union, required
            - string
            - TextExpression
              - …
          - `body` union
            - string
            - TextExpression
              - …
          - `bodyPrompt` union
            - string
            - TextExpression
              - …
          - `attachments` object[] — List of file attachments to include in the email
            - `fileId` string, required — The ID of a file to attach to the email
          - `fromOrganizationFiles` boolean — Whether the files are selected from organization files (true) or from a parameter (false)
        - `parentRelationship` object, required
          - `blockDepth` number, required
          - `positionInSequence` number, required
          - `parentBlockId` string, nullable, required
          - `parentSequenceId` 'sequence' | 'trueSequence' | 'falseSequence', nullable, required
      - object
        - `id` string, required
        - `name` string, required
        - `blockReferenceId` string, required
        - `type` 'WebSearch', required
        - `locator` ElementLocator
          - `role` string
          - `text` string
          - `label` string
          - `placeholder` string
          - `altText` string
          - `title` string
          - `css` string
          - `xpath` string
        - `isCacheable` boolean, required
        - `skipIfNotPresent` boolean, required
        - `useWorkflowRecoveryAgent` boolean, required
        - `data` object, required
          - `query` union, required
            - string
            - TextExpression
              - …
        - `parentRelationship` object, required
          - `blockDepth` number, required
          - `positionInSequence` number, required
          - `parentBlockId` string, nullable, required
          - `parentSequenceId` 'sequence' | 'trueSequence' | 'falseSequence', nullable, required
      - object
        - `id` string, required
        - `name` string, required
        - `blockReferenceId` string, required
        - `type` 'UnzipFile', required
        - `locator` ElementLocator
          - `role` string
          - `text` string
          - `label` string
          - `placeholder` string
          - `altText` string
          - `title` string
          - `css` string
          - `xpath` string
        - `isCacheable` boolean, required
        - `skipIfNotPresent` boolean, required
        - `useWorkflowRecoveryAgent` boolean, required
        - `data` object, required
          - `fileId` string, required — The file ID of the zip file to extract
          - `fromOrganizationFiles` boolean
        - `parentRelationship` object, required
          - `blockDepth` number, required
          - `positionInSequence` number, required
          - `parentBlockId` string, nullable, required
          - `parentSequenceId` 'sequence' | 'trueSequence' | 'falseSequence', nullable, required
      - object
        - `id` string, required
        - `name` string, required
        - `blockReferenceId` string, required
        - `type` 'LoopV2', required
        - `locator` ElementLocator
          - `role` string
          - `text` string
          - `label` string
          - `placeholder` string
          - `altText` string
          - `title` string
          - `css` string
          - `xpath` string
        - `isCacheable` boolean, required
        - `skipIfNotPresent` boolean, required
        - `useWorkflowRecoveryAgent` boolean, required
        - `data` union, required
          - object
            - `iterableName` string, required
            - `startBlockId` string, nullable, required
            - `semanticIterableKey` string, required
            - `isSemantic` true, required
            - `iterableKey` string
          - object
            - `iterableName` string, required
            - `startBlockId` string, nullable, required
            - `iterableKey` string
            - `isSemantic` boolean
        - `parentRelationship` object, required
          - `blockDepth` number, required
          - `positionInSequence` number, required
          - `parentBlockId` string, nullable, required
          - `parentSequenceId` 'sequence' | 'trueSequence' | 'falseSequence', nullable, required
        - `sequenceData` object, required
          - `sequence` LoopV2NestedBlockInitializer[], required — Sequence of blocks within the loop
      - object
        - `id` string, required
        - `name` string, required
        - `blockReferenceId` string, required
        - `type` 'If', required
        - `locator` ElementLocator
          - `role` string
          - `text` string
          - `label` string
          - `placeholder` string
          - `altText` string
          - `title` string
          - `css` string
          - `xpath` string
        - `isCacheable` boolean, required
        - `skipIfNotPresent` boolean, required
        - `useWorkflowRecoveryAgent` boolean, required
        - `data` object, required
          - `condition` union, required
            - string
            - TextExpression
              - …
          - `semantic` boolean
          - `trueStartBlockId` string, nullable, required
          - `falseStartBlockId` string, nullable, required
        - `parentRelationship` object, required
          - `blockDepth` number, required
          - `positionInSequence` number, required
          - `parentBlockId` string, nullable, required
          - `parentSequenceId` 'sequence' | 'trueSequence' | 'falseSequence', nullable, required
        - `sequenceData` object, required
          - `trueSequence` IfTrueNestedBlockInitializer[], required
          - `falseSequence` IfFalseNestedBlockInitializer[], required
  - `model` union — 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
  - `operatingSystem` 'Windows' | 'MacOS' | 'Linux', nullable — Operating system for browser sessions (defaults to no preference)
  - `knowledgeBase` string — Knowledge base text for this workflow
  - `useLoginDetection` boolean — Whether to use login detection for this workflow
  - `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
  - `tags` Tag[] — List of tags associated with this workflow
    - `id` string, required — External ID of the tag
    - `text` string, required — Text content of the tag
    - `tagHexColor` string, required — Hex color code for the tag (e.g., #FF5733)
    - `organizationId` string, required — ID of the organization that owns this tag
    - `createdAt` string, required — Timestamp when the tag was created
    - `updatedAt` string, required — Timestamp when the tag was last updated
  - `workflowGroupId` string, nullable — ID of the workflow group this workflow belongs to
  - `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.

## Other responses

- `400` — Bad request
- `401` — Unauthorized
- `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)
