Destinations
Webhooks
Use S3 as a destination with your access key, bucket, and prefix. Works with S3-compatible storage too.
Last updated 2026-05-25
On this page
ZenTransfer writes to an S3 bucket using IAM credentials. Use AWS S3 or any S3-compatible service (Backblaze B2, Wasabi, Cloudflare R2, MinIO) by adjusting the endpoint.
What you need¶
- An AWS account with S3 (or an S3-compatible provider)
- An access key ID and secret access key with
s3:PutObjectpermission on the target bucket - The bucket name and optional prefix
- The bucket's region
Setup¶
Step 1: Create an IAM user¶
Create a dedicated IAM user for ZenTransfer with a policy limited to the bucket you'll use:
{
"Version": "2012-10-17",
"Statement": [{
"Effect": "Allow",
"Action": ["s3:PutObject"],
"Resource": "arn:aws:s3:::your-bucket-name/*"
}]
}
Generate an access key pair for this user; save both values.
Step 2: Configure in ZenTransfer¶
- Log in to your Dashboard
- Under Cloud Storage, find Amazon S3
- Enter: - Access Key ID - Secret Access Key - Bucket name - Region (e.g.
eu-west-1) - Prefix (optional) — files write toprefix/filename.ext- Endpoint (optional, S3-compatible only) — for Backblaze, Wasabi, R2, MinIO - Save and enable the destination
Step 3: Test¶
Upload a single test file and confirm it lands in the bucket at the expected path.
File naming inside the bucket¶
By default the filename matches the processed file. If you use a rename template, the renamed value is used. The optional prefix is prepended.
Example: with prefix 2026/ and a renamed file 2026-05-25_AGENCY_NAME_001.jpg, the object key becomes 2026/2026-05-25_AGENCY_NAME_001.jpg.
S3-compatible providers¶
To use a non-AWS S3 provider, set the Endpoint field to the provider's S3 endpoint URL. Examples:
| Provider | Endpoint format |
|---|---|
| Backblaze B2 | https://s3.<region>.backblazeb2.com |
| Wasabi | https://s3.<region>.wasabisys.com |
| Cloudflare R2 | https://<account>.r2.cloudflarestorage.com |
| MinIO | https://<your-minio-host> |
The access key, secret, bucket, and prefix fields work the same way.
Permissions checklist¶
If uploads fail with permission errors, verify:
- The IAM policy attached to the user includes
s3:PutObject - The Resource ARN matches the bucket name exactly
- The bucket region matches what you entered in ZenTransfer
- No bucket policy denies the IAM user
- No SCP at the AWS Organizations level blocks the operation
Use cases¶
- High-volume archive — S3 is the cheapest reliable option for large archives
- Engineering team handoff — drop frames into a bucket consumed by downstream pipelines
- Backup pair with a consumer cloud destination
