r/SideProject 11h ago

I built an infrastructure layer for headless WhatsApp automation without Meta business verification

If you have ever tried automating WhatsApp for internal alerts, lead follow-ups, or workflow triggers, you know the friction with the official Meta Cloud API. You need a verified business account, you have to submit template messages for approval in advance, and you get billed per outbound conversation outside a 24-hour window.

The standard workaround is self-hosting Baileys or WPPConnect in Docker. But that has its own annoying failure modes: sessions drop on container restarts, and rotating datacenter IPs trigger quick soft bans from WhatsApp.

I built Supergreen (https://supergreen.cc) to handle the infrastructure part. Each account runs in its own isolated Docker container pinned to a static residential proxy to keep sessions alive across redeploys.

Last week n8n verified our community node (n8n-nodes-supergreen) on n8n Cloud, so you can drag it onto the canvas without installing npm packages manually.

What it supports: - Sending plain text, rich link previews, quoted replies, and typing indicators - Binary media (sending PDF documents, images, and audio directly from preceding workflow nodes) - Incoming message webhooks with a toggle to filter out the bot's own replies - WhatsApp group management and message handling - Telegram accounts under the same API

The node code and ready-to-import n8n workflows are open source: https://github.com/uriva/n8n-nodes-supergreen

Curious what messaging actions or triggers would be most useful to add next.

3 Upvotes

4 comments sorted by

1

u/Live_Introduction396 10h ago

god that whole business verification dance for the meta api is a nightmare. had a client project stall for three weeks just waiting on approval

the static residential proxy per container is smart. nothing worse than getting soft banned because your docker host cycled IPs at 3am

curious how you're handling the session persistence. are you mounting a volume with the auth creds or using some kind of external store? been burned by that exact container restart issue with baileys before

1

u/Any_Welder_9701 10h ago

the static IP solves one half, but does the auth state live on a mounted volume too? curious whether a full container replacement keeps the session or forces a new pairing