PTENES
Self-hosted CRM ยท WhatsApp Business API

Your own CRM for WhatsApp, your way

Self-hostable template โ€” shared inbox, sales pipelines, broadcasts, and no-code automations. Fork it, brand it, host it: your code, your Supabase, your domain.

wacrm shared inbox with WhatsApp conversations and sales pipeline
What it is

A complete CRM, not a SaaS

wacrm is a template โ€” you fork it, host it, and own everything: the code, database (Supabase), and domain. No seat pricing, no lock-in.

๐Ÿ“ฅ Inbox + pipeline

Shared inbox using the official WhatsApp Business API (multiple agents on one number) with Kanban sales pipelines linked to conversations.

๐Ÿค– AI + automations

No-code automations (triggers, conditions, webhooks) and an AI assistant (your own OpenAI/Anthropic key) that responds based on your own knowledge base.

๐Ÿ”Œ API + MCP

Public REST API with revocable keys, plus an MCP server to control the CRM directly from Claude, Cursor, and other AI assistants.

How it works

From fork to live CRM

The recommended workflow is fork โ†’ configure credentials โ†’ deploy โ€” no infrastructure of your own to maintain.

Fork on GitHubโ†’ Supabase (Postgres + Auth)โ†’ WhatsApp Business API (Meta)โ†’ Deploy (Hostinger or Node.js)โ†’ Inbox + pipeline live
Prerequisites

What to have before you start

Stack: Next.js 16 (App Router), React 19, TypeScript, Tailwind v4, Supabase, and the Meta Cloud API.

Node.js + npm

To run locally and install dependencies.

# check version
node -v

Supabase project

Postgres + Auth + Storage + RLS. You create your own and enter the keys in .env.local.

# main variables
NEXT_PUBLIC_SUPABASE_URL
NEXT_PUBLIC_SUPABASE_ANON_KEY
SUPABASE_SERVICE_ROLE_KEY

WhatsApp Business API

Meta app with Cloud API configured, plus a 64-character encryption key for tokens.

# variables
META_APP_SECRET
ENCRYPTION_KEY
User guide ยท step by step

From fork to running dashboard

Real steps to get your own instance running in development.

1

Fork and clone

Fork this repo on GitHub and clone your fork.

git clone https://github.com/<seu-usuario>/wacrm.git  # your fork
cd wacrm
2

Install the dependencies

Standard installation via npm.

npm install
3

Set up the environment

Copy the example and fill in your Supabase and Meta credentials.

cp .env.local.example .env.local  # edit with your keys
4

Run in development

Starts the local server โ€” you'll be redirected to /login (or /dashboard if you're already authenticated).

npm run dev  # http://localhost:3000
5

Check types, lint, and tests

The same commands that run in the project's CI.

npm run typecheck
npm run lint
npm run test
6

Deploy

Recommended: Hostinger (managed Node.js, connects to the fork and builds on push to main). But it runs anywhere with Node.js โ€” Vercel, Railway, your own VPS.

Roadmap

Where the project is headed

wacrm is a template โ€” the maintainers define the roadmap; complete self-hosting documentation is available on the official site.

Docs
Self-hosting documentationComplete setup guide for Supabase, WhatsApp, and deployment at wacrm.tech/docs.
API
Public API + MCPVersioned REST API (/api/v1) and an MCP server for automations and integrations with AI assistants.
Fork
Free customizationThe model is fork โ†’ customize โ†’ deploy โ€” no upstream contributions are expected; each instance is yours.