mepmail

n8n community nodes for MepMail — send transactional email, manage contacts, domains, broadcasts and suppressions, and trigger on and answer Correio mailboxes, on MepMail cloud or any self-hosted instance (Resend wire-compatible).

Documentation

n8n-nodes-mepmail

n8n community nodes for MepMail — the email platform that is
wire-compatible with Resend and can run as a service (mepmail.dev)
or self-hosted on your own infrastructure. Send email with Envio, and receive,
read and answer mail in Correio mailboxes (for people and for AI agents).

Installation

n8n (self-hosted) / community nodes

Settings → Community Nodes → Install → package name:

n8n-nodes-mepmail

or via npm in the n8n environment:

npm install n8n-nodes-mepmail

Credentials

MepMail API — create an API key in your MepMail dashboard and fill in:

Field Description
API Base URL https://api.mepmail.dev (cloud) or your self-hosted instance origin
API Key Bearer key created in the dashboard; use a full access key to unlock every operation

A sending only key works only for Email → Send; every other operation
requires a full access key.

MepMail Correio API — for the Correio Message resource and for reading
received mail in the trigger:

Field Description
Dashboard Origin https://mepmail.dev (cloud) or your self-hosted dashboard
Mailbox Key A Correio agent key: mmb_… for one mailbox, mmt_… for several, created in the mailbox settings with the read permission (add draft, and send if no owner approval is wanted)

Operations

Resource Operations
Broadcast Cancel, Create, Get, Send
Contact Create, Delete, Get, Update, Get Many
Correio Message Get, Get Many (Inbox, Drafts, Sent), Create Draft (new or reply), Send Draft
Domain Create, Delete, Get, Verify, Get Many
Email Send (HTML and/or Text, CC/BCC/Reply-To, headers, tags, base64 attachments, scheduled sends), Get, Get Many, Cancel, Delete
Suppression Add, Remove, Get Many
Usage Get plan, limits and current usage

Send Draft sends only the exact saved revision. With a key that has no
send permission, it asks the mailbox owner to approve the draft instead and
returns status: "awaiting_approval": a person stays in the loop.

MepMail Trigger

Starts a workflow when MepMail sends a webhook event — email.delivered,
email.bounced, email.opened, email.clicked, contact.created,
quota.reached, mailbox.received and more (23 event types).

Add the node, select the events, and activate the workflow: the trigger
registers, updates and removes the webhook subscription in MepMail
automatically. Incoming payloads are verified with the subscription's signing
secret out of the box (Standard Webhooks / Svix compatible HMAC-SHA256); paste
a whsec_... into the node only to override it. Requires a full access API key.

New mail in a Correio agent mailbox

mailbox.received fires when a message reaches the Inbox of an agent
mailbox. It is opt-in and carries identifiers only (mailbox_id, mailbox,
item_id, size_bytes, received_at): sender, subject and body stay encrypted
in the mailbox.

Turn on Fetch Correio Message and pick a Correio credential: for every
signed event, the trigger reads the message with the mailbox key and adds it as
message (sender, recipients, subject, text and attachment names). If the read
fails, the workflow still starts, with message: null and message_error.

A typical agent flow: MepMail Trigger (Mailbox Received, fetch on) → an AI
or rules step → MepMail · Correio Message → Create Draft with Reply To
Message ID
set to {{$json.data.item_id}} → Send Draft, or leave it for
the owner to approve. Email content is written by third parties: treat it as
data, never as instructions for the agent.

Compatibility

Every Envio endpoint follows the Resend wire format, so request/response shapes
match the official Resend SDKs. Send attachments as inline base64 content
(remote URLs are rejected). See the
API reference and the
Correio agent API for the full surface.

Development

npm install
npm run build   # compile TypeScript + copy icons into dist/
npm run lint    # n8n community node lint rules
npm run dev     # run a local n8n with these nodes loaded (hot reload)

License

MIT

Discussion