Google Drive Integration
Files upload to Google Drive instead of Supabase Storage for permanent, shareable URLs.
Why Drive?
- Permanent URLs — Never expire (unlike signed URLs)
- Airtable compatible — Attachments sync directly
- Organized — Folders per form and submission
Architecture
Setup
1. Create Service Account
In Google Cloud Console:- Create a new project
- Enable Google Drive API
- Create a service account
- Download JSON credentials
2. Configure Environment
3. Share Folder
Share your Drive folder with the service account email.4. Configure Form
In Form Settings → Integrations:- Enter the Google Drive folder ID
- (Optional) Set per-field folder IDs
File Structure
Upload Flow
Uploads are streamed directly to Google Drive via a resumable session. The API validates the form, the file field, and (if provided) the per-field folder ID. Required query params:formIdsubmissionId(pending session ID)filenamequestionId(the files field ID)
folderId(per-field Drive folder override; must match the field config)
Content-TypeContent-Length
- Files inherit permissions from the parent folder (no public sharing).
- If a form requires auth, the upload endpoint enforces authentication.