Connectors
Protocols & Custom Connectors
FTP
Classic file transfer protocol: upload, download, list, and manage remote files
FTP specificationAPI checked August 16, 2026
- Signs in with
- Connection details
- Runs on
- Cloud or On-Prem Worker
- Operations
- 21
- Ready-made triggers
- 0
Connect FTP
- In Neblex open Connect › Connections and click New Connection.
- Search for FTP and give the connection a clear name.
- Fill in the fields. Secret values are encrypted and never shown again.
- Click Test, then Create Connection.
If the system is only reachable inside your network, choose an On-Prem Worker under Test from and run the flow on that Worker. See On-Prem Workers.
| Field | What to enter |
|---|---|
| Connection setupRequired | |
| HostRequired | |
| PortOptional | Example: 21 |
| UsernameOptional | |
| PasswordOptionalSecret | |
| Use TLSOptional | Turning this off sends traffic and credentials without transport encryption. Use plaintext only for a customer-controlled endpoint that explicitly requires it. |
| TLS modeRequired | Explicit TLS upgrades a normal FTP connection, usually on port 21. Implicit TLS is encrypted from the start, usually on port 990; leave Port empty to use 990. |
| Connection stringRequiredSecret | Paste an ftp:// connection string, ftps:// for certificate-verified explicit AUTH TLS, or ftps+implicit:// for certificate-verified implicit TLS (port 990 unless set). Both TLS modes protect the data channel. |
Use it in a flow
- Open a flow, open the node library and search for FTP.
- Drag it onto the canvas and choose an Operation and your connection.
- Map the operation's fields from earlier steps, or click Map with Matt.
- Use Test this step to see what it returns, then save.
To start a flow from FTP without a ready-made trigger: a Poll for changes trigger can check one of its list operations on a schedule and pass on only what is new; if FTP can send webhooks, a Webhook trigger receives them at its own URL.
Operations
21 operations in 4 groups. Each one is a step you can add to a flow.
Connection4
Get current directorycurrentDirectory | Return the authenticated session's current directory. | |
Get server systemsystem | Return the server system type advertised by SYST. | |
List server featuresfeatures | Return the extensions advertised by FEAT. | |
Test the connectionping | Authenticate and perform an FTP NOOP round trip. |
Directory4
Create a directorymakeDir | Create a remote directory with MKD. | |
List directory detailslistDetails | Stream the RFC 3659 MLSD data response line by line into bounded engine pages while preserving direct-caller aggregate compatibility. | |
List nameslist | Stream the NLST data response line by line into bounded engine pages while preserving direct-caller aggregate compatibility. | |
Remove a directoryremoveDir | Remove an empty remote directory with RMD. |
File6
Check whether a path existsexists | Check a path with MLST without turning a missing path into a failed step. | |
Get file sizesize | Return the binary file size reported by SIZE. | |
Get modification timemodifiedTime | Return the UTC modification timestamp reported by MDTM. | |
Get path metadatastat | Return RFC 3659 MLST facts for a path. | |
Remove a fileremove | Remove a remote file with DELE. | |
Rename a pathrename | Rename a remote file or directory with RNFR and RNTO. |
Transfer7
Append textappendText | Append UTF-8 text with APPE. | |
Append to a fileappend | Append base64-decoded bytes with APPE. | |
Download a filedownload | Download a bounded file and return its bytes as base64. | |
Resume a downloaddownloadFromOffset | Resume a bounded download from a byte offset with REST STREAM. | |
Resume an uploaduploadFromOffset | Store bytes beginning at a server-approved byte offset with REST STREAM. | |
Upload a fileupload | Store base64-decoded bytes, replacing an existing file. | |
Upload textuploadText | Store UTF-8 text, replacing an existing file. |