Technical Implementation Summary and IT Server Requirements
This document explains the current WhatsApp Automation application, how it operates, what infrastructure it needs in production, and what dependencies IT must provide for reliable deployment and status tracking.
The application receives BrightCall webhook events, detects unanswered AI call scenarios, and sends a follow-up WhatsApp template message through the Commbot API. It includes a desktop UI for operations, environment toggles, AUH vs Assets routing, project-level template mapping, persistent message reporting, CSV export, and automatic retry handling for temporary Commbot failures.
https://messages.ngrok.dev/path/to/api/callEnded
messages.ngrok.devhttp://localhost:3000.POST /path/to/api/callEnded (primary BrightCall path)POST /path/to/api/webphoneSummary and related BrightCall event paths (supported route variants)POST /webhooks/brightcall (fallback generic path)GET /api/settings and POST /api/settings (runtime UI settings)GET /debug/message-logs (status logs and counters by environment)GET /debug/message-logs.csv (CSV export for logs)GET /debug/recent-events (recent event feed)GET /debug/discovered-projects (observed BrightCall projects)GET /health (basic service health)Important: Credentials should be treated as secrets and rotated according to internal policy.
| Item | Recommended | Notes |
|---|---|---|
| OS | Windows Server 2019/2022 or Ubuntu 22.04 LTS | Current packaged app is Windows-first, but the backend remains standard Node.js. |
| CPU | 2 vCPU minimum (4 vCPU preferred) | Webhook load is light, but extra capacity improves resilience and monitoring headroom. |
| RAM | 4 GB minimum (8 GB preferred) | Allows Node app, ngrok, monitoring, and background retry processing comfortably. |
| Disk | 20 GB free minimum, persistent disk required | Includes application files, logs, durable event history, retry queue, backups, and installers. |
| Node.js | Node 18 LTS or Node 20 LTS | Match enterprise standard and security patching cycle. |
messages.ngrok.dev must remain valid.To keep the integration running 24/7, both the Node service and ngrok tunnel must auto-start after reboot and auto-recover on crash. The storage used by the application must also persist across restart and redeployment.
Restart=always).data/ folder is mapped to a persistent volume or replaced with database-backed storage.If the business wants the app to show delivered, opened, and read status inside the message log, Commbot must expose that data to this application through webhook callbacks or an API endpoint the app can call.
| Request | Why it is needed |
|---|---|
| Provide an always-on VM/server with Node 18/20 installed | Runs the webhook receiver continuously |
| Install ngrok and configure paid account token | Maintains the fixed public URL for BrightCall webhooks |
| Allow outbound access to ngrok, BrightCall, and Commbot APIs | Required for webhook intake and message dispatch |
| Provide persistent disk storage for the application data folder | Keeps message history, retry queue, and reporting after restart |
| Confirm whether Commbot exposes delivered, opened, and read events through webhook or API | Needed if the app should mirror the Commbot dashboard status lifecycle |
| Configure auto-start and auto-restart service policy | Ensures no manual intervention after reboot or crash |
| Set up monitoring and alerting (service down, failed retries, failed webhooks) | Early failure detection |
| Secure secret management for .env values | Protects API keys and tokens |
| Define backup and rollback process for app updates | Safe release management |
.env values, including template routing and persistent storage settings, and verify NGROK_DOMAIN=messages.ngrok.dev.http://localhost:3000/healthhttp://localhost:3000/api/settingshttp://localhost:3000/debug/message-logshttp://localhost:3000/debug/message-logs.csvFor company-scale reliability, host this on a dedicated always-on server instead of a user laptop. Keep the ngrok reserved domain, use persistent server storage for the application data folder, apply service monitoring, and formalize secret management to ensure uninterrupted webhook processing and durable reporting.