WhatsApp CRM Starter: official WhatsApp Business API in your own app
A minimal, working WhatsApp CRM on the official WhatsApp Business API (Meta Cloud API)
through WasapFlow Bridge.
You don't need to become a Meta Tech Provider or go through Meta App Review. Clone it and
run it, then let your AI (Claude Code, Cursor, Codex, Copilot) grow it into your CRM or SaaS.
It's about 400 lines of Node.js across four files, with two dependencies and no build step.
What it does
- Connect WhatsApp button. Your client connects their number through Meta Embedded Signup.
Coexistence is supported, so the business can keep using the WhatsApp Business app on
their phone.
- Signed webhooks. Incoming messages, delivery and read status, replies typed on the phone
(
message.echo), and chat history backfill (message.history).
- Inbox. Conversations, unread counts, the 24-hour window, and text or template replies.
- Multi-number. Everything is keyed by
phone_number_id.
- BSUID-safe contacts. WhatsApp usernames don't break your phone field.
AGENTS.md, CLAUDE.md and .cursor/rules. These tell your AI exactly how the
integration works, so what it builds on top stays correct.
Run it in 5 minutes
- Partner account. Create a free account at https://partner.wasapflow.com/bridge/partner/register
and save a card. Nothing is charged until the first number connects. After that, Bridge costs
$10/month for every 3 WhatsApp numbers, and Meta bills message charges directly.
- Install:
- Keys. Open portal → Integration and copy the Partner Key and Webhook Secret into
.env.
- Public URL for webhooks. Deploy the app (Railway, Render, Fly, a VPS), or tunnel your
local machine (
cloudflared tunnel --url http://localhost:3000 or ngrok http 3000).
In portal → Integration, save the webhook URL as https://<your-domain>/webhook/wasapflow.
- Start:
Open http://localhost:3000 (user
admin, password = ADMIN_PASSWORD), click
+ Connect WhatsApp, then message that number from your phone.
Build the rest with your AI
Open the folder in your AI tool and paste one of these prompts:
Read AGENTS.md and the WasapFlow Bridge API reference. Replace lib/store.js with Postgres using Prisma, keeping the same exports. Add migrations.
Read AGENTS.md. Make this multi-tenant: users sign up, each tenant connects its own WhatsApp numbers via POST /connect/session with state = tenant id, and only sees its own inbox.
Read AGENTS.md and the Bridge docs. Add media: show incoming images and documents, and let agents send images from the composer.
Read AGENTS.md. Add a templates page: list templates with status, create new ones, and refresh on the template.status_updated webhook.
Read AGENTS.md. Add assignment and tags: assign a conversation to a staff member, tag it, and filter the inbox by tag.
Give your AI live access (optional). The WasapFlow MCP server lets it search the docs
and call your Bridge account, for example to list numbers, check failed webhooks, or send a
test message.
Files
Links
FAQ
Do I need a Meta Business verification or app review? You don't need app review or
Tech Provider status. Bridge provides both. Each business connects its own number through
Meta's Embedded Signup and must follow WhatsApp's policies.
Can a business keep using WhatsApp on their phone? Yes. With Coexistence, replies typed on
the phone show up in this inbox as message.echo.
Is this production-ready? The integration patterns are: signature check, deduplication,
BSUID handling, multi-number, and the 24-hour window. The JSON-file storage and Basic auth are
not. Swap them in for your stack (see the prompts above).
MIT licensed. © Kobaran Teguh Sdn. Bhd.