Documentation / Operations Agent
Operations agent: storage (S3)
Keep recordings, transcripts and reports on your own storage with the S3 and AWS S3 steps: buckets, files and folders, with links that expire.
Last updated:
Two storage steps work with your own object storage from a flow:
- AWS S3: Amazon S3, with your account's access keys, temporary credentials, or an assumed role.
- S3: any S3-compatible service, such as MinIO, Ceph, Wasabi, DigitalOcean Spaces, Backblaze B2 or Cloudflare R2.
Both offer the same actions, chosen in the step's Action setting.
- Bucket: create, delete, get many, search
- File: upload, download, copy, delete, get many
- Folder: create, delete, get many
Connect your storage#
AWS S3: choose Region, paste the Access key ID and Secret access key. For temporary credentials also paste the Session token. To use a role, set Credential to Assume role and give the Role ARN (and the External ID if your role requires one); the step uses the keys to assume the role first. A custom endpoint can be set under More options.
S3: give the service's S3 endpoint, the Region and the keys. Turn on Force path style when your service expects the bucket in the path (MinIO usually does). Ignore SSL issues exists for test servers with self-signed certificates; do not use it in production.
Give the keys only the permissions the flow needs, for example write access to one bucket or one folder.
Upload a recording or a transcript#
- Put Download recording (or Transcribe) before the storage step.
- In the storage step choose File: upload, the Bucket, and the File key (the path in the bucket), for example
calls/{{trigger.call_id}}.wav. - Upload: a file an earlier step produced (
{{download.file}}) or text you write here, for example{{transcribe.text}}. Set the File name and Content type when needed.
The step produces the bucket, key, etag and a url to the file with its expiry, url_expires_at. The link lasts up to a week with access keys; with temporary credentials or an assumed role it ends when those credentials end. Send the link in an email, or keep the key in your CRM.
Folders and listings#
A folder is a key prefix: a folder invoices holds everything under invoices/, never invoices-old/. Folder: get many lists files and the folders inside, one level or, with Recursive, every level. File: get many and Bucket: search list what matches, with items and count for the next step.
Copy, download and delete#
File: copy copies a file to a Destination bucket and Destination key. File: download brings a file into the run, for example to transcribe a recording someone left in a bucket; the downloaded copy is deleted when the run ends. File: delete and Folder: delete remove what you name; deleting something that is already gone counts as done. A run resumed after a restart never repeats a copy or a delete.
Before you rely on it#
The storage steps can be previewed and run on their own from the inspector (Run this step now), without running the rest of the board: see Designing and testing. The templates Archive every recording to your AWS S3 bucket and Keep every transcript on your own S3-compatible storage are ready examples.