Yellaro
← All posts

Connect WordPress to Listmonk: a complete 2026 guide

If you run a WordPress site and your newsletter is hosted on Listmonk, there's a free plugin that connects the two. Five minutes of setup gets you newsletter signups flowing from any form on your site straight into a Listmonk list, plus optional opt-in at WooCommerce checkout.

This guide walks through the full setup. It works with self-hosted Listmonk and with managed Listmonk providers like Yellaro — anywhere you have a Listmonk instance with API access.

What you'll need

The integration plugin itself is free and open source. It's maintained by post-duif and works with both self-hosted and managed Listmonk.

Step 1: Create an API user in Listmonk

Don't reuse your owner login. Listmonk has proper API users — create a dedicated one for the WordPress plugin so the credential is scoped, easy to revoke, and never tied to a real person's account.

Log into your Listmonk admin and go to Admin → Users → Users, then + New. Fill in:

  • Type: API User
  • Username: wordpress (or anything you'll recognize)
  • Status: Enabled
  • Role: Customer Admin (or whatever the default admin role is called on your instance)

Save. Listmonk shows you the API token once. Copy it immediately — you can't view it again later, only regenerate.

Step 2: Find your list ID

In your Listmonk admin, go to Lists. Each list has an ID number — it's in the URL when you click into the list, or visible in the list overview.

If you don't have a list yet, create one first. For a public newsletter signup form, double opt-in is the right choice (subscribers confirm via email before being added). Listmonk handles the confirmation flow automatically.

Step 3: Install the WordPress plugin

In your WordPress admin, Plugins → Add New. Search for "Integration for listmonk" — it's the one by post-duif. Install and activate.

Then go to Settings → Integration for listmonk and fill in:

  • Listmonk server URL: your Listmonk URL, no trailing slash (e.g. https://newsletter.example.com)
  • Listmonk API username: wordpress (from Step 1)
  • Listmonk API access token: the token you copied (from Step 1)
  • List ID: the number from Step 2

Save.

Step 4: Wire up a signup form (WPForms route)

If you don't already have a newsletter form, create one with WPForms. The plugin's docs walk through this, but the short version:

  1. WPForms → Add New → choose the "Newsletter Signup Form" template (or build from scratch with at least Name and Email fields)
  2. Save the form, note its form ID
  3. Go back to Settings → Integration for listmonk, enable the WPForms component, and enter the form ID

When someone submits the form, their email and name go straight to your Listmonk list. If the list is set to double opt-in, Listmonk sends them a confirmation email.

Contact Form 7 works similarly — enable the CF7 component instead and point it at your form's page ID.

Step 5 (optional): WooCommerce checkout opt-in

If you run a WooCommerce store and want customers to opt into your newsletter at checkout:

  1. Go to Settings → Integration for listmonk, enable the WooCommerce component
  2. Configure the opt-in checkbox text customers will see
  3. Save

After a customer completes checkout, their email and name go to your Listmonk list automatically. WooCommerce opt-in skips the double opt-in step (the customer just consented during a real transaction, so they don't need to confirm again).

Verifying it works

Submit your form with a test email. Check Listmonk's Subscribers page — the new entry should appear within a few seconds. If the list is double opt-in, the subscriber starts in "unconfirmed" status until they click the confirmation link.

If nothing shows up:

  • The WordPress plugin logs errors to the WordPress debug log
  • Wrong list ID is the most common mistake (off-by-one, copying from the wrong list)
  • Token typo is the second-most common — regenerate it in Listmonk and try again

A note on security

The plugin stores your Listmonk API password encrypted in the WordPress database. That's fine, but worth understanding what the token can do.

The API user you created in Step 1 has the same permissions as a regular admin user in Listmonk. If someone got the token, they could read your subscriber list, create campaigns, or modify lists. They can't access Listmonk's server-level settings (assuming your instance restricts that role, which is the default on most managed Listmonk providers including Yellaro).

For a personal blog this is fine. For a higher-stakes site, two things help:

  1. Use a dedicated WordPress install for the form, not the same site that runs your customer-facing stuff
  2. Rotate the token periodically — delete the API user in Listmonk and create a fresh one every few months

Why this is worth doing

Most WordPress newsletter setups end up at Mailchimp or similar, where you pay per subscriber. As your list grows, the bill grows with it — even if you only send one campaign a month.

Listmonk inverts that. You host the software (or use a managed provider that does it for you) and pay flat-rate for sending. List size doesn't matter; only how many emails you actually send.

If you're using Yellaro, you don't even need to install Listmonk — the signup flow creates a Listmonk instance for you, gives you the admin URL, and you do everything from Step 1 onward exactly as described here. The plugin doesn't care whether your Listmonk is self-hosted or managed; same setup, same result.

Either way, the WordPress side is the same five minutes of configuration. The form on your site keeps working exactly as it did. The only difference is where the email addresses end up.