SalesOS.

Web Forms & Lead Capture

Build embeddable web forms that capture leads directly into your CRM with validation and routing.

Overview

Web Forms in SalesOS let you build, customize, and embed lead capture forms on your website, landing pages, and marketing campaigns. Every submission flows directly into your CRM as a new lead (or updates an existing record), with automatic field mapping, validation, assignment routing, and confirmation actions — all without writing code.

Whether you need a simple contact form, a gated content download, a demo request page, or a multi-step qualification questionnaire, the SalesOS form builder provides the flexibility to create forms that match your brand and feed your pipeline.

Form Builder

Navigate to Marketing > Web Forms and click Create Form to open the form builder.

Drag-and-Drop Interface

The form builder uses a visual drag-and-drop interface:

  • Left panel — available field types organized by category
  • Center canvas — your form layout with live preview
  • Right panel — properties for the selected field (label, placeholder, validation, mapping)

Drag fields from the left panel onto the canvas to add them. Reorder fields by dragging them up or down. Click any field to configure its properties in the right panel.

Form Settings

At the form level, configure:

  • Form name — internal identifier for reporting and management
  • Form title — displayed heading above the form (optional)
  • Description — introductory text shown below the title (optional)
  • Submit button text — customize the button label (default: "Submit")
  • Layout — single column, two column, or inline
  • Progressive profiling — show different fields on subsequent visits based on what you already know about the visitor

Field Types

SalesOS supports a comprehensive set of field types to capture any information you need:

Field TypeDescriptionUse Cases
Text (Single Line)Short text inputName, company, job title
Text (Multi Line)Textarea for longer responsesMessage, project description
EmailEmail input with format validationWork email, personal email
PhonePhone input with international formattingWork phone, mobile
NumberNumeric input with min/maxBudget, team size, revenue
DropdownSingle-select from predefined optionsCountry, industry, role
Multi-SelectChoose multiple optionsInterests, products, challenges
CheckboxSingle yes/no toggleConsent, newsletter opt-in
Checkbox GroupMultiple checkboxesFeatures of interest
Radio ButtonsSingle-select with all options visibleCompany size range, timeline
DateDate pickerPreferred contact date, project start
File UploadFile attachment (configurable types/size)Resume, RFP document, logo
HiddenInvisible field with preset valueUTM parameters, campaign ID, source
URLWebsite URL input with format validationCompany website, LinkedIn profile
ParagraphNon-input display textInstructions, disclaimers, section headers
RatingStar or numeric scaleInterest level, priority
CountryPre-populated country selectorBilling country, shipping country

Field Properties

Each field supports the following properties:

  • Label — the text shown above the field
  • Placeholder — ghost text inside the field
  • Help text — small description below the field
  • Required — whether the field must be filled
  • Default value — pre-filled value (static or dynamic)
  • CRM field mapping — which Lead/Contact field receives this data
  • Conditional visibility — show/hide based on other field values
  • Width — full width or half width (for two-column layouts)

Styling and Branding

Built-In Themes

Choose from pre-built themes that adjust colors, fonts, border radius, and spacing:

  • Minimal — clean lines, subtle borders, maximum white space
  • Modern — rounded inputs, shadow effects, contemporary feel
  • Bold — strong colors, larger fonts, high-contrast buttons
  • Classic — traditional form styling with clear field boundaries
  • Dark — dark background theme for sites with dark aesthetics

Custom Styling

For precise brand alignment, customize every visual aspect:

ElementCustomizable Properties
BackgroundColor, image, opacity
Form containerBorder, border-radius, shadow, padding
LabelsFont family, size, weight, color
InputsBackground, border, border-radius, focus state color
ButtonBackground, text color, hover state, border-radius, padding
Error messagesColor, font size, icon
Help textColor, font size, style
Success messageBackground, text color, icon

Custom CSS

For advanced customization, inject custom CSS that targets form elements. This is useful for matching complex brand guidelines or applying animations:

/* Example: Custom focus state */
.salesos-form input:focus {
  border-color: #EAD07D;
  box-shadow: 0 0 0 3px rgba(234, 208, 125, 0.2);
}

/* Example: Custom button gradient */
.salesos-form button[type="submit"] {
  background: linear-gradient(135deg, #1A1A1A, #333);
}

Responsive Design

All forms are fully responsive by default. The builder includes a device preview toggle (desktop, tablet, mobile) so you can verify appearance across screen sizes before publishing.

Embedding Options

SalesOS provides multiple embedding methods to suit different technical environments:

HTML Snippet

Copy a lightweight HTML snippet and paste it into any webpage. The snippet loads the form asynchronously and renders it inline:

<div id="salesos-form-abc123"></div>
<script src="https://forms.salesos.org/embed.js" 
        data-form-id="abc123" 
        async></script>

JavaScript Widget

For more control, use the JavaScript API to programmatically load and configure forms:

SalesOSForms.render({
  formId: 'abc123',
  container: '#my-form-container',
  prefill: {
    email: user.email,
    company: user.company
  },
  onSubmit: function(data) {
    // Custom post-submission logic
    analytics.track('form_submitted', data);
  }
});

iFrame Embed

For environments where script injection is restricted (some CMS platforms, email), use an iframe:

<iframe 
  src="https://forms.salesos.org/f/abc123" 
  width="100%" 
  height="600" 
  frameborder="0">
</iframe>

The iframe automatically resizes to fit content when the parent page includes the SalesOS resize helper script.

WordPress Plugin

Install the SalesOS WordPress plugin to embed forms via shortcode or Gutenberg block:

  • Shortcode: [salesos_form id="abc123"]
  • Gutenberg block: search "SalesOS Form" in the block inserter, select your form from the dropdown

Landing Page Builder Integration

SalesOS forms integrate natively with popular landing page tools:

  • Unbounce (drag-and-drop component)
  • Instapage (custom HTML widget)
  • Webflow (embed element)
  • Squarespace (code block)

Submission Handling

Create Lead

By default, each form submission creates a new Lead record in SalesOS with fields mapped according to your configuration. The lead includes:

  • All mapped field values
  • Source information (form name, page URL, referrer)
  • UTM parameters (if captured via hidden fields)
  • Submission timestamp
  • IP-based geolocation (country, region, city)
  • Device and browser information

Update Existing Records

When a submission matches an existing record (matched by email address), you can configure the form to:

  • Always create new — create a duplicate lead regardless of matches
  • Update existing lead — overwrite mapped fields on the matched lead
  • Update existing contact — update the matched contact record
  • Create activity on match — log a form submission activity without modifying fields
  • Smart merge — update only fields that are currently empty on the matched record

Deduplication Rules

Configure matching logic:

  • Match on email (default)
  • Match on email + company name
  • Match on phone number
  • Match on custom field (e.g., external ID)
  • Match on domain (for account-level deduplication)

Field Mapping

Field mapping connects form fields to CRM record fields. The mapping interface shows:

Form FieldCRM ObjectCRM FieldTransform
Full NameLeadfirstName + lastNameAuto-split on space
Work EmailLeademailLowercase, trim
CompanyLeadcompanyNameTitle case
PhoneLeadphoneFormat to E.164
IndustryLeadindustryMap to picklist value
MessageLeaddescriptionNone
UTM Source (hidden)LeadsourceNone
UTM Campaign (hidden)LeadcampaignNone

Transform Functions

Apply transformations during mapping:

  • Lowercase — normalize email addresses
  • Title case — capitalize company and contact names
  • Phone format — convert to international format
  • Name split — split "Full Name" into first and last
  • Value mapping — map form option labels to CRM picklist values
  • Concatenation — combine multiple form fields into one CRM field
  • Date format — convert date formats between systems

Validation Rules

Built-In Validation

  • Required fields — prevent submission with empty required fields
  • Email format — validate standard email format ([email protected])
  • Phone format — validate phone number structure
  • URL format — ensure valid URL with protocol
  • Number range — enforce minimum and maximum values
  • Character limits — set min/max character count for text fields
  • File size — limit upload file size (default: 10MB)
  • File type — restrict uploads to specific extensions (pdf, doc, png, etc.)

Custom Validation

Create custom validation rules using:

  • Regex patterns — validate against any regular expression
  • Domain allowlist/blocklist — accept only corporate emails, block free providers (gmail, yahoo)
  • Country restrictions — limit submissions to specific countries
  • Honeypot fields — invisible fields that catch bot submissions
  • Submission rate limiting — maximum submissions per IP per time window

CAPTCHA

Enable CAPTCHA to prevent automated spam submissions:

  • reCAPTCHA v2 — checkbox "I'm not a robot"
  • reCAPTCHA v3 — invisible scoring (no user interaction)
  • hCaptcha — privacy-focused alternative
  • Custom challenge — simple math or logic question

Auto-Assignment

Route new leads to the right rep automatically based on form submission data:

Assignment Rules

Rule TypeExample
Round-robinDistribute equally among team members
GeographicRoute by country or region field
Company sizeRoute enterprise leads to senior reps
IndustryRoute healthcare leads to vertical specialist
Product interestRoute by selected product/service
Named accountRoute to existing account owner if company matches
Capacity-basedRoute to rep with fewest open leads
Score-basedRoute high-score leads to top performers

Assignment Workflow

  1. Submission received and lead created
  2. Assignment rules evaluated in priority order
  3. First matching rule determines assignee
  4. Lead assigned to rep (or queue if rep unavailable)
  5. Assignment notification sent to rep
  6. SLA clock starts for response time tracking

Confirmation Actions

Configure what happens after a successful submission:

Thank You Page

Display an inline thank you message that replaces the form. Customize the heading, body text, and include additional CTAs (download link, calendar booking, social links).

Redirect

Send the visitor to a specific URL after submission. Useful for:

  • Dedicated thank you pages with conversion tracking pixels
  • Gated content download pages
  • Calendar booking links (Calendly, SalesOS Smart Scheduler)
  • Next step in a multi-form workflow

Autoresponder Email

Automatically send a confirmation email to the submitter:

  • Customizable subject line and body
  • Merge fields from the submission (name, company)
  • Attach documents (whitepapers, guides)
  • Include calendar links or meeting booking CTAs
  • Delay option (send immediately or after N minutes)

Internal Notifications

Alert your team when a form is submitted:

  • Email to the assigned rep
  • Slack message to a channel or DM
  • In-app notification
  • SMS for high-value submissions (e.g., enterprise demo requests)

Webhook

Fire a webhook to external systems on submission:

  • Push data to marketing automation platforms
  • Trigger workflows in Zapier or Make
  • Log events in analytics platforms
  • Sync to external databases

Form Analytics

Track form performance in Marketing > Web Forms > Analytics:

Key Metrics

MetricDescription
ViewsNumber of times the form was loaded/displayed
StartsVisitors who interacted with at least one field
SubmissionsSuccessfully completed submissions
Conversion RateSubmissions / Views (percentage)
Drop-off RateStarts that did not complete (percentage)
Average Completion TimeTime from first interaction to submission
Error RateSubmissions that triggered validation errors

Field-Level Analytics

Identify problematic fields:

  • Drop-off by field — which field causes the most abandonment
  • Error by field — which field triggers the most validation errors
  • Time per field — which fields take the longest to complete
  • Skip rate — how often optional fields are left empty

Source Tracking

See where your form submissions originate:

  • Page URL where the form is embedded
  • Referrer (organic, paid, social, direct)
  • UTM parameters
  • Device type (desktop, mobile, tablet)
  • Geographic region

A/B Testing

Test variations of your forms to optimize conversion rates:

What You Can Test

  • Form length — short (3 fields) vs long (8 fields)
  • Field order — email first vs name first
  • Button text — "Submit" vs "Get Started" vs "Download Now"
  • Layout — single column vs two column
  • Design — minimal vs bold theme
  • CAPTCHA — with vs without (measuring spam vs conversion trade-off)
  • Progressive profiling — all fields at once vs revealed over multiple visits

Running a Test

  1. Select an existing form and click Create Variant
  2. Modify the variant (change fields, styling, copy)
  3. Set traffic split (50/50 by default, adjustable)
  4. Define the success metric (submission rate, qualified lead rate)
  5. Set minimum sample size and test duration
  6. Launch the test

Interpreting Results

The A/B test dashboard shows:

  • Conversion rate per variant with confidence interval
  • Statistical significance indicator (requires 95% confidence)
  • Projected annual impact (additional leads if winner is deployed)
  • Recommendation to declare winner or continue testing

Multi-Step Forms

For longer qualification flows, break forms into multiple steps:

  • Each step shows a subset of fields with a progress indicator
  • Partial submissions are saved so you capture data even if the visitor abandons
  • Conditional logic can skip steps based on previous answers
  • Back navigation allows visitors to review and edit earlier steps

Best Practices

  • Keep forms as short as possible. Every additional field reduces conversion rate. Ask only what you need to route and qualify the lead; enrich the rest later.
  • Put the lowest-friction field first. Starting with email or first name creates momentum; starting with "budget" or "phone" creates hesitation.
  • Use hidden fields for tracking. Capture UTM parameters, page URL, and campaign IDs in hidden fields so you never lose attribution context.
  • Block free email providers for B2B. If you sell to businesses, require corporate email addresses to reduce unqualified submissions.
  • Enable progressive profiling for return visitors. Do not ask for information you already have. Show new questions to build a richer profile over time.
  • Test your forms on mobile. Over 40% of form submissions happen on mobile devices. Verify that your form is usable on small screens.
  • Set up autoresponders. Immediate acknowledgment builds trust and sets expectations for next steps. Even a simple "we received your request" improves the experience.
  • Monitor field-level analytics monthly. If a specific field has a high drop-off rate, consider making it optional, rewording the label, or removing it entirely.
  • Use conditional logic to personalize. Show relevant follow-up questions based on earlier answers. A prospect who selects "Enterprise" should see different fields than one who selects "Startup."
  • Implement CAPTCHA thoughtfully. Invisible reCAPTCHA v3 provides protection without adding friction. Reserve visible challenges for forms that experience heavy spam.
  • Run A/B tests continuously. Even small improvements in conversion rate compound over time. Always have at least one form test running.
  • Align confirmation actions with intent. A demo request form should redirect to a calendar booking page; a whitepaper download form should deliver the PDF immediately.