نسخة تجريبية خاصة اطلب الوصول

Embed any web app as a form field

Widget fields let you embed self-hosted web applications directly inside your forms. Map pickers, calculators, signature pads, barcode scanners — if it has a URL, it can be a form field.

Self-hosted widget fields

Point formcel to any HTTPS URL and it becomes a form field. You host the widget, you control the code, you own the data. No marketplace, no vendor lock-in.

maps.widget.com
Your widget renders here

Developer SDK included

A lightweight JavaScript SDK handles all communication between your widget and the parent form. Set values, respond to validation, resize dynamically, receive theme updates — all via a clean API.

widget.js
formcelWidget.init();
formcelWidget.onGetValue(
() => myValue
);

Appears in the field palette

Registered widgets show up right alongside built-in field types in the editor palette. Your team drags them onto forms like any other field — no extra steps.

Widgets
Map Picker
Calculator
Lookup
Scanner

Sandboxed by default

Widgets run in a strict security sandbox — scripts allowed, but fully isolated from your form data. HTTPS-only URLs. Rate-limited messaging. 50KB value cap. Timeout protection on value retrieval.

Sandboxed iframe
HTTPS only
Rate-limited
50KB value cap

Lazy loading & resize

Widgets only load when they scroll into view. They can request height changes dynamically. A 10-second timeout catches unresponsive widgets gracefully.

Visible in viewport Loaded
Below the fold Deferred
Unresponsive? 10s timeout

Admin-managed with audit trail

Admins register widgets with a label, icon, URL, and default height. Every creation, update, and deletion is logged. Server-wide limit of 100 widgets keeps things clean.

widget.create Map Picker
widget.update Calculator
widget.delete Old Widget

Use cases

Google Maps location picker
Address autocomplete & lookup
Embedded calculators & configurators
Barcode & QR code scanners
Custom signature capture
Product configurators & 3D viewers

Your app, inside your form

Build a widget with any web technology. Register it once. Drag it onto any form. It just works.