- Home
- Apps
- SaaS Tools
- Web-to-Lead Forms & Landing Pages
Illustrative previewEmbeddable JavaScript forms and drag-and-drop landing pages that push inbound web leads straight into ERPNext
with honeypot/reCAPTCHA protection, UTM capture, and rule-based routing. Built, installed, and supported by
ECOSIRE on request.
What is Web-to-Lead Forms & Landing Pages?
Embeddable JavaScript forms and drag-and-drop landing pages that push inbound web leads straight into ERPNext with honeypot/reCAPTCHA protection, UTM capture, and rule-based routing. Built, installed, and supported by ECOSIRE on request. Built to order by ECOSIRE for ERPNext v15, v16 — indicative price from $999.00 USD; request a quote for a scoped proposal.
Key Features
Built to order, done for you
No DIY setup — a working app, built, installed and supported by ECOSIRE.
- 1
You order
Start with a one-time build price. We scope it with you at kickoff.
- 2
We build & install
ECOSIRE builds, configures and installs it on your ERPNext.
- 3
Go live + support
You go live in about one working week, with two weeks of go-live support. Defects in the code we deliver are fixed free of charge.
Technical Specifications
- ERPNext Compatibility
- —
- License
- Licence confirmation required
- Python Requirement
- Python 3.10+
- Database
- MariaDB 10.6+
About this Product
Marketing teams running ERPNext know the gap well: your campaigns generate inbound interest, but the path from a website visitor to a clean, assigned Lead DocType is broken. The native ERPNext Web Form is a serviceable admin tool, but it lives on your Frappe site's domain, offers no embeddable snippet for an external marketing site, has no built-in spam defense beyond basic guest permission checks, and drops UTM parameters and referrer context on the floor. So teams paper over it with Typeform, HubSpot forms, or Google Sheets, then re-key leads into ERPNext by hand — losing attribution, duplicating records, and delaying follow-up past the window where the lead is still warm.
We build a proper Frappe app that closes that gap end to end. The core is a lightweight embeddable JavaScript widget you drop onto any external site (WordPress, Webflow, a static landing page) with a single <script> tag; it renders your configured form, validates client-side, and posts to a @frappe.whitelist(allow_guest=True) method over the Frappe REST API. On the server, a Lead Capture DocType and controller normalize the payload, enforce a honeypot field plus Google reCAPTCHA v3 verification, de-duplicate against existing Lead/Contact records by email or phone, and write a first-class ERPNext Lead with the full UTM set (utm_source, utm_medium, utm_campaign, utm_term, utm_content), landing-page URL, and HTTP referrer stored as custom fields. A hooks.py doc event on Lead after_insert runs your routing rules — round-robin, territory, product interest, or campaign-based assignment — via a server script so hot leads land in the right salesperson's queue instantly, with an Assignment (ToDo) and notification created automatically.
Landing pages are handled by a drag-and-drop builder implemented as a Landing Page DocType with a block-based layout stored as JSON, rendered through Frappe's Jinja website templating so pages are SEO-crawlable, served on your own domain, and version-controlled. Each landing page binds to a form variant so you can A/B test copy and CTAs while every submission still flows into the same governed Lead pipeline. Permissions are wired through Frappe role profiles — marketing users manage forms and pages, sales users see only their assigned leads — and a scheduler event runs a daily digest and retries any deferred reCAPTCHA or webhook failures.
Because this is build-to-order, nothing is a one-size download. We start with a short scoping call to map your form fields, routing logic, reCAPTCHA keys, and the sites you'll embed on, then build against your Frappe/ERPNext v15 or v16 instance. Typical delivery is one working week from confirmed scope. You receive the installable app source, staging UAT, and a git repo handover — ECOSIRE builds it, installs it, and supports it after go-live.
What you get
- Installable Frappe app source code for your version (v15 or v16), pinned to your ERPNext branch
- On-site installation and configuration on your instance — app install, reCAPTCHA keys, routing rules, and embed keys wired up
- Technical documentation: DocType schema, whitelisted endpoints, hooks.py doc events, server/client scripts, and permission model
- User guide plus a live training session for your marketing and sales teams on building forms, landing pages, and reading captured leads
- UAT on a staging site with sign-off, and a documented rollback plan before production cutover
- Post-go-live support window for bug fixes and configuration adjustments
- Git repository handover with full commit history and README for future maintenance
- Embed snippets and starter landing-page templates configured for your live domains
Who this is for
Head of Marketing / Demand Gen
Runs paid and organic campaigns and needs every inbound web lead to land in ERPNext with intact UTM attribution, so pipeline and campaign ROI are measurable without exporting from a third-party form tool.
Sales Operations Manager
Owns lead routing and SLA. Wants deterministic auto-assignment rules on the Lead DocType so hot inquiries reach the right rep in minutes, with de-duplication keeping the pipeline clean.
Marketing Ops / Web Manager
Embeds forms across WordPress, Webflow, and standalone landing pages. Needs a lightweight snippet that works off the Frappe domain, plus spam protection so the Lead table isn't polluted by bots.
ERPNext System Administrator
Responsible for the instance's upgrade path and security. Wants a clean Frappe app with isolated custom fields, scoped role permissions, and a guest endpoint that is validated and rate-limited rather than a bolted-on script.
How Web-to-Lead Forms & Landing Pages Compares
| Criterion | ECOSIRE | Custom Build | Competitor | ERPNext Native |
|---|---|---|---|---|
| Embeddable on external sites | Single-tag JS widget for any external domain | Possible but you build and maintain the widget | Often iframe-only or Frappe-domain-bound | Web Form lives on the Frappe site, no external snippet |
| Spam protection | Honeypot + reCAPTCHA v3 scoring + rate limiting | Whatever you have time to build | Basic or add-on dependent | Guest permission checks only, no bot defense |
| UTM & referrer capture | Full UTM set + landing URL + referrer as custom fields | Manual field and parsing work | Partial, often not mapped to Lead | Not captured |
| Lead routing & assignment | hooks.py after_insert rules + auto ToDo/notify | Server script you author and test | Rarely included | Manual assignment |
| Landing page builder | Drag-and-drop DocType, Jinja-rendered, SEO-crawlable | Build from scratch | Sometimes, quality varies | None |
| De-duplication | Email/phone match before insert | You implement matching logic | Uncommon | Duplicate leads created freely |
| Fit to your process | Scoped to your fields, rules, and sites | Fully bespoke, higher effort | Fixed to the vendor's model | Generic ERPNext defaults |
| Support & handover | Install, docs, training, support window, git repo | Self-supported unless contracted | Vendor tier, may be limited | Community forum only |
Frequently Asked Questions about Web-to-Lead Forms & Landing Pages
How long does delivery take?
This is a build-to-order app, not an instant marketplace download. After a short scoping call to confirm your form fields, routing logic, and target sites, typical delivery is one working week from confirmed scope, including staging UAT before production cutover.
How do updates and support work after go-live?
Every engagement includes a post-go-live support window for bug fixes and configuration tweaks. Because you receive the full git repository and source, your team can maintain it, or ECOSIRE can provide ongoing support and version upgrades under a separate agreement. When you move from ERPNext v15 to v16, we test and adjust the app for the new branch.
Does this work with an external marketing site, or only on my Frappe domain?
Both. The embeddable JavaScript widget is designed to run on any external site — WordPress, Webflow, or a static page — via a single script tag, posting to a guest-whitelisted endpoint on your Frappe instance. The drag-and-drop landing pages are served from your Frappe site's own domain through Jinja website templates for SEO.
How is spam handled?
Two layers: a honeypot decoy field that traps naive bots, and server-side Google reCAPTCHA v3 score verification with a configurable threshold. The guest endpoint is also rate-limited by IP and form, and every submission is validated against a strict field allowlist before a Lead is created.
Which ERPNext versions are supported?
We build against Frappe/ERPNext v15 and v16. The app ships as a proper Frappe app with custom fields delivered as fixtures, so it installs cleanly and survives core upgrades without colliding with the standard Lead DocType.
How do captured leads get assigned to salespeople?
A hooks.py after_insert doc event runs your routing rules through a server script — round-robin, territory, campaign, or product-interest based. It creates a Frappe Assignment (ToDo) and notification so the right rep is alerted immediately, after de-duplication against existing Lead and Contact records.
Can captured leads also flow to another tool?
Yes. We can wire optional outbound webhooks or Frappe REST hooks on insert to mirror leads into a CRM, Slack channel, or marketing-automation platform, with retry handling via a scheduler event if a downstream call fails.
Related Modules

Vietnam E-Invoice Compliance
A build-to-order Frappe app that issues Vietnamese e-invoices straight from ERPNext Sales Invoices, transmitting to your authorised provider and handling invoice codes, tax mapping, rejections and archiving. ECOSIRE builds, installs and supports it on your ERPNext v15/v16 site.

Waiter Ordering App for ERPNext
A handheld tableside ordering app for ERPNext that lets servers fire orders to the kitchen the moment they take them from the floor. ECOSIRE builds, installs, and supports it against your ERPNext v15/v16 instance after we scope it with you.

WhatsApp Business API Provider Connector (BSP Hub)
A build-to-order Frappe app that plugs ERPNext into any WhatsApp Business Solution Provider — 360dialog, Gupshup, WATI, Interakt, or Twilio — behind one unified send/receive layer, so switching providers or supporting clients on different BSPs never means rewriting your integration. ECOSIRE builds, installs, and supports it after we agree scope.

WhatsApp Cloud API Suite for ERPNext
A native Frappe app that connects ERPNext directly to the Meta WhatsApp Cloud API for two-way conversations, template management, DocType-event notifications and bulk campaigns. ECOSIRE builds it to your confirmed scope, installs it, and supports it after go-live.
Web-to-Lead Forms & Landing Pages
Embeddable JavaScript forms and drag-and-drop landing pages that push inbound web leads straight into ERPNext with honeypot/reCAPTCHA protection, UTM capture, and rule-based routing. Built, installed, and supported by ECOSIRE on request.
- Embeddable JavaScript widget served from your Frappe site, dropped onto any external page with a single script tag and a form key — no iframe lock-in
- Guest-facing submission endpoint via `@frappe.whitelist(allow_guest=True)` with strict payload validation and field allowlisting to prevent parameter injection into the Lead DocType
- Honeypot decoy field plus server-side Google reCAPTCHA v3 score verification, with a configurable score threshold and silent rejection of bot submissions
- Full UTM and attribution capture — `utm_source/medium/campaign/term/content`, first landing URL, and HTTP referrer persisted as custom fields on the Lead