# Mailgun integrations: messages and domains

> Send a message, create a domain and create a mailing list in Mailgun, and start a workflow when Mailgun sends “Message accepted”.

**Canonical page:** https://tray.ai/connectors/mailgun-integrations/
**Categories:** Communication
**Connects through:** HTTP Connector

## Overview

Mailgun is an email delivery service for developers, used to send, receive, and track transactional and bulk email through an API. Tray.ai connects to Mailgun through the HTTP Connector, so your workflows can call the Mailgun API alongside the rest of your stack.

## Use cases

### Messages

Create messages in Mailgun from any Tray.ai workflow. The Mailgun API covers calls such as send a message and send a MIME message.

- Send a message
- Send a MIME message

### Domains

Read, create, update, and delete domains in Mailgun from any Tray.ai workflow. The Mailgun API covers calls such as list domains and create a domain.

- List domains
- Create a domain
- Update a domain

### Mailing lists

Create mailing lists in Mailgun from any Tray.ai workflow. The Mailgun API covers calls such as create a mailing list and add a list member.

- Create a mailing list
- Add a list member
- Bulk add list members

### Mailgun events

Start a Tray.ai workflow the moment something happens in Mailgun. Mailgun sends events such as message accepted and message delivered to a Tray.ai webhook trigger.

- Message accepted
- Message delivered
- Delivery failed permanently

## Challenges Tray.ai solves

### Keeping Mailgun credentials out of logs

A raw API call usually means pasting a key or token into the request, where it ends up in step inputs, logs, and screenshots.

**How Tray.ai helps:** Store Mailgun credentials once as a Tray.ai authentication and reference them from the HTTP Connector. Tray.ai masks authentication values in logs, so the secret never shows up in a step's input or output.

### Going from the Mailgun API docs to a working call

Translating an example request from API docs into a workflow step means copying the method, URL, headers, and body by hand.

**How Tray.ai helps:** Paste a cURL example from the Mailgun API docs into the HTTP Connector and Tray.ai fills in the method, URL, headers, and body for you.

### Handling files and non-JSON responses

Not every API answers in JSON. Some return XML, files, or binary data, or expect a multipart upload.

**How Tray.ai helps:** The HTTP Connector parses JSON and XML responses, returns files you can pass to the next step, and sends multipart form data for uploads.

## Frequently asked questions

### Does Tray.ai connect to Mailgun?

Yes. Tray.ai connects to Mailgun through the HTTP Connector, which calls the Mailgun API directly. Any call the Mailgun API documents can run as a step in a Tray.ai workflow.

### How does Tray.ai authenticate with Mailgun?

The Mailgun API uses basic authentication. You save it once as a Tray.ai authentication, and the HTTP Connector adds it to every request.

### Can I get a dedicated Mailgun connector?

Mailgun runs through the HTTP Connector rather than a dedicated connector. If your team wants one, the Tray.ai connector SDK can build a dedicated Mailgun connector from the Mailgun API.

## Learn more

- Intelligent Integration: https://tray.ai/platform/intelligent-ipaas/
- Merlin Agent Builder: https://tray.ai/platform/merlin-agent-builder/
- Agent Gateway for MCP: https://tray.ai/platform/agent-gateway/
- Book a demo: https://tray.ai/contact/
