Skip to content

Create a workflow

POST
/workflows

Create a new workflow. Pins org_id and runtime_type='workflow' server-side - the body cannot override either.

The workflow’s OWNER is the authenticated caller, never a body field: a body created_by is dropped (see voice_owner_headers). Record steps and record triggers run with the owner’s record access, so the key must hold the object scopes they exercise (403 missing_scopes). A node or trigger config that carries the same key in snake_case and camelCase with values that disagree is refused (422 conflicting_node_keys): keep one spelling.

use_when (optional, at most 300 characters) is one sentence saying WHEN this workflow is the right play, for example “The contact asked about pricing”. It is distinct from description, which says what the workflow does. It is trimmed, a blank value is stored as null, and a longer one is refused with 422.

Translates the public config field to voice’s internal skill_config before forwarding (see module docstring).

Authorizations

Parameters

Header Parameters

X-Target-Org-Id
Any of:
string

Request Body required

Workflow create payload (voice ActionCreateRequest).

object
key
additional properties
any

Responses

201

Successful Response

object
key
additional properties
any

422

Validation Error

object
detail
Array<object>
object
loc
required
Array
msg
required
string
type
required
string