Package Information
Available Nodes
Documentation generating…
Documentation
n8n-nodes-mailcheer
This is an n8n community node. It lets you use Mailcheer in your n8n workflows: send transactional emails, add and tag subscribers, create and send campaigns, read your monthly quota, and start a workflow when Mailcheer sends an event (email sent, delivered, bounced, a reply received, subscriber unsubscribed…).
n8n is a fair-code licensed workflow automation platform.
Installation ·
Operations ·
Trigger ·
Credentials ·
Compatibility ·
Usage ·
Resources ·
Version history
Installation
Follow the installation guide in the n8n community nodes documentation. The package name is n8n-nodes-mailcheer.
The package has no runtime dependency.
Operations
The Mailcheer node:
| Resource | Operation | What it does |
|---|---|---|
| Send | Sends a transactional email: from, to (up to 50), subject, HTML and/or text, CC, BCC, reply-to, headers, tags, attachments from binary fields, one-click unsubscribe URL, open tracking, idempotency key | |
| Get | Reads the delivery status of an email sent with Mailcheer | |
| Subscriber | Create or Update | Adds a subscriber or updates an existing one: first name, last name, tags, custom fields, double opt-in (on by default) |
| Subscriber | Add Tags | Adds tags to an existing subscriber and keeps the tags they already have. Nothing else changes: no confirmation email, no status change. An unknown address is refused, never created |
| Subscriber | Remove Tags | Removes tags from an existing subscriber, picked from the tags of your workspace. Removing a tag they do not have is not an error |
| Subscriber | Get / Get Many | Reads one subscriber, or lists them with a status filter and a search |
| Subscriber | Unsubscribe | Unsubscribes the person and adds the address to the suppression list. The record is kept |
| Subscriber | Erase | Erases the person for a GDPR erasure request: record, name, custom fields, proof of consent and tags are deleted. Irreversible. Campaign statistics are kept, and an address on the suppression list stays there |
| Campaign | Create | Creates a campaign draft from plain text (# makes a heading). With Send Now, sends it right away, to the whole audience or only to given addresses; Dry Run checks and counts without sending |
| Campaign | Send | Sends an existing draft, with the same options |
| Campaign | Get / Get Many / Delete | Reads a campaign and its statistics, lists campaigns, deletes a draft |
| Account | Get Quota | Emails sent this month, emails queued, emails remaining, reset date, plan and the permissions of the key |
Errors from Mailcheer keep their code and message (for example unverified_from_domain, with the list of domains you can send from), and the node adds what to do next.
The node is marked as usable by n8n AI agents as a tool.
Trigger
The Mailcheer Trigger node starts a workflow on these events:
- Email Sent, Email Failed (emails sent through the API only)
- Email Delivered, Email Opened, Email Clicked, Email Bounced, Email Complained
- Email Received: a recipient replied (only for a domain where reply receiving is turned on in Mailcheer)
- Subscriber Created, Subscriber Unsubscribed
- Quota Threshold Reached (50, 80, 95 or 100% of the monthly quota)
When you activate the workflow, the node subscribes to the selected events through the Mailcheer API. When you deactivate it, the subscription is deleted.
Each call is checked against its Mailcheer-Signature header (HMAC-SHA256 of the timestamp and the raw body, with the secret Mailcheer returned for this subscription). A call without a valid signature, or older than five minutes, is answered with 401 and starts nothing.
Each item is the event as Mailcheer sends it:
{
"id": "evt_…",
"type": "email.bounced",
"created_at": "2026-09-25T08:00:00.000Z",
"data": { "message_id": "…", "email": "someone@example.com", "source": "api" }
}
id stays the same when Mailcheer retries a call (five attempts over about 1 h 12 min): use it to ignore duplicates. An event caused by a test key (mch_test_…) carries "test": true next to type, with the same data as a real one: filter on it to keep test sends out of your production steps. The test event sent from Mailcheer's webhook screen carries only data.test and data.message.
The fields of each event's data are described in the webhook reference.
Mailcheer calls your n8n over the internet: the webhook address of your n8n instance must be public and start with https://. On a self-hosted n8n, set N8N_WEBHOOK_URL (or WEBHOOK_URL on older versions) to its public address.
Credentials
In Mailcheer, open Settings → API and create a key. Tick the permissions the operations you use need (a key cannot be widened later):
Operations Permissions Email: Send, Get emails:sendSubscriber: Get, Get Many subscribers:readSubscriber: Create or Update, Add Tags, Remove Tags, Unsubscribe, Erase subscribers:writeThe tag list of Remove Tags subscribers:readCampaign: Get, Get Many, and the campaign list campaigns:readCampaign: Create, Send, Delete campaigns:writeAccount: Get Quota none Mailcheer Trigger webhooks:readandwebhooks:writeIn n8n, create a Mailcheer API credential and paste the key. Keep the base URL
https://mailcheer.com.Click Test: n8n calls
GET /api/v1/mewith the key.
A campaign goes out from a sender registered in your workspace; an email can go out from any address on a domain verified in your workspace.
Compatibility
Tested with n8n 2.40.6 (self-hosted, Node.js 24).
Usage
- Form to list. A form or shop tool posts to an n8n Webhook node → Mailcheer Subscriber: Create or Update with double opt-in on: the person receives the confirmation email and joins the list once they confirm. Turn double opt-in off only when consent was collected elsewhere; you then answer for it.
- Bounces back to your CRM. Mailcheer Trigger on Email Bounced and Subscriber Unsubscribed → the node of your CRM that updates the contact.
- Quota watch. Schedule Trigger → Mailcheer Account: Get Quota → IF
emails_remainingis below your threshold → a message to your team. - Order emails. Your shop's order event → Mailcheer Email: Send, with the order number as Idempotency Key: if the workflow runs again with the same content, Mailcheer returns the first result instead of sending twice.
Development
npm ci --ignore-scripts # n8n-workflow pulls native modules that building the node does not need
npm run build
npm run lint
npm test # unit tests, run on the built dist/
Resources
Version history
0.2.0
- Trigger: Email Sent, Email Failed and Email Received (reply) events; an event of a test key keeps its
"test": true. - Subscriber: Add Tags now uses the tags route: no confirmation email is sent again to a subscriber waiting for confirmation.
- Subscriber: new Remove Tags (with the list of your tags) and Erase (GDPR) operations.
0.1.0
First release: the Mailcheer node (Email, Subscriber, Campaign, Account) and the Mailcheer Trigger node.