Skip to content
MoveWorkflows

Pipedream Mailgun steps in n8n

Updated 2026-10-21 · 3 min read · n8n: Mailgun (Native n8n node)

Mailgun shows up in Pipedream workflows in two roles: sending transactional email, and reacting to delivery events (bounces, complaints, opens). n8n splits these: the native Mailgun node sends, and a plain Webhook node receives events.

The n8n side

Mailgun node (n8n-nodes-base.mailgun) has a single operation, Send an email: From, To, CC, BCC, Subject, Text, HTML, and attachments from binary properties.

There is no Mailgun trigger node. Anything beyond sending (lists, suppressions, validation, routes, logs) is an HTTP Request to the Mailgun API with the same credential.

What maps where

Pipedream (app mailgun) In n8n Status
Send Email Mailgun → Send an email manual, 1 node
Verify Email HTTP Request → validations endpoint manual
Suppress Email HTTP Request → bounces / unsubscribes / complaints manual
Create / Delete / Get Mailing List Member(s) HTTP Request → lists endpoints manual
Create Route, List Domains HTTP Request manual
New Delivery, New Bounce, New Open, New Click, New Permanent Failure (all Instant) Webhook node + Mailgun webhook per event type manual
New Log Data, New Mailing List (polling) Schedule Trigger + HTTP Request manual

Mailgun actions are not in the converter's mapped list. Each one arrives as a placeholder that keeps its props (domain, from, to, subject, template) in a comment. For Send Email that is a one-minute rebuild.

Mailgun credentials in n8n

The Mailgun API credential has three fields:

  • API Domain: api.mailgun.net (US) or api.eu.mailgun.net (EU).
  • Email Domain: the sending domain, for example mg.example.com.
  • API Key: the private key from the Mailgun dashboard.

Use a verified domain in production; the sandbox domain only delivers to authorized recipients and is meant for tests.

Typical migration: bounce cleanup

Pipedream: Mailgun New Permanent Failure (Instant) → Airtable Update Record (mark email invalid). n8n: Webhook (POST) → Edit Fields (take event-data.recipient) → Airtable → Update. In Mailgun → Sending → Webhooks, set the Permanent Failure URL to the n8n production URL. Mailgun signs webhooks; if you want to check signatures, add a Code node with the HMAC check using your webhook signing key.

Mailgun migration pitfalls

  • One credential per domain. Pipedream let you pick the domain per step; in n8n the domain lives in the credential.
  • Region mismatch returns 401 or 404 that looks like a bad key. Check the API Domain first.
  • Rate limits. Mailgun returns 429 with X-RateLimit-Limit, -Remaining and -Reset (reset in Unix milliseconds); windows vary by API. Loops over large lists need a Wait node.
  • Webhook URLs per event type. Mailgun stores the URLs per event and per domain. Add the n8n URL next to Pipedream's while testing (Mailgun accepts several URLs per event), then remove the old one.

How to move your Mailgun workflows

  1. Export from Pipedream.
  2. Upload on /convert; the free report lists each Mailgun step with its props.
  3. Get the n8n JSON: 1 workflow is free; full export: $3 per workflow, $19 minimum — coming soon.

Code steps using mailgun.js keep working in a Code node on self-hosted n8n with the package allowed; check them in the code step checker. Related: SendGrid, Mailchimp, Gmail.

FAQ

What can the n8n Mailgun node do?
One operation: Send an email. Mailing lists, suppressions, routes, validation and logs need the HTTP Request node with the Mailgun credential.
Is there a Mailgun trigger in n8n?
No. Pipedream's New Delivery, New Bounce, New Open and other Instant sources become an n8n Webhook node registered in Mailgun's webhook settings.
I send from two domains. One credential?
No. The n8n Mailgun credential holds one Email Domain, so each sending domain needs its own credential.
My domain is in the EU region. What changes?
Set API Domain to api.eu.mailgun.net in the credential. A domain created in the EU region does not answer on the US base URL.

Related

Sources