Skip to main content
POST
/
workflows
/
create
Create a new workflow
curl --request POST \
  --url https://api.kaizenautomation.com/workflows/create \
  --header 'Content-Type: application/json' \
  --data '
{
  "name": "My New Workflow",
  "blocks": [
    {
      "name": "navigate",
      "type": "Navigate",
      "blockReferenceId": "block_ref_example_123",
      "data": {
        "actionType": "GoTo",
        "url": "https://example.com"
      },
      "isCacheable": false,
      "skipIfNotPresent": false,
      "useWorkflowRecoveryAgent": false
    }
  ],
  "isAuthenticationRequired": false,
  "useProxy": false,
  "operatingSystem": "Windows",
  "fingerprintBrowser": "Safari",
  "isOptimizedForComputerVision": true,
  "timeoutMs": 10800000
}
'
{
  "id": "<string>",
  "name": "<string>",
  "isAuthenticationRequired": true,
  "autoSaveEnabled": true,
  "timeoutMs": 3600000,
  "shouldPauseOnError": false,
  "shouldSelfHeal": true,
  "shouldSaveResultFile": false,
  "maxConcurrentSessions": 10,
  "webhooks": [
    {
      "id": "<string>",
      "url": "<string>"
    }
  ],
  "blocks": [
    {
      "id": "<string>",
      "name": "<string>",
      "blockReferenceId": "<string>",
      "type": "<string>",
      "isCacheable": true,
      "skipIfNotPresent": true,
      "useWorkflowRecoveryAgent": true,
      "data": {
        "loginId": "<string>",
        "isParameter": true,
        "forceLoginEveryTime": true
      },
      "parentRelationship": {
        "blockDepth": 123,
        "positionInSequence": 123,
        "parentBlockId": "<string>"
      },
      "locator": {
        "role": "<string>",
        "text": "<string>",
        "label": "<string>",
        "placeholder": "<string>",
        "altText": "<string>",
        "title": "<string>",
        "css": "<string>",
        "xpath": "<string>"
      }
    }
  ],
  "useProxy": false,
  "operatingSystem": "Windows",
  "knowledgeBase": "Company information and guidelines...",
  "useLoginDetection": true,
  "blockRetryCount": 3,
  "blockBackoffStrategy": "exponential",
  "isOptimizedForComputerVision": true,
  "waitBetweenBlocksMs": 1000,
  "tags": [
    {
      "id": "<string>",
      "text": "<string>",
      "tagHexColor": "<string>",
      "organizationId": "<string>",
      "createdAt": "<string>",
      "updatedAt": "<string>"
    }
  ],
  "workflowGroupId": "<string>",
  "useRecoveryAgent": false,
  "executionMode": "standard",
  "executeInAgentMode": false,
  "agentModeSummarySchema": {}
}

Body

application/json
name
string
required

Name of the workflow to create

Minimum string length: 1
Example:

"My New Workflow"

blocks
Login · object · Form Block · object · Mouse Block · object · Hover Block · object · Search · object · Input · object · Date Input · object · Extract · object · Generate · object · Extract Images · object · API · object · Loop · object · Navigate Block Initializer · object · GoBack Block Initializer · object · Close Page Block Initializer · object · Close Popup Block Initializer · object · Multistep Block Initializer · object · If · object · Exit From Loop · object · Next · object · FailOnCondition · object · object · FillDocument · object · Dropdown · object · Wait Block Initializer · object · WaitForCondition Block Initializer · object · Wait For Captcha Solve Block Initializer · object · object · object · object · Download File Block · object · Save As PDF Block · object · CodeV2 · object · QueryKnowledgeBase · object · FindDocument · object · Transform · object · ParseDocument · object · Parse to CSV · object · RefreshPage Block Initializer · object · Fill Spreadsheet · object · SendEmail · object · RemovePagesFromPdf · object · Search and Navigate · object · UnzipFile · object[]

Array of workflow block initializers to initialize the workflow with

Example:
[
  {
    "name": "navigate",
    "type": "Navigate",
    "blockReferenceId": "block_ref_example_123",
    "data": {
      "actionType": "GoTo",
      "url": "https://example.com"
    },
    "isCacheable": false,
    "skipIfNotPresent": false,
    "useWorkflowRecoveryAgent": false
  }
]
isAuthenticationRequired
boolean

Whether authentication is required for this workflow (defaults to false)

Example:

false

useProxy
boolean

Whether to use proxy for this workflow (defaults to false)

Example:

false

operatingSystem
enum<string> | null

Operating system for browser sessions

Available options:
Windows,
MacOS,
Linux
Example:

"Windows"

fingerprintBrowser
enum<string>

Browser fingerprint to use for sessions

Available options:
Chrome,
Safari
Example:

"Safari"

isOptimizedForComputerVision
boolean

Whether this workflow is optimized for computer vision blocks (uses specialized viewport and settings, defaults to true)

Example:

true

timeoutMs
integer

Timeout in milliseconds for workflow execution (defaults to 10800000ms / 3 hours)

Required range: x >= 0
Example:

10800000

Response

Workflow created successfully

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 | null

Timeout in milliseconds for workflow execution

Example:

3600000

shouldPauseOnError
boolean

Whether to pause workflow execution on error

Example:

false

shouldSelfHeal
boolean

Whether to automatically clean up cache when workflow execution fails

Example:

true

shouldSaveResultFile
boolean

Whether to save result files for this workflow

Example:

false

maxConcurrentSessions
integer | null

Maximum concurrent executions for this workflow

Example:

10

webhooks
object[]

List of webhooks for this workflow

blocks
Login · object · Form Block · object · FillDocument · object · Fill Spreadsheet · object · Mouse Block · object · Hover Block · object · Search · object · Input · object · Date Input · object · Dropdown · object · Extract · object · ParseDocument · object · Generate · object · Extract Images · object · QueryKnowledgeBase · object · FindDocument · object · API · object · Navigate · object · Close Page · object · Close Popup · object · Multistep · object · object · Wait · object · WaitForCondition · object · Wait For Captcha Solve · object · FailOnCondition · object · object · object · object · object · object · Download File Block · object · Save As PDF Block · object · CodeV2 · object · Transform · object · Parse to CSV · object · RemovePagesFromPdf · object · Exit From Loop · object · Next · object · SendEmail · object · Search and Navigate · object · UnzipFile · object · Loop · object · If · object[]

Sequence of workflow block summaries

model

The LLM model used for this workflow

Available options:
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
useProxy
boolean

Whether to use proxy for this workflow

Example:

false

operatingSystem
enum<string> | null

Operating system for browser sessions (defaults to no preference)

Available options:
Windows,
MacOS,
Linux
Example:

"Windows"

knowledgeBase
string

Knowledge base text for this workflow

Example:

"Company information and guidelines..."

useLoginDetection
boolean

Whether to use login detection for this workflow

Example:

true

blockRetryCount
integer | null

Number of retries for failed blocks

Required range: x >= 0
Example:

3

blockBackoffStrategy
enum<string> | null

Backoff strategy for block retries

Available options:
exponential,
linear
Example:

"exponential"

isOptimizedForComputerVision
boolean

Whether this workflow is optimized for computer vision blocks (uses specialized viewport and settings)

Example:

true

waitBetweenBlocksMs
integer

Wait time in milliseconds between executing each block

Required range: x >= 0
Example:

1000

tags
object[]

List of tags associated with this workflow

workflowGroupId
string | null

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.

Example:

false

executionMode
enum<string>

Execution mode for this workflow. "standard" is the default, "structured" is experimental visual mode.

Available options:
standard,
structured
Example:

"standard"

executeInAgentMode
boolean

Whether this workflow should execute in agent mode instead of traditional block-based execution.

Example:

false

agentModeSummarySchema
object

JSON Schema that defines the structure of the execution summary when running in agent mode.