FTP / SFTP Tool
File transfer via FTP and SFTP with full connection management.
Tool ID
ftp
Credential Required
Yes — FTP or SFTP server connection.
Credential Properties
| Property | Type | Default | Description |
|---|---|---|---|
server |
string | — | Required. FTP/SFTP server hostname or IP |
port |
integer | 22 (SFTP) / 21 (FTP) |
Server port |
login |
string | — | Required. Username |
password |
string | — | Password |
useSftp |
boolean | true |
Use SFTP (SSH) instead of plain FTP |
usePassive |
boolean | true |
Use passive FTP mode (ignored for SFTP) |
publicKeyAuth |
boolean | false |
Use public key authentication (SFTP only) |
privateKeyPath |
string | — | Path to private key file |
Operations
1. upload — Upload local file to remote
| Property | Type | Default | Description |
|---|---|---|---|
source |
string | — | Required. Local file path |
target |
string | — | Required. Remote file path |
binary |
boolean | true |
Binary transfer mode (false = ASCII) |
mustExist |
boolean | false |
Fail if source doesn't exist |
notEmpty |
boolean | false |
Fail if source is empty |
Published: operation, source, target
2. download — Download remote file to local
| Property | Type | Default | Description |
|---|---|---|---|
source |
string | — | Required. Remote file path |
target |
string | — | Required. Local file path |
binary |
boolean | true |
Binary transfer mode |
Published: operation, source, target, fileSize
3. list — List remote directory
| Property | Type | Default | Description |
|---|---|---|---|
source |
string | — | Required. Remote directory path |
Published: operation, path, fileCount, files (comma-separated)
4. delete — Delete remote file
| Property | Type | Default | Description |
|---|---|---|---|
source |
string | — | Required. Remote file path |
Published: operation, path
5. rename — Rename remote file
| Property | Type | Default | Description |
|---|---|---|---|
source |
string | — | Required. Current remote path |
renameTo |
string | — | Required. New name |
Published: operation, from, to
6. mkdir — Create remote directory
| Property | Type | Default | Description |
|---|---|---|---|
source |
string | — | Directory path to create |
Published: operation, path
Killable
Yes — disconnects from server.
Technology
- FTP: Apache Commons Net
- SFTP: Apache MINA SSHD (modern ciphers: curve25519, chacha20-poly1305, aes256-gcm, Ed25519)
Chaining Patterns
- SQL export → FTP upload — export data to CSV, then upload to remote server
- FTP download → SQL import — download file, then load into database
- FTP download → Excel — download spreadsheet, then convert/read
- FTP list → conditional — check if a file exists before processing
Error Handling
- Source validation:
mustExistandnotEmptychecked before transfer - Connection timeout: 30 seconds
- FTP reply codes checked for each operation
- Parent directories created automatically for downloads
Publishes
The keys a later task may reference as {{taskName.key}}. Referencing anything not listed here resolves to nothing at run time.
byteselapsedfileCountfileSizefilesfromlocalPathoperationpathrateremotePathto
File transfer fields
The ratchet caught these three shipping undocumented: a field the README never mentions is a field the assistant guesses at.
| field | what it is |
|---|---|
remotePath |
Path ON THE SERVER — the source for a download, the destination for an upload. Absolute (/out/daily.csv) or relative to the login directory. |
localPath |
Path on the INTOUCH HOST — the destination for a download, the source for an upload. A directory is allowed for a download; the remote filename is kept. |
recursive |
true walks subdirectories. Only meaningful when both paths are directories; on a single file it is ignored. Off by default, because a recursive transfer against the wrong directory is slow to notice and slower to undo. |