The pain
Across India, the Gulf and Southeast Asia, WhatsApp is where the customer actually replies. Email open rates are irrelevant when the buyer answered your salesperson's personal phone three days ago and nobody in the office knows what was agreed. The conversation lives on one person's handset, the Zoho CRM record shows nothing, and when that salesperson leaves, the relationship leaves with them.
Teams work around this in predictable ways. Someone pastes screenshots into the Notes section of a Lead. Someone else keeps a parallel spreadsheet of who has been chased. A third person uses a personal WhatsApp Web session on a shared laptop, so every outbound message is attributed to nobody. Meanwhile the marketing team wants to send an order-confirmation or a payment-reminder template to a segment of the CRM, and there is no way to do it without exporting a CSV and uploading it somewhere else.
The result is a channel that carries most of your revenue conversations and none of your revenue data.
What ECOSIRE builds
We build a WhatsApp Business Cloud API messaging layer that lives inside your Zoho org — not a separate inbox you have to remember to open.
Send from the record you are already looking at
A Sigma-packaged widget is embedded on the Leads, Contacts, Accounts and Deals detail pages. It shows the full message thread for that record's phone number, a template picker with variable fields mapped to CRM fields, and a free-text box that is enabled only while the 24-hour customer service window is open. When the window has expired the widget says so plainly and offers approved templates instead, so agents are never confused about why a message will not send.
Inbound webhook that resolves the sender to a record
A Zoho Catalyst or Creator-hosted endpoint receives the WhatsApp webhook payload, verifies the signature, normalises the sender's number to E.164, and searches Contacts, then Leads, then Accounts for a match on Phone or Mobile. Matched messages are written to a custom module we build — Message Log — with a lookup back to the parent record and the message body, direction, timestamp, template name and delivery status. Unmatched numbers create a new Lead with a configurable Lead Source, or land in a triage view if you prefer a human to decide.
Templates managed as Zoho data
Approved message templates are mirrored into a WhatsApp Templates custom module holding the template name, language code, category, header/body/footer structure and the ordered variable list. Deluge custom functions resolve each variable from the parent record at send time, so a payment reminder pulls the invoice number and due date from Zoho Books rather than from whatever the agent typed.
Automation through Workflow Rules and Zoho Flow
We wire custom functions that any Workflow Rule, Blueprint transition or Zoho Flow can call. Typical builds include: a template fired when a Deal moves to a chosen Stage, a reminder when a Books Invoice crosses its due date, an appointment confirmation from a Bookings or Calendar event, and a re-engagement message when a Lead has had no activity for N days. Every automated send writes back to Message Log, so automation and human replies sit in the same thread.
Delivery status, opt-out and quiet hours
Status callbacks (sent, delivered, read, failed) update the corresponding Message Log record and, where you want it, a rollup field on the parent. We build an opt-out custom field that every send path checks before dispatch, a stop-word handler that sets it automatically when a customer replies STOP or its configured equivalents, and quiet-hours windows per country so nothing goes out at 3am local time.
Media and documents
Outbound PDF attachments — a Books invoice, a quote, a delivery note — are uploaded to the WhatsApp media endpoint and sent as document messages. Inbound media is fetched and attached to the Message Log record so images of damaged goods or payment slips stay with the case rather than on a phone.
Who this is for
SMB and mid-market teams already running Zoho CRM whose customers prefer WhatsApp: distributors and traders in the Gulf, D2C and services businesses in India, real estate and education across Southeast Asia, and any team where the sales floor currently runs on personal handsets. It suits organisations with a Meta Business account, or one they are willing to create, and a phone number they can dedicate to the Business API.
It is not the right fit if you want a bulk marketing blaster. Meta's template approval and quality-rating rules govern what you can send, and we build within them.
How delivery works
Scoping call. We walk your CRM with you — which modules the widget belongs on, which phone fields hold real numbers, what your message templates need to say, which automations matter first, and how you want unmatched numbers handled. We confirm your Zoho CRM edition, your Meta Business Manager status and your intended sender number.
Fixed quote. You receive a written scope with the exact modules, custom fields, functions, widget screens and automations we will build, plus the fixed price and the delivery window. Nothing starts until you approve it.
Build. Typical lead time is two to four weeks depending on the number of templates and automations. We develop against a sandbox Meta app and, where you have one, your Zoho CRM sandbox.
Install in test, then production. We install into a test environment first, connect your test number, and run a live message matrix with you — inbound match, inbound no-match, template send, free-text inside and outside the 24-hour window, opt-out, failed delivery. Once you sign off, we deploy to your production Zoho org and switch to the live number.
Support. Thirty days of post-go-live support are included: template additions, mapping corrections, webhook issues and user questions. Longer support is available as a separate agreement.
What you own at the end is code and configuration inside your own Zoho org and your own Meta Business account. Message data lives in your CRM, not in a third-party inbox you rent.