Developer & Webhooks5 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 IdentifierDescription
lead.createdTriggered whenever a new contact is created (via landing page, form, widget, or import).
whatsapp.message_receivedFired on inbound customer messages received from the Meta Cloud API.
form.submittedEmitted immediately after an opt-in form submission is processed.
email.openedLogged when a recipient opens an email campaign.
email.clickedLogged 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.