Skip to content
DocumentationDashboard
Browse guides · Lead capture
DocsStart hereLead capture

Lead capture

Connect existing forms and preserve the answers your customers submit.

Send a form submission

After your form validates and the tracker is loaded, pass the answers to the existing browser API, window.Pulse.submitLead. The API name remains Pulse for compatibility with installed websites. Use a stable form key to identify the source form.

if (!window.Pulse) throw new Error("Tracker has not loaded yet");
const response = await window.Pulse.submitLead({
  name: "Test enquiry",
  email: "[email protected]",
  message: "Please send a quote",
  form: "quote-request",
  budget: 5000,
  service: "Website",
  preferred_date: "2026-11-15"
});
if (!response.ok) {
  throw new Error("Could not save your enquiry. Please try again.");
}
// Show success only after the server accepts the submission.

The tracker attaches the current page, session and available attribution. Keep your existing validation and error handling; a network error or rejected response must not clear the form or show success. Custom answers are passed as top-level fields, as in this example.

Define the questions in your CRM

In Leads, configure a named form with the same key, then add its field keys, readable labels, types and summary fields. For quote-request, budget could be a number, service a select field, and preferred_date a date. See CRM workflow for the configuration API.

Supported field types are text, textarea, number, email, phone, url, date, select and boolean. A number field with an explicit currency label can represent a budget; currency is not a separate field type. Continue to validate your website form before submitting it.

Each submission keeps a snapshot of the field definitions available when it arrives, alongside its answers. Renaming a question later does not rename it on earlier submissions. Older leads without a definition remain readable.

Existing forms and unconfigured fields

You can send enquiries before defining a form. Unknown custom fields are retained within the collector limits: up to 25 fields, with bounded keys and values. Avoid sending passwords, payment card data or other secrets. First-class contact values belong in name, email, phone and message.

Contact taps and intent

Phone, email and WhatsApp taps appear in Contacts, separately from Leads. Identify the person by adding a name and phone number or email, then choose Convert to lead. The original visit remains linked. They record that an action was taken; they do not prove a call connected or reveal the visitor’s own phone number. The phone or email target belongs to the link they clicked. A form_submit interaction also does not contain the form’s answers; use submitLead for those.

Check the full path

Submit one labelled test enquiry, find it in Leads, check its form and answers, then move it to Contacted and add a note. Alert delivery also requires an alert address in Site settings and working SMTP on the server. Attribution is based on the available referrer, campaign parameters and first-party cookies; blockers and missing context can limit it.

Install Zowar

Keep your workspace one tap away on your home screen.

iPhone or iPad
Open Zowar in Safari. Tap Share, then Add to Home Screen. Keep Open as Web App enabled if shown, then tap Add.

Android
Open the browser menu and choose Install app or Add to Home screen.

On your computer
Use your browser’s install option in the address bar or menu. In Safari, choose File → Add to Dock.

You’ll need an internet connection to view and update your workspace.