Amazon S3 Step

Uploads files to an Amazon S3 bucket using a named connection. Saves both user-uploaded files and workflow-generated documents (reports, exports, attachments) to your S3 storage.

Top-level properties

nametyperequiredconstraints
connectionstringyesName of the connection instance to use
actionstringyesenum: UPLOAD_FILEOperation to perform
bucketstringyesTarget S3 bucket name
folderstringnoOptional folder/prefix within the bucket
filesarray[File]yesminItems: 1Files to upload

File

nametyperequiredconstraints
sourcestringyesSee Source variants belowFile source handle or descriptor
namestringyesOutput object key/file name in the bucket

Source variants (anyOf)

  • Object reference with id:
    • { id: string, downloadUrl: string } (requires id)
  • Object reference with URL:
    • { id?: string, downloadUrl: string } (requires downloadUrl)
  • New file descriptor:
    • { name: string, metadata?: { contentType?: string, size?: number, createdAt?: string, updatedAt?: string } }
  • String handle:
    • string (e.g., a URL or handle), still requires sibling name

Example (JSON)

{
  "connection": "s3-prod",
  "action": "UPLOAD_FILE",
  "bucket": "my-org-uploads",
  "folder": "invoices/2025/",
  "files": [
    {
      "source": {
        "id": "file-123",
        "downloadUrl": "https://files.example.com/download/file-123"
      },
      "name": "invoice-123.pdf"
    },
    {
      "source": {
        "name": "generated-report.csv",
        "metadata": {
          "contentType": "text/csv",
          "size": 2048,
          "createdAt": "2025-09-16T10:30:00Z",
          "updatedAt": "2025-09-16T10:30:00Z"
        }
      },
      "name": "report-2025-09-16.csv"
    },
    {
      "source": "https://example.com/files/terms.pdf",
      "name": "terms.pdf"
    }
  ]
}