Who can use this feature?
- Unison admins or users who can manage integrations
- Availability depends on your Unison plan and configuration
Connect Unison to Amazon S3 to import CSV files on a schedule. Create one reusable S3 connection for your organization, then use that connection across scheduled imports.
Understand the S3 import setup
| Configuration | What it controls |
|---|---|
| S3 connection | Reusable bucket access, AWS region, credentials, and an optional base folder prefix. |
| Scheduled import | The saved connection, optional folder override, file pattern, object type, and schedule. |
| CSV connector | Shared field mapping for the selected object type. Mapping is not configured separately for each scheduled import. |
Amazon S3 is the supported source for this release. SFTP support is planned for a future release.
Prepare your S3 access
Before opening the connection wizard, prepare:
- An S3 bucket that contains the CSV files you want to import.
- The bucket's AWS region, such as
us-east-1. - A dedicated IAM user with least-privilege access to the bucket and prefix.
- The IAM user's access key ID and secret access key.
Create the S3 connection
- In Unison, open Settings > Integrations > S3 Scheduled Import.
- Click Connect source.
- In the Source step, select Amazon S3.
In the Credentials step, enter the connection details:
Field Required Description Connection name Yes A recognizable name for the connection. Access key Yes The access key ID for the dedicated IAM user. Secret Yes The secret access key associated with the access key. Region Yes The AWS region that contains the bucket. Bucket Yes The bucket name without an s3://prefix.Base folder prefix No The root folder within the bucket that all imports using this connection should start from. - Click Test connection. You must pass the test before you can save the connection.
- In the Review step, confirm the details and click Save connection.
The saved connection appears in the connections list and can now be selected when you create a scheduled import.
reports/2026, not /reports/2026/. Do not include leading or trailing slashes.Grant the required AWS permissions
The IAM user must be able to list the configured bucket or prefix and read objects from it:
s3:ListBucketon the bucket, scoped to the prefix whenever possible.s3:GetObjecton objects under the prefix.
Replace YOUR-BUCKET and your/base/prefix in this example policy:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "ListBucketWithPrefix",
"Effect": "Allow",
"Action": ["s3:ListBucket"],
"Resource": "arn:aws:s3:::YOUR-BUCKET",
"Condition": {
"StringLike": {
"s3:prefix": ["your/base/prefix/*"]
}
}
},
{
"Sid": "ReadObjectsUnderPrefix",
"Effect": "Allow",
"Action": ["s3:GetObject"],
"Resource": "arn:aws:s3:::YOUR-BUCKET/your/base/prefix/*"
}
]
}If you do not configure a base folder prefix, grant access at the bucket level. This is broader access, so use a prefix whenever possible.
Create a scheduled import
After saving the connection, create a scheduled import as a separate step:
- Choose the saved S3 connection.
- Optionally enter a folder override. Unison adds this path after the connection's base folder prefix.
- Enter a file pattern, such as
accounts_*.csv, if you want to import only matching files. - Choose the object type and configure the import schedule.
- Review and save the scheduled import.
Understand how folders combine
Unison combines the connection's base folder prefix with the optional folder override on the scheduled import.
| Setting | Example |
|---|---|
| Connection base folder prefix | acme |
| Scheduled import folder override | daily |
| Effective path | acme/daily |
File pattern, object type, schedule, and the folder override belong to the scheduled import—not the reusable S3 connection.
Understand the connection test
| The test checks | The test does not check |
|---|---|
| The bucket exists and is reachable. | CSV files are present. |
| The credentials can list the configured prefix. | File headers or CSV field mapping. |
| The region and bucket name are valid. | The import schedule, file pattern, or GetObject access. |
ListBucket but not GetObject. If scheduled imports fail after a successful test, verify read access to objects under the effective prefix.Manage connection security
- Access keys are stored encrypted and are not shown again after you save the connection.
- Use a dedicated IAM user and the narrowest practical bucket and prefix permissions.
- Rotate access keys according to your organization's security policy.
- Connection details are read-only in this release. To change credentials, create a new connection or contact your administrator if an edit flow is available in your environment.
Delete a connection
You cannot delete an S3 connection while one or more scheduled imports reference it. Delete or reassign those scheduled imports first.
Deleting a scheduled import does not delete the reusable S3 connection.
Troubleshoot the connection
| Issue | What to check |
|---|---|
| Bucket not found | Confirm the bucket name and AWS region. |
| Access denied | Confirm the IAM policy includes ListBucket and GetObject for the correct prefix. |
| Test passes, but imports fail | Confirm GetObject access and verify that files are under the effective prefix. |
| No files discovered | Review the base folder prefix, folder override, and file pattern together. |
| Connection name already exists | Use a unique connection name for the organization. |
FAQs
Question: Is the S3 connection the same as a scheduled import?
Answer: No. The connection stores reusable access to the S3 bucket. A scheduled import selects that connection and defines the folder override, file pattern, object type, and schedule.
Question: Where do I configure CSV field mapping?
Answer: Configure field mapping on the CSV connector for the object type. The mapping is shared and does not belong to an individual scheduled import.
Question: Is SFTP supported?
Answer: Not in this release. Amazon S3 is the available source; SFTP support is planned for a future release.