Webhooks

Last reviewed:

Short answer

DMowl POSTs a JSON event to your URL when a lead shares an email, clicks a link, enters a giveaway, opts out or buys. Set the URL and events under Integrations; each request is signed with your secret so you can verify it came from DMowl.

Set up

  1. 1
    Create a receiving URL

    Make: “Custom webhook”. Zapier: “Webhooks by Zapier → Catch Hook”. n8n: “Webhook” node. Or your own endpoint.

  2. 2
    Add it in DMowl

    Integrations → Outgoing webhook: paste the URL, choose events, save.

  3. 3
    Test

    Click “Send test event”. A lead.email_collected event with test data arrives at your URL.

Events

EventSent whendata contains
lead.email_collectedA contact answered an email questioncontact_id, username, name, email, source, source_id
link.clickedA contact opened a tracked link (first click)url, contact_id, source, source_id
giveaway.enteredA contact entered a giveawaygiveaway_id, contact_id, username
contact.opted_outA contact wrote STOP or similarcontact_id, username
conversion.createdAn order was attributed to a DMamount, currency, contact_id, source, source_id, order_id

Payload and signature

The body is { "event": "…", "created_at": "ISO date", "data": { … } }. Headers: X-DMowl-Event (the event name) and X-DMowl-Signature: sha256=<hex>, an HMAC-SHA256 of the raw body with your signing secret (shown under Integrations).

Compute the HMAC over the raw request body before parsing it and compare it with the header. Your endpoint should answer within 5 seconds; events are sent once and not retried, so queue slow work.

Questions? Answers.

Is there a Zapier app?

Not yet. Use “Webhooks by Zapier → Catch Hook” — it works the same way.

Still stuck? Write to us and tell us what you tried: hello@dmowl.com