Agencies
Ship intake for every client. Walk away clean.
One script tag, isolated styling, webhooks, and versioning — a smart intake widget you can hand off without becoming the client's call center.
Get the embed snippetYour day today
Hand-rolling voice + redaction per client isn't billable.
Every client wants a "smart form", but building voice capture, PII redaction, and webhooks by hand for each one isn't billable-hours-positive — and once it ships, you're the one who gets called when it breaks.
- Voice and redaction rebuilt from scratch on every project.
- Client CSS and CSP fight your embed.
- You become the client's de-facto call center after launch.
With SpeakingForm
Drop it in once. Hand it off for good.
One script tag embeds a fully styled, isolated intake widget. Versioning and webhooks mean you can ship it and walk away.
Embed widget
One <script> tag drops an isolated, styled widget into any page. It renders in an iframe so your client's CSS can't leak in, with an automatic new-tab fallback.
Webhooks
Completed responses fire HMAC-signed webhooks into whatever system the client already runs. Wire it once and it keeps delivering.
Versioning & self-host parity
Every form keeps its version history with an active-version pin, and self-hosted instances run identical behaviour for clients who demand it.
"Embeds always fight my client's CSS / CSP."
The widget renders in an isolated iframe with an automatic new-tab fallback, and ships frame-ancestors * so it embeds anywhere. See the embed integration guide .