Prerequisites
Before connecting S3 to Fileloom, you need:- An AWS account
- An S3 bucket created
- IAM credentials with appropriate permissions
Creating an S3 Bucket
If you don’t have a bucket yet:Open S3 Console
Go to the AWS S3 Console.
Configure Bucket
- Enter a unique bucket name
- Select your preferred region
- Keep “Block all public access” enabled (recommended)
Creating IAM Credentials
Fileloom needs IAM credentials with permission to upload files:Open IAM Console
Go to the AWS IAM Console.
Create Access Key
Under the user’s Security credentials, create an access key for “Application running outside AWS”.
Minimum IAM Policy
YOUR-BUCKET-NAME with your actual bucket name.
Connecting S3 to Fileloom
Open Workspace Settings
Click the settings icon in your workspace sidebar to open Workspace Settings.
Click Connect on Amazon S3
In the Storage Integrations section, find Amazon S3 and click the Connect button.
Click Connect
Click Connect to save. Fileloom automatically runs a connection test to verify your credentials and bucket access.
Connection Form Fields
| Field | Description | Example |
|---|---|---|
| Connection Name | Friendly name for this connection | Production S3 |
| Bucket Name | Your S3 bucket name | my-company-pdfs |
| Region | AWS region where bucket is located | us-east-1 |
| Access Key ID | IAM access key | AKIA… |
| Secret Access Key | IAM secret key | wJalr… |
| Path Pattern | File organization pattern | pdfs/// |
AWS Regions
Common regions:| Region Code | Location |
|---|---|
| us-east-1 | N. Virginia |
| us-west-2 | Oregon |
| eu-west-1 | Ireland |
| eu-central-1 | Frankfurt |
| ap-southeast-1 | Singapore |
| ap-northeast-1 | Tokyo |
Configure Storage Mode
After connecting S3, configure how Fileloom uses it:- In the Settings section below your connections, find Save on
- Choose your preferred mode:
| Mode | Behavior |
|---|---|
| Fileloom | PDFs saved to Fileloom only (S3 connection inactive) |
| External | PDFs saved to S3 only |
| Both | PDFs saved to both Fileloom and S3 |
Path Pattern Examples
Organize files in your bucket using path patterns:URL Format
Files uploaded to S3 are accessible via presigned URLs:- URLs are presigned for secure access
- Default expiration: 24 hours
- Included in API response as
externalCopies[].url
Public Access (Optional)
If you need permanent public URLs instead of presigned URLs:- Disable “Block all public access” on the bucket
- Add a bucket policy:
Managing Your Connection
After connecting, you can manage your S3 integration from the Integrations page:- Primary badge — If you have multiple storage connections, the primary one is used first
- Connected / Inactive — Shows current connection status
- Actions menu (⋮) — Edit credentials, run a new connection test, or disconnect
Troubleshooting
Access Denied
Symptoms: Connection test fails with “Access Denied” Solutions:- Verify Access Key ID and Secret Access Key are correct
- Check IAM policy includes your bucket name
- Ensure IAM user has the policy attached
- Verify bucket region matches configuration
Bucket Not Found
Symptoms: Error mentions bucket doesn’t exist Solutions:- Check bucket name spelling (case-sensitive)
- Verify bucket exists in the specified region
- Ensure you have
s3:GetBucketLocationpermission if using a different region
Invalid Credentials
Symptoms: Authentication errors Solutions:- Regenerate access keys if expired
- Check for extra spaces in credentials
- Verify credentials are for correct AWS account
Upload Timeout
Symptoms: Uploads fail intermittently Solutions:- Check bucket region is geographically close to Fileloom servers (us-central1)
- Verify no network restrictions on bucket
- Check bucket isn’t near storage limits
Best Practices
Use Dedicated Credentials
Create IAM user specifically for Fileloom with minimal permissions
Enable Versioning
Turn on S3 versioning for accidental deletion protection
Set Lifecycle Rules
Configure automatic deletion of old files to manage costs
Monitor Usage
Set up CloudWatch alerts for unusual activity
Cost Considerations
S3 pricing factors:- Storage: ~$0.023/GB/month (varies by region)
- PUT requests: ~$0.005 per 1,000 requests
- GET requests: ~$0.0004 per 1,000 requests
- Data transfer: First 100GB/month free, then ~$0.09/GB
- Storage: ~1GB = ~$0.02/month
- PUT requests: $0.05
- Total: ~$0.07/month

