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
| Parameter | Type | Required | Description |
|---|---|---|---|
host | TEXT | Yes | SFTP server hostname or IP address |
port | INT | No | SSH port number (default: 22) |
username | TEXT | Yes | SSH username for authentication |
password | TEXT | Yes | SSH 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:
| Parameter | Type | Required | Description |
|---|---|---|---|
operation | TEXT | Yes | Set to upload |
path | TEXT | Yes | Remote file path |
data | TEXT | Yes | Text 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:
| Parameter | Type | Required | Description |
|---|---|---|---|
operation | TEXT | Yes | Set to download |
path | TEXT | Yes | Remote 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"
}