HomeAdd a widgetany website

Contact form · any website

Add a contact form to any website

A contact form styled to match your site, live with one copy-paste wherever you can edit the HTML, with every submission in your dashboard and no form backend to run.

Free plan with no time limit, no card.

See it working

This is a real Sorraia form — our own contact form, loaded by the same embed script you paste. Send it something; it reaches us.

How to add a contact form to any website

A static site can show a form but can’t receive one: there is no server behind it to take the submission, which is how so many simple sites end up with a backend nobody wanted. Paste the snippet where the form belongs and each submission goes to Sorraia instead, so the site stays a folder of files. The same copy-paste works in a hand-written page, a static-site template, or a CMS or page builder’s custom HTML block.

  1. In Sorraia, add the website and verify it — a DNS TXT record, or a meta tag in your homepage’s <head>. Verification is what lets you attach a widget to that site, so it comes before there is anything to paste.

  2. Save the form and the Copy Embed Code popup appears; you can also open the Install wizard from the form’s row on the Forms page, which walks you through pasting it and re-checks the page for you.

  3. Copy the snippet from Sorraia. It already has your widget’s id and the right URL baked in, so copy it rather than retyping it.

  4. Open the .html file (or the template, component, or partial) for that page and paste all three lines at the spot in the body where the widget should appear.

  5. Save and deploy.

  6. Load the live page. If nothing renders, check that it is on the domain the widget belongs to and that the domain shows as verified in Sorraia, then open the browser console, where a blocked script or a loader warning shows up.

Where these steps come from:1

Worth knowing for this one

  • If the site sends a Content-Security-Policy, the form needs its script’s host under script-src, the Sorraia API under connect-src — each submission is sent with fetch(), one of the requests connect-src governs — and 'unsafe-inline' under style-src, because the loader adds the form’s stylesheet as a style element without a nonce.234
  • Re-saving the form in Sorraia updates what visitors see without re-pasting the snippet, so a change of wording never means redeploying the site.1

What HTML already does with a form

HTML’s <form> element only gathers the fields: its action attribute names the URL that processes the submission, which MDN says should be a file on a server that can handle the incoming data. A mailto: link is the other built-in route, and it hands the message to the visitor’s own email program instead. A Sorraia form needs neither a server nor a mail app: each submission goes to Sorraia, where every client site’s submissions sit in one dashboard.567

What’s included

  • Styled to match: colours from the site’s brand kit
  • Live with one copy-paste
  • One dashboard across client sites
  • Client logins scoped to one site

Free plan with no time limit, no card.

Questions

Can a static site with no server take form submissions?

Yes, with a form that sends them somewhere else. A Sorraia form posts each submission to Sorraia, so the site itself never receives a request and the host only serves your files.

Where in the HTML does the form’s snippet go?

Inside the body, at the spot where the form should appear. The form renders exactly where its empty div sits, so keep the comment, the div and the script tag together.

Does the form work inside a page builder’s custom HTML block?

Yes. Any builder that accepts custom code takes it — a custom HTML block, an embed-code element, a code module — in the same way as a hand-written page.

Do I get an email when someone fills in the form?

Yes, by default: Sorraia sends a recap to your account email with a link to the submission, and you can switch it off per form. A confirmation to the person who wrote in stays off until you turn it on, and it needs an Email field.

Is there anything to install on the server?

No package, plugin or build step. From the browser’s point of view the form is HTML and a script, so it runs on any host that can serve the page.

Sources

  1. Embedding on your website · sorraia.app
  2. CSP script-src (MDN) · developer.mozilla.org
  3. CSP connect-src (MDN) · developer.mozilla.org
  4. CSP style-src (MDN) · developer.mozilla.org
  5. The form element (MDN) · developer.mozilla.org
  6. Sending form data (MDN) · developer.mozilla.org
  7. The anchor element (MDN) · developer.mozilla.org
  8. Forms · sorraia.app

Each page read and checked on 20 October 2026.

Add a contact form to any website

Build it in Sorraia, put it live on your site with one copy-paste, and change it later without touching the embed again.