Create workflow template

Create a custom workflow template in the current workspace. Custom templates are only visible in the current workspace; built-in templates require administrator privileges.

HTTP
POST $CLOUDSIGMA_API_BASE/workflow-templates

Before you call this API

Configure the regional API endpoint and authentication, and select the target workspace.

Creating built-in templates also requires administrator rights.

Request

Shell
curl -X POST "$CLOUDSIGMA_API_BASE/workflow-templates" \
  -H "X-API-Key: $CLOUDSIGMA_API_KEY" \
  -H "X-Workspace-ID: $WORKSPACE_ID" \
  -H 'Content-Type: application/json' \
  -d '{
    "name": "<TEMPLATE_NAME>",
    "description": "<DESCRIPTION>",
    "dsl_yaml": "<WORKFLOW_DSL_YAML>",
    "runtime_fields": "{\"fields\":[]}",
    "is_builtin": false
  }'

Request body

ParameterTypeRequiredDescription
namestringRequiredTemplate name. Custom templates cannot have the same name in the current workspace and current language.
descriptionstringTemplate description.
dsl_yamlstringRequiredThe YAML text of the workflow DSL.
runtime_fieldsstringThe JSON text of the runtime field definition; must be a valid JSON string when provided.
is_builtinbooleanWhether to create a built-in template, the default is false. Setting to true requires administrator privileges and cannot use the system-managed built-in template ID.
template_keystringThe identifier of the built-in template. The server ignores this field when creating a custom template and returns an empty string; it cannot be repeated in the same language.

Successful response

Returns 200 on success. data is a newly created template. Save data.id, this value will be needed for subsequent query, update or deletion of templates.

The response fields are as follows.

JSON
{
  "code": "OK",
  "msg": "OK",
  "data": {
    "id": 12,
    "workspace_id": "ws-001",
    "created_by": "user-001",
    "updated_by": "user-001",
    "template_key": "",
    "name": "daily-import-template",
    "description": "每日导入工作流模板",
    "language": "zh-CN",
    "dsl_yaml": "workflow: {}",
    "runtime_fields": "{\"fields\":[]}",
    "is_builtin": false,
    "created_at": "2026-08-18T10:00:00Z",
    "updated_at": "2026-08-18T10:00:00Z"
  }
}
FieldTypeDescription
codestringOK when successful.
msgstringOK when successful.
data.idintegerTemplate ID.
data.workspace_idstringThe ID of the workspace to which it belongs; the built-in template is an empty string.
data.created_bystringCreator ID.
data.updated_bystringLast updater ID.
data.template_keystringBuilt-in template identifier; custom template is an empty string.
data.namestringTemplate name.
data.descriptionstringTemplate description.
data.languagestringTemplate language, such as zh-CN.
data.dsl_yamlstringSaved workflow DSL YAML.
data.runtime_fieldsstringJSON text of the saved runtime field; empty string if not configured.
data.is_builtinbooleanWhether it is a built-in template.
data.created_atstringCreation time; may be omitted if not provided by the server.
data.updated_atstringLast updated time; may be omitted if not provided by the server.

Error response

JSON
{
  "code": "ErrParamInvalid",
  "msg": "请求参数无效",
  "data": null
}
FieldTypeDescription
codestringError code.
msgstringReadable error message.
datanull`null` in an error response.

Follow-up operations

Use data.id query workflow template details.

Last updated on