Prerequisites
Before connecting Supabase to Fileloom, you need:- A Supabase project
- Storage enabled on your project
- A storage bucket created
- Service role key (for server-side access)
Setting Up Supabase Storage
Open Supabase Dashboard
Go to your Supabase project dashboard.
Create Bucket
Click New bucket and configure:
- Name:
fileloom-pdfs(or your preference) - Public: Off (recommended)
Getting Your Credentials
Project URL
Found in Settings → API → Project URL:Service Role Key
Found in Settings → API → Service role key (secret):Connecting Supabase to Fileloom
Open Workspace Settings
Click the settings icon in your workspace sidebar to open Workspace Settings.
Click Connect on Supabase Storage
In the Storage Integrations section, find Supabase Storage 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 | Production Supabase |
| Project URL | Your Supabase project URL | https://xyz.supabase.co |
| Bucket Name | Storage bucket name | fileloom-pdfs |
| Service Role Key | Service role API key | eyJhbG… |
| Path Pattern | File organization pattern | // |
Configure Storage Mode
After connecting Supabase, 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 (Supabase connection inactive) |
| External | PDFs saved to Supabase only |
| Both | PDFs saved to both Fileloom and Supabase |
Path Pattern Examples
Organize files in your bucket:URL Format
Files are accessible via Supabase Storage URLs: Private bucket (signed URL):Bucket Policies
Private Bucket (Recommended)
For private access, no additional policies needed. Files accessed via signed URLs.Public Bucket
If you need public access, create the bucket as public or add a policy:- Go to Storage → Policies
- Click New Policy on your bucket
- Select For full customization
- Add policy:
Row Level Security
Supabase Storage supports RLS for fine-grained access control.Example: User-specific folders
Managing Your Connection
After connecting, you can manage your Supabase 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
Connection Failed
Symptoms: Connection test fails Solutions:- Verify project URL is correct (no trailing slash)
- Check service role key is the full key, not truncated
- Ensure bucket exists with exact name
- Verify project is not paused
Upload Failed
Symptoms: PDFs not appearing in bucket Solutions:- Check bucket name matches exactly (case-sensitive)
- Verify service role key has not been regenerated
- Check Supabase project is on a plan with sufficient storage
- Review path pattern for invalid characters
Access Denied
Symptoms: 403 errors when accessing files Solutions:- For private buckets, ensure you’re using signed URLs
- For public buckets, verify bucket is set to public
- Check RLS policies aren’t blocking access
File Not Found
Symptoms: 404 errors for uploaded files Solutions:- Verify path pattern doesn’t create deeply nested folders
- Check for special characters in filename
- Ensure file wasn’t deleted by Supabase lifecycle rules
Storage Limits
Supabase storage limits by plan:| Plan | Storage | Bandwidth |
|---|---|---|
| Free | 1 GB | 2 GB/month |
| Pro | 100 GB | 200 GB/month |
| Team | 100 GB | 200 GB/month |
| Enterprise | Custom | Custom |
Best Practices
Use Private Buckets
Keep buckets private and use signed URLs for access
Organize by Date
Use date-based paths for easier management and cleanup
Monitor Storage
Set up alerts before hitting storage limits
Backup Keys
Store service role key securely; regenerating invalidates the old one

