

Upload files from Pipedream and get a live URL
Add one Node.js code step to your Pipedream flow: POST the file with your API key and the response hands the next step a live, shareable URL.
Drop your file here
Anyone with the link · images, audio, video, docs, text & data, or .zip
By uploading, you agree to our Terms and Data Processing Terms and confirm you have the right to share this content.
The Pipedream recipe
There is no component to install. A short Node.js code step sends the upload with axios and form-data, then returns the live URL for the steps after it.
// Pipedream: add a Node.js code stepimport FormData from "form-data"import axios from "axios" export default defineComponent({ async run({ steps }) { const form = new FormData() form.append("file", steps.trigger.event.body, { filename: "report.html", contentType: "text/html", }) form.append("name", "weekly-report") const res = await axios.post( "https://upload.tf/api/v1/upload", form, { headers: { "x-api-key": process.env.UPLOADTF_KEY, ...form.getHeaders() } }, ) return res.data.data.url // => https://weekly-report.upload.tf },})How it works
Create an API key
Sign in, open the dashboard, and create a key. API access is included with paid plans, and your key works immediately.
Add the Node.js code step
Add a Node.js code step, build a FormData with the file from your trigger or a previous step, POST it with the x-api-key header, and return data.url from the step.
Map the URL onward
The response body carries data.url, the live link. Map it into the next step: a Slack message, a spreadsheet row, an email, a CRM field.
Why push uploads through the flow
Runs inside your flow
The file your Pipedream flow just produced becomes a URL in the same run, with no manual upload step in the middle.
A URL any app accepts
Downstream apps rarely take file attachments, but every one of them takes a link. One stable https URL fits any field.
Update in place
Send a PUT with the same name and the page updates at the same URL, so a recurring job keeps one permanent link.
Frequently asked questions
- Is there an official Pipedream component?
- Not yet. This page uses a plain Node.js code step, which every Pipedream workflow supports. Everything shown runs against the documented public API.
- What can I send through the API?
- The upload endpoint accepts an HTML page or a ZIP of a static site and publishes it at its own URL. That covers the reports, dashboards, and generated pages most flows produce; other file types work through the browser uploader.
- How do I authenticate?
- Create an API key in your dashboard and send it in the x-api-key header of the HTTP step. Keep the key in your workspace credentials or environment variables, never in the URL.
- Is the API free?
- The API is included with paid plans, which also raise size limits and keep links live longer. You can try the flow manually first with the free uploader on this page, no account needed.
- How do I use the URL in later steps?
- Whatever the code step returns is available to later steps as its export. Return data.url and reference it from the next action, for example a Slack or email step.
See every workflow recipe, or, if you run a platform, the embed API.