Zeyora Documentation

Web-to-lead form creation and website integration

Learn how to connect website forms, landing pages and campaign enquiries to Zeyora CRM leads.

Web-to-lead integration overview

Web-to-lead means a website enquiry becomes a Zeyora CRM lead automatically. This is the most common integration for company websites, landing pages, paid campaigns, partner pages and product enquiry forms.

Option 1: drag-and-drop form builder in Settings

The easiest way to publish a web-to-lead form is to use the built-in drag-and-drop builder inside Zeyora. Go to Settings, open Web to Lead, create a new form, then open the form builder screen. The builder gives you three working areas: Form Builder, Form Information & Setup and Integration Code.

Use the builder when you want Zeyora to host the form, validate submissions and create leads without a custom backend integration. This is the recommended path for most marketing websites and landing pages.

How to create a builder form

  1. Create the form from Settings → Web to Lead.
  2. Enter the form name, submit button text and success message.
  3. Select the default lead source, optional sub-source, lead status and responsible assignee.
  4. Select the users who should receive new lead notifications.
  5. Open Form Builder and drag the required lead fields into the form layout.
  6. Save the form layout, then open Integration Code and copy the embed code into the website.

Fields available in the builder

The builder uses Zeyora lead fields such as Name, Position, Email Address, Phone, Company, Address, City, State, Country, Zip Code, Description and Website. It also allows content blocks such as header, paragraph and file upload where enabled. The field names are locked so the public form maps cleanly back into the CRM lead record.

Embed code and campaign tracking

The integration tab gives a public form URL such as /forms/wtl/{form_key} and an iframe embed script. The embed script preserves UTM parameters from the visitor URL, stores them locally and passes them into the Zeyora form, so enquiries from Google Ads, social campaigns and landing pages can keep their campaign context.

<div id="zeyora-wtl-form-container"></div>

<script>
const baseURL = "https://your-zeyora-domain.com/forms/wtl/FORM_KEY";
const iframe = document.createElement("iframe");
iframe.src = baseURL + "?utm_source=" + encodeURIComponent(localStorage.getItem("utm_source") || "");
iframe.width = "100%";
iframe.height = "600";
iframe.style.border = "none";
document.getElementById("zeyora-wtl-form-container").appendChild(iframe);
</script>

What Zeyora handles for builder forms

  • Creates the submitted enquiry as a CRM lead with the configured source, sub-source, status and assignee.
  • Stores campaign fields such as utm_source, utm_medium, utm_campaign, utm_term and utm_content.
  • Checks required fields configured in the form builder.
  • Uses reCAPTCHA, honeypot checks, rate limiting and duplicate detection to reduce spam submissions.
  • Sends notifications to selected users and triggers assigned lead notifications.
  • Shows the configured success message or redirects to the configured success URL after submission.

Recommended lead fields

FieldPurpose
lead_nameName of the person submitting the enquiry.
companyCompany or organization name.
emailEmail address for follow-up.
phonePhone or mobile number. Include country code where possible.
lead_sourceSource configured inside Zeyora, such as Website, Google Ads or Referral.
lead_sub_sourceOptional campaign, page, partner or form source.
service_idService or module the customer is interested in.
descriptionThe visitor message or requirement.

Option 2: server-side API approach

Use the API approach when the website already has its own form backend, custom validation, multi-step enquiry flow or third-party form system. For production websites, send the form to your own server first, validate it, then forward it to Zeyora. Do not expose the API secret inside browser JavaScript.

POST https://your-zeyora-domain.com/api/insert_lead
Content-Type: application/x-www-form-urlencoded

data={
  "connection": {
    "api_key": "YOUR_API_KEY",
    "api_secret": "YOUR_API_SECRET"
  },
  "lead_data": {
    "lead_name": "Aisha Khan",
    "company": "Example Trading LLC",
    "email": "aisha@example.com",
    "phone": "+971501234567",
    "lead_source": "Website",
    "lead_sub_source": "Contact page",
    "service": "CRM Implementation",
    "description": "We want to discuss CRM and quotation workflow."
  }
}

What happens after submission

The API stores the submitted JSON and queues it for processing. A successful queue response usually says that data was inserted successfully and the system is processing it. Your website should show a friendly thank-you message, while your integration logs the Zeyora response for debugging.

Best practices

  • Validate required fields before sending data to Zeyora.
  • Use a hidden source or sub-source field for each form location.
  • Protect forms with spam prevention and rate limiting.
  • Store the original page URL and campaign parameters in the description or custom fields.
  • Keep API credentials server-side only.