Sharing a simple Node.js webhook listener for AcelleMail events. Useful for syncing subscribers with external systems.
const express = require('express');
const app = express();
app.use(express.json());
// Webhook endpoint
app.post('/webhook/acellemail', (req, res) => {
const { event, data } = req.body;
switch (event) {
case 'subscriber.created':
console.log('New subscriber:', data.email);
// Sync to CRM, send welcome gift, etc.
break;
case 'subscriber.unsubscribed':
console.log('Unsubscribed:', data.email);
// Update CRM status
break;
case 'campaign.sent':
console.log('Campaign sent:', data.campaign_name);
// Log to analytics
break;
case 'campaign.opened':
console.log('Email opened:', data.email, data.campaign_name);
break;
default:
console.log('Unknown event:', event);
}
res.status(200).json({ received: true });
});
app.listen(3000, () => console.log('Webhook listener on port 3000'));
Configure the webhook URL in AcelleMail → Admin → Settings → Webhooks.