Skip to content
Start here

Create/modify Workflow

client.workflows.update(stringworkflowName, WorkflowUpdateParams { account_id, class_name, script_name, 4 more } params, RequestOptionsoptions?): WorkflowUpdateResponse { id, class_name, created_on, 7 more }
PUT/accounts/{account_id}/workflows/{workflow_name}

Creates a new workflow or updates an existing workflow definition.

Security
API Token

The preferred authorization scheme for interacting with the Cloudflare API. Create a token.

Example:Authorization: Bearer Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY
API Email + API Key

The previous authorization scheme for interacting with the Cloudflare API, used in conjunction with a Global API key.

Example:X-Auth-Email: user@example.com

The previous authorization scheme for interacting with the Cloudflare API. When possible, use API tokens instead of Global API keys.

Example:X-Auth-Key: 144c9defac04969c7bfad8efaa8ea194
Accepted Permissions (at least one required)
Workers Scripts Write
ParametersExpand Collapse
workflowName: string
maxLength64
minLength1
params: WorkflowUpdateParams { account_id, class_name, script_name, 4 more }
account_id: string

Path param

class_name: string

Body param

maxLength255
minLength1
script_name: string

Body param

maxLength255
minLength1
concurrency?: Concurrency

Body param

limit?: number

Maximum number of instances of this workflow that can run concurrently. Additional instances are queued and started as running instances complete. Must not exceed the account concurrency limit.

maximum9007199254740991
minimum1
default_retention?: DefaultRetention

Body param: Default retention applied to instances of this version when they do not set their own retention.

error_retention?: number | string

Specifies the duration in milliseconds or as a string like ‘5 minutes’.

One of the following:
number
string
success_retention?: number | string

Specifies the duration in milliseconds or as a string like ‘5 minutes’.

One of the following:
number
string
limits?: Limits

Body param

steps?: number
maximum9007199254740991
minimum1
schedules?: Array<Schedule>

Body param

cron: string
maxLength256
minLength1
ReturnsExpand Collapse
WorkflowUpdateResponse { id, class_name, created_on, 7 more }
id: string
formatuuid
class_name: string
created_on: string
formatdate-time
is_deleted: number
modified_on: string
formatdate-time
name: string
maxLength64
minLength1
script_name: string
terminator_running: number
triggered_on: string | null
formatdate-time
version_id: string
formatuuid

Create/modify Workflow

import Cloudflare from 'cloudflare';

const client = new Cloudflare({
  apiToken: process.env['CLOUDFLARE_API_TOKEN'], // This is the default and can be omitted
});

const workflow = await client.workflows.update('x', {
  account_id: 'account_id',
  class_name: 'x',
  script_name: 'x',
});

console.log(workflow.id);
{
  "errors": [],
  "messages": [
    {
      "code": 0,
      "message": "message"
    }
  ],
  "result": {
    "id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
    "class_name": "class_name",
    "created_on": "2019-12-27T18:11:19.117Z",
    "is_deleted": 0,
    "modified_on": "2019-12-27T18:11:19.117Z",
    "name": "x",
    "script_name": "script_name",
    "terminator_running": 0,
    "triggered_on": "2019-12-27T18:11:19.117Z",
    "version_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"
  },
  "success": true,
  "result_info": {
    "count": 0,
    "per_page": 0,
    "total_count": 0,
    "cursor": "cursor",
    "page": 0,
    "total_pages": 0
  }
}
Returns Examples
{
  "errors": [],
  "messages": [
    {
      "code": 0,
      "message": "message"
    }
  ],
  "result": {
    "id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
    "class_name": "class_name",
    "created_on": "2019-12-27T18:11:19.117Z",
    "is_deleted": 0,
    "modified_on": "2019-12-27T18:11:19.117Z",
    "name": "x",
    "script_name": "script_name",
    "terminator_running": 0,
    "triggered_on": "2019-12-27T18:11:19.117Z",
    "version_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"
  },
  "success": true,
  "result_info": {
    "count": 0,
    "per_page": 0,
    "total_count": 0,
    "cursor": "cursor",
    "page": 0,
    "total_pages": 0
  }
}