ChatFlow WA — WhatsApp Chatbot for Small Business | Vibe96

AI & Automation

ChatFlow WA — WhatsApp Chatbot for Small Business

Source code included

Self-hosted WhatsApp support bot with flow builder, FAQ AI and agent inbox for small shops and service businesses.

Built by Raj's Builder Studio Updated 12 Nov 2026 1,533 lines of code

Open live demo Built withOpenAI CodexClaude Code

About this software

About ChatFlow WA — WhatsApp Chatbot for Small Business

ChatFlow WA is a Node.js 22 and Express 5 web app that answers repeated WhatsApp customer questions about prices, hours, delivery and orders. It connects to a WhatsApp Business number through Meta Cloud API webhooks, verifying the GET token and the X-Hub-Signature-256 HMAC on POST requests. Data (settings, flows, FAQs, orders, conversations) is stored in a JSON file, so no external database is needed. The dashboard is a static single-page UI with admin and optional agent logins, and a simulated customer chat at /demo. Docker, docker-compose and setup documentation are included, along with tests for the bot, CSV import and webhook signature handling.

Category: AI & AutomationStack: Express 5.3.0 · None: JSON file storeBuilt with: OpenAI Codex, Claude Code Licence: Single-site, full source

Why ChatFlow WA — WhatsApp Chatbot for Small Business

What makes it better
than the alternatives

  1. 01

    Demo mode without WhatsApp

    The /demo page lets you test the full customer chat with server-generated identities and rate limiting before connecting a number.

  2. 02

    Editable keyword flow builder

    Admins create, enable, reorder and remove keyword-triggered reply blocks, and a __HANDOFF__ reply passes the chat to a human.

  3. 03

    FAQ-grounded AI with offline fallback

    Optional OpenAI-compatible replies use the business FAQ; without an API key the app falls back to keyword matching.

  4. 04

    CSV order lookup in chat

    Admins import order rows (Order ID required; Customer, Status, ETA optional), and customers get status and ETA by sending an order number.

  5. 05

    Role-separated inbox with phone masking

    Admin and optional agent logins are separate, and agent views mask customer phone numbers to the last four digits.

WhatsApp Integration

  • Meta Cloud API webhook endpoint at /wa/webhook
  • GET verify-token check
  • POST HMAC signature verification; the endpoint refuses requests if WHATSAPP_APP_SECRET is not set
  • Configurable API version and phone number ID
  • Live/demo mode is determined by whether an access token is set

Flow Builder

  • Keyword-triggered Q&A blocks with title
  • keywords
  • reply and enabled toggle
  • Blocks checked top to bottom
  • __HANDOFF__ reply sends the chat to the agent inbox
  • Server-side validation (max 100 flows)

FAQ & AI Answers

  • Editable knowledge base with question
  • answer and keywords (max 500 entries)
  • Optional OpenAI-compatible API via OPENAI_API_KEY
  • base URL and model settings
  • Editable business name
  • welcome
  • fallback and hand-off messages

Orders

  • CSV import pasted from Excel or Google Sheets
  • Existing order IDs are updated on re-import
  • Current orders table
  • Status and ETA returned in the customer chat

Agent Inbox

  • Conversation list with search box
  • Status pills for Needs agent
  • Resolved and Automated
  • Agents and admins can reply and resolve conversations
  • Message history labelled by customer
  • bot or agent

Analytics

  • Admin-only analytics endpoint
  • Overview dashboard showing conversation and automated-answer counts

Security & Access

  • Admin and optional agent roles
  • Scrypt password verification with constant-time comparison
  • Signed sessions that expire after 12 hours
  • Same-origin checks on write routes
  • Startup refuses placeholder or missing admin credentials

Deployment

  • Dockerfile on node:22-alpine with npm ci --omit=dev
  • docker-compose with a persistent data volume
  • Environment-based configuration via .env.example
  • Setup guide and webhook reference docs
  • Node test suite covering bot
  • CSV and webhook

Quality report

Manually reviewed

85/ 100

Automated audit score

✓ Approved by our review team

Listed after manual review.
Audit run: 3 Nov 2026
Reviewed by Vibe96 staff, Dubai.

Security90
Code structure72
Docs & completeness75
Dependency health82
Build & deploy80
Reviewer notes (3 minor)

No real credentials found; weak default admin password and session secret fallback ship to buyers; single 'server.js' holds routes, json store, bot logic, webhook and ai client with minified one-line handlers; builds and starts from a clean machine; docker/lockfile and setup-doc gaps; no sql, so no injection; json store lacks input validation and scoping on bulk writes; admin routes guarded, but default credentials, plaintext password compare and a public demo endpoint weaken access control. None of these stop the software from working; the developer has been told and improvements come in a future update.

Versions & updates

1.0.0
First release12 Nov 2026✓ Reviewed & audited

No updates yet. New versions appear here with a changelog.
Buyers receive updates free for 1 year.

Quality report

What you get

  • </>Full source codeThe complete audited source, delivered as a download from your account. No obfuscation.
  • ▤DocumentationSetup guide, architecture notes, CLAUDE.md and AGENTS.md.
  • ↻One year of updatesEvery new version the builder publishes, free for 12 months.
  • ♧30 days of supportInstallation and defect support through Vibe96 tickets.
FreeSingle-site licence Details