Zapier FTP Alternative: Upload Files and Get Public URLs

June 25, 2026 · 7 min read

FTP still appears in automation workflows because it solves a simple problem: put a file somewhere another system can reach it. But in Zapier, FTP often creates more work than it removes. You need a server, credentials, directories, permissions, public hosting, cleanup, and a way to turn the uploaded file into a URL.

A file upload API is usually a cleaner replacement. Send the file to an API, get a public CDN URL back, and pass that URL into the next Zapier step.

This guide shows how to use FilePost as a Zapier FTP alternative for workflows that need file handoff, public links, and predictable cleanup.

Why FTP Is Awkward in Zapier

FTP is a transport protocol, not a product workflow. It moves files, but it does not solve the follow-up problems that automations usually need.

If your real requirement is "make this file available at a URL," a file hosting API is closer to the job.

The FilePost Pattern

FilePost turns a file into a public CDN URL. The upload response includes the URL and file ID, so later Zapier steps can save the link, email it, post it to Slack, update Airtable, or attach it to a CRM record.

The core request looks like this:

POST https://filepost.dev/v1/upload
X-API-Key: fh_your_api_key
Body: multipart/form-data with file=@your-file.pdf

The response:

{
  "file_id": "a1b2c3d4e5f6",
  "url": "https://cdn.filepost.dev/file/filepost/uploads/a1/a1b2c3/your-file.pdf",
  "name": "your-file.pdf",
  "size": 248120,
  "content_type": "application/pdf"
}

Example Workflow: Form Attachment to Public URL

A common Zap looks like this:

  1. Trigger: A form submission arrives from Typeform, Tally, Jotform, or another form tool.
  2. File step: Zapier receives a file object or a temporary attachment URL.
  3. Upload: FilePost uploads the file and returns a permanent public URL.
  4. Store: Zapier writes the URL to Airtable, Google Sheets, HubSpot, Notion, or your database.
  5. Notify: Zapier sends Slack or email with the FilePost URL.

The important change is that downstream tools receive a normal HTTPS URL, not an FTP path and not a temporary signed attachment link.

Using Webhooks by Zapier

If you are using Webhooks by Zapier, configure a custom request:

Setting Value
Method POST
URL https://filepost.dev/v1/upload
Header X-API-Key: fh_your_api_key
Body type multipart/form-data
File field file

After the step runs, use the returned url field in the rest of the Zap.

Using Base64 JSON When Multipart Is Hard

Some automation steps produce a base64 string instead of a file object. In that case, use FilePost's base64 endpoint:

POST https://filepost.dev/v1/upload/base64
X-API-Key: fh_your_api_key
Content-Type: application/json
{
  "filename": "invoice.pdf",
  "content_type": "application/pdf",
  "data_base64": "JVBERi0xLjQKJ..."
}

See the full base64 upload guide for cURL, JavaScript, and Python examples.

FTP vs File Upload API

Need FTP FilePost API
Upload a file Yes Yes
Return public URL immediately No, you build it yourself Yes
No server to maintain No Yes
List uploaded files Manual or server-specific API endpoint
Delete uploaded files Manual or server-specific API endpoint
Works well in no-code automations Often awkward Designed for it

Good Zapier Use Cases

Cleanup Strategy

If the file is a long-term record, keep it permanently. If it is a temporary handoff, include an expiration value when you upload or delete it later through the API.

curl -X DELETE https://filepost.dev/v1/files/a1b2c3d4e5f6 \
  -H "X-API-Key: fh_your_api_key"

That gives you the practical part FTP does not solve: the workflow can own the file lifecycle from upload to cleanup.

Replace FTP with a File URL API

Upload files from Zapier and get a public CDN URL back in the same workflow step.

Get Your API Key

Related Guides