Disfora
Docs menu

Embed a form on your website

Build a contact form, signup or survey in your dashboard and paste one line where it should appear. Submissions land in your dashboard, and on paid plans in your inbox too.

This is a real form. It asks you to sign in, so you can try Autofill from your profile. Submissions come to us, so there's no need to use real details.

1. Build the form

In your project, open Forms and click New form. The builder has three tabs:

  • Build: add fields by clicking a field type, or drag one onto the form. Click a field to edit it.
  • Settings: title, status, the submit button's label, what happens after a submission, and spam protection.
  • Notifications: emails sent for each submission.

The title and description show above the form. If your page already has its own heading, turn off Show form header.

2. Publish and embed it

Set Status to Published in Settings and save. Only published forms show on your site and accept submissions. Then, in the Forms list, open the form's menu and click Copy embed code. Paste it where the form should appear, on any page with the Disfora script:

<div data-disfora-form-id="…"></div>

On Ghost, Webflow or Squarespace, paste it into an HTML or Code Embed block on the page.

Fields

Group Field types
Standard Single line text, Paragraph text, Email, Phone, Number, Date, Name
Choice Dropdown, Radio buttons, Checkboxes
Layout Section break, Page break, HTML block
Advanced Hidden field
  • Width puts fields side by side: full, half, a third or a quarter of the row.
  • Page break splits a long form into steps, with Next and Back buttons.
  • A field can start with a Default value, or take one from the page's address: set a URL parameter name like plan, and /signup?plan=pro fills in pro. With a hidden field, that records where a submission came from without showing anything.
  • Readers signed in to Disfora get an Autofill from your profile button that fills in their name and email.

Conditional logic

Turn on Conditional logic on a field to show or hide it based on other answers, when all or any of its rules match. A rule compares another field's answer: is, is not, greater than, less than, contains, starts with, ends with, is empty or is not empty.

For example, show a "Company name" field only when "I'm contacting you as" is "A business". A hidden field isn't required and isn't saved. Disfora checks the rules again when the form is submitted, so it doesn't rely on the browser.

After someone submits

Under After submission in Settings, pick one:

  • Show a confirmation message in place of the form. The default is "Thanks — your submission was received."
  • Redirect to a URL, such as a thank-you page.

Settings also has:

  • Entry limit: stop accepting submissions after this many, for example for an event with 50 places.
  • Opens at and Closes at: only accept submissions between these times.
  • Require sign-in to submit: only readers signed in to Disfora can submit.

Spam protection

  • Honeypot spam protection is on by default. It adds a field people can't see. Bots that fill it in are filed under Spam, with no email or webhook.
  • Captcha adds a Cloudflare Turnstile check above the submit button. It uses your own Turnstile keys: create a widget for your domain in your Cloudflare account, paste the site key and secret key into Captcha on your project's Settings page, then turn on Captcha in the form's settings.
  • Disfora also limits how often one visitor can submit.

Email notifications

On the Hobby and Team plans, a form can email you, or anyone else, for each submission. On the free plan you can set notifications up, but they aren't sent. In the Notifications tab, add one and fill in:

  • Send to: an email address, your admin email (the project owner's), or an Email field from the form.
  • Subject and Message, with merge tags from the Insert merge tag menu.
  • Reply-to: set it to the form's Email field, and replying to the notification answers the person who submitted.
  • From name, and Only send when… rules, for example to send sales enquiries to a different address.
Merge tag Becomes
{all_fields} A table of every answer. The default message.
{field:…} One field's answer. Pick the field from the menu.
{form:title} The form's title
{date} When it was submitted
{page_url} The page it was submitted from

Submissions

Each form's submissions page lists new submissions first, with the page each came from. You can mark them read, move them to or from Spam, send the notification emails again, delete them, and Export CSV. The export has one column per field and leaves out spam.

To send submissions to a CRM, a spreadsheet or Zapier, subscribe a webhook to form.submitted. Spam isn't sent.

Forms use your project's colours and font.

Ask a question

Something missing or unclear? Ask here and we'll answer in the thread.

Updated October 2026