FTP/FTPS
File transfer over FTP and secure FTPS protocols with SSL/TLS encryption.
FTP/FTPS Node
Execute basic file upload and download operations using FTP protocol in Axellero workflows. Currently supports text file transfers with optional TLS encryption.
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 FTP features are not yet supported.
Connection Configuration
| Parameter | Type | Required | Description |
|---|---|---|---|
host | TEXT | Yes | FTP server hostname or IP address |
port | INT | No | FTP port number (default: 21) |
username | TEXT | Yes | FTP username for authentication |
password | TEXT | Yes | FTP password for authentication |
useTLS | BOOLEAN | No | Enable TLS encryption (default: false) |
Basic FTP Connection
{
"host": "ftp.example.com",
"port": 21,
"username": "{{ctx.consts.FTP_USERNAME}}",
"password": "{{ctx.consts.FTP_PASSWORD}}",
"useTLS": false
}FTP with TLS
{
"host": "secure-ftp.example.com",
"port": 21,
"username": "{{ctx.consts.FTP_USERNAME}}",
"password": "{{ctx.consts.FTP_PASSWORD}}",
"useTLS": true
}Operations
Upload Text Content
| 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.content}}"
}Download Text Content
| 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"
}