Creating a workflow using a YaWL specification
Note
Currently, there are two UIs that support Workflows: Yandex Cloud
- Workflows created in the Yandex Cloud UI are automatically available in the AI Studio UI.
- Workflows created in the AI Studio UI are not available in the Yandex Cloud UI.
Starting September 3, 2026, Workflows will no longer be supported in the Yandex Cloud UI. To create and manage workflows, use the AI Studio UI.
Preparing a YaWL specification
Save the workflow YaWL specification to a YAML file, e.g., yawl-spec.yaml.
Specification example:
yawl: "0.1"
start: collect_info
steps:
collect_info:
parallel:
branches:
collect_users:
start: fetch_users
steps:
fetch_users:
httpCall:
url: https://jsonplaceholder.typicode.com/users
output: '\({users: .})'
collect_posts:
start: fetch_posts
steps:
fetch_posts:
httpCall:
url: https://jsonplaceholder.typicode.com/posts
output: '\({posts: .})'
Creating a workflow
- In the management console
, select the folder where you want to create a workflow. - Navigate to Serverless Integrations.
- In the left-hand panel, click
Workflows. - In the top-right corner, click Create workflow.
- Select the
YaML specificationmethod. - In the code editor, describe the workflow YaWL specification.
-
Expand Additional parameters:
-
Enter a name and description for the workflow. The naming requirements are as follows:
- Length: between 3 and 63 characters.
- It can only contain lowercase Latin letters, numbers, and hyphens.
- It must start with a letter and cannot end with a hyphen.
-
Optionally, add labels.
-
Optionally, specify a cloud network.
-
Select a service account or create a new one.
Make sure to assign the service account roles to access private resources used in the workflow steps.
-
Optionally, set up logging.
-
- Click Create.
If you do not have the Yandex Cloud CLI yet, install and initialize it.
The folder used by default is the one specified when creating the CLI profile. To change the default folder, use the yc config set folder-id <folder_ID> command. You can also specify a different folder for any command using --folder-name or --folder-id. If you access a resource by its name, the search will be limited to the default folder. If you access a resource by its ID, the search will be global, i.e., through all folders based on access permissions.
-
See the description of the CLI command for creating a workflow:
yc serverless workflow create --help -
Create a workflow:
yc serverless workflow create \ --yaml-spec <specification_file> \ --name <workflow_name> \ --description "<workflow_description>" \ --labels <label_list> \ --network-id <network_ID> \ --service-account-id <service_account_ID>Where:
-
--yaml-spec: Path to the YaWL specification file for the workflow, e.g.,./yawl-spec.yaml. -
--name: Workflow name. -
--description: Workflow description. This is an optional setting. -
--labels: List of labels. This is an optional setting.You can specify one or more labels separated by commas in
<key1>=<value1>,<key2>=<value2>format. -
--network-id: ID of a cloud network where the workflow will run. This is an optional setting. -
--service-account-id: Service account ID.
Result:
id: dfqjl5hh5p90******** folder_id: b1g681qpemb4******** specification: spec_yaml: "yawl: ..." created_at: "2025-03-11T09:27:51.691990Z" name: my-workflow description: created via cli labels: owner: "admin" version: "alpha" status: ACTIVE log_options: {} service_account_id: aje4tpd9coa******** network_id: enpm8v48ehcl******** -
To create a workflow, use the Create REST API method for the Workflows resource or the WorkflowService/Create gRPC API call.