Upload to FTP
Audience:
Low-code EngineersSkill Prerequisites:
FTP,Tokens
Uploads one or more files from the site to a folder on an FTP or FTPS server. Each file keeps its name on the server.
Typical Use Cases
- Send exports or reports to a partner's FTP server, for example on a schedule
- Deliver files to a legacy system that picks up work from an FTP folder
- Publish generated files to another web server
Don't use it to
- Upload to an SFTP (SSH) server. Only FTP and FTPS (FTP over TLS/SSL) are supported.
- Download files from an FTP server.
- Upload to Amazon S3. Use a folder with an S3 storage connection instead. See Amazon S3 Storage Integration.
Related Actions
| Action Name | Description |
|---|---|
| Pack folder | Bundles many files into one archive before uploading it. |
| Save File | Creates a file from text, a URL or Base64 content that can then be uploaded. |
| Delete File | Removes local files after they have been uploaded. |
Input Parameter Reference
| Parameter | Description | Supports Tokens | Default | Required |
|---|---|---|---|---|
| FTP URL | The FTP server address. Supported formats: ftp://{domain}:{port}, {domain}:{port}, ftp://{domain} and {domain}. Include a port to use one other than the default. The URL can also include a folder path, for example ftp://ftp.example.com/incoming, which is then used as the destination. | Yes | empty string | Yes |
| Username | The username used to sign in to the FTP server. | Yes | empty string | Yes |
| Password | The password used to sign in to the FTP server. | Yes | empty string | Yes |
| Use Passive | When checked, connects in passive mode (EPSV or PASV). When unchecked, connects in active mode. Passive mode is recommended, because active mode is often blocked by firewalls. | No | Unchecked | No |
| Use SSL | When checked, the connection is encrypted with TLS/SSL (FTPS). | No | Unchecked | No |
| Encryption Mode | Shown when Use SSL is checked. Enter Auto, Explicit or Implicit. See Encryption settings. | No | empty | No |
| Disable TLS 1.0 | Shown when Use SSL is checked. When checked, TLS 1.0 connections aren't allowed. Applies only when Encryption Mode is empty. | No | Unchecked | No |
| Destination Path | The folder on the FTP server to upload into, for example /incoming/orders. Each file is uploaded to {DestinationPath}/{FileNameWithExtension}. Leave empty to upload to the root folder, or to the folder in FTP URL. | Yes | empty string | No |
| File list | The files to upload, one on each line or separated by |. Each entry can be a path relative to the portal root (Exports/orders.csv), a path that includes the portal folder (/Portals/0/Exports/orders.csv), or a URL of a file on the site. | Yes | empty string | Yes |
Encryption settings
| Use SSL | Encryption Mode | Behavior |
|---|---|---|
| Unchecked | (hidden) | Plain FTP. Nothing is encrypted, including the password. |
| Checked | empty | The connection settings are detected automatically, and Disable TLS 1.0 is applied. This is the simplest option for most servers. |
| Checked | Explicit | Connects on the normal FTP port (usually 21) and requires TLS. Fails if the server doesn't support TLS. Recommended. |
| Checked | Auto | Tries explicit TLS and falls back to plain FTP if the server doesn't support it. |
| Checked | Implicit | Connects with TLS from the start, usually on port 990. Deprecated by the FTP standard, but some servers still require it. Servers that need it usually block port 21. |
Values are not case-sensitive. Any other value is treated as Auto.
Considerations
- Missing files are skipped. If a file in
File listcan't be found, it's skipped and an entry is written to the site's event log. The action doesn't fail, so check the event log if files don't arrive. Files that exist on disk but aren't registered in the site's file system are still uploaded, as long as the folder they're in is registered. - Files must be on the current portal. An entry that points outside the current portal, or into a folder that isn't registered in the site's file system, makes the action fail.
- The destination folder must exist. Folders aren't created on the FTP server.
- Existing files are overwritten. A file with the same name in the destination folder is replaced.
- Don't set the path twice. If
FTP URLcontains a folder path andDestination Pathis also filled in, the action fails with FTP URL should not contain path information when DestinationPath parameter is used. - Keep credentials out of the action. Store the username and password somewhere secure, such as a settings table, and pass them in with tokens instead of typing them into the action.
Examples
tip
To understand how to use the below examples, please see Running Examples.
1. Upload two export files over explicit FTPS
This action connects to ftp.example.com using explicit TLS and passive mode, and uploads two files from the Exports folder to /incoming/orders on the server. The credentials come from the FtpUser and FtpPassword tokens.
{
"Title": "Upload to FTP",
"ActionType": "UploadToFTP",
"Description": "Send the daily exports to the partner",
"Condition": null,
"Parameters": {
"Url": "ftp://ftp.example.com",
"Username": "[FtpUser]",
"Password": "[FtpPassword]",
"UsePassive": true,
"UseSSL": true,
"EncryptionMode": "Explicit",
"DisableTls10": false,
"DestinationPath": "/incoming/orders",
"FileNames": "Exports/orders.csv\nExports/order-lines.csv"
}
}
Revised 09/25/2026