Pick up where they left off.
Pass the signed-in user. Their draft comes back when they do, and updates stay on the same response.
respondent={ session.user }Your app owns the UI. Fillo keeps schema, validation, uploads, responses, and delivery connected behind it.
The same form definition renders through the React SDK, the framework-free DOM SDK, a web component, or a fully hosted page. The SDK paths render native controls rather than an iframe.
<FilloForm form={support} />Same form. Pick the surface.
Drafts resume, every field renders native, and responses carry their context.
Pass the signed-in user. Their draft comes back when they do, and updates stay on the same response.
respondent={ session.user }Ratings, uploads, signatures, choices, dates, and hidden context, rendered as native controls.
Nineteen field types, from plain text to ratings, signatures, and file uploads, plus heading, paragraph, and divider layout blocks.
The upload stalls at 90% on large PDFs.
Slack and Discord messages — each form picks its own channel — plus n8n and Zapier triggers, email, and signed webhooks.
19 field types, plus 3 layout blocks.
Uploads go browser-direct to storage you connect.