Turn Airtable file outputs into direct URLs
The file is already inside Airtable. The next system cannot fetch that private object. Add one upload step, map the returned URL, and keep the file ID for cleanup.
- Reviewed by
- GetFileURL technical team
- Updated
- Source
- Airtable attachment field
- Output
- url, file_id, content_type, expires_at
- Next step
- automation, script, external API
What this page answers
Upload the Airtable file to GetFileURL, parse the JSON response, and pass the returned direct URL to the next step.
- Reviewed by
- GetFileURL technical team
- Last updated
Airtable has the file. The next API needs a URL.
Airtable attachments are convenient inside Airtable, but external systems often need a controlled URL with lifecycle metadata.
Upload the actual file
Send the file bytes or exported file to GetFileURL rather than passing a private platform object onward.
Map the URL field
Use the returned `url` as the value for the next API, webhook, OCR service, AI step, or publishing action.
Keep the cleanup handle
Store `file_id` when the workflow should delete public access after the downstream step finishes.
Add one relay step and leave the workflow shape alone.
Upload the attachment file from an Airtable automation or script, then store the returned URL and file ID on the record.
Multipart upload
Use multipart form data for files already present in the workflow runtime.
Retention window
Use returned expiry metadata that survives queue delays and retries without creating permanent public storage by default.
Structured response
Map `url`, `content_type`, `size`, and `expires_at` into logs or later workflow steps.
When the next step fails, inspect the URL it received.
Avoid saving only the source attachment link when the next API must fetch the file later without Airtable context.
Exact field
Confirm the destination receives `response.url`, not the whole upload response or a source app attachment.
No preview pages
The URL should resolve to file bytes, not an HTML page, redirect chain, or permission screen.
Expiry timing
Keep the URL alive through delayed branches, retries, and async destination fetches.
Copy the same upload shape into code
curl -X POST https://api.getfileurl.com/v1/files \
-H 'Authorization: Bearer $GETFILEURL_KEY' \
-F 'file=@record-attachment.pdf' \
-F 'visibility=public'Common questions
How do I turn a Airtable file into a URL?
Upload the Airtable file to GetFileURL, parse the JSON response, and pass the returned direct URL to the next step.
Why not pass the original Airtable file link?
Original platform links can be private, temporary, or redirecting. External APIs usually need a URL that returns the file bytes directly.
What should I store from the response?
Store `url` for the next API call, `file_id` or `delete_url` for cleanup, and `expires_at` so delayed workflow branches know when the URL stops working.