Turn Pipedream file outputs into direct URLs
The file is already inside Pipedream. 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
- Pipedream workflow file
- Output
- url, file_id, content_type, expires_at
- Next step
- code step, webhook, API action
What this page answers
Upload the Pipedream file to GetFileURL, parse the JSON response, and pass the returned direct URL to the next step.
- Reviewed by
- GetFileURL technical team
- Last updated
Pipedream has the file. The next API needs a URL.
Pipedream workflows can process files in code, but many third-party APIs still want a public HTTPS URL.
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.
Send the file or buffer from a code step to GetFileURL, store `file_id`, then return `url` to the following action.
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.
Log content type, size, and expiry near the workflow event so failed downstream calls are easy to replay.
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=@event-payload.pdf' \
-F 'visibility=public'Common questions
How do I turn a Pipedream file into a URL?
Upload the Pipedream file to GetFileURL, parse the JSON response, and pass the returned direct URL to the next step.
Why not pass the original Pipedream 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.