Krom Automation is live. Save up to 50% on Krom Automation Pro.

Orders, emails, CRM syncs and alerts, all automated inside WordPress.

Buy Now! →
wprigel logo
  • Home
  • Products
    • krom-automation-icon

      Krom Automation

      Build visual workflows that respond to signups, orders, forms, and posts- automatically. Free plugin, no monthly fees.
    • commandify-logo-pink

      Commandify- Best Command Palette Plugin for WordPress

      Navigate, search, and manage everything on your site with a simple keyboard-first workflow.
    • pollify plugin logo

      Pollify- Ultimate Poll Creator Plugin for WordPress

      Build interactive polls, surveys & voting experiences in WordPress with the best Gutenberg-native poll plugin.
  • Docs
  • Blog
  • Contact Us
  • Login
Pricing
  • How to Create an Anonymous Poll in WordPress (Free)

    Ask people a sensitive question with their name attached to the answer, and you will get a polished, socially acceptable response. Remove their name, and you get the truth.

    That’s the entire case for anonymous polling. When respondents know their vote cannot be traced back to them, they answer honestly. That honest data is more useful than any amount of carefully considered public responses.

    This guide covers exactly how to create an anonymous poll in WordPress using Pollify, what anonymous voting actually means technically, when you need it, and how to use it alongside GDPR compliance requirements. The good news: anonymous voting is included in Pollify’s free version. No Pro upgrade needed.

    Quick note: This guide focuses specifically on anonymous voting settings. For the full poll creation walkthrough, see our how to create a poll in WordPress tutorial first.

    What Does “Anonymous Poll” Actually Mean in WordPress?

    The term gets used loosely, so it’s worth being precise before you configure anything. When people search for “anonymous poll WordPress,” they often mean one of two different things – and only one of them is genuinely anonymous.

    In most WordPress poll plugins, a standard poll already restricts visible results – individual voters don’t see who else voted for what. But that does not mean the vote is anonymous. Behind the scenes, the plugin is still recording the voter’s IP address, browser session data, or WordPress user ID in the database. The site owner can see exactly who voted and what they chose.

    A genuinely anonymous poll goes further. When you enable anonymous voting in Pollify, neither the WordPress user ID nor the IP address is stored in the database. The vote is recorded as a count only – no identifying information attached. Not even the site administrator can trace which voter chose which option after the fact.

    That distinction matters. “Private poll results” and “anonymous poll” are different things. Private results just means other visitors can’t see the breakdown. An anonymous poll means the data collection itself is identity-free from the start.

    Why Anonymous Voting Produces Better Data

    Social desirability bias is the phenomenon where people give answers they think are expected or socially acceptable rather than answers that reflect their actual views. It affects every form of data collection where the respondent knows they can be identified.

    Research in survey methodology consistently shows that anonymous polls produce meaningfully different results on sensitive or controversial topics compared to identified polls on the same question. The effect is largest in workplace settings, political questions, and any situation involving hierarchy – where a respondent might feel subtle pressure to vote in alignment with authority.

    For WordPress site owners, the practical implications show up in a few specific scenarios:

    • Membership sites asking about pricing or content quality. Members who enjoy the community won’t publicly vote that they find it overpriced. Anonymously, they will.
    • Team or community feedback. People won’t publicly criticise a decision that has leadership backing. Anonymously, you get the real temperature.
    • Health, finance, or personal topic polls. Any question where the answer involves personal vulnerability requires anonymity before most people will respond honestly.
    • Political or opinion polls on divisive topics. Publicly attaching votes to identities changes behaviour. Anonymity removes that pressure and gets you closer to genuine opinion distribution.

    Anonymous Polls and GDPR

    If your WordPress site serves visitors in the EU, GDPR compliance is not optional – and IP addresses are classified as personal data under GDPR. A standard poll that logs IP addresses is collecting personal data, which requires a lawful basis, disclosure in your privacy policy, and the ability to fulfill data deletion requests.

    An anonymous poll sidesteps most of this. When no IP address or user identifier is stored – which is exactly what Pollify’s anonymous mode does – there is no personal data being collected at the point of the poll response. That simplifies your GDPR obligations significantly for that specific data collection activity.

    This is worth calling out explicitly in your poll question or a brief note alongside the poll on sensitive topics: “This poll is anonymous – no identifying information is recorded.” That transparency itself often increases participation, because visitors who would otherwise hesitate to respond know their answer cannot be traced back to them.

    What You Need

    • Pollify free, installed and activated. Anonymous voting is available in the free version. Install it from WordPress.org – no account or license key required.
    • WordPress 6.0 or higher with the Gutenberg block editor.

    That’s it. No Pro upgrade needed for this specific feature.

    How to Enable Anonymous Voting in Pollify (Step-by-Step)

    Step 1: Add the Pollify Block to Your Post or Page

    Open any post or page in the Gutenberg editor. Click the + block inserter, search for Pollify, and select the Poll Block. It appears inline at your cursor position.

    If you’re building the anonymous poll on a dedicated feedback page or a member-only post, the process is identical – Pollify works in every Gutenberg context including pages, posts, widget areas, and FSE templates.

    Step 2: Write Your Question and Answer Options

    Enter your poll question in the question field at the top of the block. Add your answer options below it. For anonymous polls on sensitive topics, question framing matters more than usual – a clear, neutral question reduces the chance that the question itself biases the answer.

    Avoid loaded framing. “How satisfied are you with the new pricing?” primes a more positive response than “Rate the new pricing” with a neutral scale. The more neutral the question, the more the anonymity does its job.

    Step 3: Enable Anonymous Voting in the Block Settings

    This is the step that makes it a true anonymous poll in WordPress rather than just a poll with hidden results.

    With the Pollify block selected, open the Response settings panel in the right-hand sidebar and tick Enable Anonymous Voting.

    Once enabled, Pollify stops collecting the WordPress user ID and IP address with each vote submission. Vote counts are still tracked – you’ll see the total votes per option and percentages in your analytics dashboard – but nothing in the database links any individual to any specific vote.

    Step 4: Choose How Repeat Votes Are Blocked

    Here is the tradeoff to understand. Pollify’s standard duplicate check, Allowed one response per computer, works by checking the voter’s IP address. With anonymous voting on, IP addresses are not stored, so that check is not used.

    Instead, anonymous mode saves a small “already voted” flag in the voter’s browser. Under Storage method for duplicate prevention you pick where: Local Storage (the default, it survives a browser restart), Session Storage (it clears when the browser closes) or Cookie (it lasts 30 days).

    The practical tradeoff: browser storage is softer than an IP check. A visitor can clear their browser data and vote again, or vote from a different device. For opinion polls, content feedback and community questions, that is usually fine. For a vote where every duplicate matters, use Require login to vote with One vote per user instead. See our guide on preventing duplicate votes.

    Step 5: Choose What to Show After Voting

    In General settings, the Confirmation message option decides what a voter sees after submitting:

    • Show results. Voters see the percentage breakdown immediately. This is the standard choice and tends to increase participation because visitors are curious to see where they stand relative to the crowd.
    • Show a custom message. Replace the results with a text message you write. Useful when you don’t want early results influencing later voters – a real concern in longer-running anonymous polls on divisive topics where bandwagon effects can skew results over time.
    • Hide results until the poll closes. No results shown during the active voting window. Results appear once the scheduled end date passes. Best for formal votes or anonymous elections where impartiality matters throughout the voting period.

    Step 6: Optionally Schedule the Poll

    If the anonymous poll has a set window, such as a quarterly team feedback poll or a community vote with a deadline, set Status to Close after in General settings and pick the closing date and time. When that time passes, Pollify closes the poll and shows whatever you chose under When poll is closed: the results, a message, or nothing. More in our guide to scheduling a poll to close automatically.

    Step 7: Publish

    Click Publish (or Update if editing an existing post). The anonymous poll is live. Visitors who vote will not have their identity recorded, and the results in your Pollify dashboard will show vote counts per option with no individual voter data attached.

    Anonymous Poll vs Private Poll: What’s the Difference?

    These two terms are often confused, and the distinction has real implications for how you should configure your poll.

    FeatureAnonymous PollPrivate Poll (results hidden)
    Individual voter identity stored?No – not collected at allYes – stored, just not displayed publicly
    Can site admin trace who voted?NoYes, from the database
    Public results visibilityConfigurableHidden from public view
    GDPR personal data implicationsMinimal (no PII collected)Standard (IP/user data collected)
    Best forHonest feedback, sensitive topics, GDPR-sensitive dataInternal polls, elections, reveal-later formats

    In Pollify, anonymous mode controls whether identity data is collected. The results display settings (visible, hidden, delayed) are separate controls you can combine with anonymous mode in any configuration you need.

    When to Use Anonymous Polls on Your WordPress Site

    Not every poll needs to be anonymous. For most standard audience engagement polls – “which topic should I write about next?”, “which product color do you prefer?” – standard voting with session-based restriction is fine. An anonymous poll in WordPress is most valuable in specific situations where honest data matters more than operational simplicity.

    Membership and Community Sites

    Any poll where members might feel social pressure to vote in a particular direction benefits from anonymous voting. Pricing feedback, content quality ratings, event planning preferences among a group with visible status differences – all of these produce better data when the respondent knows their specific vote won’t be visible to others in the community.

    For more poll ideas specific to this context, see our poll questions for membership communities post.

    Workplace and Team Feedback

    If your WordPress site supports an internal team or client-facing community, anonymous polls let you collect honest feedback on decisions, processes, or satisfaction levels without the respondent worrying about professional consequences. This is the same rationale that makes employee engagement surveys more effective when conducted anonymously – people tell you what they actually think rather than what they think you want to hear.

    Health, Finance, or Personal Topic Content

    Blogs covering personal finance, mental health, relationships, or similar sensitive topics often want to poll their readers on personal behaviours or circumstances. Questions like “Do you have an emergency fund?” or “Have you spoken to a therapist this year?” will get dramatically higher and more honest response rates when respondents know the answer is genuinely private.

    LMS and Online Course Platforms

    Students answering “Did you understand this concept?” or “Are you keeping up with the course pace?” will be more honest when they know the instructor can’t see their individual response. Anonymous polls mid-course give instructors more accurate signals about where students are struggling, without students feeling embarrassed to admit confusion. See our poll questions for online courses and LMS platforms post for more ideas.

    Viewing Anonymous Poll Results in Pollify

    After votes start coming in, go to Pollify > All Polls in your dashboard and open the poll. You will see the vote count per option, the percentage breakdown and total participation.

    What you won’t see is any voter-level data – no IP addresses, no user IDs, no timestamps tied to individuals. The analytics view for an anonymous poll shows aggregate data only, which is by design.

    If you need to share the totals with a team or include them in a report, Pollify Pro adds export to CSV, Excel, PDF and Word.

    Ready to add your first anonymous poll? Install Pollify free from WordPress.org. Anonymous voting is included at no cost.

    Frequently Asked Questions

    Is anonymous voting free in Pollify?

    Yes. Anonymous voting is included in Pollify’s free version, available on WordPress.org. You do not need a Pro license to enable anonymous mode on any poll.

    Can I still prevent duplicate votes on an anonymous poll?

    Yes, with a limitation. Because IP addresses are not stored in anonymous mode, Pollify keeps a small “already voted” flag in the voter’s browser instead: in local storage, session storage, or a cookie that lasts 30 days. Someone who clears their browser data or switches device can vote again. That is the tradeoff of genuine anonymity.

    Does anonymous mode affect GDPR compliance?

    It helps significantly. Under GDPR, IP addresses are personal data. A standard poll that logs IPs requires a lawful basis for processing, privacy policy disclosure, and the ability to handle deletion requests for that data. An anonymous poll that does not store IP addresses or user IDs is not collecting personal data at the point of response, which reduces your GDPR obligations for that specific data activity. For a fully GDPR-compliant setup, review your overall site data practices with a qualified professional – anonymous polls are one piece of a larger compliance picture.

    Can I see who voted in an anonymous poll from the admin dashboard?

    No. When anonymous mode is enabled, Pollify does not write any voter identity data to the database. There is nothing to look up – not for the site administrator, not for anyone with database access. The results show vote counts and percentages per option only. This is what makes it genuinely anonymous rather than just “private from other visitors.”

    What is the difference between an anonymous poll and a private poll in WordPress?

    An anonymous poll does not collect voter identity data – no IP, no user ID, nothing that links a person to their vote. A private poll typically means the results are hidden from public view, but the plugin is still recording who voted behind the scenes. In Pollify, these are separate settings: anonymous mode controls data collection, while results visibility controls what voters see after submitting. You can run a poll that is both anonymous and public-results, or both anonymous and results-hidden – they’re independent controls.

    Does Pollify’s anonymous poll work with the free version for membership sites?

    Yes. The free version supports anonymous voting on any post or page, including member-only content. If your membership plugin controls access to the page, the poll is only visible to people who can see that page. To limit voting to logged-in users, tick Require login to vote in the block’s Response settings.

    Related Guides

    • How to Create a Poll in WordPress: No-Code Tutorial
    • How to Add a Poll to Any WordPress Page or Post
    • How to Prevent Duplicate Votes in WordPress Polls
    • How to Schedule a WordPress Poll to Close Automatically
    • 5 Types of Polls Every WordPress Site Needs
    • Poll Questions for Membership Communities: 50+ Ideas
    • Poll Questions for Online Courses and LMS Platforms

    The wpRigel Team

    October 26, 2026
    Pollify
  • How to Prevent Duplicate Votes in WordPress Polls (3 Free Methods)

    To stop people voting twice in a WordPress poll, switch on a duplicate check in the poll’s settings. In Pollify there are three, and all three are in the free version: one vote per IP address, one vote per logged-in user, or a “voted” flag stored in the visitor’s browser for anonymous polls.

    Each one stops a different kind of repeat voting, and each has a gap. Here is how they compare and how to set each one up.

    How a Poll Recognises a Returning Voter

    Every duplicate check relies on one of three signals:

    • IP address: the network address the vote came from.
    • User account: the WordPress login of the person voting.
    • Browser storage: a small flag saved in the visitor’s browser after they vote.

    No signal is perfect. The right choice depends on who your voters are and how much a few extra votes would matter.

    Method 1: One Vote per IP Address

    This is the general-purpose option for public polls. Pollify records the voter’s IP address and refuses a second vote from the same one.

    How to turn it on

    1. Open the post or page with your poll and click the poll block.
    2. In the right-hand sidebar, open Response settings.
    3. Tick Allowed one response per computer.
    4. Click Update.

    What it stops: clearing cookies, private windows and switching browsers on the same connection.

    Where it falls short: a voter on a VPN or mobile data can still vote again. On shared networks, such as an office or a school, everyone may share one IP address, so the first vote can block their colleagues.

    Privacy note: under EU data protection rules, IP addresses can count as personal data. If you have EU visitors, mention poll IP logging in your privacy policy.

    You can review where votes came from at any time. Open the poll from Pollify > All Polls to see vote counts by IP and location.

    Pollify IP details page listing voter IP addresses, vote counts and locations

    Method 2: One Vote per Logged-In User

    If your voters have accounts, such as members, customers or students, this is the most reliable option. Each account gets exactly one vote, and nobody has to rely on IP addresses.

    How to turn it on

    1. Select the poll block and open Response settings.
    2. Tick Require login to vote.
    3. Tick One vote per user.
    4. Edit the Login required message if you like, and add a Custom login URL if your site uses its own login page.
    5. Under When not logged in, show, choose the login message on its own, or the poll with results plus a login popup when someone tries to vote.
    6. Click Update.
    Pollify Response settings with Require login to vote enabled, showing the login message, custom login URL and display options

    The tradeoff: visitors without an account cannot vote. That is ideal for a members-only decision and a poor fit for a public blog poll.

    Method 3: Browser Storage for Anonymous Polls

    When you tick Enable Anonymous Voting, Pollify stops collecting IP addresses, location and browser details. To still prevent repeat votes, it saves a small flag in the voter’s browser. You choose where under Storage method for duplicate prevention:

    • Local Storage: the default. The flag stays even after the browser restarts.
    • Session Storage: the flag is cleared when the browser closes, so people can vote again next session.
    • Cookie: the flag lasts 30 days.

    The tradeoff: anyone who clears their browser data or switches device can vote again. For honest feedback on sensitive topics, that is usually worth it. Our guide to anonymous polls in WordPress covers the full setup.

    Which Method Should You Use?

    Your pollSetting to useWhy
    Public blog or content pollAllowed one response per computerStops casual repeat votes without asking anyone to log in
    Audience mostly at work or schoolRequire login, or anonymous votingShared networks make IP checks block real voters
    Members, customers or studentsRequire login to vote + One vote per userOne account, one vote, with no guesswork
    Sensitive or personal questionsEnable Anonymous Voting (Local Storage)People answer honestly when nothing identifies them
    Contest or vote with a prizeRequire login to vote + One vote per userThe hardest method to game

    Clean Up Votes That Slipped Through

    Spotted a burst of suspicious votes? Go to Pollify > All Polls, hover over the poll and click Vote/Responses. Each vote has a delete icon, so you can remove test votes or obvious spam one by one. Deleting is permanent.

    Deleting an individual vote response in the Pollify dashboard

    If one address keeps causing trouble, IP blocking in Pollify Pro lets you block it from every poll on your site.

    Frequently Asked Questions

    Are these duplicate checks free?

    Yes. One vote per IP, login-only voting with one vote per user, and anonymous voting with browser storage are all in the free version. Blocking specific IP addresses is a Pro feature.

    Can I let people vote more than once on purpose?

    Yes. Leave the duplicate checks off. That suits fun polls where repeat voting does no harm.

    What happens to duplicate checks when login is required?

    Pollify tracks the user account instead of the IP address, so people on a shared network can each vote once from their own account.

    Can someone still cheat?

    A determined person can get around any public poll, for example with a VPN and a new browser. Login-only voting makes it far harder, because every extra vote needs another account.

    Next Steps

    For most public polls, tick Allowed one response per computer and move on. For anything that drives a real decision, require login. If the poll should also stop on a set date, see how to schedule a WordPress poll to close automatically.

    Try Pollify free on WordPress.org

    The wpRigel Team

    October 26, 2026
    Pollify
  • How to Schedule a WordPress Poll to Close Automatically (Free)

    To close a WordPress poll automatically, set the poll’s Status to Close after and pick a date and time. With Pollify, a free poll block for the WordPress editor, voting then stops at that moment on its own.

    You also decide what visitors see once it closes: the final results, a short message, or nothing at all. This guide walks through the setup, how to handle an opening date, and the scheduling patterns that keep your poll data useful.

    Why Give Your Poll an End Date

    A poll with no end date keeps collecting votes for months. Answers from last spring get mixed with answers from this week, even though your traffic, your audience and the context have all changed.

    A fixed window gives you a clean snapshot. Run the same question again next quarter and you can see what actually shifted.

    A deadline also helps participation. “Vote by Friday” gives people a reason to answer now instead of later, and later often never comes.

    How to Make a WordPress Poll Close Automatically

    You need a poll block on the page first. If you have not added one yet, follow our guide on how to create a poll in WordPress, then come back here.

    1. Open the post or page with your poll in the block editor.
    2. Click the poll block to select it.
    3. In the right-hand sidebar, open General settings.
    4. Set Status to Close after.
    5. Pick the date and time when voting should stop.
    6. Click Update (or Publish) to save.
    Pollify General settings with the Status dropdown showing Open, Close and Close after

    Before you pick the time, check that your site’s time zone is right under Settings > General (see the WordPress General Settings docs). A wrong time zone is the most common reason a poll closes a few hours early or late.

    Choose what visitors see after the poll closes

    In the same panel, When poll is closed gives you three options:

    • Show poll result: visitors see the final tally. Good for public questions where the outcome is part of the story.
    • Hide poll: the poll disappears from the page. Good for time-limited offers or internal votes.
    • Show poll close message: a line of text you write, such as “Voting has ended. Results in next week’s newsletter.”
    Pollify settings for what visitors see when a poll is closed

    What About an Opening Date?

    Pollify does not have a separate opening date. Its Status setting is Open, Close or Close after. There are two simple ways to start a poll at a set time:

    • Schedule the post itself. Write the post with the poll inside, set Status to Close after, then schedule the post to publish in the future from the Publish panel. The poll goes live with the post and closes on your end date.
    • Keep it closed until launch. For a poll on a page that is already live, set Status to Close with Hide poll. On launch day, switch Status to Close after with your end date and click Update.

    Scheduling Patterns That Work

    Weekly content polls

    “What should we write about next?” works well on a 7-day cycle. Close it on Sunday, read the results on Monday, plan the week around them.

    Monthly audience check-ins

    For bigger questions like “What is your biggest challenge with X?”, a 30-day window collects enough votes from different traffic sources without the data going stale.

    Launch and campaign polls

    Open the poll when the campaign starts and close it when the campaign ends. The answers then belong clearly to that campaign’s audience.

    Yearly repeat polls

    If you ask the same question every year, close each year’s poll on time and add a fresh poll block the next year. You get clean year-over-year comparisons.

    Combine an End Date With Duplicate Protection

    An end date controls when people vote. Duplicate protection controls how often. In Response settings you can tick Allowed one response per computer (checked by IP address) or Require login to vote with One vote per user. Our guide on preventing duplicate votes in WordPress polls explains which one to pick.

    What Happens to the Votes After a Poll Closes

    Closing a poll stops new votes. It does not delete anything. Every vote stays in your dashboard under Pollify > All Polls, where you can open the poll to see totals, percentages and recent votes.

    Want to run the same poll again from zero? Hover over it in the list and click Reset. That clears the votes and keeps the poll itself.

    Frequently Asked Questions

    Is poll scheduling free in Pollify?

    Yes. The Status setting, including Close after, and the options for what visitors see after closing are all in the free version.

    Can I reopen a closed poll?

    Yes. Set Status back to Open (or pick a new Close after date) and click Update. Votes that were already recorded are kept.

    Can two polls on one page close at different times?

    Yes. Each poll block has its own settings, so one can close on Friday while another stays open all month.

    Will the poll close if nobody visits the page?

    Yes. The closing time is part of the poll’s settings, so the poll is closed for the next visitor after that time, however long the page has been quiet.

    Next Steps

    Pick the end date for your next poll before you publish it, and decide now what people should see afterwards. If the poll matters for decisions, add duplicate protection too, or make it anonymous for sensitive questions.

    Try Pollify free on WordPress.org

    The wpRigel Team

    October 26, 2026
    Pollify
  • How Do I Get Notified When a New User Registers on WordPress?

    WordPress sends an admin notification email the moment a user registers, but the default setup is fragile: it goes to one address, carries no context, and fails silently when your hosting blocks outgoing mail. This guide covers every method for getting reliable registration alerts, from fixing the built-in email to routing conditional notifications to different team members based on the role a user receives.

    We tested each approach on a standard WordPress 6.5 install and on a WooCommerce site with three staff roles. The results are below, in order of how much they actually fix.

    How WordPress Registration Notifications Work by Default

    WordPress fires the register_new_user() function when someone completes the registration form. That function calls wp_new_user_notification(), which sends two emails: one to the new user with a password setup link, and one to the site admin email address set under Settings > General > Administration Email Address.

    The admin email is a single address. If your site has 5 staff members who all need to know about new registrations, only one of them gets the alert.

    That is the first problem. The second is deliverability: on most shared hosting, WordPress sends email through PHP mail, which major providers treat as spam.

    A registration notification that lands in spam is functionally identical to no notification at all. Fix delivery before you fix anything else.

    Here is what the default notification does and does not include:

    • Sends to: the single admin email in Settings > General
    • Contains: username, email address, and a link to the user’s profile
    • Does not include: user role, registration source, IP address, or any custom field data
    • Delivery method: PHP mail, unverified, no DKIM or SPF alignment by default
    • Failure behaviour: silent, no retry, no log entry

    Step 1, Confirm the Default Notification Is On

    Go to Settings > General in your WordPress admin. Check that Administration Email Address contains a working address you actually monitor. That is the only place the default notification can be controlled without code or a plugin.

    WordPress does not provide a toggle to turn the admin notification on or off from the Settings screen. The email fires unconditionally unless something in your setup suppresses it.

    Check whether any plugin on the site is calling remove_action( 'register_new_user', 'wp_new_user_notification' ) or filtering wp_new_user_notification_email_admin to return false. A security or membership plugin sometimes does this silently.

    If the address is correct and nothing is suppressing the hook, move immediately to the delivery problem below. That is where most missing notifications actually fail.

    Step 2, Fix Email Delivery First

    This step resolves the majority of missing notification complaints. WordPress’s built-in PHP mail has no authentication layer. Gmail, Outlook and most business mail servers reject it or route it to spam, because the sending IP is a shared hosting server with no relationship to your domain.

    The fix is SMTP. Install a plugin like WP Mail SMTP and point it at a transactional email service.

    We use Postmark in our own setup, but Mailgun, SendGrid and Brevo all work. Any of them gives you:

    • Proper DKIM and SPF alignment, so the mail passes authentication checks
    • A sending IP with a reputation, not a shared hosting pool
    • A delivery log so you can confirm whether the email was sent and whether it bounced
    • Retry on soft bounce, rather than WordPress’s fire-and-forget approach

    The WordPress.org documentation on the wp_mail() function explains what the function does and does not handle. It does not handle SMTP routing. That is your plugin’s job.

    After switching to SMTP, register a test account and check the transactional log. If the email now shows as delivered, the problem was always delivery. If it still does not arrive, move to the next step.

    Step 3, Send Notifications to Multiple or Different Email Addresses

    The default notification goes to one address. Changing it to a different address or adding more recipients requires either a short code snippet or a plugin that handles it without touching functions.php.

    Option A: A Code Snippet

    Add this to your site using a snippet manager like Code Snippets. Replace the two addresses with the ones you need:

    add_filter( 'wp_new_user_notification_email_admin', function( $email, $user, $blogname ) {
        $email['to'] = 'manager@example.com, team@example.com';
        return $email;
    }, 10, 3 );

    This filter was added in WordPress 4.9 and is documented on the official developer reference. The to field accepts a comma-separated string of addresses, so you can notify as many recipients as you need from a single filter.

    The limitation is that this sends the same email to everyone. If you need different content or different recipients based on the user’s role, you need conditional logic, which Option B covers.

    Option B: A Visual Workflow

    If you want to avoid touching code, or if you need logic the filter cannot express (for example, notify the sales manager only when a vendor role registers, and notify support only when a customer role registers), a visual workflow handles this cleanly.

    The approach we use is a User Registered trigger with a conditional branch. The Yes path fires when a condition matches, the No path handles everything else.

    Each path ends in a Send Email action with its own recipient and body. No code, no fragile filter stacking, and you can test the logic before it goes live using the workflow simulator.

    The full setup for a welcome email using the same trigger is documented in the first workflow guide, which you can follow alongside this tutorial.

    Step 4, Build a Conditional Registration Notification

    This is the gap none of the competing guides address. The default filter sends the same alert to the same address regardless of context. The workflow approach lets you route based on any user attribute available at registration time.

    Here is the exact setup we tested, using Krom Automation:

    1. Install the plugin from the WordPress.org plugin directory. Activate it.
    2. Go to Krom Automation > Workflows > Add New. You will see a blank canvas.
    3. Click Add Trigger and select User Registered. This trigger fires the moment WordPress completes registration.
    4. Click Add Condition and set the condition to User Role equals Vendor. The canvas splits into a Yes branch and a No branch.
    5. On the Yes branch, add a Send Email action. Set the recipient to your sales manager’s address. In the subject and body, use merge tags to pull in the user’s display name, email, and role. For example: {{user.display_name}} and {{user.email}}.
    6. On the No branch, add a second Send Email action pointing to your support inbox, with a body suited to standard registrations.
    7. Save the workflow and toggle it active.

    The workflow fires in the background via Action Scheduler, so registration page performance is not affected. Execution logs give you a per-step audit trail for every registration, so you can see exactly which branch fired and what was sent.

    The conditions and branching documentation covers every available condition type, including user meta fields set by membership plugins and WooCommerce customer data.

    Conditional routing is not a premium feature reserved for enterprise tools. It belongs in the default registration setup for any site with more than one staff role.

    What Each Approach Actually Costs You

    Method Setup time Multiple recipients Conditional routing Execution log Cost
    WordPress default 0 min No No No Free
    Filter in functions.php 5 to 10 min Yes (static list) Manual PHP only No Free, dev time
    Visual workflow (free tier) 10 to 15 min Yes Yes, visual Yes, per step Free
    Visual workflow (Pro) 10 to 15 min Yes Yes, visual + richer data Yes, per step From $69/year

    The free tier covers the User Registered trigger, conditional branching, the Send Email action, merge tags, and execution logging. You do not need Pro for the setup described in Step 4. Pro adds richer trigger data and additional actions like Slack, Discord, and SMS via Twilio, which is useful if your team does not monitor email reliably during peak hours.

    Extending Registration Notifications Beyond Email

    Email is the obvious channel but often not the fastest. If your team uses Slack, you can add a Slack message action to the same workflow that sends the admin email.

    The message arrives in under 2 seconds in our testing. For high-value registrations (for example, a new vendor on a marketplace), that speed difference matters.

    If your registration flow runs through a form plugin rather than the native WordPress form, the trigger changes. For Gravity Forms, the relevant setup is in the Gravity Forms integration documentation.

    For WPForms, see the WPForms integration documentation. Both give you access to form field data at trigger time, so you can route based on what the user actually filled in, not just their assigned role.

    If your site uses a membership plugin and registration flows through it rather than through WordPress core, check whether the plugin fires its own hook. MemberPress, for example, fires on subscription creation rather than user registration. The MemberPress integration handles that correctly.

    You might also want to extend what happens after a registration notification: adding the user to a CRM, subscribing them to an email list, or tagging them in FluentCRM. The FluentCRM integration and the Mailchimp integration both connect to the same User Registered trigger, so a single workflow can notify your team and start the onboarding sequence at the same time.

    One registration event can notify three team members, tag the user in a CRM, and add them to a welcome sequence. That is not a complicated setup. It takes about 20 minutes on a blank canvas.

    Common Reasons Registration Notifications Stop Working

    Work through these in order. Skipping ahead wastes time if the problem is actually step one:

    1. Delivery failure: Check your transactional mail log or SMTP plugin log first. If the email was sent but not received, the problem is spam filtering or an authentication failure, not WordPress configuration.
    2. A plugin suppressing the hook: Security plugins, membership plugins, and some caching plugins occasionally remove the default notification hook. Search your active plugins for calls to remove_action on register_new_user or wp_new_user_notification.
    3. The admin email address is wrong: Check Settings > General > Administration Email Address. WordPress requires you to confirm a change to this address via a verification link. If you updated it recently and did not click the link, it reverted.
    4. Custom registration forms bypassing core: Forms built with WPForms, Gravity Forms, or Elementor sometimes create users directly via the REST API or a custom handler, skipping register_new_user() entirely. In that case, the core notification never fires. Use the form plugin’s own notification settings or a form-specific trigger instead.
    5. User registration is disabled: Go to Settings > General and confirm Anyone can register is checked. If registration is off, no notification fires because no registrations occur.

    Disabling Admin Notifications Without Breaking User Notifications

    A common but overlooked need: you want the new user to receive their password email, but you do not want the admin alert. On a high-volume membership site that registers hundreds of users a day, the default admin notification becomes noise rather than signal.

    The cleanest approach is a one-line filter. Add this to a snippet:

    add_filter( 'wp_new_user_notification_email_admin', '__return_false' );

    This returns false for the admin email only. The user still receives their password setup email. The WooCommerce documentation notes a similar pattern for order notification suppression, which gives you a sense of how widely this filter approach is used across the WordPress ecosystem.

    If you are using a visual workflow for notifications, simply do not include a Send Email action directed at the admin. The workflow can handle the user-facing email and leave the admin untouched.

    Also from wpRigel

    Pollify is a Gutenberg-native poll, survey, and quiz plugin. Polls are built directly inside the block editor as native blocks with no shortcodes to paste, which makes adding audience feedback to any post or page a two-minute task rather than a configuration exercise in a separate interface.

    Commandify is a command palette for the WordPress admin. Press Cmd or Ctrl and K to search anything, navigate anywhere, and run admin actions without clicking through menus. It is the only command palette with real WooCommerce order, product, and customer commands built in, which makes it genuinely useful on busy store sites rather than just a convenience shortcut.

    Next Steps

    If registration emails are missing, start with SMTP and work through the five-point checklist above. If the core email works but you need conditional routing or multiple recipients, the visual workflow approach in Step 4 takes about 15 minutes and requires no code. If your registration flow goes through a form plugin, check the relevant integration documentation before assuming the core trigger applies.

    The free plugin covers everything in this guide. Try Krom Automation free on WordPress.org and have the workflow running before you finish your next coffee.

    Frequently Asked Questions

    Why am I not getting email notifications when a new user registers?

    The most common cause is email delivery failure, not a WordPress configuration problem. Install an SMTP plugin and check the delivery log to confirm whether the email was sent.

    If it was sent but not received, the issue is spam filtering or SPF/DKIM alignment on your sending domain. If it was not sent at all, check whether a plugin is suppressing the wp_new_user_notification hook.

    How do I send registration notifications to a different email address?

    Use the wp_new_user_notification_email_admin filter to change the to field to any address you need. The filter accepts a comma-separated string, so you can include multiple addresses. If you prefer a no-code option, a workflow with a User Registered trigger and a Send Email action handles this in about 10 minutes.

    How do I notify different team members based on the user’s role?

    Add conditional branching to the workflow. Set a condition on the Yes path for the specific role, add a Send Email action with the relevant recipient, and repeat for each role.

    The No path handles any registration that does not match a specific condition. The conditions and branching documentation lists every available condition field.

    How do I turn off admin registration emails without affecting the user’s password email?

    Add the filter add_filter( 'wp_new_user_notification_email_admin', '__return_false' ); via a snippet plugin. This suppresses only the admin copy. The user still receives their password setup email through the same core function.

    Can I get a Slack or SMS alert instead of an email when a user registers?

    Yes. The User Registered trigger supports any action the workflow builder offers.

    Add a messaging action after the trigger, point it at a Slack channel or a Twilio number, and include merge tags for the user’s name and email. The messaging integrations documentation covers the full setup for Slack, Discord, Twilio, and Telegram.

    See full pricing details and compare all plans, annual plans start at $69 and lifetime plans start at $199.

    The wpRigel Team

    October 26, 2026
    Krom Automation
  • How Do I Send License Expiry Reminders in Easy Digital Downloads?

    To send an EDD license expiry reminder email, you have two options. The built-in Software Licensing extension sends one reminder at a configured interval before expiry. For a multi-step sequence, 30 days out, 7 days out, on the expiry date, and a post-expiry recovery message, you need Krom Automation Pro, which adds the EDD trigger set and the delay scheduling that makes a sequence possible.

    EDD’s own reminder is fine for low-volume stores where a single nudge is enough. Most software sellers find that a single email converts a fraction of lapsing customers because the timing rarely lands when the buyer is ready to act. A four-message sequence covering the full renewal window lifts renewals without any extra manual work after the initial setup.

    This guide covers both approaches, including how to configure EDD’s built-in system, how to build a full reminder sequence in Krom Automation Pro, where to add a personal renewal discount, and what to send after a license has already expired.

    Browse the full Krom Automation feature list to see the complete EDD trigger and action set before diving into setup.

    What EDD’s Built-In Reminder Actually Does

    Easy Digital Downloads Software Licensing includes a single renewal reminder email. You enable it under Downloads > Settings > Emails > Renewal Reminder, set a send period in days or weeks before expiry, and write your template using EDD’s merge tags.

    Available merge tags include the customer name, the license key, the product name, the expiry date, the renewal URL, and an unsubscribe URL. The renewal URL generates a one-click link that pre-fills the cart with the renewal product and optionally applies a discount.

    The limitation is structural: one email, one timing. If that email lands while the customer is travelling, on deadline, or simply not ready to spend, there is no follow-up. The license lapses, and you have no automated way to reach them again unless you build it manually or use a second tool.

    A single renewal email is not a renewal strategy. It is one shot at the moment the customer may be least prepared to act.

    EDD’s Recurring Payments extension handles auto-renewing subscriptions separately. If a customer is on automatic billing, the Software Licensing reminder does not apply to them and should not be sent. The two systems operate independently, and mixing them up produces duplicate emails, which is the most common complaint in EDD support forums.

    What Gets Sent and When: A Renewal Sequence That Converts

    Before building anything, decide the sequence structure. The four-message cadence below is practical for most software sellers. Adjust the intervals based on your license term, but keep at least three touchpoints before expiry.

    MessageTimingPurposeDiscount?
    Early reminder30 days before expiryPlant the renewal in mind, no pressureNo
    Urgency reminder7 days before expiryDrive action while there is still timeOptional, 10 to 20%
    Expiry-day messageDay of expiryLast chance, direct CTAYes, your strongest offer
    Post-expiry recovery7 days after expiryWin back lapsed customers before they move onYes, time-limited

    The discount logic matters. Offering your best discount at day 30 trains customers to wait for it. Save the strongest incentive for the expiry-day and post-expiry messages, where it functions as a recovery tool rather than an early-bird reward.

    Setting Up the Sequence in Krom Automation Pro

    Krom Automation Pro includes the Easy Digital Downloads integration, which adds the license expiry trigger set to the visual workflow builder. The full list of EDD triggers and the setup walkthrough are in the Easy Digital Downloads integration documentation.

    The general shape of each workflow is identical. The trigger fires when a license is approaching expiry, then a delay node holds execution until the right moment, then a Send Email action delivers the message. Repeat across four separate workflows, one per message in the sequence.

    Here is what each workflow needs:

    • Trigger: EDD License Expiring (from the Pro trigger library)
    • Delay node: configured to the correct number of days before or after the trigger fires. See the delays and scheduling documentation for exact configuration options including minutes, hours, days, and weeks.
    • Conditional branch: check whether the license is on auto-renewal. If yes, skip the email. This prevents sending manual renewal prompts to customers already billed automatically. See conditions and branching for how to set the Yes/No path.
    • Send Email action: personalised with merge tags for the customer name, product name, expiry date, and renewal link

    Merge tags let you pull live data from the trigger event directly into the email body. The customer’s first name, the exact license expiry date, the product they purchased, and a pre-built renewal URL all inject automatically. The merge tags documentation covers every available variable and the correct syntax.

    The Post-Expiry Workflow

    The post-expiry recovery email is the one most stores never send, and it is often the highest-converting message in the sequence. A customer whose license lapsed seven days ago is still familiar with your product.

    They have not replaced it yet. A time-limited offer, framed as a one-time reinstatement discount, converts a meaningful slice of lapsed customers who ignored every pre-expiry message.

    Build this as a separate workflow with the trigger set to fire on the expiry date and a delay of exactly 7 days. Use a conditional branch to check whether the license has since been renewed.

    If yes, skip the email entirely. If no, deliver the recovery message with your strongest discount and a hard expiry date on the offer, something like “this offer expires in 48 hours”.

    Adding a Personal Renewal Discount

    EDD Software Licensing supports a renewal discount that auto-applies when a customer clicks the renewal link in their email. You create the discount under Downloads > Discounts, set it to apply to the renewal product, and paste the discount code into the renewal URL tag in your email template.

    In a Krom Automation workflow, you can use the HTTP Request action to call the EDD REST API and generate a customer-specific coupon before the email fires. This is more work than a shared code, but it prevents coupon sharing and lets you track redemption per customer.

    Whether the extra complexity is worth it depends on your volume. For stores with fewer than 500 annual renewals, a shared code with a short expiry window is sufficient.

    The key rule: do not put the same discount in every email. Customers who receive the discount at the 30-day mark have no incentive to act before the expiry-day email. Staggering the offer, or withholding it until the urgency messages, produces better timing-to-conversion alignment.

    Sending your best discount at 30 days does not accelerate renewals. It teaches customers to wait another 23 days.

    Designing the Emails Themselves

    Krom Automation Pro includes a visual email builder built on the Gutenberg block editor. You design renewal emails using blocks, with no HTML required and no external email tool to connect. The output is responsive and compatible with all major email clients.

    Each message in the sequence should do one thing. Here is how to frame each:

    • 30-day email: Helpful tone. Remind the customer what value they get from the license. Link to your changelog or recent updates. Renewal CTA, no pressure language.
    • 7-day email: Practical tone. Tell them exactly when the license expires. List what stops working after expiry, support, updates, or both. Introduce the discount if you are offering one at this stage.
    • Expiry-day email: Direct tone. The license has expired today or expires tonight. Best discount, single CTA, no distractions. Subject line should state the date.
    • Post-expiry email: Recovery tone. Acknowledge the lapse without guilt-tripping. Offer reinstatement with a time-bounded discount. Make the path back as frictionless as possible.

    Subject lines for renewal emails perform better when they include the product name and a date rather than generic urgency phrases. “Your [Product] license expires January 14” outperforms “Don’t miss out on your renewal” in open rate testing across SaaS email benchmarks, because the first tells the reader exactly why they are receiving the message.

    Testing Before You Go Live

    Krom Automation includes a workflow simulator that runs a complete dry-run execution with zero side effects. No emails are sent, no data is written, but every step is evaluated against real workflow logic so you can confirm the conditional branches, the delay values, and the merge tag output are all correct before a real license expiry event fires.

    The workflow simulator documentation explains how to feed a test event through the system and read the per-step audit trail. Run the simulator on each of the four workflows before enabling them. A missed conditional branch on the auto-renewal check is the most common setup error, and it produces the duplicate-email problem customers report most often.

    For more on testing automation workflows before they go live, the guide on how to test a WordPress automation before it goes live covers the full testing process including failure simulation.

    A Note on WP-Cron Timing

    Krom Automation runs scheduled actions via Action Scheduler, which itself depends on WordPress Cron. On low-traffic sites where no one visits for several hours, WP-Cron fires late. A delay set for 9:00 AM may fire at 11:30 AM if no request hits the site in that window.

    For a license expiry sequence, this is usually acceptable. A few hours of drift on a 30-day or 7-day reminder does not meaningfully affect conversion. The expiry-day email is more sensitive.

    If exact timing matters, configure a real server cron job to call wp-cron.php on a set schedule rather than relying on visitor-triggered execution. Most managed WordPress hosts offer this in their control panel.

    Cost Comparison: Built-In EDD vs. Krom Automation Pro

    CapabilityEDD Built-In ReminderKrom Automation Pro
    Number of reminder emails1Unlimited, one workflow per message
    Timing optionsOne fixed intervalAny combination of minutes, hours, days, weeks
    Post-expiry recovery emailNoYes
    Auto-renewal skip logicManual configuration requiredConditional branch, built in 2 minutes
    Per-customer personalisationEDD merge tags onlyEDD merge tags plus full Krom merge tag library
    Visual email builderNoYes, Gutenberg block based
    Execution logs per stepNoYes, full audit trail
    Cost (1 site, annual)Included in EDD Software LicensingStarts at $69/year (launch pricing)

    If your store sells 50 or more licenses per year, the revenue difference between a one-email and a four-email renewal sequence likely covers the cost of Krom Automation Pro in the first month of operation. At a 20% renewal discount on a $99 product, one additional renewal per month pays for the annual plan twice over.

    What About WooCommerce Subscriptions?

    This guide covers EDD Software Licensing specifically. If you run WooCommerce with subscription products instead, the trigger set and sequence logic are almost identical, but the integration is different. The WooCommerce Subscriptions integration documentation covers the equivalent setup, and the companion post on automating WooCommerce subscription renewal reminder emails walks through a comparable sequence in that context.

    MemberPress users dealing with a similar expiry and recovery challenge can also apply the same four-message structure using the MemberPress integration triggers for subscription expiry events.

    Also from wpRigel

    Pollify is wpRigel’s Gutenberg-native poll and survey plugin. Polls are built as real blocks inside the block editor, with no shortcodes to paste and no separate interface to learn. If you collect customer feedback or run product satisfaction surveys alongside your license sales, Pollify fits directly into the same WordPress workflow.

    Commandify is a command palette for the WordPress admin. Press Cmd or Ctrl plus K to jump anywhere, search anything, and run admin actions without clicking through menus. It is the only WordPress command palette with real WooCommerce order, product and customer commands built in, which makes it useful for stores managing high order or license volumes.

    Our Verdict

    EDD’s built-in renewal reminder is a reasonable starting point for a store with a small license base and low renewal volume. For anything beyond that, one email is not enough, and the setup cost of a four-workflow sequence in Krom Automation Pro is low relative to the revenue it recovers.

    The post-expiry recovery email alone is worth the setup time. Most EDD stores never send one.

    The customers who lapsed without renewing are still familiar with your product, still have the problem your product solves, and are reachable for 7 to 14 days after expiry before they start evaluating alternatives. A single automated message in that window, with a clear offer and a short deadline, will recover a meaningful number of those licenses every cycle.

    If you run more than one EDD site, Krom Automation Pro plans cover 5 sites from $149 per year (launch pricing), which changes the per-site economics significantly compared to single-site tools. Lifetime plans start at $199 for one site and include every future update. The free plugin is available with no time limit or run cap, so you can install it and explore the workflow builder before committing to Pro.

    Frequently Asked Questions

    Can I send more than one EDD license expiry reminder email without a third-party plugin?

    No. EDD Software Licensing supports a single reminder email at one configured interval. Sending multiple reminders at different intervals requires either a custom solution or a plugin like Krom Automation Pro that adds a delay-based sequence builder on top of EDD’s trigger events.

    Will EDD send renewal reminders to customers on automatic subscriptions?

    EDD Recurring Payments handles auto-billing separately from Software Licensing renewal reminders. Customers on automatic renewal do not need a manual renewal prompt, and sending one confuses them. In Krom Automation, a conditional branch checks the auto-renewal status before any email fires and skips the sequence for customers already set to renew automatically.

    How do I stop customers from receiving duplicate renewal reminder emails?

    Duplicates almost always come from two sources running simultaneously: EDD’s built-in reminder and a third-party workflow. Disable EDD’s built-in reminder under Downloads > Settings > Emails before activating your Krom Automation sequence. Also enable the “run once per entity” setting on each workflow to prevent the same license from triggering the same workflow twice.

    Does the free version of Krom Automation support EDD triggers?

    The EDD trigger set is a Pro feature. The free plugin includes 16 triggers covering WordPress users, posts, comments, media, and WooCommerce orders, but EDD license events require the Pro add-on. You can review the full comparison in the free vs Pro feature comparison.

    Can I send the post-expiry recovery email through Mailchimp or another email platform instead of directly from WordPress?

    Yes. Krom Automation Pro includes integrations with Mailchimp, ConvertKit, MailerLite, and ActiveCampaign, among others.

    Instead of the Send Email action, you can trigger a sequence in your email platform when the EDD license expires. The Mailchimp integration documentation covers how to subscribe or tag a contact from a WordPress trigger event, which is the mechanism you would use to hand off to a Mailchimp automation.

    How accurate is the expiry-day email timing on shared hosting?

    On sites with steady traffic, WP-Cron fires within minutes of the scheduled time. On low-traffic sites, drift of 2 to 6 hours is common because WP-Cron only runs when a visitor request arrives.

    For expiry-day emails where timing matters, configure a real server cron job to call wp-cron.php every 5 to 15 minutes. Most managed WordPress hosts provide this option in the hosting control panel without requiring server access.

    The wpRigel Team

    October 18, 2026
    User Guide
  • How Do I Automatically Welcome New Members in BuddyBoss?

    You can automatically welcome new BuddyBoss members using Krom Automation, a visual workflow plugin for WordPress. The free version handles a single welcome email and a group add on registration.

    A timed sequence across multiple days, a branded email design, and an incoming webhook from an external form require Pro. No code is needed for any of it.

    BuddyBoss does not ship a built-in auto-welcome system. It fires the events. It stores the data.

    Turning those events into a real onboarding experience requires a workflow layer on top. That is exactly what Krom Automation is built to do, and unlike SaaS automation tools, every execution log and API credential stays inside your WordPress database.

    If privacy and data residency matter to your community, that distinction is worth noting. You can read more about the case for self-hosted automation in our post on self-hosted automation and GDPR.

    This guide covers four specific things: the right trigger for BuddyBoss member activation, sending a welcome email with personalised merge tags, posting to the BuddyBoss activity feed, auto-adding the new member to a group, and how to prevent a workflow from firing twice on the same user. Browse the full feature list to see what else Krom Automation can do beyond member onboarding.

    Quick Summary

    GoalFree or Pro?Trigger used
    Send a welcome email on registrationFreeUser Registered
    Add new member to a BuddyBoss groupFree (with BuddyBoss integration)User Registered
    Post to the BuddyBoss activity feedFree (with BuddyBoss integration)User Registered
    Delay day-1 and day-2 follow-up messagesPro (delay scheduling)User Registered
    Branded visual email templatePro (visual email builder)Any
    Welcome via incoming webhook from external formPro (incoming webhook receiver)Webhook

    Does BuddyBoss Have a Built-In Auto-Welcome Feature?

    No. BuddyBoss handles profile fields, groups, activity feeds and messaging. It does not include any workflow or automation layer.

    When a new user registers, BuddyBoss fires a WordPress user registration event and stores the member data. What happens next is entirely up to you.

    Some community owners try to handle this manually: a team member spots the new registration notification and sends a personal message. That approach breaks the moment you have more than a handful of new members per week. At 20 new members a month, manual welcome messages cost roughly 2 to 3 hours of admin time.

    At 100 new members a month, the math becomes untenable. Automation is the only path that scales.

    Which Trigger Should You Use for BuddyBoss Onboarding?

    The correct trigger depends on your registration flow. There are two situations that require different answers.

    • Standard WordPress registration with BuddyBoss: Use the User Registered trigger. This fires the moment the user record is created in WordPress. If your site has email verification disabled, this is the right choice.
    • Email verification enabled: If BuddyBoss or a membership plugin requires the user to click a verification link before their account is active, trigger on User Role Changed instead. The account exists before verification, so User Registered fires too early. Role Changed fires when the account moves to an active state.
    • WooCommerce or MemberPress checkout: A paid membership may be the point of registration. Trigger on the payment or subscription event rather than the user event, so the welcome sequence only fires for paying members. See the MemberPress integration docs for the exact trigger to use.

    For most BuddyBoss communities without a paywall, User Registered is correct. You can see every available trigger in the free triggers reference.

    Triggering a welcome email before the user has verified their account is not a minor timing issue. It trains new members to ignore your first message, because it arrives before they feel like members.

    How to Build the Welcome Workflow, Step by Step

    The full setup walkthrough lives in the BuddyBoss integration documentation, including exact field names and screenshots. The steps below explain the logic so you understand what you are building before you build it.

    Step 1: Create a new workflow on the canvas

    Open Krom Automation from the WordPress admin sidebar and click “New Workflow”. The drag-and-drop canvas opens on a blank state.

    If you want a starting point, there are 20 free workflow templates included, and several cover user onboarding. You can also start from the first workflow tutorial which walks through the welcome email pattern in detail.

    Step 2: Set the trigger

    Drop a trigger node onto the canvas and select “User Registered”. If email verification is part of your flow, select “User Role Changed” and set the condition to match the role BuddyBoss assigns on activation.

    The trigger node surfaces the available merge tags: {{user.display_name}}, {{user.email}}, {{user.login}}, and others. Read the merge tags documentation to see the full list and how to use them in action fields.

    Step 3: Send the welcome email

    Add a “Send Email” action node. Set the To field to {{user.email}}. Write the subject and body using merge tags so every email addresses the member by name.

    A subject line like “Welcome to [Community Name], {{user.display_name}}” takes 30 seconds to configure and outperforms a generic “You have registered” notice by a measurable margin in open rates. If you are on Pro, the visual email builder replaces the plain text editor with a block-based designer that produces branded HTML emails.

    Step 4: Post to the BuddyBoss activity feed

    The BuddyBoss integration adds a “Create Activity Post” action. Drop it after the email node. Use merge tags to write something like “Welcome {{user.display_name}} to the community” and post it publicly to the member’s feed or to the site-wide stream.

    This creates a visible social signal that other members can react to, which matters for community momentum. New members who see their name mentioned in the activity feed within minutes of joining are more likely to return within 48 hours.

    Step 5: Add the member to a BuddyBoss group

    The BuddyBoss integration also includes an “Add Member to Group” action. Specify the group ID you want new members to join. This works for a single default group.

    If you want to assign different groups based on the user’s role, registration source or membership level, add a conditional branch first. The conditions and branching documentation covers how to build Yes/No logic into any workflow.

    Step 6: Enable Run Once per entity

    This is the loop protection step that almost every tutorial skips. Krom Automation includes a “Run Once per entity” setting at the workflow level. Enable it.

    Without it, any event that re-fires the trigger, such as an admin updating the user profile, can re-execute the entire workflow and send the welcome email again. One setting, zero duplicate emails. You can find this in workflow settings alongside pause, notes and import/export controls.

    Loop protection is not optional. A welcome email that arrives three times in ten minutes is not a welcome. It is a reason to unsubscribe.

    How to Build a Multi-Day Welcome Sequence

    A single email on day zero is a start. The research on community retention consistently shows that members who receive structured contact in the first 72 hours after joining are more likely to become active contributors. A three-step sequence covers the pattern most community operators use.

    • Day 0, immediately: Welcome email with their name, a link to their profile, and an invitation to introduce themselves. Activity feed post. Group add.
    • Day 1, 24 hours later: A short email pointing to the most active or most useful content in the community. One clear action only.
    • Day 3, 72 hours later: A check-in asking if they have any questions and surfacing the support or help channel.

    The delay nodes between each step are a Pro feature. You can set delays in minutes, hours, days or weeks. Drop a Delay node between your Day 0 actions and the Day 1 email, set it to 24 hours, and the workflow handles the timing automatically.

    The full documentation for this is in delays and scheduling. Background execution via Action Scheduler means the delays run off page load, so a visitor hitting your site 23 hours after a member registered will not accidentally trigger the Day 1 email early.

    On very low-traffic sites where WP-Cron does not fire reliably, delayed emails can arrive late. If your community runs on a shared host with sparse traffic, configure a real server cron to call wp-cron.php on a schedule. The Krom Automation documentation covers this in the installation guide.

    What a Good BuddyBoss Welcome Email Actually Says

    This is the part no competing tutorial covers. The automation infrastructure only matters if the message it delivers is worth reading. Most auto-welcome emails fail on content, not on timing or configuration.

    A welcome email that works does three things in under 150 words:

    • Confirms the decision was the right one. “You are now part of [X], a community of [specific type of people] doing [specific thing].”
    • Gives one concrete next step. Not five options. One. “Start by introducing yourself in the Welcome group.”
    • Sets an expectation. “You will hear from us on day one with a guide to the best content here.”

    Use {{user.display_name}} in the opening line. Personalisation at the subject line level lifts open rates. Personalisation in the first sentence lifts click-through.

    Both take less than a minute to add when merge tags are already available in the action field. See the merge tags reference if you want the full list of variables available on the User Registered trigger.

    How to Test the Workflow Before It Goes Live

    Krom Automation includes a workflow simulator that runs a dry execution against real data with zero side effects. No email is sent. No group add happens.

    No activity post is created. The simulator shows you the exact path the workflow would take, which actions would fire, and what the merge tag values would resolve to for a specific user.

    This is the correct way to verify a welcome sequence before exposing it to real new members. Our post on how to test a WordPress automation before it goes live walks through the full process.

    What Does It Cost Compared to Alternatives?

    This is the question most guides avoid. Here is an honest comparison across the tools people actually consider for BuddyBoss onboarding automation.

    ToolYear 1 cost (1 site)Year 2 costLifetime optionPer-task billingSelf-hosted
    Krom Automation Pro (Basic)$69/year (launch price)$119/year$199 onceNoYes
    Uncanny AutomatorFrom $199/year (as of September 2026)$199+/yearNoNoYes
    Zapier (Professional)~$240/year (as of September 2026)~$240+/yearNoYes, with overagesNo

    Zapier’s per-task billing model means a busy BuddyBoss community with 500 new members a month and a 3-step sequence burns 1,500 tasks per month on welcome automation alone, before any other workflows run. At the Professional plan’s 750-task monthly cap, that community would need a higher tier from day one. Krom Automation charges nothing per execution at any plan tier.

    If cost across multiple client sites matters, the Standard plan at $149/year covers 5 sites and the Enterprise plan at $299/year covers unlimited sites. Our post on how much WordPress automation costs per month breaks down the full picture across tools. All Pro plans carry a 14-day money-back guarantee.

    A welcome sequence that fires 500 times a month is not expensive on a flat-fee plugin. On a per-task SaaS tool, it is a billing event that grows every time your community grows.

    What the Free Version Can and Cannot Do

    The free version of Krom Automation handles a practical welcome workflow without spending anything. Here is exactly where the line sits.

    Free version covers:

    • User Registered trigger firing on BuddyBoss registration
    • Send Email action with full merge tag support
    • BuddyBoss group add action
    • BuddyBoss activity feed post action
    • Run Once per entity to prevent duplicate executions
    • Workflow simulator for dry-run testing
    • Execution logs showing every step taken and every outcome

    Pro is required for:

    • Delay nodes for Day 1 and Day 3 follow-up emails
    • Visual email builder for branded HTML templates
    • Schedule trigger for recurring community digests
    • Incoming webhook to trigger welcome flows from external registration forms
    • Advanced conditional branching using richer trigger data

    You can download the free plugin from the WordPress.org plugin directory and build the day-zero welcome sequence without a Pro licence. Upgrade when the multi-day sequence becomes the priority.

    Also from wpRigel

    Pollify is a poll, survey and quiz plugin built natively for the Gutenberg block editor. If you run a BuddyBoss community, embedding a poll directly in a page or post takes seconds because polls are real blocks, not shortcodes. It is a practical way to collect onboarding feedback or run member votes without installing a separate tool or pasting anything into a widget area.

    Commandify adds a keyboard-first command palette to the WordPress admin. Press Cmd or Ctrl plus K and type what you need: navigate to a user, search a post, change a setting, or manage a WooCommerce order. For anyone managing a BuddyBoss community alongside a shop or course site, it is the fastest way to move around the admin without clicking through five menu levels.

    FAQ

    Can I trigger the welcome email only after the user activates their account, not before?

    Yes. If your BuddyBoss setup uses email verification, use the User Role Changed trigger instead of User Registered.

    Set it to fire when the user’s role changes to the active member role BuddyBoss assigns on activation. This ensures the welcome email arrives after the user has confirmed their address, not before.

    How do I add new members to different BuddyBoss groups based on their registration source or role?

    Add a conditional branch in the workflow between the trigger and the group add actions. Set the condition to check the user’s role, a registration field value, or any other property the trigger surfaces.

    Each branch leads to a different “Add to Group” action. The branching documentation covers the full set of condition operators available.

    Will the welcome workflow fire again if an admin edits the user’s profile later?

    Not if Run Once per entity is enabled in workflow settings. That setting records the user ID on first execution and skips all future runs for the same user. Disable it only if you intentionally want the workflow to re-run, for example on a User Profile Updated trigger with a different purpose.

    Does the BuddyBoss integration with Krom Automation work with BuddyBoss Pro as well as the free BuddyPress?

    The triggers and actions in the BuddyBoss integration work with both BuddyBoss Pro and BuddyPress, since both use the same underlying WordPress hooks for user registration, group membership and activity feed events. Check the BuddyBoss integration documentation for any version-specific notes.

    What happens if the welcome email fails to send?

    Krom Automation logs every execution at the step level. If the Send Email action fails, the execution log records the failure with the reason.

    You can configure failure notifications by email and set an automatic retry with configurable backoff. That means a transient mail server issue does not silently skip a new member’s welcome email.

    Can I connect the welcome sequence to Mailchimp or FluentCRM at the same time?

    Yes. Add an additional action node to the same workflow.

    After the welcome email and group add, connect to Mailchimp to subscribe the user to an onboarding sequence, or to FluentCRM to create a contact and apply a tag. Multiple actions in a single workflow run in the order you connect them on the canvas.

    The Verdict

    If you run a BuddyBoss community and you are still manually welcoming new members, or relying on the generic WordPress registration email, you are leaving retention on the table. The free version of Krom Automation covers the day-zero essentials: a personalised welcome email, an activity feed post, and a group add, with loop protection so it never fires twice on the same user. That alone is worth the 20 minutes of setup.

    Upgrade to Pro when the multi-day sequence becomes the priority. At $69 for the first year (launch price), the Basic plan costs less than a single hour of developer time and runs unlimited welcome workflows across one site with no per-execution fees.

    See full pricing details and compare the plans before you decide. The free plugin is always available at no cost, with no trial period and no feature locked behind a signup wall.

    The wpRigel Team

    October 18, 2026
    User Guide
  • How Do I Stop Losing Members to Failed Payments in MemberPress?

    When a MemberPress payment fails, the plugin can send a single notification email automatically. That one email recovers some members, but a single touch is rarely enough. Krom Automation, our free WordPress workflow plugin, lets you build a full recovery sequence triggered by that failed payment event, including a follow-up email 48 hours later, a Slack alert to your team, and a win-back offer if the member cancels.

    The free version covers the core sequence. The Pro version adds the visual email builder and Slack integration for richer alerts.

    The setup takes roughly 30 minutes end to end. The sections below walk through MemberPress configuration first, then the automation layer on top of it, then what to actually write in each message because none of the official docs cover that part.

    Browse the full Krom Automation feature list to see every trigger and action available before you start building.

    What Does MemberPress Actually Do When a Payment Fails?

    MemberPress handles failed payments differently depending on your gateway. With Stripe, the gateway itself retries the charge on a schedule you configure inside Stripe’s dashboard, typically 3 attempts over 7 to 14 days.

    With PayPal, retry logic sits inside PayPal’s subscription settings. MemberPress does not control retry timing directly. It listens for the gateway’s webhook and reacts when a failure event arrives.

    When that failure webhook lands, MemberPress can do three things automatically:

    • Send a “failed transaction notice” email to the member, if the toggle is enabled in Settings
    • Send the same notice to the admin email address
    • Suspend or cancel the subscription depending on how many consecutive failures you allow in your gateway settings

    That built-in email is a starting point, not a recovery strategy. It fires once, carries default MemberPress branding, and contains no logic for what happens if the member ignores it.

    How Do I Enable the Failed Payment Email in MemberPress?

    The setting is buried two levels deep. Navigate to MemberPress > Settings > Emails. Scroll to the “Failed Transaction Notice” row.

    You will see two toggles: one for the member and one for the admin. Enable both.

    Inside that same row, click “Edit” to open the template editor. MemberPress gives you a subject line field and a body field with a small set of merge parameters such as {member_name}, {membership_title}, and {account_url}.

    The account URL parameter is important because it links the member directly to the page where they can update their card. Without it, a member who wants to fix the problem has to find that page themselves, and most will not.

    A minimal subject line that performs well in practice: “Your [membership name] payment needs attention”. Keep the body under 120 words. State what happened in one sentence, give them the link to update their card in the next sentence, and close with a clear deadline so the message carries urgency.

    Telling someone their payment failed is table stakes. Telling them exactly what to click and what happens if they do not act within 48 hours is what actually recovers the member.

    Why Isn’t the MemberPress Failed Payment Email Sending?

    This is the most common support question on this topic, and it almost always comes down to one of four causes. Work through them in this order, because the first fix resolves the problem in the majority of cases.

    1. The toggle is off. MemberPress ships with the failed transaction notice disabled. Go to MemberPress > Settings > Emails and confirm both toggles are on. This takes 30 seconds to check.
    2. WordPress is using wp_mail() without an SMTP relay. Shared hosting providers regularly blacklist PHP mail. Install an SMTP plugin such as WP Mail SMTP and connect it to a transactional mail service. Without this, emails either land in spam or never leave the server.
    3. The transaction was not recorded as complete. MemberPress only fires the failed notice when a subscription renewal fails. A payment that never completed the initial checkout does not trigger the same hook. Check the transaction log under MemberPress > Transactions.
    4. Site migration broke the gateway webhook URL. If you migrated the site and the domain changed, Stripe or PayPal may still be sending webhooks to the old URL. Log into your gateway and update the endpoint to the new domain. The MemberPress webhook URL follows the pattern yourdomain.com/?memberpress-listener=stripe.

    If none of those apply, confirm the member’s email address is stored correctly under MemberPress > Members and test a manual email send using the WP Mail SMTP diagnostic tool.

    What Should I Actually Write in the Failed Payment Email?

    No official documentation covers this, which is why members slip away even when the email is technically sending. The goal of the first email is one action: get the member to click the account link and update their card. Everything else is noise.

    A structure that converts reliably:

    • Subject: “Your [Membership Name] payment didn’t go through”, plain language, no urgency theatrics on the first attempt
    • Opening line: State the fact plainly. “We tried to renew your [Membership Name] subscription on [date] and the payment didn’t complete.”
    • One sentence on consequence: “Your access will continue for the next 48 hours while we wait for you to update your details.”
    • The link: A single, clear call to action pointing to the account page. “Update your payment method here.” No other links in the email.
    • Closing: A low-pressure reassurance. “If you have questions, reply to this email and we will sort it out.”

    The second email, sent 48 hours later if the payment is still unpaid, shifts tone slightly. Keep it short and raise the stakes honestly: access is about to suspend.

    The third touch, if you build one, can include a discount or a personal note from the site owner. That third email is where Krom Automation earns its place, because you cannot time a manual email to fire 5 days after a specific member’s payment failure.

    How Do I Build a Recovery Sequence With Krom Automation?

    The MemberPress integration in Krom Automation exposes subscription and payment events as triggers. The failed payment trigger fires every time MemberPress records a failed renewal, and from that single trigger you can branch into a full sequence.

    The free version of Krom Automation gives you the Send Email action, delay scheduling in minutes, hours, days or weeks, conditional branching with Yes and No paths, and merge tags to inject the member’s name and membership details into every message. That is enough to build a 3-touch recovery sequence without paying for anything.

    Here is the workflow shape that recovers the most members in practice:

    1. Trigger fires immediately: MemberPress failed payment event received
    2. Action 1, instant: Send the first recovery email using the copy structure above
    3. Delay: 48 hours
    4. Conditional branch: Check whether the subscription is still in a failed state
    5. Yes path (still unpaid): Send the second email with a firmer tone and a specific deadline
    6. Delay: 72 more hours
    7. Yes path (still unpaid): Send a win-back email with a recovery offer or a personal message
    8. No path (payment recovered at any branch): Send a confirmation email and end the sequence

    The delay scheduling documentation covers the exact options available and how to configure them on the canvas. The merge tags documentation shows which MemberPress fields you can inject into email subject lines and bodies.

    A single email is a notification. A timed, conditional sequence is a recovery system. The difference in recovered revenue over 12 months is not marginal.

    How Do I Send a Slack Alert When a Payment Fails?

    Relying on an email to your admin address means you might not see a failed payment for hours. A Slack alert lands where your team already works.

    The Krom Automation messaging integration covers Slack, Discord, Twilio, and Telegram. Slack alerts are a Pro feature.

    The practical setup is a parallel branch on the same workflow: when the failed payment trigger fires, one branch sends the member email sequence and a second branch posts immediately to your Slack channel. The Slack message should carry the member’s name, the membership they hold, and the amount that failed.

    A team that sees “Jane Smith, Pro Plan, $119 renewal failed” can make a personal follow-up call the same day. That human touch recovers members that automated emails miss.

    If you run a high-volume membership site and want to see failure patterns over time, the Krom Automation analytics dashboard shows failure counts and execution trends. A workflow failing more than 10 percent of the time signals a configuration problem rather than a payment problem.

    How Do I Build a Cancellation Win-Back Sequence?

    Some members will not update their card in time and their subscription will cancel. That is not the end of the relationship. A win-back sequence, triggered when MemberPress records a cancellation following a failed payment, can recover 10 to 20 percent of those lapsed members over a 30-day window, based on industry benchmarks for membership sites.

    The MemberPress integration trigger covers subscription cancellation events. Pair it with a 3-step win-back sequence:

    • Day 1 after cancellation: A short email acknowledging the lapse, no pressure, just an open door. Include a direct re-subscribe link.
    • Day 7: A value reminder email. What did they have access to? What are they missing? Keep it factual rather than emotional.
    • Day 21: A time-limited offer. A discount coupon, a free month, or a content bundle. Make it specific and give it a hard expiry date.

    The conditions and branching documentation shows how to stop the sequence automatically once the member re-subscribes, so you do not send a discount offer to someone who already paid.

    If your membership site also runs on WooCommerce Subscriptions, the same pattern applies. See our guide on automating WooCommerce subscription renewal reminder emails for a parallel setup.

    What Are the Real Limits of This Setup?

    Honest constraints matter here. Three things can go wrong with this automation that the setup guides do not mention.

    WP-Cron timing on low-traffic sites. Krom Automation uses Action Scheduler for background execution, which is the same queue system WooCommerce relies on. But Action Scheduler still depends on WordPress Cron firing. On a site that receives fewer than a few dozen visits per day, WP-Cron can run hours late.

    A “48 hour delay” in the workflow may actually fire at 50 or 52 hours. For most membership sites this is acceptable. For high-stakes sequences where timing matters, configure a real server cron job to trigger wp-cron.php on a fixed schedule.

    Gateway webhook failures are invisible to Krom Automation. If Stripe’s webhook to your site fails silently, MemberPress never sees the failed payment event, and the trigger never fires. Check your Stripe webhook dashboard monthly and confirm delivery success rates stay above 98 percent.

    The free plugin does not include the visual email builder. The Send Email action in the free version sends plain HTML email. It works, and most recovery emails perform better in plain text anyway. The visual email builder is a Pro feature for teams that want branded, block-based email design matching their membership site’s look.

    Cost Comparison: Manual Recovery vs. Automated Sequence

    Approach Setup time Ongoing time per 10 failed payments Annual cost Recovery touches per member
    MemberPress email only, manual admin follow-up 15 minutes 2 to 3 hours Staff time only, approx. $50 to $120/month at $25/hr for a busy site 1 automated, 1 to 2 manual
    Krom Automation free, 3-touch sequence 30 minutes Under 10 minutes (review logs only) $0 3 automated, timed and conditional
    Krom Automation Pro, sequence plus Slack alerts 45 minutes Under 10 minutes Starts at $69/year for 1 site 3 automated, plus team Slack alert for manual follow-up
    Zapier plus ActiveCampaign (external tools) 2 to 4 hours Under 10 minutes Zapier Professional approx. $240/year plus ActiveCampaign plan cost, as of September 2026 3 or more automated

    The Zapier route works but moves your member data and execution logs off your server. If GDPR compliance matters to your membership business, self-hosted automation is a material difference. Our article on self-hosted automation and GDPR covers what actually transfers to third-party services and what does not.

    Which Krom Automation Plan Do I Actually Need?

    Feature Free Pro (from $69/year)
    MemberPress failed payment trigger Yes Yes
    Send Email action (plain HTML) Yes Yes
    Delay scheduling (hours, days) Yes Yes
    Conditional branching Yes Yes
    Merge tags for member data Yes Yes
    Execution logs and analytics dashboard Yes Yes
    Slack / Discord / Twilio alert No Yes
    Visual email builder (block-based) No Yes
    Schedule trigger (daily digest of failures) No Yes
    ActiveCampaign / FluentCRM / Mailchimp sync No Yes

    For most membership sites running under 500 active members, the free version builds a complete recovery sequence. Pro becomes worth the $69/year once you want Slack alerts on failures, branded email templates, or CRM sync so your marketing list stays clean when a member lapses. If you run sites for multiple clients, the Standard plan at $149/year covers 5 site activations.

    The free plugin covers every part of the recovery sequence. Pro earns its cost the first time a Slack alert lets someone on your team make a personal call that saves a $200/year membership.

    Before You Build: Test the Workflow First

    Never push a recovery sequence live without dry-running it. Krom Automation includes a workflow simulator that executes the entire flow with zero side effects.

    No emails send, no delays fire, no CRM contacts update. You see exactly which branch would run and which merge tags resolve to which values.

    The workflow simulator documentation covers how to load a test payload that mimics a MemberPress failed payment event. Run the simulator before you toggle the workflow to active, and run it again any time you edit a branch condition. Our article on testing WordPress automations before they go live explains the full testing approach for sequences like this one.

    Also from wpRigel

    Pollify is our Gutenberg native poll, survey and quiz plugin. Polls are real blocks built inside the editor, so there are no shortcodes to paste and no separate configuration screen to learn. It is the fastest way to add a membership satisfaction survey directly inside a post or page.

    Commandify is a command palette for the WordPress admin. Press Cmd or Ctrl plus K to jump anywhere in the dashboard, search members and orders, and run admin actions without clicking through menus. It is the only WordPress command palette with real WooCommerce order, product and customer management built in, which makes it worth knowing about if you run a membership site with a commerce component.

    Our Verdict: Who Should Act on This and Who Should Not

    If you run a MemberPress site with recurring subscriptions and you have not built a multi-touch recovery sequence, you are leaving a recoverable percentage of your churned revenue on the table every month. The free Krom Automation plugin closes that gap in under an hour of setup, with no ongoing cost and no member data leaving your server.

    If your membership site has fewer than 50 active recurring members, the built-in MemberPress email plus a manual admin notification is probably enough. The complexity of a 3-touch automation is not worth maintaining below that threshold. Above 50 recurring members, the math flips: even recovering 2 additional members per month at a $10/month membership price exceeds the cost of Krom Automation Pro in the first year.

    Download the free Krom Automation plugin from the WordPress.org plugin directory and build the first workflow today. Upgrade to Pro only when you need Slack alerts or branded email templates. The step-by-step workflow builder guide walks through the canvas from a blank trigger to a published workflow if this is your first automation.

    See all Krom Automation plans and pricing, including the lifetime options that start at $199 for a single site.

    Frequently Asked Questions

    Does MemberPress retry failed payments automatically?

    MemberPress itself does not control retry timing. Retry logic lives inside your payment gateway. Stripe retries on a schedule you configure in the Stripe dashboard, typically 3 attempts over 7 to 14 days.

    PayPal handles retries inside its own subscription settings. MemberPress listens for the gateway webhook and reacts when each failure or success event arrives.

    Can I send the failed payment email to a custom address instead of the site admin?

    The admin notice in MemberPress Settings > Emails sends to the address set under WordPress Settings > General. To route alerts to a different address, such as a billing team inbox, use a Krom Automation workflow with a separate Send Email action pointing to whatever address you choose. This also lets you send to multiple recipients from one trigger.

    Will Krom Automation stop sending recovery emails once the member pays?

    Yes, if you build the workflow with a conditional branch that checks subscription status before each follow-up email. The conditions and branching documentation shows how to add a Yes/No check so the sequence exits cleanly when the payment is recovered, without sending a discount offer to a member who has already updated their card.

    How do I sync lapsed MemberPress members to my email marketing list automatically?

    Add a CRM or email marketing action to the same workflow that handles the failed payment trigger. The ActiveCampaign integration, the FluentCRM integration, and the Mailchimp integration all support adding a tag or moving a contact to a different list when a trigger fires. Tag the member as “payment-lapsed” at the moment of failure so your marketing list reflects the real subscription state.

    Why did my members lose access immediately after a failed payment instead of getting a grace period?

    MemberPress does not have a built-in grace period setting in the way some membership plugins do. Access suspension is controlled by your gateway’s retry window and the subscription status MemberPress receives via webhook.

    If your gateway cancels the subscription after the first failed attempt, MemberPress marks the subscription as cancelled immediately. Extend the grace period by configuring more retries inside your gateway dashboard before it marks the subscription as failed.

    Can I use this setup across multiple MemberPress sites for client work?

    Yes. Krom Automation Pro Standard covers 5 site activations at $149/year, and the Enterprise plan covers unlimited sites at $299/year.

    The workflow you build on one site exports as a portable JSON file that you can import on any other site running Krom Automation. The workflow settings documentation covers the import and export process.

    The wpRigel Team

    October 17, 2026
    User Guide
  • Is Self-Hosted Automation Better for Privacy and GDPR?

    Yes, self-hosted automation is generally better for GDPR than cloud services like Zapier, but it does not make you automatically compliant. With Krom Automation, a WordPress-native workflow plugin, every execution log, credential and piece of personal data processed by a workflow stays inside your own database.

    That removes Zapier or Make as a data processor under Article 28 of the GDPR, which is a meaningful reduction in third-party risk. The free plugin covers the core controls; Pro adds incoming webhooks and advanced integrations for teams with more complex pipelines.

    Cloud automation platforms route your data through servers you do not control, often in the United States. That matters because Schrems II invalidated the EU-US Privacy Shield in 2020, and any transfer of EU personal data to a US processor requires either Standard Contractual Clauses or another lawful transfer mechanism. Your DPA with Zapier covers this on paper, but the underlying data still travels across the Atlantic and sits in infrastructure you cannot audit.

    Self-hosting changes the structure of that risk. Your data stays on your server, in your jurisdiction, in your database.

    You can choose an EU hosting provider, apply your own retention rules, and delete execution logs on a schedule that matches your privacy policy. None of that is possible when the data lives in someone else’s SaaS.

    Browse the full Krom Automation feature list

    What Changes When You Self-Host Automation

    When you use Zapier or Make, those platforms become data processors under GDPR Article 28. You must sign a Data Processing Agreement with them, and they in turn rely on their own subprocessors, adding more links to the chain. Self-hosting removes that processor relationship entirely for the automation layer itself.

    With Krom Automation installed on your WordPress site, the workflow engine runs inside your own application. Triggers fire, actions execute, and logs are written, all to your own database. No data leaves your server unless a specific action in the workflow sends it somewhere, such as an HTTP request to a third-party API.

    That last point matters. Self-hosting the automation platform does not automatically self-host everything the automation touches.

    If a workflow sends a contact’s email address to Mailchimp, Mailchimp is still a processor for that data. The Mailchimp integration documentation describes exactly what fields are transmitted, which is useful when documenting your Records of Processing Activities.

    Self-hosting removes the automation platform as a processor. It does not remove the obligation to document every destination that personal data reaches inside your workflows.

    Where Your Data Lives With Krom Automation

    Krom Automation stores everything in 9 custom database tables inside your WordPress installation. This includes trigger event data, action parameters, execution logs with a full per-step audit trail, and any merge tag values captured at runtime. Your hosting provider is the only infrastructure party involved.

    The analytics dashboard shows total executions, active workflows and failed execution counts. That same data is what you would reference in a GDPR audit or a Data Subject Access Request response, because it tells you exactly which workflows touched a given user’s data and when.

    If you choose an EU-based hosting provider such as Hetzner, OVHcloud or Scaleway, the entire automation stack, including logs, sits inside the EU. That eliminates the Schrems II transfer question for the automation layer. No SCCs required, no transfer risk to document, no US cloud infrastructure in the processing chain for that component.

    The GDPR Obligations Self-Hosting Does NOT Remove

    This is the section that most self-hosting guides skip, and it is the one that gets teams into trouble. Self-hosting removes one processor relationship. It does not replace a lawful basis for processing, a retention policy, or a breach response plan.

    The obligations that remain regardless of where your automation runs:

    • Lawful basis: Every automated action that processes personal data needs a lawful basis under Article 6. “We have a workflow” is not one. Consent, legitimate interest or contract performance must be documented.
    • Data Subject Access Requests (DSARs): If a contact requests their data, you must provide everything you hold, including anything captured in automation execution logs. Krom’s per-step audit trail makes this answerable, but you still need a process to handle the request within 30 days.
    • Right to erasure: Deleting a contact from your CRM does not automatically purge their data from execution logs. You need a retention policy that covers your workflow history, and you need to enforce it.
    • Data Protection Impact Assessments (DPIAs): Automated processing that is likely to result in high risk to individuals requires a DPIA under Article 35. Self-hosting does not change that obligation. If you automate credit scoring, health-related segmentation or systematic profiling, a DPIA is required.
    • Breach notification: If your server is compromised and execution logs containing personal data are exposed, you have 72 hours to notify your supervisory authority. Self-hosting means the breach is yours to detect and report.
    • Records of Processing Activities (RoPA): Article 30 requires a record of every processing activity, including automated ones. Each workflow that touches personal data should have an entry in your RoPA describing the purpose, the legal basis, the categories of data, and the recipients.

    The biggest GDPR mistake with self-hosted automation is believing that moving data to your own server is a compliance strategy. It is a risk reduction step. The governance work still applies.

    Does Krom Automation Require Pro for GDPR-Relevant Controls?

    The free version of Krom Automation includes the controls most sites actually need for privacy-conscious automation. The execution log with a full per-step audit trail is free. Workflow import and export as portable JSON is free.

    The run-once-per-entity setting, which prevents a workflow from processing the same user twice, is free. The workflow simulator for dry-run testing with zero side effects is free, which matters when you are testing a workflow that would otherwise write to a real user’s record.

    Pro adds capabilities that become relevant as workflows grow in complexity:

    • The incoming webhook receiver with HMAC-SHA256 signature verification and 9 security layers, for receiving data from external systems without exposing a generic endpoint. See the incoming webhook documentation for the signature verification setup.
    • The schedule trigger, useful for running automated data retention or cleanup workflows on a daily or weekly cadence. The schedule trigger documentation covers interval options including one-time runs.
    • Advanced conditional branching, so a workflow can route differently based on a user’s consent status or data category.
    • 25 integrations with forms, CRMs, email platforms and membership plugins, each of which represents a potential data destination that needs to appear in your RoPA.

    For most WordPress sites, the free plugin is the right starting point. The free vs Pro comparison lays out exactly which features sit at which tier.

    Comparing Cloud Automation to Self-Hosted on the Dimensions That Matter for GDPR

    Dimension Cloud (Zapier, Make) Self-Hosted (Krom Automation)
    Where execution logs live Vendor’s servers, typically US Your own database
    Article 28 processor relationship Required, DPA with vendor needed None for the automation layer
    Schrems II transfer risk (automation layer) Present if vendor uses US infrastructure Eliminated with EU hosting
    Subprocessor chain Vendor plus their subprocessors Only the services your workflows call
    Credential storage Vendor’s encrypted store Your WordPress database
    Retention control over logs Subject to vendor’s retention policy Fully configurable by you
    DSAR response for automation data Requires vendor cooperation Direct database query, no third party
    Breach ownership Shared with vendor Yours entirely
    Lawful basis requirement Still required Still required
    DPIA requirement for high-risk processing Still required Still required

    The Schrems II Question, Answered Concisely

    Schrems II applies to transfers of EU personal data to third countries, specifically where those countries lack an adequacy decision or where the transfer mechanism (such as SCCs) cannot be demonstrated to protect the data in practice. The US falls into a complicated category: the EU-US Data Privacy Framework restores some adequacy coverage, but it has faced legal challenges and its long-term status is uncertain.

    When you use a cloud automation platform headquartered in the US, your workflow data, including the personal data of EU contacts, is processed on their infrastructure. Even with SCCs in place, the underlying legal risk is real, especially for organisations subject to regulatory scrutiny.

    Self-hosting on EU infrastructure eliminates this transfer entirely for the automation layer. The data never leaves your server, so no transfer mechanism is needed and no adequacy question arises. That is a clean legal position, not just a practical convenience.

    What Cloud Automation Genuinely Does Better

    Honest trade-offs matter here. Cloud platforms like Zapier connect two external services with no WordPress involvement, which self-hosted WordPress automation cannot do natively. If your workflow connects Salesforce to HubSpot with no WordPress touchpoint, Krom Automation is not the right tool.

    Cloud platforms also handle infrastructure. Updates, uptime monitoring, scaling under load, and backup are all the vendor’s problem. Self-hosting shifts that responsibility to you or your hosting provider.

    On a shared host with poorly configured server cron, WP-Cron timing can be unreliable. Scheduled automation and delayed actions depend on WordPress Cron firing on schedule, which requires real server cron configuration on low-traffic sites. The delays and scheduling documentation explains how to configure this correctly.

    Teams already running hundreds of Zapier workflows should factor in migration cost honestly. Moving existing automations to a new platform takes time, typically 30 minutes to 2 hours per complex workflow depending on how many steps and integrations are involved.

    How Cloud Automation Pricing Compares Over Time

    Scenario Zapier Professional (as of September 2026) Krom Automation Pro (Standard)
    Cost in year 1, 1 site ~$240/year (750 tasks/month) Starts at $69/year (launch pricing)
    Cost in year 2, 1 site ~$240/year, recurring $69/year, or $199 once (lifetime)
    Cost at 5 sites ~$240/year per account (no multi-site) $149/year covers 5 activations
    Task or execution limits 750 tasks/month, overage charges apply No per-execution billing at any tier
    AI actions Premium add-on tier required Included free, bring your own API key
    Execution data ownership Vendor’s servers Your server

    Zapier’s per-task billing model means a high-traffic Black Friday campaign or a sudden registration spike costs more than the monthly plan suggests. How much Zapier can cost during Black Friday is a real calculation worth running before a busy period. Krom Automation has no execution caps at any tier, so a workflow that fires 10,000 times in a day costs the same as one that fires 10 times.

    AI Actions and Privacy: What You Need to Know

    Krom Automation includes three AI actions in the free version: AI Generate Text, AI Content Moderation, and AI Auto-Tag. These use the API key you supply, and the request goes directly from your server to the AI provider. wpRigel never sees the content, never charges per token, and does not sit in the middle of the request.

    The providers supported are OpenAI (GPT-4o Mini, GPT-4o), Google Gemini (Gemini 2.0 Flash, Gemini 2.5 Flash Preview, Gemini 2.5 Pro Preview) and Groq (Llama 3.3 70B, Llama 3.1 8B). Each of these is a data processor for any personal data included in the prompt. If your AI workflow sends a customer’s name or email to an AI API, that provider needs to appear in your RoPA and your DPA list.

    If your compliance position requires keeping AI inference entirely on-premise, you would need a locally hosted model, which Krom Automation’s HTTP Request action can reach but which requires separate infrastructure. That is outside the scope of the plugin itself, but the full actions reference covers the HTTP Request action parameters that make external API calls possible.

    Bringing your own API key is not the same as keeping data on your server. Every AI action that processes personal data creates a new processor relationship that needs to be documented.

    Setting Up Krom Automation for Privacy-Conscious Workflows

    Installing Krom Automation takes the same path as any WordPress plugin. The installation documentation covers both the free and Pro setup. Once installed, the first practical step for a privacy-conscious deployment is reviewing which triggers capture personal data and where the corresponding actions send it.

    A workflow that fires on User Registered and sends a welcome email stays entirely inside your server if you use the Send Email action. A workflow that fires on the same trigger and adds the user to Mailchimp creates a processor relationship with Mailchimp. The how Krom Automation works documentation explains the trigger-action model in full, which is the right starting point for mapping your processing activities.

    For teams using form integrations as the entry point for personal data, the integration documentation for Gravity Forms, Contact Form 7 and WPForms each describe exactly which fields are available as trigger data, making it straightforward to document what personal data enters each workflow.

    Also from wpRigel

    Pollify is wpRigel’s Gutenberg-native poll, survey and quiz plugin. Polls are built directly inside the block editor as real blocks, with no shortcodes to paste and no separate configuration interface to learn. It is the natural companion if you collect audience feedback alongside automation.

    Commandify is a command palette for the WordPress admin. Press Cmd or Ctrl plus K to search anything, jump anywhere in the admin, or run actions without clicking through menus. It is the only WordPress command palette with real WooCommerce order, product and customer management built in.

    Our Verdict

    Self-hosted automation is genuinely better for GDPR than cloud services on the dimensions that matter most: data residency, processor relationships, credential storage and log retention control. Krom Automation delivers all of those advantages as a WordPress plugin that requires no cloud account, no subscription to a third-party automation service, and no per-execution billing.

    Who should act on this: agencies managing client sites in regulated industries, SaaS founders whose user data must stay in the EU, and any team that has looked at their Zapier DPA and felt uncertain about what it actually covers. The free plugin is the right starting point for most sites, and a realistic look at automation costs usually makes the case for switching clear. You can download Krom Automation free from the WordPress.org plugin directory with no trial period and no feature caps.

    Who should not switch yet: teams with hundreds of existing Zapier flows connecting external services that have no WordPress component. Migration has a real time cost, and if the automation does not touch WordPress, Krom Automation is not the right fit. Everyone else should run the numbers.

    See Krom Automation pricing and compare plans

    Frequently Asked Questions

    Does self-hosting automation make me automatically GDPR-compliant?

    No. Self-hosting removes the automation platform as a third-party processor, which is a meaningful reduction in risk.

    But you still need a lawful basis for every processing activity, a retention policy covering your execution logs, a process for handling DSARs within 30 days, and a DPIA for any high-risk automated processing. Compliance is a governance question, not an infrastructure one.

    Do I still need a Data Processing Agreement if I run automation on my own server?

    You do not need a DPA with your automation platform if it is self-hosted, because there is no processor relationship for that layer. You will still need DPAs with any third-party services your workflows send data to, such as email marketing platforms, CRMs or AI providers. Every external destination your workflow reaches is a potential processor.

    What happens to personal data in execution logs when I delete a contact?

    Deleting a contact from your CRM or WordPress user table does not automatically remove their data from automation execution logs. You need a defined retention policy for your log data and a mechanism to enforce it.

    Krom Automation stores logs in your own database, so you control deletion directly. The right approach is to set a log retention period in your privacy policy and run a scheduled workflow or database cleanup to match it.

    Do I need a DPIA for automated data processing even if I self-host?

    Yes, if the processing is likely to result in high risk to individuals. The DPIA requirement under Article 35 applies to the nature of the processing, not the infrastructure running it. Automated profiling, systematic monitoring of publicly accessible areas, and large-scale processing of special category data all trigger the DPIA obligation regardless of where the automation runs.

    If my self-hosted automation runs in the EU, do Schrems II transfer rules still apply?

    Not to the automation layer itself. If the automation and your server are both in the EU, no international transfer occurs for that component.

    Schrems II transfer rules apply when data moves to a third country, so keeping both the site and the automation engine on EU infrastructure eliminates that obligation for the workflow platform. Any action that sends data to a US-based service creates a transfer that still needs a lawful mechanism.

    Can I process EU customer data in automated workflows without consent?

    Consent is one lawful basis under Article 6, but it is not the only one. Contract performance, legitimate interest and legal obligation are all valid alternatives depending on the purpose.

    What you cannot do is process EU personal data in automated workflows without any documented lawful basis at all. The basis needs to be determined before the workflow runs, not after someone asks.

    The wpRigel Team

    October 17, 2026
    User Guide
  • How Much Does WordPress Automation Cost Per Month?

    WordPress automation costs $0 to roughly $20 per month for most sites, and that range is driven almost entirely by one decision: self-hosted plugin or per-task SaaS. Krom Automation is a self-hosted option that is free forever in its base form, with a Pro licence starting at $69 per year (about $5.75 per month) and no per-task fees at any tier. Zapier’s Professional plan runs around $240 per year at the time of writing, billed for 750 tasks a month, with overage charges if you exceed that cap.

    The gap between those two numbers is real, and it compounds. A small WooCommerce store running 2,000 automated actions a month pays nothing extra with a self-hosted plugin.

    On a task-based SaaS, the same volume can push you into a higher tier before the year is out. Understanding what drives that cost is the only way to budget this honestly.

    This article covers the full cost picture: free tools, Pro licences, SaaS fees, and the hidden costs that never appear on the pricing page. We include two worked examples so you can map the numbers to your own situation.

    Browse the full Krom Automation feature list to see what the free version includes before you decide whether Pro is worth it.

    What Drives WordPress Automation Costs?

    There are three cost models in the WordPress automation space, and they behave very differently at scale.

    • Self-hosted plugin, flat fee: You pay once per year (or once for a lifetime licence). Every workflow, every trigger, every execution is included. The cost does not change whether you run 100 automations a month or 100,000.
    • Per-task SaaS: You pay for each action the tool executes. Zapier calls these tasks. At low volume the monthly fee looks modest. At high volume, or during a busy event like a product launch, costs spike without warning.
    • Free plugin, no ceiling: Some self-hosted plugins offer a genuinely free tier with no run cap and no feature lock. Krom Automation’s free version includes 16 triggers, 21 actions, and full execution logging. There is no trial period and no artificial limit that forces an upgrade.

    The choice between these three models is the most important budget decision you will make, not which specific features a tool offers.

    What Does WordPress Automation Actually Cost? A Summary

    Tool / Approach Monthly Cost Per-Task Fees Lifetime Option
    Krom Automation Free $0 None N/A (always free)
    Krom Automation Pro (Basic, 1 site) ~$5.75/mo (billed $69/yr) None $199 one payment
    Krom Automation Pro (Standard, 5 sites) ~$12.40/mo (billed $149/yr) None $399 one payment
    Uncanny Automator (as of September 2026) from ~$16.60/mo (billed $199/yr, 1 site) None Not available
    Zapier Professional (as of September 2026) ~$20/mo (billed ~$240/yr, 750 tasks/mo) Yes, overage charges apply Not available

    Per-task billing is not a pricing model. It is a variable cost with no ceiling, and it punishes success. A product launch that doubles your automation volume can double your bill with no warning.

    The Free Version: What You Actually Get for $0

    Krom Automation’s free plugin, available from the WordPress.org plugin directory, includes everything a small site needs to automate its core workflows. There is no trial expiry and no execution cap.

    The free version covers:

    • 16 triggers across users, posts, comments, media and WooCommerce orders
    • 21 actions including send email, create or update posts, manage users, HTTP requests, and three AI actions
    • 20 ready-made workflow templates so you are not starting from a blank canvas
    • Visual drag-and-drop workflow builder on a ReactFlow canvas
    • Conditional branching with Yes and No paths, delay scheduling, and merge tags
    • Full execution logging with a per-step audit trail
    • Analytics dashboard showing total executions, active workflows, and failure counts

    AI actions are included in the free version with no paywall. You bring your own API key from OpenAI, Google Gemini or Groq, and you pay your AI provider directly at their standard rates. We never charge per AI call or mark up tokens.

    For a single site running standard automations, such as sending a welcome email when a user registers or notifying your team when a form is submitted, the free version covers all of it without spending a cent.

    When Does Pro Make Financial Sense?

    The free version covers 16 triggers and 21 actions. Pro adds 80+ additional triggers, 60+ additional actions, 25 integrations with third-party tools, and 101 additional workflow templates. The question is not whether Pro has more features.

    It does. The question is whether those extra features save more than the licence costs.

    Pro-only features that tend to tip the decision:

    • 25 integrations covering email marketing (Mailchimp, ConvertKit, MailerLite, ActiveCampaign), CRM (FluentCRM), LMS (LearnDash, TutorLMS), membership (MemberPress), messaging (Slack, Discord, Telegram), and data storage (Google Sheets, Google Calendar)
    • Schedule trigger for hourly, daily, weekly or monthly workflows without a separate cron plugin. See the schedule trigger documentation for setup details.
    • Incoming webhook receiver with a unique secret URL and HMAC-SHA256 signature support, so external services can push data into your WordPress workflows. The webhook receiver documentation covers the 9 security layers involved.
    • Visual email builder for designing transactional emails with block-based formatting, documented in the visual email builder guide
    • AI workflow generation: describe an automation in plain English and get a working workflow in seconds

    If your site connects WordPress to an external CRM or email platform, Pro pays for itself in the first month if it replaces even one hour of manual data entry. At $69 per year for a single site, the threshold is low.

    Read the full free vs. Pro feature comparison to see exactly what each tier includes before committing.

    Worked Example 1: A Small WooCommerce Store

    A store running on WooCommerce with roughly 200 orders a month might automate the following: order confirmation with a custom transactional email, a review request email three days after delivery, a Slack notification when a high-value order lands, and a Google Sheets row created for every completed order.

    That is four workflows, running perhaps 800 to 1,000 automated actions per month total.

    Approach Year 1 Cost Year 2 Cost Notes
    Krom Automation Free $0 $0 Handles order triggers natively; Slack and Sheets require Pro
    Krom Automation Pro (Basic, 1 site) $69 $69 All four workflows covered; flat fee regardless of order volume
    Zapier Professional (as of September 2026) ~$240 ~$240+ 750 tasks/mo cap; 1,000 actions/mo risks overage on busy months

    The review request email workflow and the Google Sheets export are documented in detail. See the WooCommerce review request email guide and the Google Sheets order sync guide for exact setup steps.

    Over two years, the difference between Krom Automation Pro and Zapier Professional is $342 for a single site running a modest order volume. That gap widens if your order count grows, because Pro’s cost stays fixed.

    Worked Example 2: An Agency Managing 10 Client Sites

    An agency typically needs automation on every client site: welcome emails, form notifications, CRM sync, and occasionally webhook connections to external tools. Running 10 sites on Zapier means either 10 separate accounts or one account sharing a task cap across all clients, which rarely works cleanly.

    With Krom Automation, the Standard plan covers 5 site activations at $149 per year. Two Standard plans cover 10 sites for $298 per year, roughly $24.80 per month total. The Enterprise plan at $299 per year covers unlimited sites.

    • 10 sites on Zapier Professional: approximately $2,400 per year if each site has its own account, or one shared account with a task cap that will almost certainly need upgrading
    • 10 sites on Uncanny Automator (as of September 2026): plans from $199 per year for one site; multi-site pricing is separate and climbs quickly
    • 10 sites on Krom Automation Enterprise: $299 per year for unlimited sites

    The agency case is where flat per-site pricing breaks down for SaaS tools and where self-hosted licensing becomes a real financial advantage. A $299 per year Enterprise licence covers all current and future client sites with no renegotiation.

    For agencies, the licensing model matters more than the feature list. A tool that charges per site forces a conversation with every new client. A flat unlimited licence removes that friction entirely.

    The Hidden Costs No Pricing Page Mentions

    The headline fee is never the full cost. These are the items that show up later.

    • Migration time: Moving existing workflows from Zapier or Make to a new tool takes real hours. A simple five-step workflow might take 30 minutes to rebuild and test. Twenty workflows is easily two days of a developer’s time at $80 to $150 per hour.
    • WP-Cron timing on low-traffic sites: Krom Automation uses Action Scheduler for background execution, which depends on WordPress Cron. On sites that receive very little traffic, WP-Cron fires late. Delayed executions are the symptom. A real server-side cron job (configured in your host’s cPanel or via SSH) is the fix, and it costs nothing to set up but does require knowing it exists.
    • AI API costs: The AI actions in Krom Automation are free to use, but you pay your AI provider directly. OpenAI GPT-4o Mini costs roughly $0.15 per million input tokens at standard rates. For most WordPress sites running AI auto-tagging or content moderation, actual monthly API spend is under $2. Heavy text generation workflows cost more.
    • Support tier mismatches: Krom Automation Pro includes support for the duration of your licence. If you buy an annual plan and have a critical issue in month 11, you are covered. Some competing tools limit support to 6 months or offer it only on higher tiers.
    • Task overages on SaaS tools: A Black Friday sale that generates 3,000 orders in 48 hours means 3,000+ triggered automations. On a task-based tool with a 750-task monthly cap, that single event can generate overage charges larger than your typical monthly fee.

    What the Free Version Cannot Do (Be Honest Here)

    The free version is genuinely capable, but there are real limits. Knowing them upfront is more useful than discovering them after building workflows.

    • No third-party integrations: Connecting to Mailchimp, FluentCRM, LearnDash, Slack or Google Sheets requires Pro. The free version’s HTTP Request action can reach any REST API, but you configure headers and payloads manually rather than using a purpose-built integration.
    • No scheduled trigger: Running a workflow on a recurring schedule (daily digest, weekly report) requires Pro. The free version responds to events but cannot initiate them on a timer.
    • No incoming webhook receiver: Receiving data from an external service requires Pro. If Stripe, Typeform or any other SaaS tool needs to push data into your WordPress site, that is a Pro feature.
    • No visual email builder: The free Send Email action sends plain or basic HTML email. The block-based visual builder is Pro only.
    • No AI workflow generation: Building a workflow from a plain-English description is Pro only. The free version includes AI actions (generate text, moderate content, auto-tag) but not AI-assisted workflow creation.

    Before building your entire workflow library on the free version, check the full free triggers reference and full free actions reference so there are no surprises.

    What Automation Saves Versus What It Costs

    Every other cost breakdown in this category focuses on cost-in. This section looks at cost avoided, because that is the number that justifies the spend.

    A small WooCommerce store handling review request emails manually spends roughly 2 minutes per order following up. At 200 orders a month, that is 400 minutes (6.7 hours) of someone’s time.

    At a conservative internal rate of $25 per hour, that is $167 per month in labour for one workflow alone. Automating it with Krom Automation Pro costs $5.75 per month.

    An agency managing onboarding emails, CRM sync and form notifications across 10 client sites might spend 3 to 5 hours per month on tasks that a working automation handles instantly. At $80 per hour, that is $240 to $400 per month in developer time. The Enterprise licence costs $24.90 per month.

    The ROI case for automation is not subtle. The question is not whether to automate. It is which tool to use and how to avoid overpaying for the execution model.

    The ROI calculation is never about the licence fee. It is about what you stop paying for the moment the workflows run themselves.

    Which Integrations Are Worth the Pro Upgrade?

    If any of the following integrations are relevant to your site, Pro is almost certainly worth the upgrade cost. Each one has full documentation covering triggers, actions and setup examples.

    • Email marketing: Mailchimp, ConvertKit, MailerLite, ActiveCampaign
    • CRM: FluentCRM
    • LMS: LearnDash, TutorLMS
    • Membership: MemberPress
    • Messaging: Slack, Discord, Twilio and Telegram
    • Data: Google Sheets and Google Calendar
    • Forms: Gravity Forms, WPForms, Contact Form 7, Fluent Forms

    If none of those integrations apply to your site, the free version handles the vast majority of on-site automation needs. The free plugin is available directly from the WordPress.org plugin directory with no account required to get started.

    Also from wpRigel

    Pollify is wpRigel’s Gutenberg-native poll, survey and quiz plugin. Polls are built as real blocks inside the editor, so there are no shortcodes to paste and no separate interface to configure. It ships with a free version and Pro plans from $79 per year.

    Commandify is a command palette for the WordPress admin. Press Cmd or Ctrl + K to search everything, jump to any screen, and run admin actions without navigating menus. It is the only WordPress command palette with real WooCommerce order, product and customer commands built in.

    Our Verdict: Who Should Pay and Who Should Not

    If your site runs standard WordPress events and you need fewer than 16 triggers and 21 actions, download the free version and use it indefinitely. There is no pressure to upgrade and no feature that unlocks after a trial period. Start with the first workflow guide and have something running in under 20 minutes.

    If your site connects to an email list, a CRM, an LMS, or any external tool via webhook, Pro at $69 per year is a straightforward decision. The cost is recovered in the first month if it eliminates even 45 minutes of manual work.

    If you are an agency managing five or more client sites, the Standard plan at $149 per year or the Enterprise plan at $299 per year is the only model that scales without renegotiating costs for every new client. We would not run client workflows on a per-task SaaS tool at any price, because the billing is unpredictable and the data leaves your infrastructure.

    Who should not act yet: teams already running hundreds of existing flows on an external automation platform. Migration is a real cost.

    If that platform is working and the workflows are stable, the switching cost may outweigh the licence savings in year one. The maths changes significantly in year two when you stop paying annual SaaS renewal fees.

    See current Krom Automation pricing and compare all three plans.

    Frequently Asked Questions

    Does the free version of Krom Automation have any run limits or expiry?

    No. The free version is free forever with no execution cap, no workflow limit, and no trial period. The 16 triggers, 21 actions, and 20 templates remain available indefinitely without upgrading.

    Do AI actions in Krom Automation cost extra per use?

    Krom Automation never charges per AI call. You supply your own API key from OpenAI, Google Gemini or Groq, and you pay that provider directly at their published rates. For most sites, actual monthly AI API spend is under $2.

    Is there a per-task or per-execution charge at any Pro tier?

    No. Every Krom Automation plan, including the free version, runs unlimited executions with no per-task fee. The only difference between plans is the number of site activations.

    What happens to my automations if I do not renew my Pro licence?

    Workflows continue to run using whatever features existed in your last installed version. You lose access to updates and new Pro features after expiry, but existing workflows are not disabled. Lifetime plans include updates permanently with no renewal required.

    Can Krom Automation replace Zapier for WordPress-to-WordPress workflows?

    For workflows where both the trigger and the action touch your WordPress site, yes. Krom Automation is self-hosted and WordPress-native.

    It is not designed for automations between two external services that have no WordPress involvement. For those cases, a dedicated SaaS tool is still the right choice.

    Why does delay scheduling sometimes fire late on my site?

    Krom Automation uses Action Scheduler for background execution, which relies on WordPress Cron. On low-traffic sites where no page request triggers WP-Cron for hours, delayed actions fire late. The fix is a real server-side cron job configured at your host.

    It costs nothing to set up and resolves the timing issue permanently. See the delays and scheduling documentation for setup guidance.

    The wpRigel Team

    October 16, 2026
    User Guide
Previous Page
1 2 3 4 … 23
Next Page
wprigel logo

wpRigel builds innovative WordPress plugins for developers, marketers and agencies. Be with us, get more users for your business and increase conversion using our powerful tools.

  • x.com icon
  • linkedin icon

Products

  • Pollify
  • Commandify
  • Krom Automation (Now Live 🎉)

Company

  • Affiliate Program
  • About Us
  • Contact Us
  • Privacy Policy

Resources

  • Docs
  • Blog
  • Support Area
  • Refund policy
  • Coupons & Deals

Comparisons

  • Commandify vs CommandUI
  • Pollify vs CrowdSignal
  • Krom Automation vs others

Changelogs

  • Commandify Changelog
  • Pollify Changelog
  • Krom Automation Pro Changelog

wpRigel 2026. All Rights Reserved

  • Terms of use
  • Privacy Policy
  • Cookie Policy