Skip to main content

FTP / SFTP Trigger

Starts workflow execution when new files are added to a folder on an SFTP, FTP, or FTPS server.

Overview

The FTP / SFTP Trigger polls a remote folder and runs your workflow for each new file it finds (subfolders are excluded). Use it to automatically process files that vendors or systems drop onto an SFTP/FTP server.

Unlike cloud sources such as Google Drive, FTP and SFTP have no stable file ID and their modification time is set by whoever uploaded the file (and is reported inconsistently across servers). The trigger therefore does not rely on a timestamp cursor. Instead it keeps a permanent record of the files it has already seen and fires only on files it hasn't.

How "new" is decided

A file's identity is its path + size:

  • A file at a path you've never seen before fires the workflow.
  • The same file re-uploaded at the same size does not fire again.
  • The same path re-uploaded at a different size is treated as new and fires again.

Same-length, in-place edits (content changed but byte count unchanged) are not detected — size is the only change signal, because the modification time is unreliable on FTP/SFTP.

Parameters

ParameterDescriptionRequired
CredentialSFTP/FTP credential used to authenticateYes
Folder PathRemote folder to monitor, e.g. /uploadsYes
Poll IntervalHow often to check for new files (minutes)Yes
LimitMaximum files to process per poll (1-100)Yes

Folder Path

The absolute path of the remote folder to monitor. Browse the server with the folder picker, or type a path directly. Unlike the FTP / SFTP action node, the trigger's folder path does not accept expressions — a trigger has no upstream item to evaluate them against.

Poll Interval

The minimum poll interval is 1 minute; the default is 5. The trigger checks the folder at this frequency.

Limit

How many new files are dispatched per poll. Default is 5, maximum is 100. Any remaining new files are picked up on the following polls.

Settings

SettingDescription
Retry failed itemsRe-process files whose workflow run failed
No retry after nodeStop retrying a file once it has passed this node
Seed With Existing FilesMark every file currently in the folder as already-seen (see below)
Remove Seed DataDelete the seeded baseline so those files are treated as new again
Reset TriggerClear processing history (the seeded baseline is kept)

Seeding the baseline

When you first activate a trigger on a folder that already contains files, those files are "new" and would all be processed. To process only files added from now on, press Seed With Existing Files: it records everything currently in the folder as already-seen, so only later arrivals fire.

Reset vs. Remove Seed Data

  • Reset Trigger clears the record of files the trigger has processed, so they will be processed again — but the seeded baseline is kept, so pre-existing files are not re-processed.
  • Remove Seed Data deletes only the seeded baseline; those files then count as new on the next poll.

Output

For each new file, the trigger outputs an item with file data:

{
"file": {
"type": "fileData",
"name": "report.csv",
"mimeType": "text/csv",
"size": "20480",
"modifiedTime": "2026-05-01T12:00:00.000Z",
"fileInfo": {
"type": "ftp",
"credentialId": "...",
"path": "/uploads/report.csv"
}
}
}

Access file properties in expressions:

  • File object: {{$item.file}}
  • File name: {{$item.file.name}}
  • MIME type: {{$item.file.mimeType}}
  • Remote path: {{$item.file.fileInfo.path}}

Reference from a downstream node:

  • File object: {{$("FTP / SFTP Trigger").item.file}}
  • File name: {{$("FTP / SFTP Trigger").item.file.name}}

Examples

Process Files Dropped by a Vendor

[FTP / SFTP Trigger] → [Data Extractor] → [Insert Rows]
  • Folder Path: /incoming
  • Poll Interval: 5 minutes
  • Seed the existing files first so only new drops are processed.

Only Process CSVs

[FTP / SFTP Trigger] → [Filter (file.mimeType = "text/csv")] → [Import Table]

Authentication

This node requires an SFTP/FTP credential. Create one in your workspace settings with:

FieldDescription
ProtocolSFTP (SSH), FTP, or FTPS (FTP over TLS)
HostServer hostname or IP
PortServer port (defaults to the protocol's standard port)
UserUsername
PasswordPassword — required unless a private key is provided
Private KeySSH private key for key-based SFTP authentication
PassphrasePassphrase protecting the private key, if any
Host KeyPinned server host key — required for SFTP (no trust-on-first-use)

For FTPS, certificate validation can be disabled for servers using self-signed or private-CA certificates.

Tips

  • Watches files only — subfolders are excluded and the folder is not scanned recursively.
  • Seed the folder before going live to avoid processing a backlog of existing files.
  • Files are identified by path + size; a re-sent file of a different size will fire again, and same-size in-place edits are not detected.
  • SFTP connections require a pinned host key; use the folder picker to probe and capture it when setting up the credential.
  • For one-off, on-demand listing inside a workflow run (rather than triggering on new files), use the FTP / SFTP action node instead.