Amazon S3 Step

Upload files to an Amazon S3 bucket as part of your workflow. Use this step to store user-uploaded files and workflow-generated documents—such as reports, exports, and attachments—in your S3 storage.

The Amazon S3 step uploads files to a bucket in your Amazon Web Services account using a named connection. You can store any combination of user-uploaded files and workflow-generated documents, and organize them into folders within the bucket.

Configuration

nametyperequireddescription
connectionstringyesThe name of the S3 connection to use, as configured in Integrations.
actionstringyesThe operation to perform. Must be UPLOAD_FILE.
bucketstringyesThe name of the target S3 bucket.
folderstringnoAn optional folder prefix within the bucket (e.g. invoices/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 object key (file name) to use in the S3 bucket.

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 (e.g. "https://example.com/files/terms.pdf") used as a direct file reference.

Example

The example below uploads three files to an S3 bucket: one referenced by ID, one generated by the workflow, and one from a direct URL.

{
  "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"
    }
  ]
}