WasenderApi - Low Cost WhatsApp API for Developers WhatsApp API for CRM: How to Build WhatsApp Into Your CRM - WasenderApi - Low Cost WhatsApp API for Developers
Skip to content
Back to all posts

WhatsApp API for CRM: How to Build WhatsApp Into Your CRM

WasenderAPI
10/2/2026
WhatsApp API for CRM: How to Build WhatsApp Into Your CRM

WhatsApp API for CRM: How to Build WhatsApp Into Your CRM

If you build CRM software, your customers have probably asked for WhatsApp. Their clients often reply faster on WhatsApp than on email, while sales and support conversations can otherwise remain outside the CRM.

This guide is for CRM developers who want to add WhatsApp to their product. It covers the architecture, data model, webhook and sending flows, CRM features, and practical considerations when choosing between the official WhatsApp Business Platform and an unofficial integration such as WasenderAPI.

Important: WasenderAPI is an independent, unofficial WhatsApp Web-based integration. It is not the official WhatsApp Business Platform and is not affiliated with, endorsed by, or operated by Meta or WhatsApp. If the official WhatsApp Business Platform meets your requirements, we recommend using the official solution.

Why add WhatsApp to your CRM?

A CRM is most useful when important customer conversations are captured in the same place as contacts, deals, tickets, and activities.

When WhatsApp conversations happen only on a sales representative's phone, the CRM can lose:

  • History: other team members may not be able to see what was discussed with the customer.
  • Ownership: conversations can become difficult to manage when a representative changes roles or leaves the company.
  • Automation: CRM events and workflows cannot easily interact with conversations that remain outside the CRM.
  • Reporting: response times and conversation activity may not be available alongside the rest of your customer data.

Adding WhatsApp to your CRM can bring these conversations into the same workflow as the rest of your customer communication.

Three ways to add WhatsApp to a CRM

Approach How it works Trade-offs
Link to a third-party inbox Customers use a separate WhatsApp tool and connect it to your CRM. Simple to implement, but customers may need to leave your product to manage conversations.
Official WhatsApp Business Platform Your customers use Meta's official WhatsApp Business infrastructure and the APIs and capabilities provided through that platform. Official and supported by Meta, but it has its own onboarding, messaging, policy, and pricing requirements.
Multi-tenant unofficial integration Your CRM creates a session for each workspace and the customer connects a WhatsApp number through a QR-code-based flow. Can provide a different integration experience, but it is unofficial and carries platform and account risks that do not apply in the same way to the official platform.

There is no single approach that is right for every CRM. If your customers require Meta's official infrastructure and support, the official WhatsApp Business Platform should be the primary option to evaluate.

An unofficial integration may be considered for specific technical requirements, but only when the CRM provider and its customers understand and accept the associated limitations and risks.

The data model: what to store in your CRM

Before writing your integration code, decide how WhatsApp maps onto your existing CRM objects. A simple model can include:

Your table WhatsApp fields to add
Workspace (tenant) WasenderAPI session ID, session API key (encrypted), connection status, connected phone number
Contact Phone number in international format for contact matching
Activity / timeline Direction (in or out), message text, WhatsApp message ID, delivery status, timestamp, user who sent it
Deal / ticket Optional link to the conversation so messages can appear on the relevant deal or ticket

Tip: Normalize phone numbers to one format when storing contacts. Consistent phone-number formatting makes matching inbound WhatsApp messages to CRM contacts much more reliable.

Step by step: building WhatsApp into your CRM

1. Create a session when a workspace turns WhatsApp on

When an admin clicks "Connect WhatsApp" in your settings page, your backend can create a session using your Personal Access Token. Give each workspace its own webhook URL so inbound events can be associated with the correct tenant.

// Node.js 18+
const PAT = process.env.WASENDER_PAT;
const API = "https://www.wasenderapi.com/api";

async function connectWorkspace(workspace) {
  const res = await fetch(`${API}/whatsapp-sessions`, {
    method: "POST",
    headers: {
      Authorization: `Bearer ${PAT}`,
      "Content-Type": "application/json"
    },
    body: JSON.stringify({
      name: `CRM workspace ${workspace.id}`,
      phone_number: workspace.phone,
      account_protection: true,
      log_messages: true,
      webhook_url: `https://crm.example.com/webhooks/whatsapp/${workspace.id}`,
      webhook_enabled: true,
      webhook_events: ["messages.received", "messages.update", "session.status"]
    })
  });

  const { data } = await res.json();
  return data.id;
}

2. Show the QR code in your settings page

Call the session connection endpoint and render the returned QR code in your CRM. The workspace administrator can scan the QR code from their WhatsApp application. When the session reports that it is connected, update the workspace status in your UI.

3. Log inbound messages on the right contact

Each inbound event should be authenticated, associated with the correct workspace, matched to the appropriate contact, and stored as a CRM activity.

app.post("/webhooks/whatsapp/:workspaceId", express.json(), async (req, res) => {
  if (req.get("X-Webhook-Signature") !== process.env.WASENDER_WEBHOOK_SECRET) {
    return res.sendStatus(401);
  }

  res.sendStatus(200);

  const { event, data } = req.body;
  if (event !== "messages.received") return;

  const msg = data.messages;

  if (msg.key.fromMe) return;

  const workspaceId = req.params.workspaceId;
  const phone = msg.key.cleanedSenderPn;

  const contact =
    (await db.contacts.findByPhone(workspaceId, phone)) ??
    (await db.contacts.create(workspaceId, {
      phone,
      source: "WhatsApp"
    }));

  await db.activities.create({
    workspaceId,
    contactId: contact.id,
    channel: "whatsapp",
    direction: "in",
    text: msg.messageBody,
    externalId: msg.key.id
  });
});

4. Send from the contact record

When a representative replies from the CRM, send through the workspace's session and record the outgoing message in the CRM timeline.

async function sendFromCrm(workspace, contact, text, userId) {
  const res = await fetch("https://www.wasenderapi.com/api/send-message", {
    method: "POST",
    headers: {
      Authorization: `Bearer ${decrypt(workspace.wasender_api_key)}`,
      "Content-Type": "application/json"
    },
    body: JSON.stringify({
      to: contact.phone,
      text
    })
  });

  if (!res.ok) {
    throw new Error(`WhatsApp send failed: ${res.status}`);
  }

  await db.activities.create({
    workspaceId: workspace.id,
    contactId: contact.id,
    channel: "whatsapp",
    direction: "out",
    text,
    sentBy: userId
  });
}

5. Track delivery and connection health

Use message-status events to display delivery information in the CRM timeline, and session-status events to notify workspace administrators when a connection changes or becomes unavailable.

CRM features to build on top

Once your integration is working, you can build CRM functionality around the conversation data you are already collecting:

  • Shared inbox: one view of WhatsApp conversations with assignment to representatives.
  • Deal stage workflows: connect WhatsApp actions to CRM workflow events where appropriate.
  • Reminders: appointment, renewal, and support reminders from your existing scheduler.
  • Quick replies: saved snippets representatives can insert with one click.
  • Documents: send quotes, invoices, and other supported files from the relevant CRM record.
  • Number checks: verify whether a contact is available on WhatsApp before attempting a message.
  • Reporting: measure response times and conversation activity using the events stored in your CRM.

How to price WhatsApp inside your CRM

WasenderAPI partners pay a flat $6/month base fee, plus $6.00 per active session per month under 100 sessions and $4.80 per session per month at 100+ sessions. There are no per-message fees.

For a CRM, you can package WhatsApp in several ways:

  • Paid add-on: charge separately for WhatsApp functionality.
  • Higher tier: include WhatsApp in your Pro or Business plan.
  • Additional numbers: charge for additional connected numbers where your product supports multiple lines.

Your actual margins will depend on your pricing, active sessions, infrastructure, support costs, and the way your customers use the integration.

What to tell your CRM customers

Be transparent: if you offer WasenderAPI through your CRM, clearly tell customers that the integration is unofficial and is not Meta's official WhatsApp Business Platform. Explain that WhatsApp controls its own platform and may change its policies, systems, or enforcement mechanisms.

Your CRM should also have clear rules around acceptable messaging behavior. Do not market the integration as a way to bypass WhatsApp's policies or restrictions.

Avoid promising that a connected number will remain active or "healthy." Instead, make the platform's limitations and potential account restrictions clear before customers connect an important business number.

For businesses that require official WhatsApp infrastructure, recommend the official WhatsApp Business Platform instead.

Official WhatsApp API or WasenderAPI?

The answer depends on your requirements.

If your CRM customers require Meta's official WhatsApp infrastructure, official platform support, and the capabilities provided through Meta's supported business ecosystem, the official WhatsApp Business Platform is the appropriate option to evaluate.

If a customer deliberately chooses an unofficial WhatsApp Web-based integration, make sure they understand that it is not an official Meta API and that it carries different platform risks.

Our recommendation: use the official WhatsApp Business Platform when it meets your requirements. Consider an unofficial integration only when there is a specific reason to do so and the customer understands and accepts the associated risks.

Start building your CRM WhatsApp integration

The WasenderAPI Partner Program is designed for CRMs, SaaS platforms, agencies, and resellers that want to manage WhatsApp connections for their customers.

Before launching the integration to your customers, make sure your product clearly explains the nature of the integration, its limitations, acceptable-use requirements, and the possibility of WhatsApp restrictions.

Apply for Partner Access

Want to prototype first? Create an account and test the API on one number.


Frequently asked questions

What is the best WhatsApp API for CRM software?

It depends on your customers and requirements. If your customers require Meta's official WhatsApp infrastructure, evaluate the official WhatsApp Business Platform first. An unofficial integration such as WasenderAPI may be considered for specific use cases where the customer understands and accepts its limitations and risks.

Can each CRM workspace use its own WhatsApp number?

Yes. Each workspace can use an independent session with its own API credentials and connect the WhatsApp number selected by the customer.

How do I match WhatsApp messages to CRM contacts?

Use the sender's phone number from the webhook and match it against your contacts' normalized phone numbers. Create a new contact when there is no existing match, according to your CRM's data-handling rules.

How much does WhatsApp cost per CRM workspace?

WasenderAPI partners currently pay a base fee plus a per-session fee according to their partner pricing tier. There are no per-message fees under the pricing described in this guide. Check the current partner pricing before building your commercial model.

Will my CRM customers see the WasenderAPI brand?

With a partner integration, customers can interact with WhatsApp through your CRM interface rather than a separate WasenderAPI dashboard, depending on how you implement the integration.

Is this the official WhatsApp Business API?

No. WasenderAPI is an independent, unofficial WhatsApp Web-based integration. It is not Meta's official WhatsApp Business Platform. Customers should understand the associated limitations and potential account restrictions before using it.

Related Posts

n8n + WaSenderAPI: Master WhatsApp Automation Without Code (2025 Guide)
Use Cases & Automation

n8n + WaSenderAPI: Master WhatsApp Automation Without Code (2025 Guide)

Discover the most affordable WhatsApp automation solution only $6/month with WaSenderAPI combined with no-code n8n workflows. Build perfect, custom WhatsApp automations quickly and easily without coding. Follow our step-by-step guide to save costs while creating powerful, scalable, and secure WhatsApp messaging for your business.

WasenderAPI
5/18/2025
Create a Free WhatsApp AI Chat Bot with Python and Gemini (Full Guide)
Use Cases & Automation

Create a Free WhatsApp AI Chat Bot with Python and Gemini (Full Guide)

Learn how to create a free WhatsApp AI chatbot using Python, Google’s Gemini API, and WaSenderAPI. This step-by-step guide helps you build and deploy an intelligent WhatsApp assistant at minimal cost no need for WhatsApp Business API.

WasenderAPI
5/29/2025
WhatsApp API Rate Limits Explained: How to Scale Messaging Safely in 2025
Use Cases & AutomationWhatsApp API TutorialsWhatsApp for Developers

WhatsApp API Rate Limits Explained: How to Scale Messaging Safely in 2025

Struggling with WhatsApp messaging restrictions? Learn how Meta's tier system works, how to upgrade your daily limits, and how to scale your broadcasts safely without getting banned.

WasenderAPI
3/15/2026