Webhooks & APIIntegrations

Mailgun

Receive Mailgun email events (delivered, opened, bounced)

Mailgun signs HTTP webhooks with HMAC-SHA256 in X-Mailgun-Signature-256 (hex, no prefix). Wexio's Mailgun preset handles this.

This covers Mailgun HTTP webhooks (modern). Legacy Mailgun used a different per-event signature scheme — switch to HTTP webhooks in the Mailgun dashboard if you're on the old format.

Provider docs: Setting up webhooks in Mailgun

Setup

1. Wexio connection

New connection → Inbound → Mailgun preset. Prefills auth mode, header name, and encoding.

2. Mailgun webhook

Mailgun dashboard → Sending → Webhooks → Add webhook. Pick the event type (delivered, opened, clicked, bounced, complained, unsubscribed, temporary_fail). Paste the Wexio URL.

The Mailgun Webhook Signing Key is in Settings → API Security. Copy it into Wexio's Signing secret field.

3. Contact resolution

Identifier typeJSON path
Email$.event-data.recipient

4. Capture schema, bind a flow

Standard flow. Branch on {{webhook.event-data.event}} for the event type (e.g. delivered vs failed).

Example — Email Bounced → WhatsApp Notice

  • Mailgun event: failed (permanent)
  • Wexio: identifier Email + $.event-data.recipient
  • Flow: notify the contact via WhatsApp that their email bounced; update their email_bounced_at field

On this page