← Back to blog

How to Send Emails from n8n with PushMail

PushMail Team··4 min read

n8n is one of the most popular open-source workflow automation tools. It lets you connect hundreds of services together with a visual workflow builder — no code required. Today, PushMail has an official community node that brings your entire email infrastructure into n8n.

Unlike the basic email nodes that only send messages over SMTP, the PushMail node gives you the full email lifecycle: transactional sends, contact management, drip sequences, and real-time webhook triggers for delivery events. All with pay-per-email pricing instead of monthly subscriber fees.

Install the node

In your n8n instance:

  1. Go to Settings > Community Nodes
  2. Click Install
  3. Enter n8n-nodes-pushmail
  4. Click Install

You'll get two new nodes: PushMail (actions) and PushMail Trigger (webhooks).

Connect your API key

Before using either node, you need to set up credentials:

  1. Open any PushMail node and click Create New Credential
  2. Enter your API key — you'll find it in the PushMail dashboard under API Keys (format: pm_live_...)
  3. Leave the base URL as https://pushmail.dev
  4. Click Save — n8n will test the connection automatically

Send a transactional email

The simplest use case: send an email when something happens in another service.

  1. Add a trigger node (e.g., Webhook, Typeform, Stripe)
  2. Add a PushMail node after it
  3. Set Resource to Email and Operation to Send
  4. Select your Site from the dropdown
  5. Set the To field (map it from the trigger data)
  6. Either pick a saved Template from the dropdown, or fill in the Subject and HTML Body directly
  7. Add Variables if your template uses {{variable_name}} placeholders

That's it. Every time the trigger fires, PushMail sends the email, handles the delivery, and tracks opens and clicks.

Manage contacts from any workflow

The PushMail node can create, update, and list contacts — so you can sync your contact data from anywhere.

Example: Sync Stripe customers to PushMail

  1. Stripe Trigger — listens for customer.created events
  2. PushMail node — Resource: Contact, Operation: Create/Update
    • Map the customer's email, first name, and last name from the Stripe data
    • Select the site from the dropdown

Every new Stripe customer automatically becomes a PushMail contact. Since it's an upsert, running it twice with the same email won't create duplicates.

Enroll contacts in drip sequences

This is where PushMail stands out from basic email nodes. You can enroll contacts into multi-step automated sequences directly from n8n.

Example: Onboarding sequence for new signups

  1. Webhook node — receives a POST from your app when a user signs up
  2. PushMail node — Create/Update the contact
  3. PushMail node — Resource: Sequence, Operation: Enroll
    • Select the onboarding sequence from the dropdown
    • Pass the contact ID from the previous node

The contact will receive your full onboarding drip — welcome email on day 0, tips on day 2, feature highlights on day 5 — all managed by PushMail. No need to build delay logic in n8n.

Trigger workflows on email events

The PushMail Trigger node starts a workflow when email events happen. It creates a webhook in your PushMail account automatically when you activate the workflow, and removes it when you deactivate.

Supported events:

  • Delivered — email reached the inbox
  • Bounce — email bounced (hard or soft)
  • Open — recipient opened the email
  • Click — recipient clicked a link
  • Spam Report — recipient marked as spam
  • Unsubscribe — recipient opted out

Example: Update your CRM when an email bounces

  1. PushMail Trigger — select the Bounce event
  2. HTTP Request node — call your CRM's API to flag the contact
  3. Slack node — notify your team in a channel

Every time an email bounces, your CRM stays up to date and your team knows about it. No manual cleanup.

Example: Lead scoring on opens and clicks

  1. PushMail Trigger — select Open and Click events
  2. Switch node — branch based on event type
  3. Airtable/Google Sheets/Postgres node — increment a lead score

Contacts who engage with your emails get higher scores. Use those scores to prioritize sales outreach or trigger follow-up campaigns.

Add contacts to lists

Organize contacts into lists for targeted sends:

  1. PushMail node — Resource: List, Operation: Add Contact
  2. Select the list from the dropdown
  3. Pass the contact ID

Combine this with the trigger node and you can automatically move contacts between lists based on their behavior — e.g., move clicked contacts to a "hot leads" list.

Putting it all together

Here's a complete workflow that handles the full lifecycle:

  1. Webhook — your app sends a signup event
  2. PushMail: Create Contact — adds the new user
  3. PushMail: Add to List — puts them on the "New Users" list
  4. PushMail: Enroll in Sequence — starts the onboarding drip
  5. PushMail Trigger (separate workflow) — listens for bounces and unsubscribes
  6. PushMail: Create/Update Contact — update status based on events

All of this runs automatically. No cron jobs, no manual intervention, no subscriber fees eating into your margins.

Get started

  1. Sign up for PushMail — you get $5 in free credits
  2. Install n8n-nodes-pushmail in your n8n instance
  3. Connect your API key and start building workflows

The node is open source on GitHub and available on npm. Questions? Check the API docs or reach out to us.