Deploy WhatsApp Notifications API [Updated Sep'26]

Self-host WhatsApp order alerts, reminders & OTPs — no Meta approval

Deploy WhatsApp Notifications API [Updated Sep'26]

/var/lib/postgresql/data

Just deployed

/data

Just deployed

Deploy and Host Evolution API on Railway

Evolution API turns any WhatsApp number into a programmable notifications channel — send order updates, appointment reminders, alerts, OTPs, and broadcasts to your customers over a simple REST API, with no Meta Business approval and no per-message fees. Built on the Baileys library, it connects a real WhatsApp account over HTTP so your app, backend, or automation fires a message with a single API call. This template deploys Evolution API with PostgreSQL, Redis, and persistent session storage pre-wired and API-key authentication enabled — so you're sending programmatic WhatsApp notifications in minutes.


What This Template Deploys

ServicePurpose
Evolution APIThe WhatsApp REST API, instance manager, and webhook engine
PostgreSQLInstances, contacts, message history, and delivery records
RedisInstance state and caching for reliable multi-instance sending

All three connect over Railway's private network. Evolution API exposes a REST endpoint for sending and receiving messages, PostgreSQL stores message and contact data, and Redis keeps instance state fast — secured by an API key from the first boot.


About Hosting

Evolution API is a capable messaging backend, and a few specifics make it a secure, reliable notifications channel — all handled here.

Send a notification with a single API call. The core workflow is simple: POST to Evolution API with a number and a message, and it delivers over WhatsApp. Fire order confirmations from your e-commerce backend, appointment reminders from your booking system, alerts from your monitoring stack, or OTPs from your auth flow — any system that can make an HTTP request can send a WhatsApp message, with no SDK required.

API-key authentication from boot — don't run it open. Evolution API's endpoints control a WhatsApp account that can send messages to your customers, so an unauthenticated deployment is a real risk. This template sets a strong AUTHENTICATION_API_KEY that every request must present in the apikey header, so only your systems can send messages. Keep it secret and rotate it if exposed.

No Meta approval, no per-message fees — and mind account limits. Because it uses Baileys (a WhatsApp Web connection), Evolution API needs no Meta Business approval and charges nothing per message — a major saving over official providers at notification volume. In return, respect WhatsApp's usage limits: use a dedicated business number (not personal), warm it up gradually, keep content transactional and expected, and pace sending, since aggressive blasting to unengaged numbers risks the account.

Delivery events over webhooks, on a reliable stack. Configure a webhook URL and Evolution API streams sent, delivered, and read receipts plus inbound replies in real time, so your system can track notification delivery and handle responses — the basis for two-way flows. This template wires PostgreSQL for durable message and contact history and Redis for instance state, the combination that keeps one or many instances sending reliably. SERVER_URL is set to your Railway domain so webhooks and media resolve, and both databases persist across redeploys.

Typical cost: ~$10–15/month on Railway for the gateway, Postgres, and Redis — flat, regardless of how many notifications you send, versus per-message pricing that scales with volume. Evolution API is free and open source.


How It Compares

Evolution API (self-hosted)Twilio WhatsAppMeta Cloud APISMS gateways
Cost per messageNone (flat infra)Per messagePer conversationPer SMS
Meta approvalNot neededNeededNeededN/A
ChannelWhatsAppWhatsAppWhatsAppSMS
Two-way / webhooksYesYesYesVaries
Data ownershipFull — your infraVendorMetaVendor
Self-hostableYesNoNoNo

Twilio and the Meta Cloud API are reliable for notifications but bill per message or conversation, which adds up fast at scale, and both require business approval. SMS gateways reach phones but cost per message and lack WhatsApp's rich formatting and read receipts. Evolution API's edge is unlimited-volume WhatsApp notifications at flat infrastructure cost — order updates, reminders, alerts, and OTPs — self-hosted, on infrastructure you own.


Deploy in Under 5 Minutes

  1. Click Deploy on Railway — Evolution API, PostgreSQL, and Redis build and wire together (~4 minutes)
  2. Confirm AUTHENTICATION_API_KEY is set and the databases are connected
  3. Create an instance and connect it by scanning the QR code with a dedicated WhatsApp number
  4. Set a webhook URL to receive delivery receipts and replies
  5. POST a test message from your app, and watch it arrive on WhatsApp

Use a dedicated business number and keep notifications transactional to protect the account.


Common Use Cases

  • Order notifications — send confirmations, shipping updates, and delivery alerts automatically
  • Appointment reminders — reduce no-shows with automated WhatsApp reminders from your booking system
  • Monitoring alerts — push server, uptime, and on-call alerts to a WhatsApp number or group
  • Broadcast messaging — send announcements and campaigns to your contact list via REST

Configuration

VariableRequiredDescription
AUTHENTICATION_API_KEYRequiredSecures every request via the apikey header — set a strong value
DATABASE_URLAuto-injectedPostgreSQL connection for durable message and contact data
REDIS_URIAuto-injectedRedis connection for instance state and caching
SERVER_URLRecommendedYour Railway domain, for correct webhook and media URLs
Webhook URLOptionalYour endpoint to receive delivery receipts and replies

Set a strong API key and keep it secret. Every request needs AUTHENTICATION_API_KEY in the apikey header — it controls a WhatsApp account that messages your customers, so protect it. This template generates one for you.

Protect the number. On Baileys, use a dedicated business number, warm it up, keep notifications transactional and expected, and pace sending — aggressive blasting risks the account. Postgres and Redis persist across redeploys.


Dependencies for Evolution API Hosting

  • Railway account — ~$10–15/month for the gateway, Postgres, and Redis
  • PostgreSQL and Redis (both included and wired)
  • A dedicated WhatsApp number (not personal) to connect via QR
  • Any system that can make an HTTP request, to send notifications

Deployment Dependencies

Implementation Details

The template runs the official Evolution API image alongside PostgreSQL and Redis over Railway's private network, with only the API and manager UI exposed. Every request must present AUTHENTICATION_API_KEY in the apikey header, so the WhatsApp account — which can message your customers — isn't publicly controllable. PostgreSQL stores durable data (instances, contacts, message and delivery history) and Redis holds instance state, supporting reliable notification sending from one or many instances.

Evolution API connects to WhatsApp through the Baileys library (a WhatsApp Web session established by scanning a QR code), which needs no Meta Business approval and charges nothing per message — the basis for cost-effective, high-volume notifications. Because it relies on a WhatsApp Web session, account-safety practices matter: a dedicated business number, gradual warm-up, transactional and expected content, and paced sending, since blasting unengaged numbers risks the account. The official Meta Cloud API can be used instead where formal compliance is required. Delivery, read, and inbound events reach configured webhook URLs in real time, enabling delivery tracking and two-way flows, and SERVER_URL is set to the Railway domain so webhooks and media resolve. Data in PostgreSQL and Redis persist and are the components to back up.


Frequently Asked Questions

How do I send a WhatsApp notification? POST to Evolution API's send endpoint with a number and message and your apikey header — it delivers over WhatsApp. Any system that can make an HTTP request can send, so it drops into an e-commerce backend, booking system, or monitoring stack with no SDK.

How do I keep my number from getting banned? Use a dedicated business number (never personal), warm it up gradually, keep notifications transactional and expected by recipients, and pace your sending. Aggressive blasting to unengaged numbers is what risks the account.

Can it also receive messages? Yes — inbound messages arrive at your webhook, so beyond one-way notifications you can build confirmations and two-way flows, or connect tools like n8n and Chatwoot for richer automation.


Why Deploy Evolution API on Railway?

Railway is a singular platform to deploy your infrastructure stack. Railway will host your infrastructure so you don't have to deal with configuration, while allowing you to vertically and horizontally scale it.

By deploying Evolution API on Railway you get a programmable WhatsApp notifications channel with the hard parts solved — PostgreSQL and Redis wired, API-key authentication enabled, and webhooks ready for delivery tracking. Send order updates, reminders, alerts, and OTPs over WhatsApp with no Meta approval and no per-message fees, self-hosted on infrastructure you own.


Template Content

More templates in this category

View Template
Telegram JavaScript Bot
A template for Telegram bot in JavaScript using grammY

Agampreet Singh
294
View Template
Cobalt Tools [Updated Sep ’26]
Cobalt Tools [Sep ’26] (Media Downloader, Converter & Automation) Self Host

shinyduo
290
View Template
Telegram Gateway
Multi-bot Telegram webhook gateway with WebSocket event streaming

INAPP
6