WeTransform can be embedded directly into your application, so your clients never need to know WeTransform exists. They upload their files, review the transformation, fix errors, and submit, all inside your product. There are three integration modes, from the deepest to the simplest.
⚙️ Mode 1 — The SDK (recommended)
The WeTransform SDK opens the full experience as a modal or an inline widget inside your own interface, and lets your code react to what happens through typed events. It ships as npm packages:
@wetransform/core— framework-agnostic, works in any JavaScript or TypeScript project@wetransform/react— React wrapper@wetransform/vue— Vue 3 wrapper, with a renderless component and a composable
npm install @wetransform/core
const sdk = createWeTransform({ organizationHandle: 'your-org', authentication: { customerId: 'customer_id', signature: signatureGeneratedServerSide, },})sdk.open()sdk.on('successSubmit', ({ fileUrl }) => { // the transformed file is ready})
🔑 The signature is an HMAC SHA256 token generated on your server with your embed secret key. Never expose the secret in the browser. See Authentication — how to make the experience seamless for your clients.
Full SDK reference, with configuration options, events, and React and Vue examples: api.wetransform.com/en/documentation/sdk.
🖥️ Mode 2 — Embed via iframe
If you cannot add an npm package to your stack, you can display the WeTransform interface inside your page with a plain iframe pointing to your branded URL:
<iframe src="https://your-name.send-a-file.io/template-handle?customer_id=1234&signature=..." width="100%" height="800px" frameborder="0"></iframe>
The authentication is the same HMAC signature as with the SDK. The upload, match, and Finalize steps all happen inline, inside your page.
🔗 Mode 3 — Redirect to your branded page
The simplest option, when embedding is not possible: redirect your client to your dedicated page at your-company.send-a-file.io, branded with your logo and colors. Once the file is submitted, WeTransform redirects them back to your Return URL with a signed download link. Your client briefly leaves your site, which is why the SDK and iframe modes are preferred.
🔄 The end-to-end flow
Your client clicks "Upload file" on your platform
Your server generates the HMAC signature and your frontend opens WeTransform (SDK modal, iframe, or redirect)
The client uploads their file, reviews errors in Finalize, and submits
Your application receives the transformed file URL (SDK
successSubmitevent, or Return URL)Your system downloads the file and integrates it — done
🔁 Webhooks as an alternative. Instead of waiting for the client-side event or redirect, you can configure a webhook to receive the file automatically as soon as it is processed. See How to receive your output automatically with webhooks.
👉 What to do next
