SFTP Step

Upload files to an SFTP server as part of your workflow. Use this step to deliver files to partner SFTP endpoints or internal batch-processing systems.

The SFTP step uploads files to a remote SFTP server using a named connection. Use it to deliver workflow outputs—such as generated reports or submitted documents—to external partners or backend file-processing systems that rely on SFTP transfers.

Configuration

nametyperequireddescription
connectionstringyesThe name of the SFTP connection to use, as configured in Integrations.
actionstringyesThe operation to perform. Must be UPLOAD_FILE.
pathstringyesThe target directory path on the SFTP server (e.g. /uploads/2025/).
filesarrayyesOne or more files to upload. At least one file is required. See Files below.

Files

Each entry in the files array defines a file to upload and where it comes from.

nametyperequireddescription
sourcestring or objectyesThe file to upload. See File sources below.
namestringyesThe file name to use on the SFTP server.

File sources

The source field accepts several formats depending on where the file comes from:

  • Object reference with ID: { "id": "string", "downloadUrl": "string" } — references a file by its ID. Both id and downloadUrl are required.
  • Object reference with URL only: { "downloadUrl": "string" } — references a file by download URL, without an ID.
  • Generated file descriptor: { "name": "string", "metadata": { "contentType": "string", "size": number, "createdAt": "string", "updatedAt": "string" } } — describes a workflow-generated file. Only name is required; all metadata fields are optional.
  • String URL or handle: A plain string used as a direct file reference.

Example

The example below uploads two files to an SFTP server: one referenced by ID and one from a direct URL.

{
  "connection": "sftp-prod",
  "action": "UPLOAD_FILE",
  "path": "/uploads/2025/",
  "files": [
    {
      "source": {
        "id": "file-222",
        "downloadUrl": "https://files.example.com/download/file-222"
      },
      "name": "archive.zip"
    },
    {
      "source": "https://example.com/assets/logo.svg",
      "name": "logo.svg"
    }
  ]
}