← Back to Blog
How to Integrate Zoho CRM with Your Website — Complete Guide 2026
Zoho CRMWebsiteLead CaptureIntegration

How to Integrate Zoho CRM with Your Website — Complete Guide 2026

28 September 2026·12 min read·VoltVave Team
// ShareXLinkedIn

Every form submission on your website that doesn't land in your CRM is a lead you're manually chasing — or losing. This guide covers all the methods to connect your website to Zoho CRM, from the no-code Web-to-Lead form to a full custom API integration, along with field mapping, lead assignment rules, and spam filtering for each approach.

There are six distinct methods, and the right one depends on your website platform, your technical capability, and how much control you need over the data flowing into CRM. Start with the method that fits your current setup — you can always upgrade later.


Method 1 — Zoho CRM Web-to-Lead Form (Native, No-Code)

This is the fastest way to get leads from your website into Zoho CRM. Zoho generates an HTML form snippet you paste into your site.

How to generate the form:

  1. In Zoho CRM, go to Setup → Developer Space → Webforms
  2. Click Create New Form
  3. Select the module: Leads (or Contacts, if you want to capture contacts directly)
  4. Drag the fields you want to collect onto the form canvas — First Name, Last Name, Email, Phone, Company, and a custom field like "Source" or "Service Interest"
  5. Under Form Details, set the Lead Owner — you can assign to a specific user, round-robin across a team, or use territory-based assignment
  6. Under Spam Control, enable Captcha (Google reCAPTCHA v2 or v3 supported)
  7. Click Get Code — Zoho generates an HTML <form> snippet with a hidden token

Paste this into your site. On WordPress, use a custom HTML block or your theme's custom code section. On Webflow, use an embed block. On plain HTML sites, paste it directly.

What the hidden token does: The form submission goes to crm.zoho.com/crm/WebToLeadForm with your org's unique token. Zoho validates the token and creates the lead. If the token is missing or tampered with, the submission is rejected.

Limitations:

  • The form's visual styling is minimal out of the box — you'll need custom CSS to match your site design
  • No conditional logic (show/hide fields based on previous answers)
  • Limited to creating records in one module per form

Method 2 — Zoho Forms Embed

Zoho Forms is a dedicated form builder with more design control and logic than Web-to-Lead. Every form connects natively to Zoho CRM — no code required for the CRM integration part.

When to use Zoho Forms over Web-to-Lead:

  • You need multi-page forms
  • You need conditional fields (show "Budget" field only if "Company Size" > 10)
  • You want a polished, mobile-responsive form design
  • You need file upload fields (e.g., upload a project brief)

Setup:

  1. Go to forms.zoho.com → New Form
  2. Build your form with the drag-and-drop builder
  3. Go to Integrations → Zoho CRM
  4. Authenticate with your CRM account
  5. Map each Zoho Forms field to the corresponding Zoho CRM field — this is explicit, one-to-one mapping
  6. Set the module (Leads, Contacts, or Deals), and configure the lead owner assignment
  7. In Embed, copy the iframe embed code or the JavaScript embed snippet

Field mapping example:

| Zoho Forms Field | Zoho CRM Field | Module | |---|---|---| | First Name | First Name | Leads | | Last Name | Last Name | Leads | | Email | Email | Leads | | Phone | Mobile | Leads | | Company | Company | Leads | | Message | Description | Leads | | Service Interest (dropdown) | Lead Source (picklist) | Leads |

Duplicate handling: In the Zoho Forms → CRM integration settings, enable Check for Duplicates. Set the duplicate check field to Email. If a lead with the same email exists, Zoho CRM will update the existing record instead of creating a duplicate.


Method 3 — Zoho SalesIQ Live Chat

SalesIQ is Zoho's live chat and visitor intelligence tool. When a visitor starts a chat or submits a chat form, SalesIQ can automatically create a Lead or Contact in Zoho CRM.

What SalesIQ captures without any form fill:

  • Page the visitor is on when they initiate chat
  • Referring URL (UTM parameters if present)
  • Approximate location (country, city from IP)
  • Return visitor status

Setup:

  1. In Zoho SalesIQ, go to Settings → Integrations → Zoho CRM
  2. Enable the integration and authenticate
  3. Configure Visitor Tracking — decide whether all website visitors create a CRM Lead (not recommended — too noisy) or only chat initiators
  4. Set Lead Creation Trigger to: "When a visitor initiates a chat"
  5. Map the chat data fields to CRM fields: Visitor Name → First Name + Last Name, Email → Email, Phone → Phone
  6. Under Chat Assignment, configure which CRM user owns leads from SalesIQ chats

Chat-to-Lead automation (Zoho CRM workflow):

After a chat ends, you can trigger a Zoho CRM workflow to:

  • Send an automated follow-up email to the lead
  • Create a task for the assigned rep to call back within 24 hours
  • Tag the lead with "SalesIQ Chat" for segmentation

SalesIQ also shows you which CRM leads are currently on your website — this is visible in the SalesIQ Visitor Tracking dashboard. If a known lead is browsing your pricing page, the assigned rep gets a notification.


Method 4 — WordPress Plugin (Zoho CRM for WordPress)

If your site runs WordPress, Zoho publishes a first-party WordPress plugin: Zoho CRM for WordPress (available in the WordPress plugin directory).

Plugin capabilities:

  • Connects any WordPress form plugin (Contact Form 7, WPForms, Gravity Forms, Elementor Forms) to Zoho CRM
  • Creates Leads, Contacts, or any custom module record on form submission
  • Supports custom field mapping per form
  • Handles duplicate record checking

Setup:

  1. Install and activate the Zoho CRM for WordPress plugin
  2. Go to WordPress Admin → Zoho CRM → Authentication — authenticate with your Zoho account
  3. Go to Zoho CRM → Settings → Form Integration
  4. Select your form plugin from the dropdown (e.g., Contact Form 7)
  5. Select the specific form to integrate
  6. Map form fields to CRM fields
  7. Set the CRM module and lead owner

For Contact Form 7 specifically: The plugin adds a new settings tab called "Zoho CRM" on each CF7 form's edit screen. Configure the mapping there.

Limitation: The plugin creates new records only — it does not update existing CRM records when a known contact submits a form again. For update logic, use Method 6 (API).


Method 5 — Webhook from Website to Zoho CRM

If your website already has a form with a webhook/HTTP POST capability (common in Webflow, Squarespace, and custom-built sites), you can POST directly to Zoho CRM's API or to a Zoho Flow webhook.

Option A — Post to Zoho Flow Webhook (Easier)

  1. In Zoho Flow, create a new flow with trigger: Webhook
  2. Copy the webhook URL (looks like https://flow.zoho.in/YOUR_ORG/flow/webhook/incoming?zapikey=...)
  3. In your form's POST action, send a JSON body with your form fields to this URL
  4. In Zoho Flow, add an action: Zoho CRM → Create Lead and map the incoming webhook fields to CRM fields

Sample JSON body your form should send:

{
  "first_name": "Priya",
  "last_name": "Sharma",
  "email": "priya@company.com",
  "phone": "+91-9876543210",
  "company": "Sharma Exports",
  "message": "Interested in Zoho Books implementation"
}

Option B — Post directly to Zoho CRM API

This requires OAuth authentication (access tokens). Suitable for server-side form handlers.

Endpoint: POST https://www.zohoapis.in/crm/v6/Leads

Headers:

  • Authorization: Zoho-oauthtoken {access_token}
  • Content-Type: application/json

Body:

{
  "data": [
    {
      "First_Name": "Priya",
      "Last_Name": "Sharma",
      "Email": "priya@company.com",
      "Phone": "+91-9876543210",
      "Company": "Sharma Exports",
      "Lead_Source": "Website",
      "Description": "Interested in Zoho Books implementation"
    }
  ]
}

Use the India datacenter API endpoint (zohoapis.in) if your Zoho org is registered in India. Use zohoapis.com for US-based orgs, zohoapis.eu for EU.


Method 6 — Full Custom API Integration

For complex websites — e-commerce, SaaS products, custom-built portals — a full API integration gives the most control.

Authentication: OAuth 2.0

  1. Go to api-console.zoho.com → Add Client → Web-Based Application
  2. Set the Redirect URI to your server's callback URL
  3. Note the Client ID and Client Secret
  4. Implement the OAuth flow on your server:
    • Redirect user to https://accounts.zoho.in/oauth/v2/auth?scope=ZohoCRM.modules.ALL&client_id={CLIENT_ID}&response_type=code&redirect_uri={REDIRECT_URI}
    • Exchange the returned code for an access token and refresh token
    • Store the refresh token securely — it doesn't expire (unless revoked)
    • Use the access token (valid 1 hour) for API calls; refresh it using the refresh token endpoint

Upsert logic (create or update):

Use the CRM's upsert endpoint to avoid duplicates:

POST https://www.zohoapis.in/crm/v6/Leads/upsert

Body:

{
  "data": [
    {
      "First_Name": "Priya",
      "Last_Name": "Sharma",
      "Email": "priya@company.com",
      "Company": "Sharma Exports"
    }
  ],
  "duplicate_check_fields": ["Email"]
}

If a Lead with that email exists, CRM updates it. If not, it creates a new one.


Lead Assignment Rules

Regardless of which integration method you use, configure Lead Assignment Rules in Zoho CRM to route incoming leads automatically.

Setup:

  1. Go to CRM → Setup → Automation → Assignment Rules
  2. Select the Leads module
  3. Click New Rule
  4. Define conditions — e.g., if Lead Source = Website AND Country = India, assign to the India sales team
  5. Set the assignment type: Specific User, Round Robin (cycle through a list of users), or Territory-based

Example rules for a multi-region business:

| Condition | Assigned To | |---|---| | Country = India | India Sales Team (Round Robin) | | Country = UAE | UAE Account Manager | | Country = UK or USA | International Sales Rep | | Annual Revenue > ₹10 Crore | Enterprise Sales Lead |


Spam Filtering

Without spam filtering, your Zoho CRM fills with bot submissions within weeks. Here's how to handle it at each method:

Web-to-Lead / Zoho Forms: Enable reCAPTCHA in the form settings. Zoho Forms supports both reCAPTCHA v2 (checkbox) and v3 (invisible score-based).

WordPress Plugin: Add a honeypot field to your form (Contact Form 7 has a built-in honeypot feature). Bots fill all fields including the honeypot; the plugin checks for honeypot values and discards those submissions before they reach CRM.

Webhook/API: Validate submissions server-side before calling the Zoho API. Check for:

  • Valid email format (regex)
  • Phone number format (country code + digit count)
  • Honeypot field is empty
  • Submission rate limiting per IP (max 5 submissions per hour from same IP)

After the fact — Zoho CRM Validation Rules: Go to CRM → Setup → Modules and Fields → Leads → Validation Rules. Add a rule: if Email does not match @ — mark the record as invalid (or block creation with an error). This is a backstop, not a replacement for front-end filtering.


Choosing the Right Method

| Website Platform | Technical Level | Recommended Method | |---|---|---| | WordPress | Non-technical | WordPress Plugin + CF7/WPForms | | Webflow / Squarespace | Non-technical | Web-to-Lead or Zoho Forms embed | | Any website | Non-technical | Zoho Forms embed | | Any website with webhooks | Semi-technical | Webhook → Zoho Flow | | Custom/SaaS product | Technical | Zoho CRM API (OAuth) | | Need live chat + lead capture | Any | Zoho SalesIQ |


If you're setting up lead capture from your website and want it done right the first time — proper field mapping, assignment rules, spam filtering, and CRM workflow automation on top — VoltVave implements this as part of Zoho CRM onboarding. We work with businesses in India, UAE, the UK, and the USA.

Get in touch about your CRM setup

++++

// Authorized Zoho Partner

Need help with Zoho?

VoltVave handles Zoho implementation, migration, and long-term support for businesses across India. Free initial consultation.