File Transfer Triggers
File transfer triggers send your files to remote servers using standard transfer protocols. After your automation extracts data and saves it to a file, these triggers upload that file to a server where your team, clients, or downstream systems can access it.
RTILA X supports three file transfer protocols:
| Trigger | Protocol | Best For |
|---|---|---|
| SFTP | SSH File Transfer Protocol | Secure transfers to Linux/Unix servers |
| FTPS | FTP over SSL/TLS | Secure transfers to FTP servers |
| WebDAV | Web Distributed Authoring and Versioning | Transfers to web servers, cloud drives |

SFTP (SSH File Transfer Protocol) transfers files over an encrypted SSH connection. It is the most secure and widely used method for transferring files to servers.
Description
Section titled “Description”The SFTP trigger connects to a remote server via SSH and uploads a file. The connection is encrypted end-to-end, making it safe for transferring sensitive data. SFTP is the preferred method for transferring files to Linux servers, VPS instances, and any server with SSH access.
Parameters
Section titled “Parameters”| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
hostname |
string | ✅ Yes | — | The hostname or IP address of the SFTP server. Example: sftp.example.com or 192.168.1.100 |
port |
integer | No | 22 |
The SSH port. Default is 22. Some servers use custom ports. |
username |
string | ✅ Yes | — | Your SSH username. |
password |
string | No | — | Your SSH password. Use this OR a private key, not both. |
private_key_path |
string | No | — | The path to your SSH private key file. Use this OR a password, not both. |
private_key_passphrase |
string | No | — | The passphrase for your private key, if it has one. |
local_path |
string | ✅ Yes | — | The path to the file you want to upload. Relative to RTILA’s output directory. |
remote_path |
string | ✅ Yes | — | The destination path on the remote server. Example: /home/user/data/products.csv |
Authentication Methods
Section titled “Authentication Methods”SFTP supports two authentication methods:
| Method | Parameters to Use | Security Level |
|---|---|---|
| Password | username + password |
Good |
| Private Key | username + private_key_path (+ optional private_key_passphrase) |
Best |
Tip: Private key authentication is more secure than password authentication. If your server supports it, use a private key.
Examples
Section titled “Examples”Upload with password:
{ "hostname": "sftp.example.com", "port": 22, "username": "deploy", "password": "your-ssh-password", "local_path": "output/products.csv", "remote_path": "/home/deploy/data/products_${date}.csv"}Upload with private key:
{ "hostname": "192.168.1.100", "port": 2222, "username": "deploy", "private_key_path": "/home/user/.ssh/id_rsa", "private_key_passphrase": "key-passphrase", "local_path": "output/data.json", "remote_path": "/var/data/incoming/data.json"}Behavior Notes
Section titled “Behavior Notes”- The connection is encrypted using SSH. Your data and credentials are safe during transfer.
- If the remote directory doesn’t exist, the upload will fail. Make sure the destination directory exists on the server.
- If the remote file already exists, it will be overwritten.
- The
local_pathis relative to RTILA X’s output directory. - The
remote_pathis the full path on the remote server (e.g.,/home/user/data/file.csv).
FTPS (FTP over SSL/TLS) transfers files over an encrypted FTP connection. It is commonly used with traditional FTP servers that have been upgraded to support encryption.
Description
Section titled “Description”The FTPS trigger connects to an FTP server using SSL/TLS encryption and uploads a file. FTPS is widely used in enterprise environments and with traditional hosting providers.
Parameters
Section titled “Parameters”| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
hostname |
string | ✅ Yes | — | The hostname or IP address of the FTPS server. Example: ftp.example.com |
port |
integer | No | 21 |
The FTP port. Default is 21. Some servers use port 990 for implicit FTPS. |
username |
string | ✅ Yes | — | Your FTP username. |
password |
string | ✅ Yes | — | Your FTP password. |
local_path |
string | ✅ Yes | — | The path to the file you want to upload. Relative to RTILA’s output directory. |
remote_path |
string | ✅ Yes | — | The destination path on the remote server. Example: /uploads/products.csv |
FTPS Ports
Section titled “FTPS Ports”| Port | Mode | Description |
|---|---|---|
21 |
Explicit FTPS | The standard FTP port with TLS upgrade. Most common. |
990 |
Implicit FTPS | TLS is required from the start. Less common. |
Tip: Most FTP servers use port 21 with explicit FTPS. If your connection fails on port 21, try port 990.
Examples
Section titled “Examples”Upload with explicit FTPS (port 21):
{ "hostname": "ftp.example.com", "port": 21, "username": "ftpuser", "password": "ftp-password", "local_path": "output/products.csv", "remote_path": "/uploads/products_${date}.csv"}Upload with implicit FTPS (port 990):
{ "hostname": "secure.example.com", "port": 990, "username": "ftpuser", "password": "ftp-password", "local_path": "output/data.json", "remote_path": "/incoming/data.json"}Behavior Notes
Section titled “Behavior Notes”- The connection is encrypted using SSL/TLS.
- If the remote directory doesn’t exist, the upload will fail.
- If the remote file already exists, it will be overwritten.
- FTPS is different from SFTP. SFTP uses SSH; FTPS uses FTP with TLS. They are not interchangeable.
- If your server uses plain FTP (no encryption), RTILA X does not support it. Use SFTP instead.
WebDAV
Section titled “WebDAV”WebDAV (Web Distributed Authoring and Versioning) transfers files over HTTP/HTTPS. It is commonly used with cloud storage services, web servers, and content management systems.
Description
Section titled “Description”The WebDAV trigger uploads a file to a WebDAV server using HTTP/HTTPS. WebDAV is supported by many cloud storage providers (Nextcloud, ownCloud, Box, etc.) and web servers (Apache, Nginx with WebDAV module).
Parameters
Section titled “Parameters”| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
webdav_url |
string | ✅ Yes | — | The full WebDAV URL. Example: https://cloud.example.com/remote.php/dav/files/user/ |
username |
string | No | — | Your WebDAV username. Leave empty if no authentication is required. |
password |
string | No | — | Your WebDAV password. Leave empty if no authentication is required. |
local_path |
string | ✅ Yes | — | The path to the file you want to upload. Relative to RTILA’s output directory. |
remote_path |
string | ✅ Yes | — | The destination path on the WebDAV server. Example: /reports/products.csv |
Common WebDAV URLs
Section titled “Common WebDAV URLs”| Service | WebDAV URL Format |
|---|---|
| Nextcloud | https://your-domain.com/remote.php/dav/files/username/ |
| ownCloud | https://your-domain.com/remote.php/dav/files/username/ |
| Box | https://dav.box.com/dav/ |
| Yandex Disk | https://webdav.yandex.com/ |
| Apache WebDAV | https://your-server.com/webdav/ |
| Nginx WebDAV | https://your-server.com/dav/ |
Examples
Section titled “Examples”Upload to Nextcloud:
{ "webdav_url": "https://cloud.company.com/remote.php/dav/files/john/", "username": "john", "password": "nextcloud-password", "local_path": "output/products.csv", "remote_path": "/reports/products_${date}.csv"}Upload to a generic WebDAV server:
{ "webdav_url": "https://files.company.com/webdav/", "username": "deploy", "password": "webdav-password", "local_path": "output/data.json", "remote_path": "/incoming/data.json"}Behavior Notes
Section titled “Behavior Notes”- WebDAV uses HTTP/HTTPS, so it works through most firewalls and proxies.
- If the remote directory doesn’t exist, some WebDAV servers will create it automatically. Others will fail.
- If the remote file already exists, it will be overwritten.
- Authentication is optional. Some WebDAV servers allow anonymous access.
- WebDAV is slower than SFTP for large files but is more universally accessible.
Choosing the Right Protocol
Section titled “Choosing the Right Protocol”| Scenario | Recommended Protocol | Why |
|---|---|---|
| Transferring to a Linux/VPS server | SFTP | Most secure, universally available on Linux |
| Transferring to a traditional hosting provider | FTPS | Most hosting providers support FTPS |
| Transferring to a cloud drive (Nextcloud, Box) | WebDAV | Native WebDAV support |
| Maximum security | SFTP with private key | SSH encryption with key-based auth |
| Behind a restrictive firewall | WebDAV | Uses HTTP/HTTPS, works through most firewalls |
| Large files (1 GB+) | SFTP | Faster than WebDAV for large transfers |
| No SSH access available | FTPS or WebDAV | Alternatives when SSH is not available |
Combining File Triggers with File Transfer
Section titled “Combining File Triggers with File Transfer”A common workflow combines file format triggers with file transfer triggers:
Example: Export → Compress → Upload
- Export to File — Export data to CSV:
output/products.csv - Compress File — Compress to ZIP:
output/products.zip - SFTP — Upload to server:
remote_path: /data/products.zip
Example: Export → Convert → Upload
- Export to File — Export data to JSON:
output/data.json - Convert Format — Convert to Parquet:
output/data.parquet - SFTP — Upload to server:
remote_path: /data/data.parquet
Security Best Practices
Section titled “Security Best Practices”| Practice | Why It Matters |
|---|---|
| Use SFTP over FTPS when possible | SSH encryption is generally considered more secure |
| Use private key authentication | More secure than passwords; keys can’t be brute-forced |
| Never store passwords in plain text | Use RTILA’s secure variable storage for sensitive credentials |
| Use TLS/SSL for all transfers | Never transfer files over unencrypted connections |
| Restrict server permissions | Give the transfer user only the permissions it needs |
| Use dedicated transfer accounts | Don’t use your main server account for file transfers |
| Monitor transfer logs | Check server logs regularly for unauthorized access attempts |