Docs

Form

Contact and lead forms with any fields, email notifications, integrations and spam protection.

On this page

The Form widget adds a form to any page: a contact form, a quote request, a newsletter sign-up or a multi-step questionnaire. You choose the fields, and Urmi checks every submission on the server, saves it under Urmi → Submissions, emails you and, if you like, sends it on to a newsletter service, Slack, Discord or a webhook. Spam protection is built in.

This page is an overview of the widget and all its settings. The Forms section explains each part step by step.

A form titled Tell us about your project with Name and Email fields side by side, Project type and Budget dropdowns, a Message box, a consent checkbox and a Send enquiry button
A Form with half-width fields, two dropdowns, a message box and a consent checkbox.

Add a Form

Open Insert in the left panel and find Form in the Forms group, or type "form" in the search box. Drag it onto the canvas, or click it to add it next to the selected element. See Add elements.

A new form has a name, email and message field and sends notifications to the site admin email. Give it a Form name, such as "Contact form": you see this name in the submissions list and in notification emails.

The Form settings with the Form fields section open, listing the fields Name, Email, Project type, Budget, Message and Consent with Add item below
The Form fields section of the Content tab.

What you can do with a form

Content tab settings

Content tab · Form fields
SettingWhat it does
Form nameShown in submissions and notification emails. Default: Contact form.
FieldsThe list of fields. Click Add item to add one; drag the handle to reorder.
Type (each field)Text, Email, Phone, URL, Number, Textarea, Select, Radio buttons, Checkboxes, Acceptance (consent), Date, Hidden, File upload or — Step break — (starts the next step of a multi-step form). Default: Text.
Label (each field)The field's label.
Field ID (each field)Letters, numbers and underscores. Used as [field_id] in emails and as the key in webhooks. Empty: made from the label.
Placeholder (each field)Hint text inside the field.
Required (each field)The form cannot be sent without this field.
Options (each field)For select, radio and checkbox fields: one option per line. Use Label|value to store a different value.
Options side by side (each field)Puts radio and checkbox options in a row.
Consent text (each field)The text next to an acceptance checkbox; links are allowed. Empty: the label.
Default value (each field)A value filled in in advance. For checkboxes, separate several values with commas.
Minimum, Maximum (each field)Limits for number fields.
Rows (each field)The height of a textarea, in lines (2–30). Default: 4.
Allowed file types (each field)Comma-separated extensions for file uploads. Default: pdf,jpg,jpeg,png. Only types WordPress allows are accepted; scripts and SVG never are.
Max file size (MB) (each field)1–20. Default: 2.
Autofill (each field)Tells browsers what the field is for (name, email, phone, address…), so visitors can fill it in automatically.
Help text (each field)A short hint under the field.
Show only if field (each field)The Field ID of another field. This field stays hidden, and not required, unless the other one matches the Condition (is, is not, contains, is filled in or is empty) and Value.
Column width (each field)100%, 75%, 66%, 50%, 33% or 25% of the row. Default: 100%. Fields stack full width on phones unless you set a mobile width.
Show labelsShows the field labels. Hidden labels stay available to screen readers. On by default.
Required mark (*)Shows an asterisk after required labels. On by default.
ProgressFor multi-step forms: Bar with step name, Numbered steps or None. Default: Bar with step name.
Next button, Back buttonThe labels of the step buttons. Default: Next, Back.
Content tab · Submit button
SettingWhat it does
TextThe button label. Default: Send message.
IconAn optional icon in the button.
Icon positionBefore or After the text. Default: After. Shown when there is an icon.
StylePrimary, Secondary, Outline or Ghost, from your Design System. Default: Primary.
SizeS, M, L or XL. Default: M.
Column widthThe width of the button's cell. For example, an email field at 66% and the button at 33% make a one-line newsletter form. Can differ per device.
AlignmentLeft, Center, Right or Full width. Can differ per device.
Content tab · Messages
SettingWhat it does
Success messageShown after a successful submission.
Error messageShown when the form could not be sent.
Required field messageShown under an empty required field. Default: This field is required.
Content tab · Actions after submit
SettingWhat it does
Save submissionsKeeps each submission under Urmi → Submissions. On by default.
Email notificationEmails each submission. On by default.
Send toThe addresses to notify, separated by commas. Empty: the site admin email.
SubjectDefault: New submission: [form_name]. Placeholders: [form_name], [site_name], [field_id].
Reply-to fieldThe Field ID that holds the visitor's email, so you can answer with Reply. Empty: the first email field.
From nameThe sender name. Empty: the site title.
Email contentAll fields or Custom template. Default: All fields.
TemplateThe email body for a custom template. Placeholders: [field_id], [all-fields], [form_name], [page_url], [site_name].
FormatHTML or Plain text. Default: HTML.
Redirect after successAn optional page to open after a successful submission.
Webhook URLOptional. Each submission is sent here as JSON (https only).
Slack webhookOptional. Posts each submission to a Slack channel (incoming webhook URL).
Discord webhookOptional. Posts each submission to a Discord channel.

These settings stay on the server: they are never printed on the page. See Actions after submit.

Content tab · Auto-reply email
SettingWhat it does
Email the visitor a confirmationSends a confirmation to the address the visitor typed.
Email fieldThe Field ID that holds the visitor's email. Empty: the first email field.
SubjectDefault: Thanks for getting in touch with [site_name].
MessageThe email text. Placeholders: [field_id], [all-fields], [form_name], [site_name].
From nameThe sender name. Empty: the site title.
Reply-to addressWhere replies to the confirmation go.
Content tab · Newsletter
SettingWhat it does
Add to a mailing listSends the visitor to a newsletter service. Connect the service in Urmi → Settings → Forms first.
ServiceMailchimp, MailerLite, Brevo or ActiveCampaign. Default: Mailchimp.
List / group / audience IDMailchimp: audience ID. MailerLite: group ID. Brevo and ActiveCampaign: list number.
Email fieldEmpty: the first email field.
Name fieldThe Field ID of the name.
Consent checkbox fieldOptional. When set, only visitors who tick this field are added.
Double opt-in (Mailchimp)New subscribers confirm by email first.

See Newsletter sign-ups.

Content tab · Spam protection
SettingWhat it does
Minimum fill time (seconds)Faster submissions are treated as spam (0–60). Default: 3. 0 turns the check off.
Block links in messagesRejects text and textarea answers that contain links.
CAPTCHAAdds the CAPTCHA set up in Urmi → Settings → Forms.
Allow file uploadsFile upload fields only work when this is on. Files are stored privately and linked in the notification email.

A hidden honeypot field, a signed timestamp and a per-visitor limit on submissions are always on. See Spam protection.

Design tab settings

Design tab
SectionSettings
FormColumn gap, Row gap.
LabelsColor, Typography, Space below, Required mark color, Option text color and Option typography (radio and checkbox options), Help text color, Help text typography.
FieldsTypography. Text color, Placeholder color, Background, Border and Shadow on the Normal tab; Background and Focus color on the Focus tab. Border radius, Padding, Checkbox & radio color.
ButtonTypography. Text color, Background, Border and Shadow on the Normal tab; Text color, Background and Border color on the Hover tab. Border radius, Padding.
MessagesTypography, Success color, Success background, Error color (also used for field errors and invalid field borders), Error background, Field error typography.

The Design tab also has the sections every element shares: Spacing & position, Background & border and Mask. See Spacing, size & position.

Behaviour tab

The Behaviour tab has the settings every element shares: anchor and classes, entrance animations, motion effects, visibility per device, display conditions and interactions. See Display conditions.

Tips

  • Send a test submission from the published page before you share it, and check that the notification email arrives. If it does not, your site may need an SMTP plugin to send email reliably.
  • Ask only for what you need. Every extra field lowers the number of people who finish the form.
  • If you collect personal data, add an Acceptance (consent) field that links to your privacy policy. See Privacy.