
Core Plugins and tasks humantask
CertifiedPause the current execution and wait for approval by a human assigned to the task, either by username or by a specific RBAC group.
Core Plugins and tasks humantask
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.
type: io.kestra.plugin.ee.flow.humantaskExamples
Pause the execution and wait for a manual approval by a user or a group assigned to the task.
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 Non-dynamic
Assignment
List of users and/or groups that are allowed to resume this task. At least one user or group must be set.
io.kestra.plugin.ee.flow.HumanTask-Assignment
Groups
List of groups that are allowed to resume this task.
Users
List of users that are allowed to resume this task.
behavior string
FAILRESUMEWARNCANCELFAILerrors Non-dynamicarray
List of tasks to run if any tasks failed on this FlowableTask.
finally Non-dynamicarray
onPause Non-dynamic
A runnable task that will be executed when it's paused
onResume Non-dynamic
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.
pauseDuration string
durationDuration 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.
pluginDefaultsRef Non-dynamicstring
Reference (ref) of the pluginDefaults to apply to this task.
Outputs
onResume object
resumed
Resumed information: when and by who the execution was resumed
io.kestra.plugin.core.flow.Pause-Resumed
date-timeCREATEDSUBMITTEDRUNNINGPAUSEDRESTARTEDKILLINGSUCCESSWARNINGFAILEDKILLEDCANCELLEDQUEUEDRETRYINGRETRIEDSKIPPEDBREAKPOINTRESUBMITTED