Zoho CRM Integration: Website, Store and App Sync
How a website, store or custom app sends leads and orders into Zoho CRM: the upsert API, duplicate checks, API credit limits by edition, and when Zoho's webforms are enough.
- Organisation
- WavX Solutions
- Telephone
- +919310079927
Description
Integration Zoho CRM integration: website leads, orders and two-way sync
A Zoho CRM integration turns every enquiry from your website, app or WhatsApp into a lead in the right owner's queue, with its source recorded, and keeps orders and status changes flowing both ways. It uses Zoho's REST API with OAuth, upserts records so repeats update instead of duplicating, and stays inside the daily API credit limit for your edition. Facts here are from Zoho's documentation as read on 2 October 2026.
Discuss an integration Last updated 2 October 2026
What the integration connects
Zoho CRM holds your leads, contacts, deals and the activity around them. An integration feeds it from the places customers actually reach you, and feeds its decisions back:
Into Zoho: website and landing-page enquiries, app sign-ups, WhatsApp conversations (see WhatsApp to CRM ), orders from a store or billing system, and the ad campaign each lead came from.
Out of Zoho: a deal marked won creates an order or an account in your own system; a status change triggers a WhatsApp or email message; a sales owner's assignment shows in your support tool.
For a Shopify store, Zoho publishes its own extension: customers appear as leads or contacts, orders as sales orders, and abandoned checkouts as deals, with one-way or two-way sync. Configure that before paying for anything custom.
Data flow: a website lead
Website form / app / landing page
│ POST (your server, never the browser)
Your server ── validate, normalise phone (+91…), attach UTM source
Zoho CRM POST {api-domain}/crm/v8/Leads/upsert
│ duplicate check on Email (default) or Phone
│ assignment rule (lar_id) picks the owner
Response: action = insert | update, record id
Your server stores the Zoho id beside the enquiry; on failure, queues and retries
Zoho CRM ── notification (ids, operation, token) ──▶ your server ──▶ your app / WhatsApp
The call goes from your server, not from the visitor's browser, because the OAuth token must never be exposed in a web page.
Field mapping for a website lead
Website or app field
Zoho CRM field (default API name)
Notes
Name
First_Name , Last_Name
Last_Name is mandatory for Leads; split the name, or put the full name in Last_Name
The default duplicate-check field for Leads
Mobile
Phone or Mobile
Normalise to one format, such as +91 followed by ten digits, before checking duplicates
Company
Optional unless your layout makes it required
Page or form name
Lead_Source
Picklist; values must exist in Zoho
UTM source, medium, campaign
Custom fields
Create them in Zoho first; they are what make ad spend accountable
Message
Description
Plain text
Consent checkbox and time
Record when and where the person agreed to be contacted
Field API names can differ in your account if fields were renamed or added. They are read from Zoho's fields metadata before mapping is finalised.
A request body for one lead, upserted with a phone check as well as email:
"data": [{
"Last_Name": "Sharma",
"First_Name": "Ritu",
"Email": "ritu@example.com",
"Mobile": "+919800000000",
"Lead_Source": "Website - Quote form",
"UTM_Campaign": "diwali-search"
}],
"duplicate_check_fields": ["Email", "Mobile"],
"lar_id": "<assignment rule id>"
Limits Zoho documents
Rule
As read on 2 October 2026
Authentication
OAuth 2.0; each access token is valid for one hour; refresh tokens last until revoked
API domain
Regional, for example zohoapis.com for the US and zohoapis.in for India
Records per insert or upsert call
Up to 100
Credits for insert or upsert
1 credit per 10 records
Daily credits
Rolling 24 hours. Free 5,000; Standard 50,000 + 250 per user licence (max 100,000); Professional 50,000 + 500 per licence (max 30,00,000); Enterprise 50,000 + 1,000 per licence (max 50,00,000); Ultimate 50,000 + 2,000 per licence
Concurrent calls
Free 5, Standard 10, Professional 15, Enterprise 20, Ultimate 25
Mandatory fields
Leads and Contacts: Last_Name . Deals: Deal_Name , Stage , and Pipeline when pipelines are enabled
Automation on API writes
Workflow, approval and blueprint rules run unless the trigger parameter says otherwise
Notifications
A channel sends record ids, the operation and your token to your URL; a channel lasts at most one week, and one hour if no expiry is set
Gotchas
Notification channels expire. A channel set up once stops after a week at most. The integration has to renew it on a schedule, or outbound sync quietly stops.
Notifications carry ids, not data. Your server fetches the changed record afterwards, which costs credits. Batch those fetches.
Workflows fire on API writes. An import of 5,000 old leads can send 5,000 welcome emails unless the trigger parameter is set to skip workflows.
Picklist values must match. A Lead_Source value Zoho does not know is rejected or stored oddly, depending on the field's settings.
Phone duplicates. "98000 00000", "+91 9800000000" and "09800000000" are three different strings. Normalise before upserting.
Token handling. Refreshing an access token on every request wastes time and can run into Zoho's limits. Cache it for its hour.
What WavX builds
WavX builds the lead pipeline from every source into Zoho CRM: form and app capture on your own server, phone and email normalisation, UTM capture, upsert with duplicate checks, assignment by rule, a retry queue, and a log your sales manager can read. Two-way flows (won deals creating orders, status changes sending messages) and Zoho-to-ERP sync are added where the business needs them.
When Zoho's fixed objects and per-user pricing stop fitting how you sell, custom CRM development is the alternative; the trade-off is set out in custom CRM vs Salesforce vs Zoho .
Effort band
Zoho CRM integration work is quoted after scoping. For planning, the software cost estimator carries third-party integrations as a ₹60,000 line item inside a larger build. A standalone lead pipeline with its own log screen follows the worked example on API and system integration services .
When Zoho's own tools are enough
If leads come only from forms on your website, use Zoho CRM webforms with an assignment rule. If you sell on Shopify, use Zoho's Shopify extension. If you need one simple hand-off between two popular apps, a no-code connector will do. Build custom when leads arrive from several sources that must be merged and cleaned, when the source is an app or system built for you, or when failures must be visible and retried instead of lost.
Frequently asked questions
Do I need a developer to get website leads into Zoho CRM?
Not always. Zoho CRM's webforms can create Leads, Contacts, Cases or custom-module records from a form on your site, with assignment rules. Script and iFrame embed codes are for paid editions. You need custom work when the form lives inside an app, when leads come from several sources that must be merged, or when the data must be cleaned before it reaches the CRM.
How do we stop the same person becoming three leads?
Use the upsert API instead of insert. Zoho checks the duplicate-check fields you name, or the system default, which is Email for Leads and Contacts, and updates the existing record instead of creating a new one. Phone numbers need normalising to one format first, or the check misses them.
Will the integration use up our API limit?
It can if it is careless. Limits are counted as credits in a rolling 24-hour window and depend on your edition and licence count. Batching up to 100 records per call and reacting to notifications rather than polling keep usage low.
Our data centre is India. Does that matter?
Yes. Zoho accounts live in a regional data centre, and API calls go to that region's domain, for example zohoapis.in for India. A connector pointed at the wrong domain fails to authenticate.
Sources
Zoho CRM API v8: API limits · read 2 October 2026
Zoho CRM API v8: Upsert records · read 2 October 2026
Zoho CRM API v8: Insert records · read 2 October 2026
Zoho CRM API v8: OAuth overview · read 2 October 2026
Zoho CRM API v8: Enable notifications · read 2 October 2026
Zoho CRM help: Setting up webforms · read 2 October 2026
Zoho CRM help: Shopify for Zoho CRM · read 2 October 2026
Related
WhatsApp to CRM integration
Custom CRM development
HubSpot integration
Custom CRM vs Salesforce vs Zoho
API and system integration services
Build your own software — your way, your pricing.
WavX Solutions is here to create your own software in a fully custom way, built exactly how you work — with a pricing model that fits your business. Connect now and let's build it.
Contact Now helpwavx@gmail.com