logo_smallAxellero.io

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

ParameterTypeRequiredDescription
hostTEXTYesFTP server hostname or IP address
portINTNoFTP port number (default: 21)
usernameTEXTYesFTP username for authentication
passwordTEXTYesFTP password for authentication
useTLSBOOLEANNoEnable 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

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

Download Text Content

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"
}