# MailerSend

MailerSend is a transactional email service designed for developers to integrate email sending capabilities into their applications.

- **Category:** transactional email
- **Auth:** API_KEY
- **Composio Managed App Available?** N/A
- **Tools:** 23
- **Triggers:** 0
- **Slug:** `MAILERSEND`
- **Version:** 20260211_00

## Tools

### Create Sending Domain

**Slug:** `MAILERSEND_CREATE_DOMAIN`

Tool to add a new sending domain to MailerSend. Use when you need to register and configure a domain before sending emails.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | Yes | Fully qualified domain name to add for sending emails. Must be unique, lowercase, available, and resolvable. |
| `return_path_subdomain` | string | No | Alphanumeric subdomain to use for return path (e.g., 'rp'). If not provided, a default will be used. |
| `custom_tracking_subdomain` | string | No | Alphanumeric subdomain for custom tracking (e.g., 'track'). Enables custom click and open tracking. |
| `inbound_routing_subdomain` | string | No | Alphanumeric subdomain for inbound routing (e.g., 'inbound'). Used for receiving emails. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create SMTP User

**Slug:** `MAILERSEND_CREATE_SMTP_USER`

Tool to create a new SMTP user. Use after domain setup to obtain SMTP credentials.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | Yes | Display name for the SMTP user (max 50 characters). |
| `enabled` | boolean | No | Whether the SMTP user should be enabled. Defaults to True. |
| `domain_id` | string | Yes | ID of the domain to associate with this SMTP user. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create API Token

**Slug:** `MAILERSEND_CREATE_TOKEN`

Creates a new API token with specified scopes (permissions) for a domain. The token allows programmatic access to MailerSend API endpoints based on granted scopes. WARNING: The token value is only displayed once upon creation and cannot be retrieved later.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | Yes | A descriptive name for the new API token (max 50 characters). |
| `scopes` | array | Yes | List of permission scopes to grant this token. Available scopes include: email_full, domains_read, domains_full, activity_read, activity_full, analytics_read, analytics_full, tokens_full, webhooks_full, templates_full, suppressions_read, suppressions_full, sms_full, sms_read, email_verification_read, email_verification_full, inbounds_full, recipients_read, recipients_full, sender_identity_read, sender_identity_full, users_read, users_full, smtp_users_read, smtp_users_full. |
| `domain_id` | string | Yes | The ID of the domain to associate with this token. Use GET_DOMAINS action to retrieve available domain IDs. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Webhook

**Slug:** `MAILERSEND_CREATE_WEBHOOK`

Tool to create a new webhook for a MailerSend domain. Use after you have a domain ID and need to receive event notifications like sent, delivered, opened, etc.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `url` | string | Yes | The callback URL where MailerSend will send POST requests (max 191 characters). |
| `name` | string | Yes | The name of the webhook (max 191 characters). |
| `events` | array | Yes | List of events the webhook listens for. Valid events include: activity.sent, activity.delivered, activity.soft_bounced, activity.hard_bounced, activity.deferred, activity.opened, activity.opened_unique, activity.clicked, activity.clicked_unique, activity.unsubscribed, activity.spam_complaint, activity.survey_opened, activity.survey_submitted, sender_identity.verified, maintenance.start, maintenance.end, inbound_forward.failed, email_single.verified, email_list.verified, bulk_email.completed. |
| `enabled` | boolean | No | Whether the webhook is enabled immediately after creation. Defaults to true. |
| `version` | integer | No | Webhook version (1 or 2). Version 1 is recommended, version 2 is legacy. If not specified, uses API default. |
| `domain_id` | string | Yes | The ID of the domain to attach the webhook to. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Webhook

**Slug:** `MAILERSEND_DELETE_WEBHOOK`

Tool to delete an existing webhook. Use when the webhook is no longer needed. Returns empty response on successful deletion (HTTP 204).

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `webhook_id` | string | Yes | The unique identifier of the webhook to be deleted. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get API Quota

**Slug:** `MAILERSEND_GET_API_QUOTA`

Tool to retrieve current API usage quota. Use when monitoring API rate limits to avoid exceeding allowed calls.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Domain

**Slug:** `MAILERSEND_GET_DOMAIN`

Tool to retrieve detailed information about a specific sending domain in MailerSend. Returns domain verification status (DKIM, SPF, MX, tracking), settings (click/open tracking, paused status), and metadata (creation/update timestamps). Use this when you need to check if a domain is properly verified and configured for sending emails, or to review domain-specific tracking settings. Note: For detailed DNS record values, use the Get Domain DNS Records action.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `domain_id` | string | Yes | Unique identifier for the sending domain |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Domain Recipients

**Slug:** `MAILERSEND_GET_DOMAIN_RECIPIENTS`

Tool to list recipients for a domain. Use after obtaining the domain ID to view recipients with optional pagination.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Page number for pagination, must be >= 1 |
| `limit` | integer | No | Number of recipients per page (default 25, min 10, max 100) |
| `domain_id` | string | Yes | The ID of the domain to fetch recipients for |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get sending domains

**Slug:** `MAILERSEND_GET_DOMAINS`

Retrieve a paginated list of all sending domains configured in your MailerSend account. Use this to: - View all domains available for sending emails - Check domain verification and DNS status - Filter by verification status to find verified or unverified domains - Review domain settings like tracking and sending preferences Returns domain details including verification status, DNS configuration, and tracking settings.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Page number to retrieve, starting from 1 |
| `limit` | integer | No | Number of results per page (default 25, min 10, max 100) |
| `verified` | boolean | No | Filter domains by verification status (true for verified only, false for unverified only, omit for all) |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get general API resources

**Slug:** `MAILERSEND_GET_GENERAL_RESOURCES`

Tool to retrieve general API resources and information. Use when you need an overview of all MailerSend endpoints before constructing specific calls.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Sender Identities

**Slug:** `MAILERSEND_GET_IDENTITIES`

Retrieves a paginated list of sender identities configured in your MailerSend account. Sender identities are the email addresses or domains authorized to send emails through MailerSend. Each identity includes verification status, reply-to configuration, domain association, and optional personal notes. Use this tool to discover available sender identities before sending emails or to verify which identities are ready for use. Returns: Paginated list of identity objects with metadata including verification status, domain details, and navigation links for pagination.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Page number for pagination (starting from 1). Leave empty to get the first page. |
| `limit` | integer | No | Number of results per page (min: 10, max: 100, default: 25). Leave empty for default. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get sent messages

**Slug:** `MAILERSEND_GET_MESSAGES`

Tool to retrieve a paginated list of sent messages. Use after sending emails to view message logs.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Page number for pagination (starts at 1) |
| `limit` | integer | No | Number of messages per page (max 100) |
| `date_to` | string | No | Filter messages sent on or before this datetime (ISO 8601) |
| `date_from` | string | No | Filter messages sent on or after this datetime (ISO 8601) |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get email recipients

**Slug:** `MAILERSEND_GET_RECIPIENTS`

Tool to retrieve a list of email recipients. Use when you need to list and filter recipients by list ID or search term.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Page number for pagination, starting from 1 |
| `limit` | integer | No | Number of results per page (default 25, maximum 100) |
| `search` | string | No | Term to search in recipient email address or name |
| `list_id` | string | No | Filter recipients by this mailing list ID |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get SMS Activity

**Slug:** `MAILERSEND_GET_SMS_ACTIVITY`

Tool to retrieve SMS activity logs. Use when you need to fetch delivery status and logs of sent SMS messages.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Page number for pagination, starting from 1 |
| `limit` | integer | No | Number of results per page (default: 25, min: 10, max: 100) |
| `status` | array | No | Filter by message status. Can specify multiple statuses |
| `date_to` | integer | No | Filter activities created before this Unix timestamp in UTC (e.g., 1443651141). Must be higher than date_from |
| `date_from` | integer | No | Filter activities created after this Unix timestamp in UTC (e.g., 1443651141). Must be lower than date_to |
| `sms_number_id` | string | No | Filter by specific SMS phone number ID |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get SMS Inbounds

**Slug:** `MAILERSEND_GET_SMS_INBOUNDS`

Retrieve inbound SMS route configurations. Inbound routes define rules for forwarding incoming SMS messages to webhook URLs based on message content filters. Use this action when you need to: - List all configured SMS inbound routes - Filter routes by SMS number or enabled status - Review webhook forwarding configurations and filter rules

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Page number for pagination (starts from 1) |
| `limit` | integer | No | Number of results per page (default: 25, min: 10, max: 100) |
| `enabled` | boolean | No | Filter inbound routes by enabled status (true for enabled, false for disabled) |
| `sms_number_id` | string | No | Filter inbound routes by SMS number ID |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List SMS Messages

**Slug:** `MAILERSEND_GET_SMS_MESSAGES`

Retrieves a paginated list of SMS messages sent through the MailerSend API. Returns message details including sender, recipients, content, status, and timestamps. Use this to review sent SMS messages and track their delivery status. Note: For detailed activity tracking with filters (date ranges, status, phone numbers), use the SMS Activity endpoint instead.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Page number for pagination (must be >= 1) |
| `limit` | integer | No | Number of results per page (min 10, max 100) |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get SMS Numbers

**Slug:** `MAILERSEND_GET_SMS_NUMBERS`

Tool to retrieve a paginated list of SMS phone numbers. Use after purchasing numbers to fetch available SMS numbers.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Page number for pagination, starting from 1 |
| `limit` | integer | No | Number of SMS numbers per page (range: 10-100, default: 25) |
| `paused` | boolean | No | Filter by paused status (true for paused only, false for active only, omit for all) |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get SMS recipients

**Slug:** `MAILERSEND_GET_SMS_RECIPIENTS`

Tool to retrieve a list of SMS recipients. Use when you need to list and paginate SMS recipients, optionally filtering by SMS number ID and/or recipient status.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Page number to retrieve, starting from 1 |
| `limit` | integer | No | Number of recipients per page (minimum 10, maximum 100, default 25) |
| `status` | string | No | Filter by recipient status: 'active' or 'opt_out' |
| `sms_number_id` | string | No | Filter recipients by SMS number ID. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get SMTP users

**Slug:** `MAILERSEND_GET_SMTP_USERS`

Tool to retrieve a list of SMTP users. Use when you need to list and paginate SMTP users.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Page number to retrieve, starting from 1 |
| `limit` | integer | No | Number of records per page (default 25, maximum 100) |
| `domain_id` | string | Yes | Domain ID to retrieve SMTP users for (required, as SMTP users are always scoped to a domain) |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get email templates

**Slug:** `MAILERSEND_GET_TEMPLATES`

Retrieves a paginated list of email templates from your MailerSend account. Use this tool when you need to: - List all available email templates - Filter templates by domain ID - Browse templates with pagination - Check template details like name, type, and creation date Returns template metadata including IDs, names, types, and timestamps. For full template content, use a separate get single template endpoint.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Page number for pagination, starting from 1 |
| `limit` | integer | No | Number of templates per page (minimum 10, maximum 100, default 25) |
| `domain_id` | string | No | Filter templates by domain ID to retrieve only templates belonging to a specific domain |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get API Tokens

**Slug:** `MAILERSEND_GET_TOKENS`

Retrieves a paginated list of API tokens associated with your MailerSend account. Returns token details including ID, name, status, creation date, and assigned scopes/permissions. Requires 'tokens_full' scope.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Page number for pagination, starting from 1 (default: 1) |
| `limit` | integer | No | Number of items per page (min=10, max=100, default=25) |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get users

**Slug:** `MAILERSEND_GET_USERS`

Tool to retrieve a list of users associated with your account. Use after authenticating with a valid API token.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Page number for pagination, must be >= 1 |
| `limit` | integer | No | Number of users per page (default 25, maximum 100) |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List webhooks

**Slug:** `MAILERSEND_GET_WEBHOOKS`

Tool to retrieve a list of webhooks. Use when you need to list and paginate all configured webhooks, optionally filtering by domain.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Page number to retrieve, starting from 1 |
| `limit` | integer | No | Number of webhooks per page (default 25) |
| `domain_id` | string | No | Filter webhooks belonging to this domain |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |
