Yandex Cloud
Search
Contact UsGet started
  • Pricing
  • Customer Stories
  • Documentation
  • Blog
  • All Services
  • System Status
    • Featured
    • Infrastructure & Network
    • Data Platform
    • Containers
    • Developer tools
    • Serverless
    • Security
    • Monitoring & Resources
    • AI Studio
    • Business tools
  • All Solutions
    • By industry
    • By use case
    • Economics and Pricing
    • Security
    • Technical Support
    • Start testing with double trial credits
    • Cloud credits to scale your IT product
    • Gateway to Russia
    • Cloud for Startups
    • Center for Technologies and Society
    • Yandex Cloud Partner program
  • Pricing
  • Customer Stories
  • Documentation
  • Blog
© 2025 Direct Cursus Technology L.L.C.
Yandex Serverless Integrations
  • Comparison with other Yandex Cloud services
    • All guides
          • Constructor
          • YaWL specification
        • Updating a workflow
        • Specifying a cloud network
        • Viewing monitoring charts
        • Deleting a workflow
    • Viewing operations with service resources
  • Pricing policy
  • Terraform reference
  • Monitoring metrics
  • Public materials
  • Release notes

In this article:

  • Preparing a YaWL specification
  • Creating a workflow
  1. Step-by-step guides
  2. Workflows
  3. Managing a workflow
  4. Creating a workflow
  5. YaWL specification

Creating a workflow using a YaWL specification

Written by
Yandex Cloud
Improved by
Danila N.
Updated at September 10, 2025
  • Preparing a YaWL specification
  • Creating a workflow

Preparing a YaWL specificationPreparing 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 workflowCreating a workflow

Management console
CLI
API
  1. In the management console, select the folder where you want to create a workflow.
  2. Select Serverless Integrations.
  3. In the left-hand panel, click Workflows.
  4. In the top-right corner, click Create workflow.
  5. Choose the YaML specification method.
  6. In the code editor, describe the workflow YaWL specification.
  7. Expand Additional parameters:

    1. Enter a name and description for the workflow. The naming requirements are as follows:

      • It must be from 2 to 63 characters long.
      • It can only contain lowercase Latin letters, numbers, and hyphens.
      • It must start with a letter and cannot end with a hyphen.
    2. Optionally, add labels.

    3. Optionally, specify a cloud network.

    4. 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.

    5. Optionally, set up logging.

  8. Click Create.

If you do not have the Yandex Cloud CLI installed yet, install and initialize it.

By default, the CLI uses the folder specified when creating the profile. To change the default folder, use the yc config set folder-id <folder_ID> command. You can also set a different folder for any specific command using the --folder-name or --folder-id parameter.

  1. See the description of the CLI command for creating a workflow:

    yc serverless workflow create --help
    
  2. 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 parameter.

    • --labels: List of labels. This is an optional parameter.

      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 parameter.

    • --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.

Was the article helpful?

Previous
Constructor
Next
Updating a workflow
© 2025 Direct Cursus Technology L.L.C.