FlowRunner
PricingContact
Theme
Start Free

SFTP

Storage

Move files on any SFTP server from agent workflows. Agents browse and stat directories, download files or read them inline as text, upload from FlowRunner storage, URLs, or raw text, and rename, delete, chmod, and manage remote folders.

13 actions Basic auth available
Platform Documentation ↗ Capability data verified 2026-07-22
A scheduled poll runs against the partner's drop directory each morning
List Directory with a glob pattern like "*.csv" finds the new files since the last run
Check Path Exists confirms the expected daily file actually arrived, branching to an alert when it did not
Download File pulls each new file into FlowRunner storage for parsing and downstream steps
Rename / Move File shifts processed files into the archive folder so the next poll never reprocesses them
When a file fails validation, wrong columns, truncated rows, the data owner decides whether to process, quarantine, or request a resend
The run summary posts to the operations channel: files received, rows processed, exceptions held

What This Integration Enables

SFTP is the file exchange that outlives every integration fashion: partners, banks, logistics providers, and legacy systems all speak it, and they will for another decade. The problem was never the protocol; it is that SFTP workflows run on human ritual, someone checking a directory, moving files, remembering what got processed. This connector hands the ritual to FlowRunner agents: list and stat directories, download or read files inline, upload from storage, URLs, or generated text, and manage the folder lifecycle, against any SFTP server. - Pull partner data drops, CSV, JSON, XML, and hand them to parsing and database steps - Push generated reports, invoices, and exports to a customer's or vendor's inbox on schedule - Bridge legacy SFTP exchanges into cloud storage, email, and spreadsheets - Poll, process, then rename or move files into processed folders to prevent reprocessing - Handle housekeeping: dated directories, permission changes, cleanup of old files The cleanup half is where the sharp edge lives: recursive deletion is irreversible, so FlowRunner's [human-in-the-loop](/concepts/human-in-the-loop) orchestration stands in front of it.

Without FlowRunner

The daily drop is somebody's morning ritual A person logs into the SFTP client, checks for the file, downloads it, and pastes it onward
Missing files discovered downstream Nobody notices the partner skipped a day until a report shows a hole
The exchange directory is an archaeology site Years of processed and half-processed files with no naming convention anyone remembers

With FlowRunner

The drop polls itself Agents list, verify, download, and archive on schedule, and silence means confirmed silence
Absence is an alert The expected file failing to arrive is itself an event, routed the morning it happens
The directory has a lifecycle Incoming, processed, and archived files move through dated folders by rule

Use Case Scenarios

The partner drop that processes itself

Each morning, List Directory scans the partner's drop folder for the daily CSV. Download File pulls it, the rows load into [Google Sheets](/integrations/google-sheets) and the downstream database, and Rename / Move File shifts the file into a dated archive folder. If Check Path Exists reports the file never arrived, the agent alerts the partner contact instead of letting the gap surface in next week's report. Either way, a person finds out what happened, not a mystery.

Outbound feeds that never miss the window

When the day's export completes, the agent formats it and calls Upload Text Content to write the CSV directly into the vendor's inbox path, Create Directory building the dated folder structure first. A confirmation goes out through [Gmail](/integrations/gmail-service) with the filename and row count. The vendor's 6 AM import window stops depending on whether someone remembered the upload before leaving the office.

Invoices from the drop folder to the ledger

A poll finds new invoice PDFs in the supplier's directory. Download File stages each one, [PDF.co](/integrations/pdfco) extracts the fields with AI parsing, and the structured data flows into the accounting workflow with a summary to [Slack](/integrations/slack). Rename / Move File archives the processed PDFs into a by-month folder tree. The paper trail keeps itself, and the same invoice never gets keyed twice.

Human-in-Loop Highlight

Remove Directory with Recursive on deletes the directory and all of its contents, and the catalog says it plainly: destructive and irreversible. On a shared exchange server this is the single most dangerous call available, because the target is often a path assembled from variables, and a path bug does not delete the folder you meant, it deletes the one the variables happened to name, possibly the partner's entire live drop. So FlowRunner agents follow a hard rule: non-recursive operations, single-file deletes with Delete File, empty-directory removals, run inside normal flow logic, but any Remove Directory call with Recursive on pauses first. The agent presents the resolved absolute path and the full listing from List Directory, exactly what will cease to exist, and the data owner confirms. Retention cleanup still runs on schedule; it just cannot take anything with it that a person did not see named.

Agent processes routinely
Detects exception requiring judgment
Clear match Continues automatically
Ambiguous Routes to human via preferred channel
Human decides
Agent resumes with decision

Agent Capabilities

13 actions

Inspection

3
  • List Directory Lists a directory's contents with type, name, size, timestamps, POSIX permissions, and ownership per entry, optionally filtered by a glob pattern like "*.csv". Non-recursive by design; the sweep behind every poll.
  • Get File Info Retrieves a POSIX stat for one path: mode, ownership, size, timestamps, and directory, file, or symlink flags. Errors on missing paths; use Check Path Exists when absence is possible.
  • Check Path Exists Reports whether a path exists and what it is, file, directory, or symlink, without ever erroring on absence. The safe branch point before reads, writes, and alerts.

Reading and Downloading

2
  • Download File Downloads a file into FlowRunner file storage and returns a fileUrl for downstream steps: attach, forward, parse. The staging read for files of meaningful size.
  • Read File as Text Reads a file's contents directly into the flow as a string, decoded as UTF-8, Base64, or Latin-1, with no stored file created. For small text, CSV, and JSON payloads.

Uploading

3
  • Upload File Writes a FlowRunner file's bytes to a remote path including the destination filename, overwriting existing files, with optional parent-directory creation. The standard outbound push.
  • Upload File from URL Downloads from a public URL and uploads to the server in one step, without staging in FlowRunner storage. The passthrough push.
  • Upload Text Content Writes text, or Base64-decoded binary, directly to a remote file: generated CSVs, JSON, and log lines without any staging. The generated-feed push.

File Management

3
  • Rename / Move File Renames in place or moves across directories by changing the path; the destination parent must exist, and many servers refuse to overwrite. The archival step that prevents reprocessing.
  • Delete File Deletes a single file, with Ignore Missing for idempotent cleanup. Does not touch directories.
  • Change Permissions Runs a chmod with an octal mode string like "644" or "600". The hardening step for delivered files.

Directory Management

2
  • Create Directory Creates a directory, building missing parents by default so a full dated path materializes in one call.
  • Remove Directory Removes a directory: empty-only by default, everything within it when Recursive is on. The operation this page's human gate exists for.

Frequently Asked Questions

What can FlowRunner do with SFTP?

FlowRunner agents can run List Directory, Get File Info, and Check Path Exists in SFTP, plus 10 more actions.

Does connecting SFTP to FlowRunner require OAuth?

No. SFTP connects to FlowRunner with basic authentication (a username and password), no OAuth flow required.

Can SFTP trigger a FlowRunner workflow automatically?

SFTP doesn't currently expose triggers in FlowRunner. It connects as an action step inside workflows started by another trigger.

Start building with SFTP

$100 in credits. No card required. Connect in minutes.