01 — Integration architecture
WhatsApp and CRM integration layer
Enterprise clients continue using the WhatsApp Business app on their own devices while the same number operates through the Cloud API, with every conversation synchronised into their CRM.
- Role
- Solutions & integrations engineer
- Period
- 2025 — present
- contacts imported in <10 min
- 500k
- messages broadcast in <30 min
- 100k
The migration constraint
Automating WhatsApp requires the Cloud API. Historically, migrating a number to the API disabled the WhatsApp Business app for that number on the business’s own devices.
For an automotive dealership or property developer, this means the sales team loses the application they use daily. The common workarounds — abandoning the automation, or operating a second number — both reduce the value of the deployment substantially.
Coexistence
I implemented Meta’s official coexistence on the platform. The business retains the WhatsApp Business app on its devices while the same number simultaneously operates through the Cloud API and our conversation layer.
Message history synchronises in both directions, including media. Replies sent from the device appear to the agent, and automated replies appear in the app thread. Existing team workflows remain unchanged, which materially improves adoption rates across sales organisations.
“One number, operating simultaneously through the Business app and the Cloud API, with history synced both ways.”
Click-to-WhatsApp attribution
When a customer initiates contact through a Click-to-WhatsApp advertisement, Meta delivers a webhook containing the originating ad. This payload is frequently discarded.
I capture it and inject the ad context directly into the agent’s prompt. The first response therefore reflects the specific campaign and product the customer engaged with, rather than opening with a generic greeting and requiring the customer to restate their interest.
CRM integration
Sales teams operate primarily within the CRM. I built and deployed custom Zoho widgets binding tenants, prospects and contacts to their conversations.
From any record, an agent can open that contact’s live conversation within the record itself — removing tab switching, manual phone-number lookups, and ambiguity about whether a customer has already been answered.
Custom functions and workflows dispatch approved WhatsApp templates and flows from CRM triggers, resolving variables per client and handling opt-in, delivery and read tracking. The AI agent synchronises with the prospect module, creating prospects automatically from qualified conversations.
“Custom Zoho widgets surface a contact’s live conversation inside the CRM record itself.”
Scale and compliance
The campaign engine imports 500,000 contacts in under ten minutes and broadcasts 100,000 template messages in under thirty, within Meta’s rate limits, with delivery and read tracking throughout.
Bi-directional synchronisation into Zoho and Salesforce is secured with OAuth2 and HMAC, with per-client field mapping and an eight-condition routing engine determining escalation to human agents. Delivered across ten enterprise tenants in automotive and real estate.
Built with
- Meta WhatsApp Cloud API
- Zoho CRM
- Salesforce
- Java 21
- Spring Boot
- Webhooks
- OAuth2 / HMAC