Compass Docs
ConnectionsIntegrations

S3

Connect AWS S3 or any S3-compatible object store — list, read, and write files from agents and workflows, and sync folders into datasets.

The S3 integration connects Compass to object storage: AWS S3, or any S3-compatible store such as MinIO, Cloudflare R2, Backblaze B2, or Wasabi. Your agents and workflows can browse a bucket, pull files into an execution, and write files back — and a dataset can keep itself in sync with a folder in the bucket.

Connecting

Under Studio → Connections, click S3, then New connection, and provide:

FieldRequiredNotes
BucketYesThe bucket name.
PrefixNoUnder Advanced. Restricts the connection to keys under this prefix — see below.
RegionNoUnder Advanced. Defaults to us-east-1.
Endpoint urlNoUnder Advanced. For S3-compatible stores — for example your MinIO or R2 endpoint. Leave it empty for AWS.

Authentication

Choose Access Key under Auth type and enter an Access key id and Secret access key (plus a Session token if you're using temporary credentials). The secret signs each request and is never sent anywhere itself.

The other option, None, uses whatever AWS credentials the environment Compass runs in already has — it's meant for dedicated installs that run with their own cloud role. On a hosted Compass, use an access key.

Not checked when you save

Compass doesn't call the bucket when you save an S3 connection, so a wrong key or bucket name shows up the first time something uses it. A quick check: add the connection as a dataset source and browse its folders, or run list_files from a workflow.

Actions

ActionKindWhat it does
list_filesReadList files under a prefix — optionally only those changed since modified_since — up to limit (default 1,000), including subfolders unless recursive is off. Returns each file's key, name, size, ETag, and last-modified time.
list_foldersReadList the folders under a prefix.
get_fileReadDownload a file by key into the execution.
upload_fileWriteWrite a file from the execution to the bucket, at key (defaults to the file's name).

A file from get_file becomes an ordinary Compass file — the same thing an upload produces. Hand it to an agent and the model reads it; pass it to the Document Parser or Document Splitter and they process it. See Files & attachments.

Scoping with a prefix

Set a Prefix to scope a connection to one part of a bucket — for example finance/statements/. Listing and uploads stay inside it: a list_files for 2026/ lists finance/statements/2026/, and uploads land under the prefix too.

get_file isn't limited by the prefix — it can read any key the credentials allow. To truly confine an agent to one folder, give the connection credentials whose access policy only covers that prefix.

As a dataset source

A dataset can sync from any folder an S3 connection can see, on a schedule you choose, picking up new and changed files automatically. See Sources & sync. You can't delete an S3 connection while a dataset source reads from it.

Next

On this page