to select ↑↓ to navigate
Frappe Framework

Frappe Framework

Open in ChatGPT
Ask ChatGPT about this page
Open in Claude
Ask Claude about this page

Web Forms

Web Forms

A Web Form exposes any DocType as a public-facing form on your portal. Use for contact forms, job applications, customer signups, support tickets — anywhere external users need to submit data.

Creating one

Web Form → New:

Field Notes
Title The form's heading
Route URL path (e.g., contact-us/contact-us)
DocType Which DocType receives the submission (e.g., Lead, Contact, Job Applicant)
Login Required Toggle — anonymous submission vs requires login
Apply Document Permissions If logged-in: respect normal DocType permissions on the user
Allow Multiple Responses Same logged-in user can submit more than once
Allow Edit Logged-in users can edit their own previous submissions

Picking fields

Web Form Fields child table — add each field from the target DocType you want exposed. For each:

  • Fieldname (matches DocType field)
  • Fieldtype (auto-detected; can override)
  • Label (what users see; defaults to DocType label)
  • Mandatory (required to submit)
  • Read Only (visible but not editable — for prefilled values)
  • Hidden (kept out of the form; submitted as default)

Only the fields you add show on the form. Other DocType fields take their default values on submit.

Public vs portal

  • Login Required = No — anyone can submit. URL works for anonymous visitors. Use for marketing forms (Contact, Newsletter signup).
  • Login Required = Yes — only authenticated users (Website User type counts). Use for customer-portal forms (Support Ticket, Order Comment).

After-submit behaviour

Success Message — the HTML / text shown after successful submit. Success URL — alternatively, redirect to another page (e.g., a thank-you landing page).

Multi-step forms

Toggle Is Multi Step to break a long form into pages. Group fields with Page Break field type. Users navigate Previous / Next; the form only submits at the end.

Embedding on another page

The Web Form URL is a normal portal page — link to it from your marketing site, embed in an <iframe>, or link from email.

Spam / abuse

  • CAPTCHA — toggle in Web Form Settings; uses reCAPTCHA (configure key in System Settings)
  • Rate limit — Frappe applies per-IP throttling on anonymous submissions
  • Field validation — built-in Email, URL, Phone validators are picked up automatically

Examples

  • Contact form → DocType: Lead, fields: Name + Email + Phone + Message, anonymous
  • Job application → DocType: Job Applicant, fields: CV + cover letter + position picker, anonymous
  • Customer support ticket → DocType: HD Ticket, login required, prefills Customer from session
  • For more complex landing pages (with marketing layout), use Web Pages or the Builder app
  • For sending forms via Email, see Email Template
Last updated 3 days ago
Was this helpful?
Thanks!