Core Plugins and tasks humantask

Core Plugins and tasks humantask

Certified

Pause the current execution and wait for approval by a human assigned to the task, either by username or by a specific RBAC group.

All tasks downstream from the Pause task will be put on hold until the execution is manually resumed from the UI.

The Execution will be in a Paused state, and you can either manually resume/kill it by clicking on the "Resume" or "Kill" button in the UI or by calling the POST API endpoint /api/v1/{tenant}/executions/{executionId}/resume or the DELETE API endpoint /api/v1/{tenant}/executions/{executionId}/kill.

yaml
type: io.kestra.plugin.ee.flow.humantask

Pause the execution and wait for a manual approval by a user or a group assigned to the task.

yaml
id: human_in_the_loop
namespace: company.team

tasks:
  - id: before_approval
    type: io.kestra.plugin.core.debug.Return
    format: Output data that needs to be validated by a human

  - id: approval_request
    type: io.kestra.plugin.ee.flow.HumanTask
    assignment:
      users:
        - user1@kestra.io
        - user2@kestra.io
      groups:
        - Admins

  - id: post_approval_log
    type: io.kestra.plugin.core.log.Log
    message: Manual approval received! Continuing the execution...
Properties

Assignment

List of users and/or groups that are allowed to resume this task. At least one user or group must be set.

Definitions
groupsarray
SubTypestring

Groups

List of groups that are allowed to resume this task.

usersarray
SubTypestring

Users

List of users that are allowed to resume this task.

DefaultFAIL
Possible Values
RESUMEWARNCANCELFAIL

List of tasks to run if any tasks failed on this FlowableTask.

A runnable task that will be executed when it's paused

Inputs to be passed to the execution when it's resumed

Before resuming the execution, the user will be prompted to fill in these inputs. The inputs can be used to pass additional data to the execution, which is useful for human-in-the-loop scenarios. The onResume inputs work the same way as regular flow inputs — they can be of any type and can have default values. You can access those values in downstream tasks using the onResume output of the Pause task.

Formatduration

Duration of the pause - if not set, the task will wait forever to be manually resumed except if a timeout is set, in this case, the timeout will be honored.

The duration is a string in ISO 8601 Duration format, e.g. PT1H for 1 hour, PT30M for 30 minutes, PT10S for 10 seconds, P1D for 1 day, etc. If no pauseDuration and no timeout are configured, the execution will never end until it's manually resumed from the UI or API.

Reference (ref) of the pluginDefaults to apply to this task.

Resumed information: when and by who the execution was resumed

Definitions
bystring
onstring
Formatdate-time
tostring
Possible Values
CREATEDSUBMITTEDRUNNINGPAUSEDRESTARTEDKILLINGSUCCESSWARNINGFAILEDKILLEDCANCELLEDQUEUEDRETRYINGRETRIEDSKIPPEDBREAKPOINTRESUBMITTED