Workflow execution
Written by
Updated at August 18, 2026
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.
An execution contains all information about a particular workflow run. Possible execution statuses: In queue, In progress, Paused, Canceled, Error, and Executed. Learn more about possible error codes.
You can start a workflow in one of the following ways:
- Via the management console, CLI, or API. Read more in Starting a workflow execution.
- On a timer. The schedule is set in cron expression format. Read more in Scheduling a workflow to start on a timer.
- Via a link over HTTPS. Read more in Executing a workflow via a link.
- Using an API gateway. Read more in Adding the x-yc-apigateway-integration:http extension for integration with Yandex Workflows.
- Using Yandex EventRouter. To do this, you need to specify the workflow as a target in a rule. For more on how to create a rule, see Creating a rule with a Yandex Workflows target. The rule defines the events that should trigger a workflow. The event body is provided to the execution as an input parameter.
If a workflow is:
- Private, to run it, the user needs workflow execution permissions, e.g., the serverless.workflows.executor role.
- Public, any user can run it. Read more in Making a workflow public.
Possible error codes
| Error | Description |
|---|---|
ALL |
Error you can specify in a retry policy for the policy to apply to any error type other than STEP_INTERNAL. |
STEP_DATA_LIMIT_EXCEEDED |
Input or output data limit exceeded. Read more in Quotas and limits in Serverless Integrations. |
STEP_NO_CHOICE_MATCHED |
There is no suitable execution path in choices. Read more in Switch. |
STEP_PERMISSION_DENIED |
No access to resource. |
STEP_TIMEOUT |
Step timeout exceeded. Read more in Quotas and limits in Serverless Integrations. |
STEP_INVALID_OUTPUT |
Invalid output data. |
STEP_INTERNAL |
Internal error. If a step terminates with this error, you cannot apply the retry policy, and the execution immediately gets the Error status. |
STEP_INVALID_TEMPLATE_EXPRESSION |
Invalid jq template. |
STEP_FAIL |
The execution ended with an error at the Fail step. Read more in Fail. |
STEP_FAILED_PRECONDITION |
The resource state is invalid to complete the step, e.g., an email address is unverified or blocked. |
STEP_INVALID_ARGUMENT |
Invalid step parameters. |
STEP_QUOTA_EXCEEDED |
The resource request limit is reached. |
HTTP_CALL_400HTTP_CALL_401HTTP_CALL_402HTTP_CALL_403HTTP_CALL_404HTTP_CALL_405HTTP_CALL_406HTTP_CALL_407HTTP_CALL_408HTTP_CALL_409HTTP_CALL_410HTTP_CALL_411HTTP_CALL_412HTTP_CALL_413HTTP_CALL_414HTTP_CALL_415HTTP_CALL_416HTTP_CALL_417HTTP_CALL_418HTTP_CALL_419HTTP_CALL_420HTTP_CALL_421HTTP_CALL_422HTTP_CALL_423HTTP_CALL_424HTTP_CALL_425HTTP_CALL_426HTTP_CALL_427HTTP_CALL_428HTTP_CALL_429HTTP_CALL_431HTTP_CALL_449HTTP_CALL_451HTTP_CALL_499HTTP_CALL_500HTTP_CALL_501HTTP_CALL_505HTTP_CALL_502HTTP_CALL_503HTTP_CALL_504HTTP_CALL_506HTTP_CALL_507HTTP_CALL_508HTTP_CALL_509HTTP_CALL_510HTTP_CALL_511HTTP_CALL_520HTTP_CALL_521HTTP_CALL_522HTTP_CALL_523HTTP_CALL_524HTTP_CALL_525HTTP_CALL_526 |
HTTP response state codes. For more information, see MDN Web Docs |
GRPC_CALL_CANCELLEDGRPC_CALL_DEADLINE_EXCEEDEDGRPC_CALL_UNIMPLEMENTEDGRPC_CALL_UNAVAILABLEGRPC_CALL_UNKNOWNGRPC_CALL_INTERNALGRPC_CALL_RESOURCE_EXHAUSTEDGRPC_CALL_UNAUTHENTICATED |
gRPC statuses. For more information, see this gRPC guide |
GRPC_CALL_INVALID_OPTIONS |
Invalid gRPC call parameters. |
GRPC_CALL_INVALID_REFLECTION_SERVER_RESPONSE |
Unexpected response from gRPC server. |
FUNCTION_CALL_INVALID_RESPONSE |
Invalid function code or format of returned JSON response. Read more in Possible Cloud Functions response codes. |
CONTAINER_CALL_400CONTAINER_CALL_401CONTAINER_CALL_402CONTAINER_CALL_403CONTAINER_CALL_404CONTAINER_CALL_405CONTAINER_CALL_406CONTAINER_CALL_407CONTAINER_CALL_408CONTAINER_CALL_409CONTAINER_CALL_410CONTAINER_CALL_411CONTAINER_CALL_412CONTAINER_CALL_413CONTAINER_CALL_414CONTAINER_CALL_415CONTAINER_CALL_416CONTAINER_CALL_417CONTAINER_CALL_418CONTAINER_CALL_419CONTAINER_CALL_420CONTAINER_CALL_421CONTAINER_CALL_422CONTAINER_CALL_423CONTAINER_CALL_424CONTAINER_CALL_425CONTAINER_CALL_426CONTAINER_CALL_427CONTAINER_CALL_428CONTAINER_CALL_429CONTAINER_CALL_431CONTAINER_CALL_449CONTAINER_CALL_451CONTAINER_CALL_499CONTAINER_CALL_500CONTAINER_CALL_501CONTAINER_CALL_505CONTAINER_CALL_502CONTAINER_CALL_503CONTAINER_CALL_504CONTAINER_CALL_506CONTAINER_CALL_507CONTAINER_CALL_508CONTAINER_CALL_509CONTAINER_CALL_510CONTAINER_CALL_511CONTAINER_CALL_520CONTAINER_CALL_521CONTAINER_CALL_522CONTAINER_CALL_523CONTAINER_CALL_524CONTAINER_CALL_525CONTAINER_CALL_526 |
HTTP response state codes. For more information, see MDN Web Docs |
YDB_CALL_SERVICE_UNAVAILABLE |
Temporary server-side failure. |