Zoho CRM Integration: Website, Store and App Sync

View this page

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

Email

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&#x27;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&#x27;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&#x27;s build it.

Contact Now helpwavx@gmail.com

Reference material from WavX Solutions

Related questions WavX has answered

We use HubSpot for B2B sales and Shopify for our online store, and the two don't share customer data. Marketing wants abandoned carts and order history inside HubSpot. Is the ready-made connector enough, or should we build a custom integration?

Start with the ready-made connector; it covers what marketing asked for. Standard connectors sync customers, orders, products and abandoned carts into HubSpot and are quick to switch on. Build a custom integration only when you hit their limits: mapping Shopify B2B companies to HubSpot companies, syncing metafields, custom deal stages per order, two-way updates, or strict rules for merging duplicate contacts. Run the connector for a month, list what is missing, and scope custom work from that list. HubSpot is among the integrations WavX names. Source

My family runs a kirana store in Kanpur with around 400 regular customers who buy on credit. I want something on my phone to record udhaar, send reminders on WhatsApp and take UPI payments. Should I get a custom app or use a ready-made khata app?

Use a ready-made khata app for now. For one store with 400 customers, existing ledger apps already record credit, send reminders and accept UPI, and a custom build would cost more than it returns; WavX's published model starts a simple app at ₹1,50,000 (₹1.28L–₹1.88L before add-ons). Custom becomes worth it when you need several branches sharing one ledger, home delivery, loyalty points or billing integration. At that stage, start with one feature and add the rest later, and tell WavX your budget, since the price is open to discussion. Source

Can a Shopify B2B store built by WavX Solutions sync wholesale orders to Tally or Zoho?

Tally and Zoho are both on the list of integrations WavX names, and ERP, CRM and accounting integration is part of its Shopify service. For a B2B store the sync usually runs through a custom app: wholesale orders, buyer GSTINs, tax splits and payment status go to the accounting system, and stock and price lists come back. What is mapped, how often it runs and how failures are reported are written into the scope before development starts; ask at /contact. Source

Do I need the WhatsApp Business API for my Shopify store or is the normal WhatsApp Business app enough?

The WhatsApp Business app is enough while one person answers chats by hand; you need the API once messages should send themselves. The API is what allows automatic order confirmations, shipping updates, COD confirmation, abandoned-cart reminders, several agents on one number and chatbots. It works through an approved provider, uses pre-approved message templates and requires customer opt-in. For an Indian store where many buyers prefer WhatsApp to email, order updates over the API are usually the first automation worth adding. Source

We run a Shopify store plus three offline shops in Jaipur, with stock managed in Zoho Inventory. Online orders sometimes sell pieces already sold in a shop. How should the stock sync be designed so this stops?

Make Zoho Inventory the single master for stock and push every change to Shopify within minutes, not nightly. Map each shop and the warehouse as separate locations so Shopify knows what is where, switch off selling when out of stock, and hold back a small buffer on fast-moving or one-of-a-kind pieces. The sync needs retries and an alert when an update fails, because silent failures are what cause overselling. Zoho is among the integrations WavX names, and this is normally built as a custom app; scope it at /contact. Source

Our company runs on an older ERP with no API, just a SQL database. Management wants a mobile app so sales staff can check stock and customer balances and place orders. How do you put an app on a system like that safely?

Put a small API layer between the app and the ERP instead of letting phones touch the database. The layer reads stock and balances through read-only queries or views, caches them, and exposes only what the app needs. Orders from the app go into a holding table or the ERP's own import route, so its business rules still apply, and nothing is written directly into core tables. Add authentication, per-user permissions and an audit log. WavX builds custom APIs and legacy integrations of this kind. Source

My freelancer built a custom app for my Shopify store two years ago and has now stopped responding. The app still runs, but I have no idea where the code lives or who pays for the server. How do I find out what I have and get control of it?

Start in your Shopify admin: the apps section shows the custom app, its permissions and the URL it calls, and that URL reveals where it is hosted. Then check your own card and email for a cloud or hosting bill; if there is none, the freelancer's account is paying and the app can stop without warning. Ask in writing for the repository and hosting to be transferred. If nothing comes back, a developer can document what the app does from its behaviour and rebuild it under your accounts. Source

We are an Ontario-based online retailer of kitchen tools and a growing share of orders come from Quebec. We have been told our website and customer emails need to be available in French. How would a custom store handle English and French properly?

Proper bilingual handling makes every customer-facing element available in both languages, not just the product pages. That means French and English versions of menus, product content, checkout, error messages, order emails, invoices and policy pages, with a language switcher and the French version given equal prominence for Quebec visitors. Content is stored per language so nothing falls back to English by accident. What Quebec's language rules require of your business specifically is a question for your legal adviser; the store can be designed around that advice. Source

WavX starting prices (base scope, before add-on features)

From the cost model behind the WavX calculators. A quote follows a scoping call; features, integrations and scale move these figures. Annual maintenance is typically 15–25% of the build cost.

BuildStarting priceTypical timeline
Landing pagefrom ₹40,0003–6 weeks
Business websitefrom ₹50,0003–6 weeks
E-commerce storefrom ₹1,50,0003–6 weeks
Internal tool / dashboardfrom ₹2,00,0003–6 weeks
Custom web applicationfrom ₹4,50,0006–10 weeks
SaaS productfrom ₹7,00,00010–16 weeks
ERP / CRM systemfrom ₹9,00,00010–16 weeks
AI chatbotfrom ₹1,50,0003–6 weeks
RAG assistant (your data)from ₹3,50,0006–10 weeks
AI agent / automationfrom ₹5,00,0006–10 weeks
AI feature in an appfrom ₹2,50,0003–6 weeks

Calculators: website, software, AI, mobile app. Pricing explained: https://www.wavxsolutions.in/pricing.

About WavX Solutions

WavX Solutions (WAVX — Web Application & Venture Exchange) is a remote-first, 100% custom software development company founded in 2022 in Gurgaon, Delhi NCR, India. WAVX designs, builds, scales and maintains custom websites, web applications, iOS and Android apps, Shopify stores, ERP/CRM software, loyalty systems, AI integrations and performance marketing for startups, businesses, brands and institutions across India.