PROJECT

Automated Messaging for WhatsApp and CRM

Custom software development, WhatsApp Business integration, CRM integration, Message scheduling, Automated replies, Campaign reporting, Live-agent handover

  • Industry: Sales and marketing
  • United Kingdom Location: United Kingdom
  • Delivery time: 10 weeks
  • Technologies: JavaScript / TypeScript (Node.js), Python
3 months

This client is a sales agency where manual WhatsApp handling takes time across support, lead nurturing, and campaign follow-up. The automated messaging software connects WhatsApp conversations with CRM records and scheduled follow-ups. It receives messages and CRM events, then gives sales, service, and marketing teams one place to manage replies, campaigns, and contact history.

Summary

Problem

The sales agency spends time coordinating WhatsApp conversations, CRM updates, follow-ups, and campaign reporting by hand.

Solution

The solution became a connected WhatsApp and CRM workspace for replies, scheduling, handover, and reporting.

Result

The software is made to reduce manual work and keep customer messaging connected with CRM records.

Client story

The client is a sales agency from the United Kingdom. It manages sales conversations, lead follow-up, and customer communication through WhatsApp and CRM records.

Manual handling takes time when conversations, CRM stage changes, follow-ups, and campaign activity need to stay aligned. Agents also need access to conversation history when an automated reply passes to a person.

The request was simple: connect WhatsApp Business or Cloud API with the agency's CRM and other existing systems, while keeping automated replies editable and message activity visible.

The solution was shaped around four connected areas: a conversation inbox, scheduled follow-ups, campaign reporting, and CRM integration settings. Documentation, editing instructions, deployment notes, and a walkthrough were included as part of the requested handover.

The client asked for

  1. Connect WhatsApp with CRM, databases, or existing business systems.
  2. Edit replies using templates, keywords, FAQs, schedules, or conversation rules.
  3. Track delivery, reads, replies, failures, engagement, and response-time data.
  4. Provide source code, configuration materials, documentation, and a walkthrough.

Why ready-made software did not fit

Ready-made marketing and campaign platforms cover parts of automated messaging, but their descriptions also point to missing features and integration issues. This client needed CRM-linked conversations and stage-based follow-ups in one connected workspace, with handover and reporting shaped around its own rules.

Project overview

The solution was designed around the agency's real messaging rules: incoming WhatsApp messages, CRM stage changes, and contact attributes can drive the next action. Business hours, keywords, FAQs, and follow-up timing also shape the messaging.

To handle this, a conversation inbox was provided for incoming and outgoing messages, reusable templates, and contact information. Tags and status flags support the agent view, while live-agent handover keeps conversations connected to their history.

A separate follow-up area manages CRM-stage triggers and timing intervals. It also combines personalized fields with message templates and scheduled messages, with controls for pausing or editing campaigns.

Campaign reporting brings audience segments, template previews, and schedules together. Delivery summaries, read data, engagement metrics, and CSV exports make campaign activity easier to review.

The integration area was designed for API credentials, CRM contact and deal mapping, and webhook events. Delivery statuses, error logs, template configuration, and documentation remain available in the same settings area.

Key features delivered

  • WhatsApp conversation inbox with message history
  • Automated replies from templates, keywords, FAQs, and rules
  • CRM-stage follow-ups with timing controls
  • Personalized message scheduling
  • Live-agent handover with tags and status flags
  • Broadcast campaign delivery and engagement reports
  • CRM contact and deal mapping
  • Webhook events, error logs, and documentation links
  • CSV and JSON conversation or delivery exports

Can be added

+ Pause automated replies during human interactions + Searchable chat transcripts + Table-format conversation exports + Delivery, read, reply, and engagement tracking + WhatsApp Business API debugging + Editable campaign content

Who else can use this solution

Businesses with a similar WhatsApp messaging task can adapt the same solution to their customer, sales, or campaign workflow.

A customer-support operation

Task It needs to answer WhatsApp questions and pass conversations to live agents.
How the solution helps The solution provides automated replies, conversation history, tags, status flags, and agent handover.

A business running WhatsApp promotional campaigns

Task It needs to schedule personalized broadcasts and review delivery and engagement.
How the solution helps The solution connects audience segments, templates, schedules, delivery summaries, and exports.

An organization connecting WhatsApp with customer records

Task It needs message history and customer fields to stay aligned with its CRM or appointment system.
How the solution helps The solution maps contacts and events, receives webhooks, and keeps messaging activity linked to records.

Technology stack

JavaScript / TypeScript (Node.js)

Application and integration logic

This runtime supports WhatsApp and CRM connections.

Python

Data processing and webhooks

Python supports CRM connections, webhook handling, reporting, and data exports.

PHP

API and CRM connections

PHP libraries support WhatsApp, CRM, webhook, CSV, and spreadsheet connections where required.

whatsapp

WhatsApp Cloud API

This SDK connects the software with the WhatsApp Business Platform through the Cloud API.

whatsapp-web.js

WhatsApp Web messaging

This Node.js library interacts with WhatsApp Web for message handling.

zohocrmsdk8-0

Zoho CRM connection

This SDK connects CRM contacts and records with the messaging workflows.

dynamics365crm-python

Dynamics CRM connection

This Python wrapper connects Dynamics 365 CRM records and events.

csv-parse

CSV report parsing

This library reads CSV data for delivery and conversation reports.

svix

Webhook delivery

This library supports webhook delivery and verification for messaging events.

CSV and JSON

Report and conversation export

The software exports delivery reports and conversation transcripts in CSV or JSON.

Integrations

WhatsApp Business or Cloud API

Incoming and outgoing messages, delivery statuses, and webhook events pass through the approved provider connection.

CRM

Contacts, deals, lead stages, customer fields, and CRM events drive messages and stay linked to conversations.

Database or customer-data system

Customer records and message history can be synchronized with an existing business system.

CSV and JSON

Conversation transcripts and delivery reports can be exported in open file formats.

The result

Agents see conversations with the right customer context

The conversation inbox brings incoming and outgoing WhatsApp messages together with the CRM contact record. Templates and tags support the agent view.

When automation passes a conversation to a person, the agent receives the available message history and contact information in the same workspace.

How it works

  1. Incoming and outgoing WhatsApp messages appear in the conversation list and message thread.
  2. The contact panel shows the CRM contact record, tags, and conversation status.
  3. Template replies and handover controls support the transition from automated messaging to a live agent.
Note: The handover view keeps conversation context available for the support agent.
Conversation inbox and agent handover

Conversation inbox and agent handover

Functions on this screen
Handle Incoming Messages Create Message Templates Integrate Live Chat Handoff Manage contact information

Follow-ups stay linked to CRM stages

The follow-up screen connects CRM lead management with personalized WhatsApp messages. Stage changes, contact fields, and timing intervals define the follow-up details.

Scheduled messages remain visible in a list with controls for pausing or editing campaigns, so sales follow-up is handled in one place.

How it works

  1. The CRM stage selector and contact fields provide the lead status, name, product, price, and deadline data.
  2. The message template editor combines that data with the follow-up timing and message copy.
  3. The schedule list shows the scheduled message status and pause or edit controls.
Follow-up and message scheduling

Follow-up and message scheduling

Functions on this screen
Schedule Follow-ups New Follow-Up Trigger Custom Message Scheduling Create Message Templates Pause and edit campaigns

Campaign reports show delivery and engagement

The campaign report brings broadcast performance into a single view. Marketers can review audience segments, template previews, and campaign timing.

Delivery summaries, read data, and engagement metrics show how campaign messages progress. A CSV delivery report makes campaign information available outside the workspace.

How it works

  1. The campaign list and audience segment selector show the campaign and its intended contacts.
  2. The template preview and schedule field show the message content and campaign date and time.
  3. Delivery summaries and read and engagement metrics show sent, delivered, read, and failed messages.
  • CSV delivery reports are available through the export control.
Broadcast campaign report

Broadcast campaign report

Functions on this screen
Track user interactions Usage Statistics Tracking Export Conversations

CRM connections expose events and errors clearly

The integration settings keep authentication, field mapping, and webhook events together. A CRM manager or developer can see API credentials, contact mapping, and lead status changes.

Error logs and a documentation link give the team a clear place to review connection issues and setup information.

How it works

  1. API credential fields hold API keys and tokens for the WhatsApp and CRM connections.
  2. The mapping and webhook areas connect CRM contacts, deal records, lead status changes, incoming messages, and delivery statuses.
  3. The error log records API errors, while template configuration and documentation remain available in the settings view.
Tip: The integration area is structured so connection settings and message events remain easy to review.
CRM integration and webhook settings

CRM integration and webhook settings

Functions on this screen
Integrate with external CRM

What the solution gives

With this solution, the sales agency can:

  • Connect WhatsApp conversations with CRM contact and lead records
  • Automate replies, reminders, and sales follow-up
  • Schedule personalized messages and broadcasts
  • Hand conversations to live agents with history and status context
  • Review delivery, read, reply, failure, and engagement information
  • Export conversation and campaign reports in CSV or JSON

Could ready-made systems do the job?

Before the design, the task was compared with ready-made products by their own descriptions.

What the client needs WhatsApp marketing tools WhatsApp Marketing, WhatsApp Business Platform Marketing automation platforms ActiveCampaign, indigitall, Maestra Messaging platforms EnableX, 360Dialog, Sinch Engage Custom solution
Connect WhatsApp with CRM systems partly — —
Edit automated replies and rules — —
Track delivery and engagement —
Provide source and setup materials — — —
Fits the client's own rules: stages, roles, reports partly partly partly
All steps in one place — — —
No manual steps between programs partly partly partly

By the public descriptions of the products and their category.

Ready-made products cover WhatsApp messaging, campaign automation, reporting, and some CRM connections. A ready-made product is enough when only one part of the task is needed.

This client needed its own software because the required CRM rules, live-agent handover, follow-ups, reports, and exports had to work together in one place. The steps between WhatsApp and CRM also needed to be automated rather than handled separately.

In the end

In the end, the solution was made to take manual work out of the path from a CRM event or incoming WhatsApp message to the right customer response.

FAQ

Thinking about building a similar system? These answers explain the main integration, automation, handover, reporting, and delivery considerations.