Script Tasks (Code in Any Language)​Script ​Tasks (​Code in ​Any ​Language)

Kestra is language agnostic. Write your business logic in any language.

You can orchestrate custom business logic written in any language, and you can also build custom plugins in Java.


There are dedicated plugins for Python, R, Julia, Ruby, Node.js, Powershell and Shell. You can also run any language using the Shell plugin too.

By default, these tasks run in individual Docker containers (taskRunner type: io.kestra.plugin.scripts.runner.docker.Docker). You can overwrite that default behavior if you prefer that your scripts run in a local process (taskRunner type: io.kestra.plugin.core.runner.Process) instead.

If you use a commercial version of Kestra, you can also run your scripts on dedicated remote workers by specifying a workerGroup property or using other Task Runner types for AWS, GCP, Azure and Kubernetes.

The following pages dive into details of each task runner, supported programming languages and how to manage dependencies.

Was this page helpful?