⚡Developer & Webhooks• 5 min read• Updated September 2026
Inbound Webhooks & Event Dispatches
Developer reference for subscribing to real-time MANZA events and pushing external payloads into your workspace.
Inbound Webhooks & Event Dispatches
MANZA’s Developer Platform allows you to capture inbound leads from external sources and stream real-time workspace activity into your own web applications, Zapier, or internal data warehouses.
1. Supported Event Types
When you register a webhook in Settings > API & Webhooks, you can subscribe to:
| Event Identifier | Description |
|---|---|
lead.created | Triggered whenever a new contact is created (via landing page, form, widget, or import). |
whatsapp.message_received | Fired on inbound customer messages received from the Meta Cloud API. |
form.submitted | Emitted immediately after an opt-in form submission is processed. |
email.opened | Logged when a recipient opens an email campaign. |
email.clicked | Logged when a link inside an email campaign is clicked. |
2. Webhook Security & HMAC Signatures
Every outgoing webhook includes an X-Manza-Signature header containing a SHA-256 HMAC digest computed with your endpoint’s secret key:
typescript
import crypto from 'crypto';
function verifyManzaWebhook(payloadString: string, signatureHeader: string, secret: string) {
const hmac = crypto.createHmac('sha256', secret);
const digest = hmac.update(payloadString).digest('hex');
return crypto.timingSafeEqual(Buffer.from(digest), Buffer.from(signatureHeader));
}3. Sample Event Payloads
lead.created
json
{
"event": "lead.created",
"timestamp": "2026-09-11T12:00:00Z",
"organization_id": "org_abc123",
"data": {
"contact_id": "cuid_xyz789",
"email": "alex@startup.io",
"phone": "+919876543210",
"first_name": "Alex",
"tags": ["website-lead", "vip"],
"created_at": "2026-09-11T12:00:00Z"
}
}whatsapp.message_received
json
{
"event": "whatsapp.message_received",
"timestamp": "2026-09-11T12:01:30Z",
"organization_id": "org_abc123",
"data": {
"message_id": "wamid_HBgLM...",
"from": "+919876543210",
"body": "Can you share pricing details for Growth?",
"contact_id": "cuid_xyz789"
}
}4. Ingesting Contacts via REST API
Send an authenticated HTTP POST request to push contacts from external sources directly into MANZA:
bash
curl -X POST https://app.manza.in/api/contacts \
-H "Authorization: Bearer manza_live_your_key_here" \
-H "Content-Type: application/json" \
-d '{
"first_name": "David",
"last_name": "Miller",
"email": "david@company.com",
"phone": "+14155552671",
"tags": ["partner-referral"]
}'Response:
json
{
"success": true,
"contact": {
"id": "cuid_456...",
"email": "david@company.com",
"status": "ACTIVE"
}
}Have questions about this integration?
Configure this feature in your MANZA workspace or message our team for guidance.