Webhook File to URL

Turn webhook files into direct URLs

Use GetFileURL when an incoming webhook carries a file, attachment link, or Base64 payload and the next system needs a public URL it can fetch.

webhook fileattachment URLmultipartBase64automation
Webhook shape

Webhook files arrive in several forms, but the next API still wants one URL.

Some webhooks include a temporary attachment link, some include Base64 content, and some require you to download the file first.

01

Attachment link

Fetch or download the file from the source system, upload it, then pass the returned URL onward.

02

Base64 payload

Send the encoded content with filename and content type when multipart is not available.

03

Multipart handoff

If your webhook processor has file bytes, upload them directly as multipart form data.

Automation bridge

Turn inbound files into fields that workflow tools can map.

The returned JSON response gives the next step stable fields: `url`, `file_id`, content type, size, and expiry.

01

OCR and AI

Pass the returned URL to extraction, vision, summarization, or classification APIs.

02

CRM and support

Attach files to tickets or records with a direct URL instead of a private source link.

03

Cleanup branches

Store `file_id` and delete after all webhook retry branches have finished.

Troubleshooting

Webhook retries make expiry timing more important.

A webhook may retry minutes later or branch into delayed processing. The URL must survive the actual fetch window, not only the first request.

01

Wrong field

Map the actual returned `url`, not an attachment object, source preview link, or full JSON blob.

02

Source link expired

Upload the file while the source webhook attachment is still reachable.

03

Retry delay

Set `expires_in` long enough for retry and dead-letter handling.

Examples

Copy the same upload shape into code or workflow steps

Use the same endpoint from a shell, backend route, worker, or automation code step. Upload the file, set expiry, then map the returned URL.

cURL

upload example
curl -X POST https://api.getfileurl.com/v1/files \
  -H 'Authorization: Bearer $GETFILEURL_KEY' \
  -F 'file=@webhook-attachment.pdf' \
  -F 'expires_in=24h'

JavaScript

upload example
const form = new FormData();
form.append("file", file);
form.append("expires_in", "24h");

const res = await fetch("https://api.getfileurl.com/v1/files", {
  method: "POST",
  headers: { Authorization: `Bearer ${process.env.GETFILEURL_KEY}` },
  body: form,
});

const { url, file_id } = await res.json();
return { url, file_id };
FAQ

Answers before the workflow breaks

Can a webhook attachment become a public URL?

Yes. Download or read the webhook file, upload it to GetFileURL, then map the returned `url` into the next API call.

What if the webhook sends Base64 instead of a file?

Send the Base64 content with filename, content type, and expiry so the decoded file can be hosted and returned as a URL.

How should webhook retries affect expiry?

Choose an expiry window that survives retries, delayed branches, and async destination fetches, then delete when processing finishes.

Next pages

Keep building the file URL path

Back to home