S3-compatible providers
Sliick Files works with any S3-compatible storage, not just Amazon S3. Read this if you are using Backblaze B2, Wasabi, Cloudflare R2, or a self-hosted MinIO.
The Salesforce side of setup is identical, and so is the Sliick Settings form. Only the provider-side flow for creating the credential differs.
Wasabi has a full worked guide. If that is your provider, go straight to Wasabi, which covers the region-specific endpoint, the lifecycle rules, and Wasabi’s minimum-storage-duration billing.
Where to create the credential
Section titled “Where to create the credential”| Provider | Credential type | Where to create |
|---|---|---|
| Backblaze B2 | Application Key | Account → App Keys → Add a New Key |
| Wasabi | Access Key | Access Keys → Create New Access Key |
| Cloudflare R2 | API Token (S3-compatible) | R2 → Manage R2 API Tokens → Create Token |
| MinIO/self-hosted | Service Account / User Keys | MinIO Console → Identity → Service Acct |
What to grant
Section titled “What to grant”Grant the same seven actions scoped to your bucket, exactly as in Create the access key:
- Bucket level:
ListBucket,GetBucketLocation,ListBucketVersions - Object level:
GetObject,PutObject,DeleteObject,DeleteObjectVersion
The two version actions are what Restore from the Deleted Files tab needs. Omit them and uploads still work while Restore silently cannot recover anything.
CORS configuration also applies. Every S3-compatible provider exposes CORS settings on the bucket, so use the same JSON as Configure CORS on the bucket.
The Endpoint field is required
Section titled “The Endpoint field is required”In Sliick Settings the provider choice uses the same form for Amazon S3, S3-Compatible, B2, Wasabi and R2. The Endpoint field is optional and left blank for standard AWS S3, but for every other provider it is required, and it is usually region-specific. Read the exact value from your provider’s console rather than assembling it from memory. See Connect in Sliick Settings.
Check whether your endpoint needs a trusted site
Section titled “Check whether your endpoint needs a trusted site”Salesforce blocks browser requests to hosts its Content Security Policy does not list, and Sliick uploads go straight from the browser to your storage. The package ships trusted sites for the common hosts, so nothing is needed for AWS, Wasabi, Backblaze B2, Cloudflare R2, Google Cloud Storage, Azure or SharePoint.
A self-hosted or custom endpoint, such as MinIO or Ceph, is not covered. Add it once:
-
Setup → Security → CSP Trusted Sites → New Trusted Site.
-
Fill in:
Field Value Trusted Site Name Letters, digits and _only, for exampleMinIO_StorageTrusted Site URL Your exact host, for example https://minio.your-domain.comActive Ticked Context All Allow site for connect-srcTicked, for the upload and download requests Allow site for img-srcTicked, for thumbnails and the photo editor Leave the other directives unchecked.
-
Save, then hard-refresh the record page before retesting.
Skipping this looks exactly like a CORS problem. The browser console tells them apart.
Refused to connect ... violates ... connect-srcis the trusted site.No 'Access-Control-Allow-Origin' headeris bucket CORS.
Two-way sync is Amazon S3 only
Section titled “Two-way sync is Amazon S3 only”The S3 sync integration is wired through an AWS SNS topic. S3-compatible providers have no equivalent, so there is nothing to point the notification at. Changes made directly in the bucket are not reflected back into Salesforce. Everything done through Sliick works normally. See Two-way sync.