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 type | JSON path |
|---|---|
$.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_atfield