You have your own CRM, ERP, or industry-specific software, and your customers want to "message us on WhatsApp too, and have AI answer their questions." In this guide we show you how to do exactly that with Meta's official API — without touching unofficial bridges or spending months building infrastructure — using real endpoints, code samples, and real estate/e-commerce scenarios.

Why integrate WhatsApp into your CRM?

In Turkey, customer messaging no longer fits within business hours. According to DoWaba platform data, in the first half of 2026 57.6% of incoming WhatsApp messages arrived outside business hours; for Instagram DMs that figure was 65.8%. The AI bot's median first-response time is 23 seconds. In other words, your customer is messaging at 11 p.m. and waiting for a reply — and if your CRM isn't ready for it, your competitors are filling that gap in the customer experience.

For a team with its own software, this means three opportunities:

  • Your product becomes more valuable: you add "WhatsApp + AI support" capability to your CRM, so your customers get both record management and automated customer communication from a single product.
  • A new revenue stream: you sell this capability as a module under your own brand, at your own price.
  • Stickiness: once your customer's WhatsApp line, bot, and message history all flow through your product, walking away from your CRM becomes much harder.

"I'll just connect to the Meta API myself" — does that really make sense?

Technically it's possible: Meta's WhatsApp Cloud API is publicly available. In practice, though, a production-quality integration built from scratch requires:

  • Meta Business verification and app review processes,
  • Webhook infrastructure (signature verification, queuing, retries, scaling),
  • Message template submission and approval management,
  • Token lifecycle and refresh,
  • Multi-tenant architecture — each of your customers with their own number and their own bot,
  • And the real heavy lifting: an AI layer that actually answers the questions, plus an operator panel and a knowledge base.

On its own, that's a product-development project spanning months. This is exactly where DoWaba's Developer API comes in: the Meta connection, the AI engine, the multi-channel inbox, and the customer panel are all ready; you simply connect from your own system over a REST API.

TopicMeta Cloud API from scratchDoWaba Developer API
Meta verification & approvalsYour responsibilityReady (official Cloud API + Embedded Signup)
AI response engineYou build it yourselfReady (system prompt + FAQ knowledge base)
Operator panel & inboxYou build it yourselfReady (white-label if you want)
Other channels (IG, Telegram, email, voice calls)Each one a separate projectSame API, same inbox
Integration timeMonthsHours (minutes if AI writes the code)

Architecture: your CRM → DoWaba API → official Meta infrastructure

The setup is a simple three-layer stack: your CRM calls the DoWaba REST API (with a Bearer token), and DoWaba runs your customer's WhatsApp/Instagram line over Meta's official Cloud API. Incoming messages and events can flow back to your server via webhook if you want. Because the connection is official, your customer's number isn't at risk the way it is with unofficial QR bridges.

Step-by-step integration

1) Get your API key

In the DoWaba panel, you generate a key with one click under Developer → API Keys. It's sent as a header on every request:

curl https://dowaba.com/api/auth/user \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Accept: application/json"

2) Have an AI scan the documentation

The API documentation is publicly available at dowaba.com/api-docs. You can hand the ready-made integration prompt from the panel to ChatGPT, Claude, or Gemini and have the AI write the connection code tailored to your CRM:

Review and scan the DoWaba API documentation link below:
https://dowaba.com/api-docs/

We want our customers to be able to use the DoWaba platform automatically through our own in-house CRM system. Based on this documentation, write functions to:
1. Automatically create sub-accounts and generate passwords on our customers' behalf,
2. Update the dynamic system prompt and FAQs (Frequently Asked Questions),
3. Provide panel authorization so customers can edit their own information.

Produce the complete set of API connection functions compatible with our CRM system, along with the required manifest.json structure.

3) Three core functions

a) Create a sub-account and site on your customer's behalf. For every paying customer in your CRM, you create a DoWaba account and workspace (site) in the background:

# Create a customer account
POST /api/reseller/customers
{ "name": "Nova Emlak", "email": "info@novaemlak.com", "phone": "+905321112233" }

# Create a site (workspace) on the customer's behalf — system prompt included
POST /api/reseller/customers/{user}/sites
{ "name": "Nova Emlak", "settings": { "system_prompt": "You are Nova Emlak's 24/7 assistant...", "languages": ["tr"] } }

b) Manage the system prompt and FAQs programmatically. The bot's behavior lives in the settings.system_prompt field (up to 50.000 characters) and is updated with PUT /api/sites/{site}. For the knowledge base, both single and bulk FAQ endpoints are ready — there's even an endpoint that extracts FAQs from plain text using AI:

POST /api/sites/{site}/faqs/batch              # bulk-add FAQs
POST /api/sites/{site}/faqs/batch-update       # bulk-update existing ones
POST /api/sites/{site}/faqs/extract-from-text  # extract FAQs from plain text with AI
{ "text": "Our hours are 09:00-19:00 on weekdays... Returns within 14 days..." }

c) Hand your customer over to their own panel. When your customer needs to view their messages or take over the bot manually, you generate a single-use SSO login link; if you like, the panel opens under your own brand (white-label):

POST /api/oauth/login-link   # single-use, valid for 5 minutes
→ { "url": "https://panel.your-brand.com/admin/impersonate?token=..." }

4) Feeding events back via webhook

If you want to show incoming messages in your own CRM, you define an outbound webhook. Every call is signed with HMAC-SHA256 in the X-Dowaba-Signature header — don't process anything before verifying the signature:

POST /api/webhook-endpoints
{ "url": "https://crm.your-company.com/hooks/dowaba",
  "events": ["whatsapp.message.received"] }

Industry examples

🏠 Real estate CRM

Picture a real estate CRM that manages property portfolios. The agent's listings are already stored in the CRM; on every portfolio update, you mirror the listing summaries into the bot's knowledge base with faqs/batch-update. When a customer messages at 11 p.m. asking "Any 3+1 rentals in Kadıköy?", the bot answers from the portfolio and books a viewing; the agent starts the morning with a confirmed appointment on their calendar. That 57.6% of after-hours traffic no longer slips away.

🛒 E-commerce panel

If you have your own e-commerce infrastructure, you automatically create the site for your customer's store and load their shipping/returns/payment FAQs in seconds with extract-from-text. The bot instantly answers "When will my order ship?"; when messages pour in on a campaign night, no one waits in a queue. You can also surface incoming messages via webhook right beside the order record in your own panel.

🏥 Clinic / appointment software

If you build appointment software, you spin up an assistant for each clinic with the same API: let the bot answer questions about opening hours and prep instructions and capture appointment requests. And it's not limited to text channels — DoWaba's AI call center answers the phone too; a real voice assistant talks to the patient and creates the appointment.

Not just WhatsApp

With the same integration, your customers manage Instagram DM, Messenger, Telegram, TikTok, X, email, the web widget, and voice calls from a single inbox. You connect one API to your CRM; the channel variety is DoWaba's job.

Compliance and security notes

  • Official connection: WhatsApp connects via Meta's official Cloud API; Instagram and Messenger also run over the official Meta API.
  • Opt-in required: the API only sends messages to people who have consented to be contacted; spam can get your number restricted under Meta's policies.
  • KVKK (Turkey's data protection law): webhook payloads contain customers' personal data, so set your retention periods and privacy notices accordingly on your side.
  • Signature verification: always verify the HMAC signature on webhook requests.

Frequently asked questions

Can I offer it under my own brand? Yes — in the Solution Partner model, the panel opens with your logo and your domain; your customer never sees DoWaba.

What's the cost per customer? Plans start at 1.999₺/month; solution partners get tiered discounts based on volume. You set the resale price in your own product.

Which model does the AI answer with? Each workspace can run on its own Gemini key; answers are fed from the system prompt + FAQ knowledge base.

Where's the documentation? dowaba.com/api-docs (OpenAPI + Postman collection included), plus the menu→endpoint Developer Guide inside the panel.

Get started today

Open a free account at dowaba.com, generate your API key from the Developer section, and hand the prompt above to your AI — your first integration functions will be ready within minutes. Whenever you get stuck, our WhatsApp support line (and yes, our bot is there too) has your back.