logo_smallAxellero.io

SFTP

Secure file transfer over SSH with authentication and directory operations.

SFTP Node

Execute basic file upload and download operations over SSH protocol in Axellero workflows. Currently supports text file transfers with password authentication.

Available Operations

  • Upload: Transfer text content to remote file
  • Download: Retrieve text content from remote file

Current Limitations

This implementation supports text file transfers only. Binary files, directory operations, and advanced authentication methods are not yet supported.

Connection Configuration

ParameterTypeRequiredDescription
hostTEXTYesSFTP server hostname or IP address
portINTNoSSH port number (default: 22)
usernameTEXTYesSSH username for authentication
passwordTEXTYesSSH password for authentication
{
  "host": "sftp.example.com",
  "port": 22,
  "username": "{{ctx.consts.SFTP_USERNAME}}",
  "password": "{{ctx.consts.SFTP_PASSWORD}}"
}

Authentication

Currently supports password authentication only. The username and password are specified directly in the connection configuration.

Operations

Upload Text Content

Transfer text content to a remote file:

ParameterTypeRequiredDescription
operationTEXTYesSet to upload
pathTEXTYesRemote file path
dataTEXTYesText content to upload
{
  "operation": "upload",
  "path": "/uploads/{{ctx.vars.filename}}.txt",
  "data": "{{ctx.nodes.textProcessor.outputs.processedContent}}"
}

Download Text Content

Retrieve text content from a remote file:

ParameterTypeRequiredDescription
operationTEXTYesSet to download
pathTEXTYesRemote file path
{
  "operation": "download",
  "path": "/data/reports/{{ctx.vars.reportName}}.txt"
}

Workflow Integration

Use workflow context to construct file paths and content dynamically:

{
  "operation": "upload",
  "path": "/logs/{{ctx.workspace_slug}}/{{ctx.vars.logDate}}.txt",
  "data": "{{ctx.nodes.logProcessor.outputs.logContent}}"
}

Response Format

Upload Success Response

{
  "success": true,
  "operation": "upload",
  "path": "/uploads/document.txt"
}

Download Success Response

{
  "success": true,
  "operation": "download",
  "path": "/data/report.txt",
  "content": "File content as string..."
}

Error Response

{
  "success": false,
  "error": "Connection failed or file not found"
}