Skip to content

feat: add Baileys-based WhatsApp channel (/add-whatsapp-baileys) #1473

Description

@ivo-toby

Summary

Add an alternative WhatsApp channel implementation using Baileys — the open-source WhatsApp Web multi-device protocol library.

Motivation

The primary WhatsApp channel (/add-whatsapp-cloud) uses the official Meta Cloud API, which requires:

  • A Meta Business account
  • A paid phone number subscription
  • A publicly reachable webhook URL

A Baileys-based channel would:

  • Work with any personal WhatsApp account (no Meta Business account needed)
  • Require no inbound port / public URL (outbound WebSocket only)
  • Be free to run

This is ideal for self-hosters who want to connect a personal WhatsApp account without provisioning a Meta Business API phone number.

Implementation notes

  • Use @whiskeysockets/baileys for the WebSocket client
  • Auth via QR code or pairing code (stored in store/auth/)
  • JID format: PHONE@s.whatsapp.net (DM) / GROUP_ID@g.us (group)
  • Self-registration via registerChannel('whatsapp-baileys', factory)
  • New skill: /add-whatsapp-baileys

Trade-offs vs Cloud API

Cloud API Baileys
Account type Meta Business Personal
Cost Paid at scale Free
Public webhook needed Yes No
Official Yes No (reverse-engineered)
Ban risk None Possible
Group support Limited Full

References

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions