API reference

SSH and remote execution activities

Run commands and manage files and directories on remote machines over SSH and SFTP.

Flow Current 5 min read Updated

Run commands and manage files and directories on remote machines over SSH and SFTP. This page covers 3 activity types.

ssh_command#

SSH Command. Execute a command on a remote machine over SSH. No agent or special software required on the target — standard SSH access only.

Input Type Required Description
host string Yes Hostname or IP address of the remote machine
username string Yes SSH username
command string Yes Command to execute on the remote machine
port number No SSH port (default: 22)
password string No SSH password (use password or privateKey, not both) Secret: stored encrypted.
privateKeyPath string No Path to a private key file (PEM format) for key-based authentication
privateKeyPassphrase string No Passphrase for the private key file, if it's encrypted Secret: stored encrypted.
timeoutSeconds number No Connection and command timeout in seconds (default: 30)
failOnNonZeroExit boolean No Throw an error if the command exits with a non-zero code (default: true)
Output Type Description
output.exitCode number Command exit code
output.stdout string Standard output from the remote command
output.stderr string Standard error from the remote command

Config block example:

json
{
  "host": "10.0.1.50",
  "username": "deploy",
  "command": "sudo systemctl restart my-service",
  "timeoutSeconds": 30
}

ssh_dir#

SSH Directory. Remote directory operations over SSH/SFTP: list, create, delete, copy, and check existence

Operations: list, create, delete, copy, exists. Set with the operation input.

Input Type Required Description
host string Yes Hostname or IP address of the remote machine
username string Yes SSH username
operation string Yes Operation: list, create, delete, copy, exists Allowed values: list, create, delete, copy, exists. Default: list.
remotePath string Yes Remote directory path to operate on
port number No SSH port (default: 22)
password string No SSH password (use password or privateKey, not both) Secret: stored encrypted.
privateKeyPath string No Path to a private key file (PEM format) for key-based authentication
privateKeyPassphrase string No Passphrase for the private key file, if it's encrypted Secret: stored encrypted.
pattern string No Glob filter pattern for list operation (e.g. *.log)
recursive boolean No Recurse into subdirectories (delete operation, default: false)
timeoutSeconds number No Connection timeout in seconds (default: 30)
destinationPath string Yes Remote destination path to copy the directory to (copy operation) Used when operation is copy.
overwrite boolean No Overwrite existing files at the destination (copy operation, default: false) Used when operation is copy.
ignoreIfNotFound boolean No Do not throw if the remote directory does not exist (delete operation, default: false) Used when operation is delete.
Output Type Description
output.files array Array of file/directory entries (list operation)
output.fileCount number Number of items returned (list operation)
output.success boolean Whether the operation succeeded
output.exists boolean Whether the remote directory exists (exists operation)

Config block example:

json
{
  "host": "10.0.1.50",
  "username": "deploy",
  "operation": "list",
  "remotePath": "/var/log/myapp",
  "pattern": "*.log"
}

ssh_file#

SSH File. Remote file operations over SSH/SFTP: upload, download, read, write, delete, copy, and check existence

Operations: upload, download, read, write, delete, exists, copy. Set with the operation input.

Input Type Required Description
host string Yes Hostname or IP address of the remote machine
username string Yes SSH username
operation string Yes Operation: upload, download, read, write, delete, exists, copy Allowed values: upload, download, read, write, delete, exists, copy. Default: read.
remotePath string Yes Remote file path to operate on
port number No SSH port (default: 22)
password string No SSH password (use password or privateKey, not both) Secret: stored encrypted.
privateKeyPath string No Path to a private key file (PEM format) for key-based authentication
privateKeyPassphrase string No Passphrase for the private key file, if it's encrypted Secret: stored encrypted.
storageId string No Use a governed Storage instead of a literal local path below (upload/download operations only) — the physical location is configured by an administrator and never exposed to the workflow. Used when operation is upload, download.
areaId string No Storage Area within the Storage above — the RBAC boundary this operation is authorized against. Used when operation is upload, download.
relativePath string No Local-side path relative to the Storage Area's root (upload/download operations only) Used when operation is upload, download.
localPath string Yes Local file path (upload/download operations, ignored when a Storage is picked above) Used when operation is upload, download.
content string No File content to write (write operation)
timeoutSeconds number No Connection timeout in seconds (default: 30)
destinationPath string Yes Remote destination path to copy the file to (copy operation) Used when operation is copy.
overwrite boolean No Overwrite the destination if it already exists (default: false — errors instead of replacing it) Used when operation is write, upload, download, copy.
ignoreIfNotFound boolean No Do not throw if the remote file does not exist (delete operation, default: false) Used when operation is delete.
Output Type Description
output.success boolean Whether the operation succeeded
output.content string File content (read operation)
output.exists boolean Whether the remote file exists (exists operation)
output.remotePath string Resolved remote path

Config block example:

json
{
  "host": "10.0.1.50",
  "username": "deploy",
  "operation": "upload",
  "remotePath": "/var/data/report.pdf"
}