Source can be inline, Git or a workspace. Code runs through the container runtime on the selected target. The image, dependencies and repository access must be available on that target.
Technical type : script_r. Runtime : docker.
Credentials and prerequisites
This node defines no dedicated external credential. Remote sources or execution targets may still need their own access credentials.
See the credentials guide if a remote source or execution target requires access.
Parameters
Names below are technical keys. Defaults are not a ready-to-run configuration: complete fields required by your operation. Paths containing [] describe list items; some fields depend on the selected mode.
Parameter
Type
Default
Values / limits
libraryIds
array
-
-; max 100
source
union
{"kind":"inline","script":"run <- function(input) {\n # Return a named list - usable downstream via nodes.<thisNodeId>.<key>\n trigger_input <- input$input\n upstream <- input$nodes\n # API_TOKEN comes from a selected Secret variables credential.\n api_token <- Sys.getenv(\"API_TOKEN\", unset = \"\")\n list(\n payload = trigger_input,\n upstream = upstream,\n hasApiToken = nzchar(api_token),\n message = \"Script output ready\"\n )\n}\n","dependencies":[]}
-
source.files
record
-
-
source.directories
array
-
-; max 100
source.kind
literal
"inline"
inline, git, workspace
source.script
string
"run <- function(input) {\n # Return a named list - usable downstream via nodes.<thisNodeId>.<key>\n trigger_input <- input$input\n upstream <- input$nodes\n # API_TOKEN comes from a selected Secret variables credential.\n api_token <- Sys.getenv(\"API_TOKEN\", unset = \"\")\n list(\n payload = trigger_input,\n upstream = upstream,\n hasApiToken = nzchar(api_token),\n message = \"Script output ready\"\n )\n}\n"
Image used to run the script (e.g. docker.io/library/node:22-bookworm). Use localhost/name:tag for a local Podman image.
secretCredentialIds Secrets
Secrets connections injected as environment variables of the script (process.env, os.environ...). The file carrying them is deleted as soon as the container starts.
Initial configuration
Initial catalog configuration example, to adapt before running. Keep secrets in credentials.
json
{"source":{"kind":"inline","script":"run <- function(input) {\n # Return a named list - usable downstream via nodes.<thisNodeId>.<key>\n trigger_input <- input$input\n upstream <- input$nodes\n # API_TOKEN comes from a selected Secret variables credential.\n api_token <- Sys.getenv(\"API_TOKEN\", unset = \"\")\n list(\n payload = trigger_input,\n upstream = upstream,\n hasApiToken = nzchar(api_token),\n message = \"Script output ready\"\n )\n}\n","dependencies":[]},"executionTarget":{"kind":"host"}}
Verification
Test with representative data. Check node output in the inspector and logs, then use editor mapping for downstream fields. A trigger test with a simulated payload does not validate external service delivery.
Run custom R code
Usage and specifics
Source can be inline, Git or a workspace. Code runs through the container runtime on the selected target. The image, dependencies and repository access must be available on that target.
Technical type :
script_r. Runtime :docker.Credentials and prerequisites
This node defines no dedicated external credential. Remote sources or execution targets may still need their own access credentials.
See the credentials guide if a remote source or execution target requires access.
Parameters
Names below are technical keys. Defaults are not a ready-to-run configuration: complete fields required by your operation. Paths containing [] describe list items; some fields depend on the selected mode.
libraryIdsarraysourceunion{"kind":"inline","script":"run <- function(input) {\n # Return a named list - usable downstream via nodes.<thisNodeId>.<key>\n trigger_input <- input$input\n upstream <- input$nodes\n # API_TOKEN comes from a selected Secret variables credential.\n api_token <- Sys.getenv(\"API_TOKEN\", unset = \"\")\n list(\n payload = trigger_input,\n upstream = upstream,\n hasApiToken = nzchar(api_token),\n message = \"Script output ready\"\n )\n}\n","dependencies":[]}source.filesrecordsource.directoriesarraysource.kindliteral"inline"inline,git,workspacesource.scriptstring"run <- function(input) {\n # Return a named list - usable downstream via nodes.<thisNodeId>.<key>\n trigger_input <- input$input\n upstream <- input$nodes\n # API_TOKEN comes from a selected Secret variables credential.\n api_token <- Sys.getenv(\"API_TOKEN\", unset = \"\")\n list(\n payload = trigger_input,\n upstream = upstream,\n hasApiToken = nzchar(api_token),\n message = \"Script output ready\"\n )\n}\n"source.dependenciesarray[]source.repostringsource.branchstring"main"source.scriptPathstringsource.credentialIdstringsource.installRootstringsource.installCommandstringsource.workingDirstringimagestringworkspaceSourceunionworkspaceSource.kindliteralupstream,nodeworkspaceSource.keystringexecutionTargetunion{"kind":"host"}executionTarget.kindliteral"host"aws_ecs,aws_lambda,gcp_job,gcp_function,azure_container,azure_function,scaleway_job,scaleway_function,scaleway_container,digitalocean_function,host,remote_server,kube,swarmexecutionTarget.credentialIdstringexecutionTarget.storageCredentialIdstringexecutionTarget.bucketstringexecutionTarget.regionstringfr-par,nl-ams,pl-waw; max 64executionTarget.clusterstringexecutionTarget.taskDefinitionstringexecutionTarget.containerNamestringexecutionTarget.subnetsarrayexecutionTarget.securityGroupsarray[]executionTarget.assignPublicIpbooleanfalseexecutionTarget.functionNamestringexecutionTarget.projectstringexecutionTarget.jobNamestringexecutionTarget.endpointstringexecutionTarget.subscriptionIdstringexecutionTarget.resourceGroupstringexecutionTarget.functionAppstringexecutionTarget.jobIdstringexecutionTarget.functionIdstringexecutionTarget.containerIdstringexecutionTarget.namespaceIdstringexecutionTarget.serverIdstringexecutionTarget.providerenumaws,gcp,scaleway,ovh,azure,digitalocean,hetznerexecutionTarget.clusterIdstringexecutionTarget.namespacestringsecretCredentialIdsarray[]Configuration help
imageContainer image
secretCredentialIdsSecrets
Initial configuration
Initial catalog configuration example, to adapt before running. Keep secrets in credentials.
{ "source": { "kind": "inline", "script": "run <- function(input) {\n # Return a named list - usable downstream via nodes.<thisNodeId>.<key>\n trigger_input <- input$input\n upstream <- input$nodes\n # API_TOKEN comes from a selected Secret variables credential.\n api_token <- Sys.getenv(\"API_TOKEN\", unset = \"\")\n list(\n payload = trigger_input,\n upstream = upstream,\n hasApiToken = nzchar(api_token),\n message = \"Script output ready\"\n )\n}\n", "dependencies": [] }, "executionTarget": { "kind": "host" } }Verification
Test with representative data. Check node output in the inspector and logs, then use editor mapping for downstream fields. A trigger test with a simulated payload does not validate external service delivery.
See also : Expressions and data, Executions, Node catalog.