Mailgun
Send the right update through Mailgun at the right moment, with a person approving what reaches customers.
33 ways to read, 10 ways to write, each write switched on by you.
Quality checks
Built and tested with example responses.
- Ready to connect: doneEvery listed action is built in.
- Built and tested with example responses: doneEach action is built from the provider’s published API and tested against example responses, errors, rate limits and paging.
Connected, approved, proven.
The things teams do most with Mailgun, an example flow with a person in the loop, and what Nexra keeps as proof.
Top actions
- Add or update mailing list member
list_members.upsertApproval by rule - Create mailing list
mailing_lists.createApproval by rule - List account webhooks
account_webhooks.listRead
Example flow
- Mailgun · List account webhooks
account_webhooks.listDone - Mailgun · Add or update mailing list member
list_members.upsertMaker-checker - Nexra · Record the decision and result in the evidence chainProven
Example workflow. Routine runs go through on their own. Only a change your rules flag, such as one over a limit you set, waits for the right person, who sees the exact change and the rule before it reaches Mailgun.
What gets logged
- Whether it ran on its own or who approved it, and under which rule
- A fingerprint of the exact request sent to Mailgun
- Mailgun's reply: what it created or changed
- One entry in the evidence chain, linked to the one before
Try this in the sandbox
Run the whole flow with test data in your sandbox, then connect your own account when you are ready to go live.
For developers
Technical detail
Send transactional email with Mailgun; read events, logs, metrics, domains, tags, suppressions, routes, IPs, users and webhooks; manage templates, versions, mailing lists and members.
Sinch Mailgun API docs- Source actions
- 33
- Destination actions
- 10
- Data types
- 25
What you can map
Reads are always available. Writes are off until you switch them on for a connection, and governed writes follow your policies.
account webhooks1
- List account webhooksSource
Account-level webhooks with their event types.
allowlist1
- List allowlistSource
Addresses and domains that bypass the domain's bounce and unsubscribe suppressions.
bounces1
- List bouncesSource
Addresses suppressed after a bounce.
complaints1
- List complaintsSource
Addresses that reported mail as spam.
domain tracking1
- Get domain tracking settingsSource
Open, click and unsubscribe tracking settings for the configured domain.
domain webhooks1
- List domain webhooksSource
Webhook URLs configured per event type for the configured domain.
domains2
- Get domainSource
One domain with its sending and receiving DNS records and verification state.
- List domainsSource
Sending domains on the account with their state.
events1
- List eventsSourceIncremental
Accepted, delivered, failed, opened, clicked, unsubscribed and complained events for the domain.
ip pools1
- List dedicated IP poolsSource
Dedicated IP pools and their IPs.
ips1
- List IPsSource
Sending IP addresses on the account, with dedicated and warm-up flags.
list members4
- Get mailing list memberSource
One member with subscription status and variables.
- List mailing list membersSource
Members of one mailing list, optionally only subscribed or unsubscribed.
- Update mailing list memberDestinationProvider duplicate protectionApproval before production
Updates a member's name, variables or address. Subscription changes only when subscribed is given.
- Add or update mailing list memberDestinationProvider duplicate protectionApproval before production
Adds a member or updates an existing one (upsert=yes). The subscribed value must be given explicitly.
logs1
- Search logsSource
Event logs for the configured domain, newest first, filtered by event, recipient, message ID or tag in the request body.
mailing lists4
- Create mailing listDestinationProvider duplicate protectionApproval before production
Creates a mailing list with a unique list address.
- Get mailing listSource
One mailing list.
- List mailing listsSource
Mailing lists on the account with member counts.
- Update mailing listDestinationProvider duplicate protectionApproval before production
Changes a list's name, description, access level, reply preference or address.
messages1
- Send emailDestinationNot retried automaticallyApproval before production
Sends one transactional email (up to 50 recipients) from the configured domain, with raw content or a stored template.
metrics1
- Query sending metricsSource
Delivery, engagement and failure counts and rates for the configured domain, grouped by time, tag, provider or country.
routes2
- Get routeSource
One inbound route.
- List routesSource
Inbound routes with their filter expressions and actions.
sending queues1
- Get sending queue statusSource
Whether regular and scheduled sending is currently disabled for the domain.
stats1
- Get domain statisticsSource
Totals for one event type over a period, by hour, day or month.
subaccounts2
- Get subaccountSource
One subaccount.
- List subaccountsSource
Subaccounts of this account with status.
tag stats1
- Get tag statsSource
Delivery and engagement counts for one tag over time.
tags3
- Get tagSource
One tag with its description and first and last use.
- List tagsSource
Message tags used on the domain.
- Update tag descriptionDestinationProvider duplicate protectionApproval before production
Sets the description of a tag.
template versions4
- Create template versionDestinationProvider duplicate protectionApproval before production
Adds a new version to a template and optionally makes it active.
- Get template versionSource
One template version with its content.
- List template versionsSource
Versions of one stored template, with the active flag.
- Update template versionDestinationProvider duplicate protectionApproval before production
Changes a template version's content or comment. Never activates it, so sends keep using the current active version.
templates4
- Create templateDestinationProvider duplicate protectionApproval before production
Creates a template, optionally with its first version content.
- Get templateSource
One template with its active version content.
- List templatesSource
Stored templates on the domain.
- Update template descriptionDestinationProvider duplicate protectionApproval before production
Changes a template's description.
unsubscribes1
- List unsubscribesSource
Addresses that unsubscribed from the domain, all mail or specific tags (consent withdrawn).
users2
- Get userSource
One user on the account.
- List usersSource
Users on the Mailgun account with role and two-factor status.
Access and limits
- Authentication
- Private API key
- Plans and access
- All Mailgun plans. Free and trial accounts can only send to authorised recipients on the sandbox domain. Domain sending keys can only send; use a primary account API key (or a key with the needed role) for lists, templates, events and suppressions.
- Test environment
- Every account has a sandbox domain; o:testmode accepts messages without delivering them.
- Rate limits
- Account-level limits that depend on plan; HTTP 429 when exceeded. Events and logs are retained for at least 3 days (longer on paid plans).
- Pagination
- paging.next URLs on events, mailing lists, members, templates, template versions and suppressions; skip/limit on domains, routes, subaccounts and users; body tokens on logs.
- Provider events
- Domain webhooks for delivered, opened, clicked, unsubscribed, complained and failed events. Flows run on demand, on a schedule, or when a scheduled check finds new or changed records.
Before you build a flow
- Mailgun marks the Events and Stats APIs as deprecated in favour of the Logs and Metrics APIs; they still operate and are used here because their request and response fields are fully documented.
- Messages are limited to 50 recipients in Nexra, and sending to a mailing list address is refused, so this operation cannot broadcast to audiences.
- Sends have no idempotency key; uncertain sends are not repeated automatically.
- Mailing list member upserts require an explicit subscribed value so Nexra never changes consent implicitly.
- Suppression changes and imports, bulk member uploads, attachments, stored-message resends, MIME sends, domain, DNS, DKIM, IP, route, webhook, credential, key and alert changes, subaccount changes, email validation and all deletes are intentionally not implemented. Only the existing single transactional send exists; no new send operations were added.
- template_versions.update never changes which version is active.
- Mailgun takes tag names and descriptions as query parameters on tag reads and updates; tags are labels, not personal data.
- metrics.search and logs.search are read-only reports sent as POST and are always limited to the configured domain. Logs are kept for a plan-dependent period.
- Account-level reads (users, subaccounts, IPs, IP pools, account webhooks) need an account API key with an admin or developer role.
Developer reference
- Create the Sinch Mailgun credentials described above with the narrowest permissions your flows need.
- In Nexra, open Connect, then Connections, then New connection, choose Mailgun, enter its settings and credentials, and tick only the write actions you need. Connection guide
- Test the connection, then use its actions as flow sources and destinations. Flow guide
Machine-readable detail: GET /api/public/connect/connectors/mailgun and the Connections API.