Skip to content

Amazon S3

Amazon S3 cloud storage — upload, download, and manage objects in S3 buckets for B2B file exchange.

PropertyValue
Typehttp
Authenticationapi_key
CategoryGeneric
FieldTypeRequiredDescription
access_key_idstringYesAWS access key ID
secret_access_keystringYesAWS secret access key
regionstringYesAWS region (e.g., us-east-1)
bucketstringYesS3 bucket name

The Amazon S3 connector does not ship with pre-defined action slugs. Instead, fyrn’s AI generates the appropriate S3 API calls based on your flow description. Common operations include:

  • PutObject — Upload a file or data to an S3 bucket with a specified key.
  • GetObject — Download an object from S3 by key.
  • ListObjects — List objects in a bucket, optionally filtered by prefix.
  • DeleteObject — Delete an object from S3 by key.
  • CopyObject — Copy an object between keys or buckets.
  • HeadObject — Check if an object exists and retrieve its metadata.

When you describe a flow that involves S3, fyrn generates the correct API calls with proper AWS Signature V4 authentication handled automatically via the configured credentials.

flows/sftp-to-s3-with-notification.yaml
flow: sftp-to-s3-with-notification
version: 1
description: Download a file from partner SFTP, upload to S3 bucket, and notify via Slack
source:
connector: sftp-partner
trigger: schedule
cron: "0 */2 * * *"
steps:
- name: list-new-files
target: sftp-partner
action: list-directory
mapping:
remotePath: /outbound/invoices
store_as: file_list
- name: download-and-upload
target: sftp-partner
action: download-file
for_each: file_list | filter(item.extension == "csv")
mapping:
remotePath: /outbound/invoices/{{ item.name }}
store_as: downloaded_files
- name: upload-to-s3
target: amazon-s3-archive
action: put-object
for_each: downloaded_files
mapping:
key: "invoices/{{ now | date('YYYY/MM') }}/{{ item.filename }}"
body: item.content
content_type: text/csv
- name: notify-team
target: slack-internal
action: send-message
mapping:
channel: "#file-processing"
text: "Uploaded {{ downloaded_files | length }} invoice file(s) from partner SFTP to S3."
on_error:
retry: 3x exponential(30s)
then: dead-letter