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 Give Course Access After a WooCommerce Purchase

    To give course access after a WooCommerce purchase, use Krom Automation with the Order Completed trigger and an LMS enrollment action. The free plugin handles LearnDash and Tutor LMS enrollment plus a plain-text welcome email.

    If you want a branded HTML welcome email or need to handle subscription renewals, you will need Pro. Setup takes under 15 minutes once the LMS and WooCommerce are already running.

    Every other result you will find for this question focuses on the LearnDash WooCommerce add-on settings and stops there. That native setup works, but it does not handle refunds, it does not send a customisable welcome email, and it breaks silently when an order gets stuck in Processing instead of moving to Completed. This article covers all three problems.

    We will walk through the full workflow: Order Completed to enrollment, welcome email with merge tags, access revocation on refund, and what to do when enrollment does not fire. We also cover Tutor LMS as a genuine alternative to LearnDash, because most guides do not.

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

    Quick Summary

    What you need to doFree or Pro?Time to set up
    Enroll buyer in LearnDash course on Order CompletedFree5 minutes
    Enroll buyer in Tutor LMS course on Order CompletedFree5 minutes
    Send plain-text welcome email with course linkFree5 minutes
    Send branded HTML welcome emailPro10 to 20 minutes
    Revoke access when order is refundedFree5 minutes
    Handle subscription renewals and cancellationsPro10 minutes
    Enroll in multiple courses from one product purchaseFree5 minutes per course

    Does the Buyer Need an Account to Get Course Access?

    Yes. Every LMS we are aware of, including LearnDash and Tutor LMS, ties course enrollment to a WordPress user record. There is no such thing as guest course access because the LMS needs a user ID to track progress, quiz scores, and completion certificates.

    This means guest checkout is incompatible with automatic enrollment. If a buyer completes an order without creating an account, there is no user record for the LMS to attach the course to. The enrollment action will either fail silently or throw an error depending on which LMS you are running.

    The fix is to require account creation at checkout. In WooCommerce, go to Settings, then Accounts and Privacy, and enable “Require an account to checkout” along with “Allow customers to create an account during checkout.” That one change eliminates the most common reason enrollment fails after payment.

    Why Order Completed, Not Order Processing?

    WooCommerce moves an order through several statuses: Pending, Processing, On Hold, Completed, Cancelled, Refunded, and Failed. Processing means payment was received but the order has not been fulfilled yet. Completed means the seller has marked it fulfilled.

    For digital products and courses, WooCommerce can be configured to jump straight from Processing to Completed automatically. Go to WooCommerce, then Settings, then Products, then the Downloadable Products section, and set the grant access setting to “Completed” orders. With that in place, a successful card payment triggers the Completed status within seconds and your enrollment workflow fires immediately.

    If you trigger enrollment on Processing instead, a buyer who pays with a bank transfer or a payment method that takes time to clear could get course access before funds arrive. That is an edge case worth knowing about before you decide which status to use.

    How to Build the Enrollment Workflow in Krom Automation

    The steps below apply to both LearnDash and Tutor LMS. The trigger is the same. Only the action changes depending on which LMS you are running.

    1. Install Krom Automation from the WordPress.org plugin directory. Activate it. No configuration is needed before building your first workflow.
    2. Go to Krom Automation, then Workflows, then Add New. Give the workflow a name you will recognise, such as “Course Access on Purchase.”
    3. On the canvas, click Add Trigger and select Order Completed from the WooCommerce trigger group. You can optionally filter by specific product ID so the workflow only fires for buyers of that course product.
    4. Click Add Action and choose either LearnDash: Enroll User in Course or TutorLMS: Enroll User in Course, depending on your LMS. Map the User ID and Course ID fields. Use merge tags to pull the buyer’s user ID from the trigger data automatically.
    5. Add a second action: Send Email. Set the recipient to the buyer’s email using a merge tag, write a subject line, and paste your welcome message in the body. Reference the merge tags documentation for the full list of dynamic variables you can insert, including order number, course name, and login URL.
    6. Save and activate the workflow. Use the workflow simulator to run a dry test before going live. The simulator triggers the full logic without creating a real order or sending a real email.

    The LearnDash integration documentation covers every available trigger and action in detail, including group enrollment and course completion events. The Tutor LMS integration documentation does the same for Tutor LMS, including quiz triggers.

    The workflow simulator is the most underused feature in the plugin. Running a dry test before your first real order costs nothing. Discovering silent enrollment failures after 50 sales costs a lot of time and a lot of support tickets.

    Sending a Welcome Email That Actually Gets Read

    The default Send Email action in the free plugin outputs plain text. For most course sellers that is fine. The email arrives, it contains the login URL, the buyer knows what to do next.

    If you want a branded HTML email with a button, a logo, and formatted course details, the visual email builder is a Pro feature. It is block-based and powered by the Gutenberg editor, so you build the email in the same interface you use to write posts. No HTML knowledge required.

    Whichever version you use, include these four things in the welcome email:

    • The login URL so the buyer can access the site immediately, not hunt for it
    • The course name, pulled dynamically via merge tag so one workflow covers any product
    • The order number, so buyers can reference it in a support query without you having to ask
    • A direct link to the course page so the buyer does not have to navigate after logging in

    If you are also syncing buyers to an email marketing list, chain that as a third action in the same workflow. Krom Automation integrates with Mailchimp, FluentCRM, ConvertKit, and several other email platforms. One trigger, three or four actions, all running in sequence without any additional plugins.

    How to Revoke Access When an Order Is Refunded

    This is the section every other guide skips. A buyer requests a refund, you process it in WooCommerce, the order status changes to Refunded. Without an automation, the buyer still has access to every lesson they downloaded or watched.

    The fix is a second workflow using the Order Status Changed trigger. Set the condition to fire when status changes to Refunded, then add an unenrollment action for the same course. That workflow runs automatically whenever a refund is processed, with no manual step required.

    The exact actions available depend on your LMS. LearnDash exposes an unenroll action.

    Tutor LMS handles it through a course enrollment status update. Check the relevant integration documentation for the exact field names before building this workflow.

    You can also add a delay before the unenrollment action if your refund policy gives buyers a grace period, for example 24 hours after the refund is processed before access is removed. That avoids a situation where a buyer requests a refund, changes their mind within an hour, and finds their account already locked out.

    What to Do When Enrollment Does Not Fire

    Silent enrollment failure is the most common support question for any WooCommerce-to-LMS setup. The order shows Completed in WooCommerce.

    The buyer has no course access. Here is how to diagnose it in order of likelihood.

    SymptomMost likely causeFix
    Order is Completed but user has no accessBuyer checked out as guest, no user record existsEnable account required at checkout in WooCommerce settings
    Workflow shows as triggered but enrollment action failedUser ID or Course ID mapped incorrectly in the actionCheck merge tag output in the execution log for the failed run
    Order stuck in Processing, never moves to CompletedDigital product not set to auto-complete ordersEnable auto-complete for virtual and downloadable products in WooCommerce
    Workflow never triggered at allWorkflow is paused or the trigger filter excludes this productCheck workflow status and product filter in the trigger settings
    Enrollment fires but welcome email not receivedEmail delivery issue, not an automation issueCheck server mail logs or switch to an SMTP plugin
    Delayed enrollment on low-traffic sitesWP-Cron fired late because no visitors triggered itSet up a real server cron job pointing at wp-cron.php

    Krom Automation logs every workflow execution with a full per-step audit trail. When enrollment fails, open the execution log for that run and look at which action failed and what data it received.

    That single view usually identifies the problem in under 2 minutes. No other free WordPress automation plugin includes this level of per-step logging without a paid upgrade.

    An order stuck in Processing is not a payment problem. It is a configuration problem. Nine times out of ten, enabling auto-complete for virtual products is all it takes to clear the backlog.

    LearnDash vs Tutor LMS: Which Works Better With This Setup?

    Both LMS platforms work with this workflow. The differences are in what each exposes for automation, not whether the connection works.

    CapabilityLearnDashTutor LMS
    Enroll user in course actionYesYes
    Unenroll user on refundYesYes (via enrollment status update)
    Trigger on course completionYesYes
    Trigger on quiz passed or failedYesYes
    Group enrollmentYesNo, course level only
    Native WooCommerce add-on (without Krom)Yes, paid add-onYes, built in
    Cost of native WooCommerce add-onIncluded in LearnDash Pro plansIncluded free

    LearnDash group enrollment is worth highlighting specifically. If you sell a product that should enroll the buyer in multiple courses at once, the LearnDash group action in Krom Automation handles that in a single action node. You do not need to chain multiple enrollment actions or duplicate the workflow.

    Selling Multiple Courses as a Bundle

    One WooCommerce product can map to multiple course enrollments. The approach depends on your LMS.

    • LearnDash groups: Create a LearnDash group containing all the courses in the bundle. Use the “Enroll User in Group” action instead of the individual course action. One action node enrolls the buyer in every course in the group simultaneously.
    • Tutor LMS without groups: Add one enrollment action per course in the workflow. Three courses in a bundle means three sequential action nodes after the trigger. Each takes under a second to execute.
    • WooCommerce product variations: If different variants of a product grant access to different courses, use conditional branching in the workflow. Add a Yes/No branch after the trigger checking which variation was purchased, then route to the appropriate enrollment action. The conditions and branching documentation explains how to set this up.

    Handling WooCommerce Subscriptions

    If you sell course access as a recurring subscription rather than a one-time purchase, the Order Completed trigger only fires once. You also need to handle renewal payments (re-confirm access) and cancellations (revoke access).

    Krom Automation Pro includes a WooCommerce Subscriptions integration with dedicated triggers for subscription renewal, suspension, and cancellation. That is a separate workflow from the initial purchase workflow, and it is a Pro-only feature. If subscriptions are part of your course business model, factor that into your plan decision.

    For a broader view of what changes between the free plugin and Pro, the free vs Pro comparison lists every difference in one place.

    A subscription cancellation workflow that revokes course access automatically is not a nice-to-have. It is the difference between a clean business and a support queue full of access disputes.

    What the Marketing Pages Do Not Tell You

    Every automation plugin lists its triggers and actions. Here is what the feature lists leave out.

    • WP-Cron timing on low-traffic sites: Krom Automation runs actions via Action Scheduler, which depends on WordPress Cron. On a site that receives one visitor every few hours, WP-Cron may not fire for 30 to 90 minutes after an order completes. The buyer waits that long for their welcome email and their course access. Fix: configure a real server cron job to call wp-cron.php every 5 minutes. Your hosting panel or a server admin can set this up in under 10 minutes.
    • Merge tag data availability: Not every piece of order data is available as a merge tag in every action. If you need a custom field from your checkout form in the welcome email, verify it is exposed before you build the workflow around it.
    • LMS plugin version requirements: The Krom Automation LearnDash integration requires LearnDash 4.0 or higher. Older installations may not expose all the required hooks. Check your LMS version before troubleshooting an enrollment that will not fire.
    • Order status customisation: Some payment gateways add custom statuses between Processing and Completed. If your gateway uses a status like “Awaiting confirmation,” the Order Completed trigger will not fire until WooCommerce sees its own Completed status. You may need to configure the gateway to auto-complete, or use an Order Status Changed trigger for your gateway’s specific status.

    What This Costs Compared to Doing It Manually

    A manual enrollment process for a course with 50 students a month looks roughly like this: check the order, find the user, enroll them in the LMS, send a welcome email. At 3 to 5 minutes per student, that is 150 to 250 minutes of admin per month. At an agency billing rate of $75 an hour, that is $187 to $312 a month in staff time, every month.

    Krom Automation Pro starts at $69 a year, or $199 as a one-time lifetime payment. The automation pays for itself in the first month if even one person’s time is freed up. The full pricing breakdown covers all three plans and the lifetime options.

    For sites with fewer than 50 course buyers a month, the free plugin handles enrollment and welcome emails without any cost at all. There is no run cap, no execution limit, and no feature locked away after a trial period.

    Also from wpRigel

    Pollify is a Gutenberg-native poll, survey, and quiz plugin. Polls are built as real blocks inside the WordPress editor, no shortcodes and no separate admin interface. If you run a course site and want to embed knowledge checks or learner feedback surveys directly in your content, Pollify fits without any extra setup.

    Commandify is a command palette for the WordPress admin. Press Cmd or Ctrl plus K to jump to any page, search orders, or 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 particularly useful for anyone managing a course store.

    Our Verdict

    If your WooCommerce store sells courses and you are still enrolling students by hand, that is a fixable problem and fixing it takes less than 30 minutes. The free Krom Automation plugin covers the full enrollment and welcome email workflow at no cost. Pro adds the visual email builder, subscription handling, and the richer trigger data you need for more complex setups.

    Start with the free plugin. Build the Order Completed to enrollment workflow. Test it with the simulator before you go live.

    Add the refund unenrollment workflow as a second pass. The automation will run reliably in the background from that point forward, and your support queue will be lighter for it.

    Download the free plugin from the WordPress.org plugin directory and build your first enrollment workflow today. When you are ready to see what Pro adds, the pricing page covers all plans with a 14-day money-back guarantee on every purchase.

    Frequently Asked Questions

    Can I give course access when the order status is Processing instead of Completed?

    You can, but we recommend against it for most setups. Processing means payment intent was received, not that funds have cleared.

    For payment methods that can fail or reverse after the initial Processing status, such as bank transfers or certain regional gateways, triggering enrollment on Processing risks granting access that you then have to revoke. Use Completed for digital course products and configure WooCommerce to auto-complete virtual and downloadable orders so the gap between payment and completion is zero.

    What happens if the buyer does not have a WordPress account at checkout?

    The enrollment action will fail because the LMS has no user record to attach the course to. Require account creation at checkout in WooCommerce Settings, then Accounts and Privacy. With that enabled, WooCommerce creates a user account as part of the checkout flow, and the enrollment workflow has a valid user ID to work with.

    Does this work with Tutor LMS as well as LearnDash?

    Yes. Krom Automation has a dedicated Tutor LMS integration with enrollment, completion, and quiz triggers.

    The workflow structure is identical to the LearnDash version. The only difference is that Tutor LMS does not support group enrollment, so a bundle of three courses requires three sequential enrollment action nodes rather than one group enrollment action.

    Will enrollment be delayed if my site has very low traffic?

    Potentially, yes. Krom Automation uses Action Scheduler, which depends on WordPress Cron. WordPress Cron fires when a visitor loads a page.

    On a site with very low traffic, there may be a gap of 30 minutes or more between when an order completes and when the scheduled action fires. Configuring a real server cron job to call wp-cron.php every 5 minutes eliminates this delay entirely.

    Can I enroll a buyer in multiple courses with one WooCommerce product?

    Yes. For LearnDash, use the group enrollment action and assign all courses to the group in advance.

    For Tutor LMS, add one enrollment action node per course in the same workflow. Both approaches run from a single Order Completed trigger and complete in seconds.

    Is there a way to test the enrollment workflow before real orders come in?

    Yes. Krom Automation includes a workflow simulator that runs the full logic, including trigger evaluation and action sequencing, without executing any real side effects.

    No order is created, no email is sent, and no enrollment is written to the LMS. It is the safest way to confirm the workflow is configured correctly before you take your first real payment.

    The wpRigel Team

    October 15, 2026
    User Guide
  • How Do I Send Automatic Review Request Emails in WooCommerce?

    WooCommerce does not send review request emails automatically. There is no native setting for it. The most reliable way to set one up is Krom Automation, a free WordPress plugin that triggers an email a set number of days after an order completes.

    The free version handles the full workflow, including the delay, the email, and duplicate prevention. Pro is only needed if you want a visual email builder or more advanced branching.

    Most guides stop at “send the email.” This one covers the timing decisions that actually determine whether customers click, how to follow up without annoying people, and how a reward coupon can double your response rate. It also covers what not to do, because a poorly timed review request does more damage than none at all.

    If you are managing multiple WooCommerce stores or client sites, Krom Automation runs entirely on your own server. Execution logs, email content, and customer data stay in your own database, not a third-party SaaS platform.

    Browse the full feature list to see everything the free version includes before you install.

    Does WooCommerce Have a Built-In Review Request Email?

    No. WooCommerce sends transactional emails for orders, shipping updates, and password resets.

    It does not include a post-purchase review request, either in the free plugin or in any official WooCommerce extension. This is a gap every store owner hits eventually, usually when they notice their product pages have zero reviews six months after launch.

    The gap matters commercially. Products with at least 5 reviews convert at a meaningfully higher rate than products with none, because first-time buyers rely on social proof when they cannot touch or try a product. Filling that gap requires a plugin that can watch for order completion, wait a defined number of days, then send a targeted email.

    What you need to build this is simple:

    • A trigger that fires when an order status changes to “completed”
    • A delay node that waits the right number of days before sending
    • A Send Email action with merge tags pulling in the customer name and order details
    • A “run once per entity” guard so the same customer does not get the same email twice

    Krom Automation provides all four in the free plugin. The how Krom Automation works overview explains the trigger-action model if you want the full picture before building.

    How to Set Up an Automatic Review Request Email in Krom Automation

    Install the free plugin from the WordPress.org plugin directory, activate it, and open Krom Automation from your WordPress admin sidebar. Create a new workflow and give it a name you will recognise in six months, for example “Review Request: 7 Days After Completion”.

    Step 1: Set the trigger. Select “Order Completed” as the trigger. This fires every time a WooCommerce order moves into the completed status, whether that transition happens manually, via a payment gateway callback, or through a fulfilment integration.

    Step 2: Add a delay. Drop a Delay node onto the canvas after the trigger. Set the delay to the number of days appropriate for your product type.

    The timing section below gives specific recommendations. The delays and scheduling documentation covers all available delay units, including hours, days, weeks, and a custom seconds value.

    Step 3: Add the Send Email action. Connect a Send Email node after the delay. Set the “To” field using the merge tag for the customer email.

    Add the customer’s first name to the greeting using the appropriate merge tag. The merge tags documentation lists every variable available from the Order Completed trigger, including order number, product names, and billing details.

    Step 4: Enable Run Once. In workflow settings, enable “run once per entity.” This prevents a customer who places five orders from receiving five separate review request sequences. The workflow settings documentation explains how entity enforcement works and what counts as a unique entity.

    Step 5: Test before activating. Use the built-in workflow simulator to run a dry test with zero side effects. This lets you confirm the merge tags resolve correctly and the delay is configured as intended before a real customer triggers the workflow.

    A review request that arrives before the product has been delivered is not a request. It is an irritant. Timing is not a detail you can set once and forget.

    How Long Should You Wait Before Sending?

    Timing is the variable most guides ignore, and it is the one that most affects whether the email gets a response. Sending too early means the customer has not used the product. Sending too late means the purchase is forgotten and the motivation to write anything has passed.

    The right delay depends almost entirely on what was ordered and how it is delivered.

    Product Type Recommended Delay Reason
    Digital download (software, template, PDF) 2 to 3 days Delivered instantly. Customer has had time to use it within 48 hours.
    Physical goods, standard shipping 7 to 10 days after order completion Allows 5 to 7 days for delivery plus 2 to 3 days to use the product.
    Physical goods, slow or international shipping 14 days Reduces risk of emailing before the parcel arrives.
    Consumable (food, supplements, skincare) 14 to 21 days Customer needs time to notice an effect or form an opinion.
    Online course or subscription 21 to 30 days Meaningful feedback requires actual usage time.

    If your WooCommerce store sells across multiple categories, build a separate workflow for each product type rather than applying one delay to everything. Krom Automation lets you add a conditional branch after the trigger to route orders down different delay paths based on product category or any other order attribute.

    For WooCommerce Subscriptions, where orders recur on a schedule, the timing logic is different again. The WooCommerce Subscriptions integration documentation covers the subscription-specific triggers available in Krom Automation Pro and how to avoid sending duplicate requests on every renewal.

    Should You Include a Review Reward Coupon?

    Yes, if your margins allow it. A reward coupon is the single highest-leverage addition to a review request workflow. The mechanics are straightforward: the review request email mentions that leaving a review earns a discount code, and a second workflow fires after the review is submitted to deliver the coupon.

    How to build the coupon delivery step in Krom Automation:

    1. Build the review request workflow as described above. The first email mentions the reward but does not include the coupon code yet.
    2. Create a second workflow triggered by “Comment Approved” (WooCommerce product reviews post as comments).
    3. Add a conditional branch to check that the comment is on a product post type, not a blog post.
    4. Connect a “Create Coupon” action. Set an expiry of 14 to 30 days to create urgency.
    5. Connect a Send Email action that delivers the coupon code to the commenter using the merge tag for their email.

    This two-workflow structure means the coupon is only delivered after the review is actually approved, not just promised. It also means you are not generating unused coupon codes for customers who never follow through.

    The conditions and branching documentation covers how to set up the post type check that prevents the coupon trigger from firing on non-product comments.

    The coupon is not a bribe for a positive review. It is a thank-you for any review. That distinction matters legally in some markets, and it matters to customers who would otherwise feel their honest opinion is being purchased.

    What About a Follow-Up Email if the First One Gets No Response?

    This is the gap that competitors in this space do not address. Sending one email and stopping is leaving roughly half your potential reviews on the table. Most customers who would write a review simply did not notice the first email, or opened it at the wrong moment and forgot.

    A two-step sequence is easy to build in Krom Automation using the workflow canvas:

    • Email 1: Friendly review request, sent at your calculated delay after order completion.
    • Wait node: Add a second delay of 5 to 7 days after the first email.
    • Email 2: A shorter follow-up. Reference the first email. Make the coupon reward more prominent if you are offering one.
    • Stop condition: Use a conditional branch before Email 2 to check whether a review already exists from this customer. If yes, skip the follow-up. If no, send it.

    Keep the total sequence to two emails. A third follow-up for a product review is aggressive, and it generates unsubscribes rather than reviews. Two contacts is enough to capture the people who missed the first one without irritating the people who simply do not want to leave a review.

    For broader WooCommerce notification automation, including order alerts for your team, our guide on WooCommerce order notifications in Slack shows how to extend the same workflow approach to internal communications.

    What Does It Cost to Do This?

    The basic review request workflow described in this article, one email after a delay, uses only free Krom Automation features. The free version is free forever with no run caps, no trial period, and no feature paywall. There is no limit on the number of workflows or executions.

    What you want to do Free or Pro? Cost
    Single review request email after order completion Free $0
    Delayed follow-up if no review is submitted Free $0
    Coupon reward delivered after review approval Free $0
    Visual email builder for branded HTML emails Pro From $69/year or $199 lifetime
    Subscription-specific triggers (renewal vs. first purchase) Pro From $69/year or $199 lifetime
    Schedule trigger for weekly review digest to admin Pro From $69/year or $199 lifetime

    Krom Automation Pro starts at $69 a year for a single site, or $199 as a one-time lifetime payment. Every Pro plan includes every Pro feature and all 25 integrations.

    The only difference between the Basic, Standard, and Enterprise plans is the number of site activations. See full pricing details including the current launch pricing on all plans.

    For context on how this compares to alternatives: Uncanny Automator’s automation plans start from $199 a year for one site, as of September 2026. AutomateWoo is a WooCommerce extension sold separately.

    Zapier’s Professional plan runs around $240 a year for 750 tasks a month, billed annually, with task-based billing that adds cost every time a workflow fires. Krom Automation has no per-execution fee at any tier.

    One Honest Limitation to Know About

    Krom Automation runs delayed actions through WordPress Cron via Action Scheduler. On sites with consistent traffic, this is reliable and the delay fires within a few minutes of its scheduled time. On very low-traffic sites, where no visitor arrives for several hours at a stretch, WP-Cron fires late because it needs an HTTP request to trigger it.

    If your store is low traffic, configure a real server cron job to call wp-cron.php every five minutes. This is a one-line addition to your server’s crontab and is documented by most managed WordPress hosts. Most stores with active WooCommerce traffic will never notice the issue, but it is worth knowing before you set a 2-day delay and wonder why the email arrived on day 3.

    If you want to push the review request via SMS as well as email, the WooCommerce SMS notifications guide covers how to add Twilio to a Krom Automation workflow alongside the email step. SMS alongside email can lift response rates significantly for high-value orders where the customer has opted into text messages.

    Also from wpRigel

    Pollify is wpRigel’s Gutenberg-native poll, survey, and quiz plugin. Polls are built as real blocks inside the WordPress editor, so there are no shortcodes to paste and no separate dashboard to learn. If you collect post-purchase feedback directly on your site rather than by email, Pollify is built for that.

    Commandify gives the WordPress admin a keyboard-first command palette. Press Cmd or Ctrl plus K to jump to any order, search any product, update a customer address, or run maintenance tasks without clicking through menus. It is the only WordPress command palette with full WooCommerce order, product, and customer commands built in.

    FAQ

    Will enabling the workflow send review requests to old completed orders?

    No. Krom Automation triggers fire on new events from the moment the workflow is activated.

    It does not backfill past orders unless you build a separate one-time import workflow to do so deliberately. Existing completed orders are not affected when you first switch the workflow on.

    Can I send one review request email for an order with multiple products?

    Yes. The Order Completed trigger fires once per order, not once per product.

    Your email can reference the full order using merge tags, or you can include a review link for each product in the order using available order item merge tags. You do not need to send one email per product unless you specifically want to.

    What happens if a customer completes a second order? Do they get another request?

    By default, if you enable “run once per entity” with the entity set to the customer, the workflow fires only once per customer regardless of how many orders they place. If you want a review request on every order, leave that setting off. The right choice depends on your average order frequency and how much contact you want with repeat buyers.

    Can I personalise the email with the specific product name the customer bought?

    Yes. The Order Completed trigger exposes order item data through merge tags.

    You can reference the first product name, the full list of products, the order total, and the customer’s billing name in any text field in the Send Email action. The merge tags reference lists every available variable.

    Do I need a Pro plan to send a coupon as part of the review reward workflow?

    No. The Create Coupon action and the Comment Approved trigger are both available in the free version.

    You can build the full reward workflow described in this article, including coupon generation and delivery, without upgrading. Pro adds a visual email builder for designing the reward email with branded HTML, but the coupon generation itself is free.

    Is review-gating allowed under WooCommerce or Google’s policies?

    Review-gating means only inviting satisfied customers to leave reviews while suppressing negative ones. This is against Google’s review policies and is considered deceptive. The workflow in this article sends the same request to all customers who complete an order, which is compliant.

    The reward coupon is offered for any submitted review, not only positive ones. Do not add a conditional branch that routes customers to different paths based on their order satisfaction before they have written anything.

    Download the free plugin or see Pro plan pricing to get started. The free version covers the full workflow described in this article with no caps, no trial, and no credit card required. Get it from the WordPress.org plugin directory and have your first review request workflow live in under 15 minutes.

    The wpRigel Team

    October 14, 2026
    User Guide
  • How Do I Send SMS Notifications From WooCommerce?

    You can send WooCommerce SMS notifications using Krom Automation’s free HTTP Request action connected to Twilio. When an order is created or completed, a workflow fires an API call to Twilio, which delivers the SMS within seconds.

    No Pro upgrade is required for the core setup. If you want a scheduled daily low-stock digest or an incoming webhook from an external service, that does require Krom Automation Pro.

    Most WooCommerce SMS plugins wrap a single gateway in a dedicated interface and charge a monthly fee on top of what you pay your SMS provider. Krom Automation takes a different approach: it treats SMS as one output among many, handled by the same visual workflow builder you use for email, Slack, and Google Sheets. You configure the Twilio call once, save it as a workflow, and every relevant order event triggers it automatically.

    This guide covers the full setup, Twilio connection details, customer and admin notification patterns, low-stock alerts, message character limits, opt-out wording, and compliance requirements. Browse the full feature list to see what else the same plugin handles beyond SMS.

    Quick Summary

    GoalPlugin neededSMS providerApproximate cost per SMS (US)
    Customer order confirmationKrom Automation FreeTwilio$0.0079
    Admin new-order alertKrom Automation FreeTwilio$0.0079
    Shipping update to customerKrom Automation FreeTwilio$0.0079
    Low-stock alert to ownerKrom Automation FreeTwilio$0.0079
    Scheduled daily stock digestKrom Automation ProTwilio$0.0079 per recipient
    Incoming webhook from 3PLKrom Automation ProTwilio$0.0079

    Twilio pricing above is current as of mid-2026 for US long-code numbers. Prices vary by country and number type.

    You pay Twilio directly. Krom Automation charges nothing per message at any tier.

    What SMS Provider Should I Use With WooCommerce?

    Three providers work well with Krom Automation’s HTTP Request action: Twilio, Vonage, and ClickSend. All three expose a REST API that accepts a POST request with your credentials, the recipient number, and the message body. The differences are pricing, reliability reputation, and how much documentation exists for each.

    • Twilio charges approximately $0.0079 per outbound SMS in the US, with a $1/month number rental fee. It has the largest developer community, the most detailed API docs, and the best error logging. This is the provider we recommend for most setups.
    • Vonage (formerly Nexmo) charges roughly $0.0065 to $0.009 per SMS depending on country. The API is similar to Twilio. The dashboard is less polished, but the pricing can be marginally cheaper at volume.
    • ClickSend charges from approximately $0.0086 per SMS in the US and offers a more consumer-friendly dashboard. It suits store owners who prefer a UI over raw API calls.

    For a store sending 500 order-confirmation SMS messages a month, the cost difference between Twilio and Vonage is under $2. Choose based on your team’s comfort with each provider’s documentation, not on marginal per-message savings.

    How Do I Connect Twilio to WooCommerce With Krom Automation?

    The connection runs through Krom Automation’s HTTP Request action, which supports POST calls with JSON bodies and custom headers. Full setup details are in the messaging integrations documentation for Twilio, but here is the shape of the workflow.

    Before building the workflow, you need three values from your Twilio console: your Account SID, your Auth Token, and the Twilio phone number you purchased. Keep these ready before opening the workflow builder.

    1. Install Krom Automation from the WordPress.org plugin directory and activate it. See the installation guide if you need help with the first steps.
    2. Create a new workflow on the visual canvas. Select Order Created or Order Completed as your trigger, depending on whether you want the SMS at purchase or at fulfilment.
    3. Add an HTTP Request action. Set the method to POST. The Twilio Messages endpoint is https://api.twilio.com/2010-04-01/Accounts/YOUR_SID/Messages.json.
    4. Set authentication to Basic Auth, with your Account SID as the username and your Auth Token as the password.
    5. Build the message body using merge tags to inject the customer’s name, order number, and total. The merge tags documentation lists every variable available from WooCommerce order triggers.
    6. Set the To field to the merge tag that pulls the customer’s billing phone number from the order.
    7. Test with the workflow simulator before activating. The simulator runs a dry run with no side effects, so no real SMS is sent and no Twilio credit is used.

    A dedicated SMS plugin locks you into one gateway. A workflow tool locks you into nothing. When you outgrow Twilio, you change one HTTP Request node and keep every other workflow untouched.

    What Should Customer Order Confirmation SMS Messages Say?

    An order confirmation SMS has one job: reassure the customer that their purchase went through and give them a reference number. Keep it under 160 characters so it sends as a single segment and you pay one message fee. Going over 160 characters splits the message into two segments and doubles the cost for that send.

    A template that fits within 160 characters:

    • Trigger: Order Created
    • Message: “Hi [first name], your order #[order number] for $[total] is confirmed. We’ll text you when it ships. Reply STOP to opt out.”
    • Character count: approximately 120 characters with typical values filled in

    For a shipping update, use the Order Status Changed trigger with a condition branch that fires only when the new status equals “Completed” or a custom “Shipped” status. The conditions and branching documentation explains how to add a Yes/No path so the SMS fires only on the status you care about, not every status change.

    How Do I Send Admin Alerts for New Orders, Low Stock, and Failed Payments?

    Admin alerts are simpler than customer messages because you control the recipient number and never need merge tags for a phone field. The workflow trigger determines when you get the alert, and the HTTP Request action sends the text to your own number.

    Three admin alert patterns worth setting up:

    • New order alert: Trigger on Order Created, send a single SMS to the owner’s number with the order total and customer name. Useful for low-volume stores where every order matters. For high-volume stores, consider the Slack notification approach instead, which avoids SMS costs at scale.
    • High-value order alert: Same trigger, but add a condition that fires only when the order total exceeds a threshold, for example $500. This avoids notification fatigue without missing the orders that actually need attention. See the high-value order notification guide for the exact condition setup.
    • Low-stock alert: WooCommerce fires a stock update when inventory drops below your threshold. A Krom Automation workflow listening for that event can send an SMS to the owner or a purchasing manager within seconds of the stock level falling.

    An SMS about a $2,000 order arriving while you’re away from your desk is worth far more than its $0.0079 cost. The question is not whether to set it up, but which threshold triggers it.

    For failed payment recovery, the workflow triggers on a WooCommerce order status change to “Failed”, sends an SMS to the owner flagging the order, and optionally sends a recovery email to the customer. You can add a delay of 30 minutes before the customer email, giving the payment processor time to retry before you contact the buyer.

    What Are the SMS Character Limits and Why Do They Matter to Your Bill?

    Standard SMS encoding (GSM-7) allows 160 characters per segment. If your message uses any character outside the GSM-7 set, including curly quotes, emoji, or certain accented characters, the encoding switches to UCS-2, which reduces the limit to 70 characters per segment. A 160-character message with one emoji becomes three segments and costs three times as much.

    Practical rules for keeping messages to one segment:

    • Write in plain ASCII. Avoid smart quotes, em dashes, and special currency symbols other than $.
    • Keep the body under 140 characters to leave room for opt-out text like “Reply STOP to opt out” without triggering a second segment.
    • Test with a character-count tool before saving the workflow template. Twilio’s Messaging Helper in their console shows the segment count in real time.
    • Use merge tags carefully. A customer whose name contains an accented character, for example “André”, may push you into UCS-2 unexpectedly if you do not sanitise the output.

    SMS vs. Email vs. WhatsApp: Which Channel Should I Use for What?

    Every competitor article assumes SMS is always the right choice. It is not. The channel should match the urgency, the audience, and what you can afford to maintain.

    SituationBest channelReason
    Order confirmation at purchaseEmail + optional SMSEmail is free per send; SMS adds reassurance for high-anxiety buyers
    Shipping update with tracking linkSMSLinks in SMS have higher click rates than email for time-sensitive info
    Admin alert for new orderSMS or SlackSMS is faster; Slack is cheaper at volume and keeps the thread
    Admin alert for high-value orderSMSPhone interruption is warranted for a significant transaction
    Abandoned cart reminderEmail first, SMS if unansweredSMS feels intrusive as the first contact; email is expected
    Low-stock alert to teamSMS or SlackDepends on whether the purchasing team monitors Slack during business hours

    WhatsApp Business API is a third option, especially for stores with international customers in markets where WhatsApp adoption is high. The Krom Automation HTTP Request action can reach the WhatsApp Business API the same way it reaches Twilio. The compliance picture is different, though, and covered in the section below.

    What Do I Need to Know About SMS Compliance and Opt-Out?

    This is the section most SMS plugin guides skip. Sending promotional or transactional SMS without proper consent can result in fines that dwarf any revenue the messages generate. The rules differ by region but the principles are consistent.

    In the United States (TCPA): You must have prior express written consent before sending any marketing SMS. Transactional messages (order confirmations, shipping updates) have a lower bar, but you still need a clear disclosure at the point of sale that the customer will receive texts. Every message must include opt-out instructions.

    “Reply STOP to opt out” is the standard phrase. Twilio automatically processes STOP replies and blocks further messages to that number.

    In the European Union (GDPR): SMS is personal data processing. You need a lawful basis, which for marketing means explicit consent. Transactional messages can rely on the legitimate interests basis if they are genuinely necessary to fulfil the contract.

    A checkbox at checkout reading “Send me order updates by SMS” covers both requirements. Do not pre-tick it.

    Three things every WooCommerce store sending SMS should have in place:

    • A checkbox at checkout, clearly labelled, that is unchecked by default, giving explicit consent for SMS communication.
    • Opt-out instructions in every message body, consuming roughly 25 characters of your 160-character budget.
    • A record of when each customer consented, stored in user meta or your CRM. Krom Automation’s Update User Meta action can write a consent timestamp to the customer’s profile the moment they opt in.

    How Does Krom Automation Handle Workflow Reliability for SMS?

    Krom Automation runs all workflow executions through Action Scheduler, the same background processing library WooCommerce itself uses. This means SMS workflows run in the background and never slow down the customer’s checkout page. Execution logs capture every step, including the HTTP response code Twilio returns, so you know within seconds whether the message was accepted or rejected.

    If the Twilio API returns an error, Krom Automation flags the execution as failed and sends a failure notification by email to the site administrator. Automatic retry with configurable backoff handles temporary Twilio outages without you needing to resend manually.

    One honest constraint: Krom Automation uses WordPress Cron for scheduled delays. On very low-traffic sites where no visitor arrives for several hours, WP-Cron can fire late, which means a delayed SMS might arrive later than configured.

    If precise timing matters, configure a real server-side cron job to replace WP-Cron. This affects only delayed steps, not immediate triggers like Order Created, which fire as soon as the event occurs.

    For more on what the workflow engine can do beyond SMS, the full explanation of triggers, actions and workflows is worth reading before you build your first flow. Krom Automation also handles WooCommerce Subscriptions triggers, so recurring order SMS can follow the same pattern as one-time orders.

    Execution logs that show a Twilio 400 error are more useful than a dedicated SMS plugin that silently drops the message and shows no record of why.

    What Does This Actually Cost to Run?

    Understanding the total cost requires separating the plugin cost from the provider cost. They are billed by different companies on different schedules.

    Cost itemMonthly cost at 200 ordersMonthly cost at 1,000 ordersMonthly cost at 5,000 orders
    Krom Automation (free tier)$0$0$0
    Krom Automation Pro (Basic, 1 site)$5.75/month (billed yearly at $69)$5.75/month$5.75/month
    Twilio number rental (US)$1$1$1
    Twilio SMS to customers (US, $0.0079)$1.58$7.90$39.50
    Twilio SMS to admin (5/day, 150/month)$1.19$1.19$1.19
    Total (free Krom)$3.77$10.09$41.69
    Total (Pro Krom)$9.52$15.84$47.44

    Compare that to dedicated SMS plugins that charge $29 to $79 per month before any provider costs. At 1,000 orders a month, you would pay $37 to $87 total with a dedicated plugin versus $10 to $16 with Krom Automation. The difference compounds further at higher volumes.

    What Else Can the Same Workflows Do?

    Once you have the Twilio HTTP Request node working, you can reuse the same pattern for any other API-based notification. The same workflow builder that sends an SMS can simultaneously update a Google Sheet with the order details, tag the customer in FluentCRM, and send a Slack message to your fulfilment team.

    Those are three separate actions on a single trigger, all running in parallel. See how the Google Sheets order sync works alongside the SMS pattern for an example of combining actions.

    If your store uses subscription products, the WooCommerce Subscriptions integration adds renewal triggers so you can send an SMS reminder before a card is charged, reducing failed renewal payments before they happen.

    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 is built for the block editor rather than bolted onto it.

    Commandify gives the WordPress admin a keyboard-first command palette. Press Cmd or Ctrl + K to jump anywhere, search every post, page, user or order, and run admin actions without clicking through menus. It is the only command palette plugin with genuine WooCommerce order, product and customer depth built in.

    Our Verdict: Who Should Set This Up and Who Should Not

    Set up WooCommerce SMS notifications with Krom Automation and Twilio if you run a store where order status matters to customers in real time, where admin alerts would catch problems before customers complain, or where you want SMS as one channel among several rather than the only automation tool on the site. The free plugin handles all the core scenarios. Pro is worth adding if you want scheduled digests, incoming webhooks from a third-party logistics provider, or the Pro integrations for email marketing and CRM tagging in the same workflow.

    Do not use this approach if your store sends fewer than 50 orders a month and you have no appetite for connecting an external API. At that volume, a simple WooCommerce order confirmation email is cheaper, simpler, and meets most customers’ expectations. SMS adds real value at higher order volumes or when your customer base has demonstrated they prefer it.

    Download the free plugin and build one workflow before committing to anything. The workflow simulator lets you test the Twilio call without spending any SMS credit.

    If you are ready to see full plan details and decide whether free covers your store or Pro is worth it, compare the Krom Automation plans before your next order arrives.

    Frequently Asked Questions

    Does the free version of Krom Automation support SMS notifications?

    Yes. The free version includes the HTTP Request action, which is all you need to connect to Twilio, Vonage, or ClickSend.

    You can send SMS notifications for order created, order completed, and order status changed events without any Pro upgrade. Pro is only required for features like the Schedule trigger or incoming webhooks.

    Can I send different SMS messages for different order statuses?

    Yes. Create one workflow per status, each using the Order Status Changed trigger with a condition that checks the new status value.

    Alternatively, use a single workflow with conditional branches, one branch per status, each sending a different message. The conditions and branching documentation shows how to structure multi-path workflows.

    What happens if the Twilio API call fails?

    Krom Automation logs the failure with the HTTP response code Twilio returned, sends a failure notification email to the site administrator, and retries automatically with configurable backoff. The per-step audit trail in the execution log lets you see exactly which step failed and why, without guessing.

    Do I need to collect customer phone numbers at checkout?

    WooCommerce already collects a billing phone number at checkout by default. The merge tag for that field is available in Krom Automation’s WooCommerce order triggers.

    You do not need to add a custom field. What you do need to add is an opt-in checkbox for SMS consent, which is a legal requirement in the US under TCPA and relevant under GDPR in the EU.

    Can I send MMS or picture messages through this setup?

    Twilio supports MMS for US and Canadian numbers. The HTTP Request action can send an MMS by adding a MediaUrl parameter to the POST body alongside the message text.

    A low-stock alert with a product image attached is one practical use. Note that MMS costs more than SMS per message, typically $0.0200 per message for US MMS versus $0.0079 for SMS.

    Is there a limit to how many SMS workflows I can create?

    Krom Automation places no cap on the number of workflows at any tier. You can create separate workflows for order confirmation, shipping update, admin alert, low-stock warning, and any other event without hitting a ceiling. The only cost that scales is what you pay Twilio per message sent.

    The wpRigel Team

    October 14, 2026
    User Guide
  • How Do I Get WooCommerce Order Notifications in Slack?

    You can send WooCommerce order notifications to Slack right now using Krom Automation. The free plugin handles it with an HTTP Request action pointed at a Slack Incoming Webhook.

    The Pro plan adds a dedicated Slack action with richer message formatting and per-channel routing. No Zapier account, no monthly task fees, and no per-notification billing at any tier.

    The setup takes under 15 minutes if you already have a Slack app. If you do not, the Slack side adds another 5 minutes. Everything runs inside your WordPress site, so order data, execution logs and your Slack bot token never leave your own server.

    This guide covers four things: basic new-order alerts, rich message formatting with merge tags, a conditional workflow that pings a VIP channel only for orders above a set value, and what to do when notifications stop firing.

    Browse the full feature list to see every trigger and action available before you build.

    Quick Summary

    GoalPlugin tier neededSlack setup required
    New order alert to one channelFreeIncoming Webhook URL
    Rich message with order fieldsFreeIncoming Webhook URL
    Different channel per order statusProIncoming Webhook per channel
    VIP alert for orders above a thresholdFree (conditional branching)Incoming Webhook URL
    Retry on failed notificationFree (built-in retry)Incoming Webhook URL
    Order lookup via slash commandPro (Incoming Webhook Receiver)Slack slash command + bot token

    How Do I Create a Slack Bot and Get a Webhook URL?

    Go to api.slack.com/apps, click “Create New App”, and choose “From scratch”. Name it something your team will recognise, such as “WooCommerce Orders”. Select your workspace and click Create.

    Once the app is created, open the Incoming Webhooks section from the left sidebar and toggle it on. Click “Add New Webhook to Workspace”, pick the channel where order alerts should land, and authorise. Slack gives you a URL starting with https://hooks.slack.com/services/.

    Copy it. That is the only credential Krom Automation needs for the free setup.

    Keep the webhook URL private. Anyone with it can post to your channel. Treat it like a password and never commit it to a public repository.

    How Do I Build the Basic New-Order Workflow?

    Install Krom Automation from the WordPress.org plugin directory if you have not already. In your WordPress admin, go to Krom Automation Workflows Add New. The visual canvas opens on a blank workflow.

    The setup follows three nodes on the canvas:

    1. Trigger: Order Completed (or Order Created, depending on when you want the alert). Drag it onto the canvas and select it from the WooCommerce trigger group.
    2. Action: HTTP Request. Set the method to POST and paste your Slack webhook URL into the URL field. Set Content-Type to application/json.
    3. Body payload. In the request body field, enter a JSON object. Slack reads the text key for plain messages or the blocks key for rich formatted ones.

    A minimal plain-text body looks like this:

    {"text": "New order #{{order_id}} from {{customer_name}}, {{order_total}}"}

    Those double-brace tokens are merge tags. Krom Automation replaces them at runtime with real values from the triggering event, so every message contains the actual order ID, customer name and total rather than placeholder text.

    Save the workflow and toggle it to Active. Place a test order and the alert should appear in Slack within seconds on a live-traffic site. On a low-traffic or staging site where WP-Cron rarely fires, see the troubleshooting section below.

    A Slack notification that lands 45 minutes after the order is as useful as no notification at all. Cron timing is the detail most guides skip, and the one that bites teams hardest on launch day.

    How Do I Make the Message Richer and More Useful?

    Slack’s Block Kit format lets you send structured messages with sections, dividers and bold labels. Krom Automation’s HTTP Request action sends any valid JSON body, so you can use Block Kit directly without a separate plugin or library.

    A practical rich message includes these fields, formatted as a Slack section block:

    • Order number and a direct link to the WooCommerce order edit screen
    • Customer name and email so the team can act without logging in
    • Order total and payment method
    • Line items, or at minimum the item count, so fulfilment knows what to pull
    • Shipping method if you offer more than one, since that changes who acts on the alert

    All of these are available as merge tags. See the free actions reference for the full list of available fields on WooCommerce triggers. The messaging integrations documentation has a worked example of a Block Kit payload you can copy and adapt.

    Krom Automation Pro adds a dedicated Slack action that builds the message in a visual editor rather than raw JSON. That is worth considering if your team includes non-developers who will maintain the workflows after setup.

    How Do I Send VIP Order Alerts to a Separate Channel?

    This is where conditional branching earns its place. The free version of Krom Automation includes a Yes/No branch node. You can evaluate any field from the trigger, including order total, before deciding which action to run.

    The workflow shape for a VIP alert looks like this:

    1. Trigger: Order Completed
    2. Condition: Order total is greater than your threshold (for example, $500)
    3. Yes path: HTTP Request to your #vip-orders Slack channel webhook
    4. No path: HTTP Request to your standard #orders channel webhook, or leave it empty if you only want the VIP alert

    The branching documentation at Conditions and Branching explains how to set the comparison operator and value. The same logic applies to any other condition: product category, customer location, shipping method or payment gateway.

    For stores with five or more staff routing orders to fulfilment, marketing and support separately, this single feature removes a daily overhead that typically costs 20 to 40 minutes of manual triage. The Kestrel-style “each team sees only what is relevant” approach is fully achievable in the free tier.

    Conditional routing is not a power-user feature. It is the thing that turns a noisy notification into one your team actually reads.

    Can I Look Up Orders From Slack Without Opening WordPress?

    Yes, but this requires Krom Automation Pro. The Incoming Webhook Receiver gives each workflow a unique secret URL that external services can POST to.

    You configure a Slack slash command, such as /order 1234, to POST the order number to that URL. Krom Automation receives it, queries WooCommerce for that order, and POSTs the details back to Slack.

    The incoming webhook has HMAC-SHA256 signature verification and nine security layers, so random internet traffic cannot trigger your workflows. See the Incoming Webhook Receiver documentation for the full setup, including how to configure the Slack slash command endpoint and validate signatures.

    This approach is more involved than a simple alert. Plan for 30 to 60 minutes of setup if you have not built a Slack slash command before. The payoff is that your support or fulfilment team can answer customer order questions from Slack without a WordPress login, which matters when you have contractors or part-time staff who should not have admin access.

    What Does This Cost Compared to Other Options?

    OptionYear 1 costYear 2 costRun limitsSelf-hosted
    Krom Automation free$0$0NoneYes
    Krom Automation Pro (1 site)From $69/yearFrom $69/yearNoneYes
    Krom Automation Pro lifetime (1 site)$199 once$0NoneYes
    Zapier (Professional, as of September 2026)~$240/year~$240/year750 tasks/month, then overageNo
    Dedicated Slack-for-WooCommerce plugin (free tier)$0$0Varies by pluginYes

    The free version of Krom Automation sends unlimited notifications with no run caps. If you process 3,000 orders a month, that is 3,000 Slack messages at no extra cost.

    Zapier’s Professional plan at around $240 a year (as of September 2026) counts each notification as a task. At 3,000 orders a month you exhaust the 750-task monthly allowance in the first week and start paying overage.

    A dedicated Slack-for-WooCommerce plugin is a reasonable choice if all you ever want is order alerts and nothing else. Krom Automation makes sense when you want the same tool to handle your other automations, including tagging customers in FluentCRM, syncing orders to Google Sheets, or sending follow-up emails, so you are not running four separate plugins to do things one workflow builder can handle.

    Why Are My WooCommerce Slack Notifications Not Firing?

    This is the question every other guide skips. Here are the real failure modes, in order of how often they occur:

    • WP-Cron has not fired. Krom Automation runs actions via Action Scheduler, which depends on WP-Cron. On a low-traffic site where no page loads happen for hours, the action sits in the queue and waits. Fix this by setting up a real server cron job to call wp-cron.php every minute. Most managed WordPress hosts have a cron manager in their dashboard.
    • The webhook URL has been rotated or deleted. Slack lets you delete webhooks. If someone cleaned up old apps in the Slack workspace, your URL may no longer be valid. Generate a new one and update the HTTP Request action body.
    • A caching plugin intercepted the order hook. Some caching plugins alter WooCommerce’s hook execution order. If you are using a page cache that also caches REST API responses, disable it for the WooCommerce order endpoints and test again.
    • The JSON body is malformed. A merge tag that contains an apostrophe or special character can break the JSON structure. Wrap string values in the body and test with the workflow simulator before going live. The simulator runs a dry execution with no side effects, so it is safe to test against a real order.
    • The workflow fired but Slack returned an error. Check the execution log in Krom Automation. Each step shows the response code and body. A 400 from Slack means your JSON payload is wrong. A 403 means the webhook URL is invalid or revoked. A 429 means you are sending too fast, which almost never happens in WooCommerce but can occur if a test loop fires repeatedly.

    Krom Automation’s built-in failure notifications send you an email when a workflow step fails, and the retry system re-attempts with configurable backoff. You do not have to watch the execution log manually. The triggers reference documents exactly which WooCommerce hooks each trigger listens to, which helps narrow down conflicts with other plugins.

    The execution log is the feature that separates a workflow tool from a webhook sender. Without it, a silent failure looks exactly like a working notification.

    What About Refunds, Cancellations and Status Changes?

    The free version includes an Order Status Changed trigger (listed as Post Status Changed in the core triggers, mapped to WooCommerce order statuses). You can build a separate workflow for each status transition you want to monitor, or use a single workflow with conditional branches that route to different channels depending on which status the order moved to.

    Useful status-change alerts most stores eventually want:

    • Order moved to Refunded, ping the finance channel
    • Order moved to Cancelled within 1 hour of creation, flag for review
    • Order moved to On Hold, alert the team to check payment
    • Order moved to Processing after a manual review, confirm to fulfilment

    For stores running subscriptions, the WooCommerce Subscriptions integration in Krom Automation Pro adds renewal, cancellation and failed payment triggers. Those feed into the same Slack action so your retention team gets notified the moment a subscription lapses.

    If you need alerts for digital product sales specifically, the Easy Digital Downloads integration covers the same pattern for EDD-based stores.

    What Does Not Work and What to Be Honest About

    Krom Automation is WordPress-native. The trigger must originate inside WordPress. If you are routing notifications between two external services with no WordPress involvement, a different tool fits better.

    The delay and retry system depends on WP-Cron, as noted above. This is not unique to Krom Automation; it applies to every WordPress scheduler. But it means you should not rely on exact-second delivery for time-critical alerts on a low-traffic site without a real server cron configured.

    The free version’s HTTP Request action sends raw JSON. That is flexible but it means you write the Slack Block Kit payload by hand.

    Krom Automation Pro’s visual message builder removes that friction if your team is not comfortable with JSON. See the free vs Pro comparison to decide which fits your workflow.

    Also from wpRigel

    Pollify is wpRigel’s Gutenberg-native poll, survey and quiz plugin. It builds polls as real editor blocks, so there are no shortcodes to paste and no separate interface to learn. Useful for gathering post-purchase feedback directly on your WooCommerce thank-you page.

    Commandify is a command palette for the WordPress admin. Press Cmd or Ctrl plus K to search orders, edit products, look up customers 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 a natural companion to the Slack notification workflows described here.

    Our Verdict

    If you want WooCommerce order notifications in Slack today and you process more than a few hundred orders a month, start with the Krom Automation free plugin. The HTTP Request action plus a Slack Incoming Webhook gets you there in under 15 minutes, with no per-notification cost and no external account required beyond Slack itself.

    Upgrade to Pro if you need the dedicated Slack action with visual message building, the Incoming Webhook Receiver for slash command order lookup, or the 80+ additional triggers covering subscriptions, form submissions and membership events. Pro starts at $69 a year, and if you are running the workflow on multiple client sites, the 5-site Standard plan at $149 a year is the better unit cost. Lifetime plans start at $199 if you prefer to avoid annual renewals.

    Do not upgrade just for Slack notifications. The free tier handles that completely. Upgrade when you want to consolidate five separate single-purpose plugins into one workflow builder that also handles your email sequences, CRM sync and Google Sheets logging.

    Download the free plugin from WordPress.org and build the workflow before you evaluate the Pro features. The canvas, the execution log and the simulator are all available at no cost, so you can verify the setup works on your specific stack before spending anything.

    See Krom Automation pricing and compare all plans if you are ready to add Pro features.

    Frequently Asked Questions

    Does the free version of Krom Automation support Slack notifications?

    Yes. The free plugin includes an HTTP Request action that posts to any Slack Incoming Webhook URL. You get unlimited notifications, merge tags for dynamic order data, and execution logging at no cost.

    Can I send different WooCommerce order statuses to different Slack channels?

    Yes. Build one workflow per status transition, each with its own HTTP Request action pointing to a different channel webhook.

    Alternatively, use a single workflow with Yes/No conditional branches that route to different webhook URLs depending on the status. Conditional branching is included in the free version.

    How do I include the order total and customer name in the Slack message?

    Use merge tags in the HTTP Request body. Krom Automation replaces tokens like {{order_total}} and {{customer_name}} with real values from the triggering event at runtime. The merge tags documentation lists every available field for WooCommerce triggers.

    Why did my Slack notification not arrive after a test order?

    Check the execution log in Krom Automation first. A failed step shows the HTTP response code from Slack, which tells you whether the problem is a bad URL (403), malformed JSON (400) or a WP-Cron delay. On low-traffic sites, configure a real server cron job so Action Scheduler fires reliably rather than waiting for the next page load.

    Can I get a Slack alert only for orders above a certain value?

    Yes. Add a condition node between your Order Completed trigger and the HTTP Request action. Set the condition to evaluate order total greater than your chosen threshold.

    Orders below it skip the Slack action entirely. No Pro upgrade is needed for this; conditional branching is in the free version.

    Does Krom Automation work on a multisite WordPress network?

    Krom Automation can be activated per site on a multisite network. Each site manages its own workflows independently, so you can route order notifications from site A to one Slack workspace and site B to another. There is no cross-site workflow sharing in the current version.

    The wpRigel Team

    October 13, 2026
    User Guide
  • How Do I Send WooCommerce Orders to Google Sheets Automatically?

    You can send WooCommerce orders to Google Sheets automatically using Krom Automation, a visual workflow plugin for WordPress. The Google Sheets integration is a Pro feature, so you need at least the Basic plan, which starts at $69 a year or $199 as a lifetime purchase. Setup takes under 20 minutes and requires no code, just a Google service account and a mapped spreadsheet.

    WooCommerce does not have a built-in export to Google Sheets. Every method that does this, whether a dedicated connector plugin, Zapier, or a custom Apps Script, adds a layer outside WordPress. Krom Automation keeps that layer inside your own server, so order data never passes through a third-party cloud service you do not control.

    This article covers the two workflows you actually need: one that appends a new row when an order is created, and one that finds and updates that row when the order status changes. It also covers how to structure the spreadsheet for a fulfillment team, where things break, and what honest limitations to expect.

    Browse the full feature list to see everything the Google Sheets integration can do before you start.

    Quick Summary

    QuestionAnswer
    Does the free plugin cover Google Sheets?No. Google Sheets is a Pro integration.
    What Pro plan do you need?Any plan. Basic ($69/year or $199 lifetime) covers 1 site.
    Which trigger fires for new orders?Order Created (WooCommerce trigger, free plugin)
    Which action appends a row?Google Sheets: Append Row (Pro action)
    Can it update a row when status changes?Yes. Use Find Row, then Update Cell.
    Does it need Zapier?No. Everything runs inside WordPress.
    Does it work in real time?Yes, via Action Scheduler. Low-traffic sites need real server cron.
    Can I export old orders?Not automatically. Historical export needs a one-time CSV upload.

    What Do I Need Before I Start?

    You need the free Krom Automation plugin installed and active, plus the Pro add-on for the Google Sheets integration. You also need a Google Cloud project with a service account and a credentials JSON file. The service account is what Krom Automation uses to write to your spreadsheet without requiring you to log in through OAuth every 60 days.

    The setup steps for the service account are covered in the Google Sheets and Google Calendar integrations documentation, so we will not repeat them here. The short version: create a project in Google Cloud Console, enable the Google Sheets API, create a service account, download the JSON key, and share your target spreadsheet with the service account email as an Editor.

    On the WordPress side, you need WooCommerce active and at least one test order you can place to verify the workflow. WordPress 6.2 or higher and PHP 7.4 or higher are required by Krom Automation.

    How Do I Structure the Google Sheet Before Connecting It?

    This is the step most tutorials skip, and it is the one that causes the most problems two months after launch. Decide your column order before you build the workflow, because every Append Row action maps merge tags to column positions, and changing the column order later breaks the mapping.

    A practical column layout for a WooCommerce order tracker:

    • Column A: Order ID – the unique identifier used by the Find Row action to locate existing rows
    • Column B: Date – order creation date, used for sorting and date-range filtering
    • Column C: Customer Name – full name from billing details
    • Column D: Customer Email – used for team lookups and supplier communication
    • Column E: Items – product names and quantities as a single merged string
    • Column F: Order Total – numeric value, no currency symbol, so the column stays sortable
    • Column G: Status – the field the update workflow writes to when status changes
    • Column H: Shipping Address – for fulfillment teams who need to print or copy it
    • Column I: Notes – optional, for internal team annotations

    Put a header row in row 1 and freeze it. Share the spreadsheet with your service account email as Editor and with your fulfillment team as Viewer or Commenter, not Editor. Giving a supplier full Edit access means they can accidentally overwrite the Status column that your automation depends on.

    Decide your column order before you build the workflow. Changing it after the integration is live means rebuilding the mapping from scratch.

    How Do I Build the “New Order” Workflow?

    In your WordPress admin, go to Krom Automation and create a new workflow on the visual canvas. Add the Order Created trigger, which fires the moment WooCommerce creates a new order regardless of payment status. If you only want to capture paid orders, use the Order Completed trigger instead, but be aware that pending and processing orders will not be logged.

    Add a Google Sheets: Append Row action as the next node on the canvas. Select your connected Google account, choose your spreadsheet, choose the sheet tab, and map each column to the corresponding merge tag. The merge tags documentation lists every available token for WooCommerce order data, including order ID, customer name, billing email, line items, total, and current status.

    A working column-to-merge-tag mapping looks like this:

    ColumnMerge TagNotes
    Order ID{{order.id}}Must be unique per row for Find Row to work later
    Date{{order.date_created}}ISO format; format in Sheets if needed
    Customer Name{{order.billing.first_name}} {{order.billing.last_name}}Combine both tags in one field
    Email{{order.billing.email}}
    Items{{order.items_summary}}Comma-separated product names and quantities
    Total{{order.total}}Numeric only
    Status{{order.status}}Writes “processing”, “pending”, etc.
    Shipping Address{{order.shipping.address_1}}, {{order.shipping.city}}Combine address fields as needed

    Save the workflow, set it to active, and use the workflow simulator to run a dry test before placing a real order. The simulator executes the logic without side effects, so you can confirm the merge tag values resolve correctly before any data hits your spreadsheet.

    How Do I Update the Row When the Order Status Changes?

    The Append Row action only creates new rows. To keep the spreadsheet accurate as orders move from processing to shipped to completed, you need a second workflow that finds the existing row by Order ID and updates the Status column in place.

    Create a second workflow with the Order Status Changed trigger. Add a Google Sheets: Find Row action, searching column A for a value matching {{order.id}}. When a match is found, add a Google Sheets: Update Cell action targeting the row found and column G, writing {{order.status}} as the new value.

    This two-workflow pattern, one for creation and one for updates, is the right architecture for a live order tracker. A single workflow with an Upsert action sounds simpler but creates race conditions when two status changes fire within seconds of each other on a busy store.

    A single upsert workflow sounds cleaner, but two separate workflows for create and update are more reliable at volume. Race conditions on busy stores are real.

    For the full setup walkthrough, see the Google Sheets integration documentation, which covers Find Row, Update Cell, and how to handle cases where no matching row is found.

    What About Timing? Is This Actually Real Time?

    Krom Automation processes all actions through Action Scheduler, which runs in the background without blocking page loads. On a site with regular traffic, orders appear in your spreadsheet within 30 to 60 seconds of being placed. That is fast enough for fulfillment teams checking the sheet every few minutes.

    On very low-traffic sites where no visitor arrives for hours, WordPress Cron fires late and your Action Scheduler queue backs up. The fix is a real server cron job that hits wp-cron.php every minute.

    Most managed WordPress hosts offer this as a one-click option. Without it, a site getting 2 or 3 visitors a day could see delays of 20 to 40 minutes between an order being placed and the row appearing in Sheets.

    This is not unique to Krom Automation. Every plugin that relies on WP-Cron has the same timing behavior on low-traffic sites. Zapier and Make avoid this because they poll from outside WordPress, but they introduce different latency and per-task costs at volume.

    What Are the Real Costs at Scale?

    This is where self-hosted automation pulls ahead of per-task billing tools. Here is what each method costs at different order volumes:

    Method100 orders/month1,000 orders/month10,000 orders/month
    Krom Automation Pro (1 site, lifetime)$199 once$199 once$199 once
    Krom Automation Pro (1 site, annual)$69/year$69/year$69/year
    Zapier (Professional, as of September 2026)~$240/year for 750 tasks/month; overages apply above thatHigher plan requiredEnterprise pricing
    Dedicated connector plugin (typical)$50 to $100/year$50 to $100/yearMay throttle API calls

    Krom Automation has no per-execution fee and no run caps at any plan level. At 10,000 orders a month, the cost is the same as at 10.

    Zapier’s Professional plan covers 750 tasks a month at around $240 a year billed annually (as of September 2026), and a two-workflow setup for orders uses 2 tasks per order, meaning 1,500 tasks a month for 750 orders. That pushes a mid-volume store into a higher tier before the year is out.

    What Does Not Work, and What Breaks?

    Being honest about limits saves you from discovering them at the worst time. Here is what Krom Automation’s Google Sheets integration does not cover:

    • Historical orders: The workflow only fires on new events. Orders placed before the workflow was activated do not appear automatically. Export those as a CSV from WooCommerce and paste them into the sheet manually as a one-time step.
    • Two-way sync: If someone edits the Status column in Sheets, WooCommerce does not update. This is one-direction only: WordPress writes to Sheets. Nothing reads from Sheets back into WooCommerce.
    • Line-item rows: The integration appends one row per order, not one row per product in the order. If you need a separate row for each product in a multi-item order, you need a different data architecture and the current action set does not support it natively.
    • Google API rate limits: The Sheets API allows 300 write requests per minute per project. At very high order volumes, a burst of simultaneous orders could trigger a rate limit error. Krom Automation’s retry logic with configurable backoff handles transient errors, but a sustained burst above that threshold needs a queue or batching strategy.
    • Service account credential expiry: JSON key files do not expire, but if you delete the service account in Google Cloud or revoke the key, all writes stop immediately with no warning inside WordPress. Check your execution logs monthly.

    Historical orders will not appear automatically. Export them as a CSV and paste them in once. Everything after that point runs without you.

    How Do I Share the Sheet With My Fulfillment Team Without Giving Them WordPress Access?

    This is the genuine advantage of a Google Sheets tracker over every in-WordPress solution. Share the spreadsheet directly from Google Drive with the team member’s Google account. Set their permission to Viewer if they only need to read orders, or Commenter if they need to add fulfillment notes in the Notes column without editing the data columns that your automation writes.

    Do not give fulfillment team members Editor access. An Editor can overwrite the Order ID in column A, which breaks the Find Row lookup in your update workflow.

    Locking columns A through H using Google Sheets’ protected ranges feature takes 90 seconds and prevents this class of error entirely. Leave column I (Notes) unprotected so the team can annotate without restrictions.

    For suppliers who need access but do not have Google accounts, use the “Anyone with the link” setting at Viewer level. That is lower security but appropriate for non-sensitive product fulfillment data if your orders do not include payment details (they should not, since Krom Automation never writes card numbers).

    What Else Can I Automate at the Same Time?

    Once the Order Created trigger is live, adding parallel actions costs nothing extra. Common additions that run from the same trigger:

    • Send a Slack or Discord message to a fulfillment channel with the order summary (see the messaging integrations documentation for setup)
    • Tag the customer in FluentCRM as a buyer, covered in the FluentCRM integration documentation
    • Subscribe the customer to a post-purchase email sequence in Mailchimp via the Mailchimp integration
    • Create a coupon for a repeat-purchase incentive using the Create Coupon action

    Each of these runs as an additional action node on the same canvas, triggered by the same Order Created event. There is no limit on how many actions a single trigger can chain. If you run WooCommerce Subscriptions, the WooCommerce Subscriptions integration adds renewal and cancellation triggers that work the same way.

    What Does This Cost Compared to Doing It Manually?

    At 100 orders a month, manually copying order details into a spreadsheet takes roughly 3 minutes per order, or 5 hours a month. At a conservative $25 an hour for admin work, that is $125 a month in labor, or $1,500 a year.

    The Krom Automation Pro Basic plan costs $69 a year. The math is straightforward regardless of order volume.

    At 1,000 orders a month, manual entry is simply not viable. The choice becomes which automated method, not whether to automate.

    At that volume, Krom Automation’s flat annual fee is the cost-stable option. Task-based pricing tools charge more as you grow, which is the opposite of how costs should work on a scaling store.

    If you want to understand the broader Zapier comparison before committing, our article on Zapier alternatives for WordPress covers the full picture, including which use cases Zapier still handles better.

    Also from wpRigel

    Pollify is wpRigel’s poll, survey and quiz plugin. It is built as native Gutenberg blocks, so adding a post-purchase survey to any page works the same as adding a paragraph. No shortcodes, no separate interface.

    Commandify is a command palette for the WordPress admin. Press Cmd or Ctrl plus K to search orders, jump to any settings page, or run admin actions without navigating through menus. It is the only command palette plugin with real WooCommerce depth, including order status changes, customer lookups and product edits, all from the keyboard.

    Frequently Asked Questions

    Can I send WooCommerce orders to Google Sheets without Zapier?

    Yes. Krom Automation’s Google Sheets integration runs entirely inside WordPress with no third-party automation service involved.

    You connect via a Google service account and all execution happens on your own server. The Pro plan starts at $69 a year.

    Does the free version of Krom Automation include Google Sheets?

    No. Google Sheets is a Pro integration. The free plugin includes 16 triggers and 21 actions, covering email, user management, post operations, and basic WooCommerce triggers, but the Sheets connection requires a Pro plan.

    Will it export orders that were placed before I set up the workflow?

    No. The workflow fires on new events only.

    For historical orders, export them from WooCommerce as a CSV and paste them into the spreadsheet manually. After that one-time step, every new order appends automatically.

    What happens if the Google Sheets API returns an error?

    Krom Automation logs the failure in the execution history with a per-step audit trail and retries automatically with configurable backoff. You also receive a failure notification by email. If the credential JSON is invalid or the service account lacks Editor access, the error message in the log identifies which step failed and why.

    Can I update an order’s status in Google Sheets and have WooCommerce reflect it?

    No. The integration is one-directional: WordPress writes to Sheets.

    Changes made in the spreadsheet do not propagate back to WooCommerce. Two-way sync requires a custom solution outside the scope of this integration.

    How many Google Sheets workflows can I run at once?

    There is no workflow limit at any Krom Automation plan. You can run separate workflows for Order Created, Order Status Changed, Order Completed, and any other WooCommerce trigger simultaneously, each writing to the same or different spreadsheets.

    See full pricing details and compare all three plans to find the right fit for your store, or download the free plugin from the WordPress.org plugin directory to explore the canvas before upgrading.

    The wpRigel Team

    October 13, 2026
    User Guide
  • How Do I Get Notified When Someone Submits a Form on WordPress?

    WordPress does not notify you when a form is submitted. Notifications are handled by your form plugin, or by a workflow automation plugin layered on top of it. Krom Automation is one concrete way to handle this: the free plugin connects form submissions from Gravity Forms, WPForms, Fluent Forms, Contact Form 7, Elementor Forms and Ninja Forms to email, Slack, Telegram, SMS or any webhook, with no Pro upgrade required for basic email and HTTP notifications.

    Every form plugin has a built-in email notification panel, and for simple admin alerts that is often enough. The limit appears when you need to route submissions to different people based on field values, send a Slack message instead of an email, or trigger a CRM action the moment a form is filled in. That is where a dedicated automation layer earns its place.

    This guide covers both paths: the native notification settings inside the major form plugins, and the workflow automation approach with Krom Automation for anything more complex.

    Browse the full Krom Automation feature list to see what the free plugin includes before we get into the setup.

    Does WordPress Notify You by Default When a Form Is Submitted?

    No. Core WordPress has no concept of a form submission notification. The WordPress admin email receives comments, user registrations and plugin update alerts, but form entries are handled entirely by the form plugin you install.

    Every major form plugin ships with a basic email notification panel. You set a recipient address, a subject line and a message body, and the plugin fires an email via wp_mail() after each submission. That covers the majority of single-admin, single-recipient use cases without any extra tooling.

    What the native panels do not cover:

    • Sending to a Slack channel, Telegram chat or SMS number instead of email
    • Routing to a different recipient based on a field value, for example, routing “sales enquiry” forms to one address and “support” forms to another
    • Triggering a CRM action, a spreadsheet row or a webhook at the same time as the notification
    • Chaining a confirmation email to the submitter plus an internal alert plus a follow-up after 24 hours, all from one trigger

    For those scenarios you need either the form plugin’s Pro tier (which usually unlocks conditional notifications) or an automation plugin that listens for the form submission trigger and handles the rest.

    How to Set Up Email Notifications in the Major Form Plugins

    The steps differ slightly by plugin, but the core shape is the same: find the notification or confirmation panel inside the form editor, set the “Send To” address and customise the subject and body with dynamic field placeholders.

    Gravity Forms

    Open the form, go to Settings > Notifications and edit the default “Admin Notification” entry. The “Send To” field accepts a static email or a merge tag like {admin_email} or {field:3} to pull the address from a field. The message body supports all Gravity Forms merge tags.

    For conditional routing, Gravity Forms Pro lets you add conditional logic rules directly to each notification. Full setup detail is in the Krom Automation Gravity Forms integration guide.

    WPForms

    Edit the form and open the Settings > Notifications panel. The default notification sends to your WordPress admin email.

    Add additional notifications with the “Add New Notification” button, each with its own recipient and conditional logic rule if you are on WPForms Pro. See the WPForms integration documentation for the automation trigger details.

    Fluent Forms

    Go to Configure > Email Notifications inside the form editor. Fluent Forms supports multiple notification entries on the free version, which is more generous than most competitors.

    Each entry has its own conditional logic panel. The Fluent Forms integration page covers the specific trigger Krom Automation exposes.

    Contact Form 7

    Edit the form, open the Mail tab and set the “To” field. Contact Form 7 sends one email per submission with no native conditional routing and no built-in multi-recipient support.

    Anything beyond a single static address requires a third-party plugin or automation layer. The Contact Form 7 integration documentation explains how to wire CF7 submissions into Krom Automation workflows.

    Elementor Forms

    In the Elementor editor, select the form widget and open Actions After Submit. Add the “Email” action and configure the recipient.

    Elementor Forms Pro supports conditional actions. The Elementor Forms integration guide covers trigger setup for automation workflows.

    Ninja Forms

    Edit the form and go to the Emails & Actions tab. Add an “Email” action for each notification you need.

    Conditional routing requires the Conditional Logic add-on. Full details are in the Ninja Forms integration documentation.

    Built-in form plugin notifications are fine for a single admin email. The moment a submission needs to reach three people, a Slack channel and a CRM, you are duct-taping workarounds together instead of building a real workflow.

    Quick Summary: Which Approach Fits Which Situation

    SituationBest approachFree or paid?
    One admin email per submissionNative form plugin notification panelFree on all major plugins
    Multiple static recipientsNative panel with extra entries (Fluent Forms, WPForms Pro)Free on Fluent Forms; paid on most others
    Route by field value (sales vs support)Krom Automation conditional branchingFree plugin
    Slack, Telegram or SMS alertKrom Automation with messaging integrationPro (messaging integrations)
    Email + CRM tag + follow-up after 24 hoursKrom Automation multi-step workflowFree for email; Pro for CRM integrations
    Confirmation email to the submitterNative form plugin confirmation panel or Krom Automation Send Email actionFree on both paths
    Webhook to an external serviceKrom Automation HTTP Request actionFree plugin

    How to Get Notifications via Krom Automation (Free Plugin)

    Krom Automation works by connecting a trigger to one or more actions on a visual drag-and-drop canvas. For form submission notifications, the trigger is the form submission event and the actions are whatever you want to happen next: send an email, post to a channel, call a webhook, update a CRM record.

    The free plugin includes 16 triggers and 21 actions. Form plugin triggers (Gravity Forms, WPForms, Fluent Forms, Contact Form 7, Elementor Forms, Ninja Forms) are Pro triggers, meaning you need the Pro plugin installed alongside the free base to use them as workflow triggers.

    The free Send Email action and the free HTTP Request action are available to anyone. If you only need email alerts and your form plugin already fires them natively, the free plugin adds value through conditional branching and multi-step workflows rather than the notification itself.

    Building a Basic Form Notification Workflow

    The setup follows the same shape regardless of which form plugin you use:

    1. Install Krom Automation from the WordPress.org plugin directory and activate it.
    2. Navigate to Krom Automation > Workflows and click New Workflow.
    3. On the canvas, add your form submission trigger, for example “Gravity Forms: Form Submitted” or “Fluent Forms: Form Submitted”.
    4. Add a Send Email action and use merge tags to pull in field values: the submitter’s name, email address and message text appear in the notification body dynamically.
    5. Save and activate the workflow. Use the workflow simulator to run a dry test with zero side effects before going live.

    Merge tags are what make the notification useful rather than generic. Instead of receiving “A form was submitted”, you receive the actual name, email and message the person typed. The merge tags documentation lists every available variable per trigger.

    How Do I Route Notifications to Different People Based on Form Fields?

    This is where Krom Automation’s conditional branching replaces a stack of duplicated native notification rules. You build one workflow with a Yes/No branch after the trigger. The condition checks a field value, for example “if Department field equals Sales”, and the Yes path sends to the sales inbox while the No path sends to the general support address.

    A more complex routing example might look like this:

    • Trigger: Gravity Forms submission on your contact form
    • Branch condition: “Enquiry Type” field equals “Partnership”
    • Yes path: email the partnerships team + add a tag in FluentCRM
    • No path: email the general inbox + create a support ticket via HTTP Request

    This replaces what would otherwise require 4 separate native notification entries across two different plugin settings panels, each needing its own conditional logic rule. One workflow canvas is easier to audit and easier to change.

    Conditional routing in a form plugin’s notification panel is a workaround. A visual workflow with branching logic is an actual system you can read, test and hand to a colleague without explanation.

    Can I Send Form Notifications to Slack, Telegram or SMS?

    Yes, with Krom Automation Pro. The messaging integrations cover Slack, Discord, Twilio (SMS) and Telegram as first-class actions. A Slack notification workflow looks exactly like an email notification workflow: form submission trigger, then a “Send Slack Message” action with merge tags pulling in the submission data.

    The practical difference between email and Slack for form notifications is speed of acknowledgement. An email sits in an inbox.

    A Slack DM in your team’s #leads channel gets seen within minutes, regardless of whether anyone has the WordPress admin open. For time-sensitive enquiries, that gap matters.

    For teams without a fixed messaging platform, the free HTTP Request action covers any service that exposes a webhook endpoint. You can POST submission data to a Zapier webhook, a Make scenario, a custom endpoint or a CRM API without leaving Krom Automation or needing a Pro upgrade for that specific step.

    Why Am I Not Receiving Form Notification Emails?

    This is the most common support question for any WordPress form plugin. The cause is almost always one of four things:

    • wp_mail() delivery failure: WordPress sends email via PHP’s mail function by default, which many shared hosts block or throttle. Install an SMTP plugin (WP Mail SMTP, FluentSMTP or Post SMTP) and connect it to a transactional email service like Mailgun, SendGrid or Amazon SES. This single change resolves the majority of missing notification reports.
    • Spam or junk folder: Emails sent from a shared server IP with no SPF or DKIM record land in spam. Configuring SMTP through a proper transactional provider sets those records automatically.
    • Wrong recipient address: Check the form’s notification panel. Many forms default to the WordPress admin email, which may not be the address you check regularly.
    • Conditional logic blocking the notification: If a notification has conditional logic rules, a submission that does not meet the conditions silently skips the notification. Review the rules and test with a submission that deliberately matches.

    If your form plugin is delivering correctly but Krom Automation workflows are not firing, check the execution log under Krom Automation > Logs. Each execution shows a per-step audit trail so you can see exactly which action failed and why. Failed executions also trigger an email notification to the site admin with automatic retry on configurable backoff.

    What About WP-Cron and Delayed Notifications?

    Krom Automation runs background executions via Action Scheduler, which means workflows do not run during page loads and do not slow your site down. Action Scheduler depends on WP-Cron to fire reliably.

    On a busy site this is a non-issue. On a low-traffic site where no page loads happen for several hours at a stretch, WP-Cron can fire late, and a “notify on submission” workflow may arrive 30 to 90 minutes after the form was submitted rather than immediately.

    The fix is a real server cron job that calls the WordPress cron endpoint every minute, bypassing WP-Cron entirely. Most managed WordPress hosts (Kinsta, WP Engine, Cloudways) offer this as a setting. On a VPS you add one crontab line.

    This is worth doing on any site where timing matters, not just for form notifications. The delays and scheduling documentation covers this in more detail.

    Cost Comparison: Native Notifications vs Automation Plugin

    RequirementNative form plugin (free)Native form plugin (paid)Krom Automation
    Single admin emailIncludedIncludedFree plugin
    Conditional routingNot availableVaries by plugin, typically $99 to $299/yearFree plugin
    Slack or Telegram alertNot availableRarely includedKrom Pro from $69/year
    CRM action on submissionNot availableAdd-on required on mostKrom Pro from $69/year
    Multi-step workflow (notify + tag + follow-up)Not availableNot availableKrom Pro from $69/year
    Unlimited sitesN/ATypically a separate agency licenceKrom Pro Enterprise, $449/year or $1,199 lifetime

    Krom Automation Pro starts at $69 a year for a single site (launch pricing as of 2026). Lifetime plans start at $199, which is the more cost-effective path for any site running long-term. Every plan includes all 25 Pro integrations and all 101 Pro workflow templates, with the only difference between plans being the number of sites covered.

    Paying $99 a year for a form plugin’s Pro tier just to get conditional notification routing is a poor trade when a full automation layer costs $69 and does the routing plus CRM, Slack and follow-up emails on the same canvas.

    What Else Can a Form Submission Trigger?

    Notification is the first use case most people think of, but a form submission trigger can start a much longer chain. With Krom Automation, a single “form submitted” event can:

    • Send an immediate confirmation email to the submitter using their email address from the form
    • Add them as a contact in FluentCRM, ActiveCampaign or Mailchimp with tags pulled from their form responses
    • Create a WordPress post or update a custom post type record with the submission data
    • Send a Slack alert to the sales channel with the lead’s name, company and message
    • Wait 24 hours via a delay node, then send a follow-up email if no reply has been sent
    • Log the submission to a Google Sheet row for reporting

    All of that runs from one workflow, on one canvas, triggered by a single form submission. There are no separate Zaps, no separate Make scenarios and no third-party SaaS accounts required.

    The data stays in your WordPress database. For agencies managing client sites, that is a meaningful compliance and data-ownership argument.

    If you are looking at automating other site events beyond forms, the blog post on automating WordPress without Zapier covers the broader picture of what a self-hosted automation layer can replace.

    Also from wpRigel

    Pollify is wpRigel’s poll, survey and quiz plugin. It builds polls as native Gutenberg blocks directly inside the WordPress editor, so there are no shortcodes to paste and no separate admin interface to navigate. If you collect feedback through forms, Pollify handles the structured opinion-gathering side of the same problem.

    Commandify is a command palette for the WordPress admin. Press Cmd or Ctrl plus K to search, navigate and run admin actions without clicking through menus. It is particularly useful for agencies and developers managing high-volume sites, and it is the only command palette plugin with real WooCommerce order, product and customer commands built in.

    Our Verdict

    If you need a single email to one address when a form is submitted, your form plugin already does that for free. Do not install anything extra. Configure the native notification panel, set up SMTP, and you are done in under 10 minutes.

    If you need conditional routing, Slack alerts, CRM actions or any kind of multi-step response, the form plugin’s native panel runs out quickly, and the Pro upgrade cost for just that feature is hard to justify. Krom Automation’s free plugin handles conditional branching and HTTP requests without any payment. The Pro upgrade at $69 a year unlocks the messaging and CRM integrations that replace what would otherwise require two or three separate SaaS tools.

    For agencies running multiple client sites, the lifetime plans deserve a look. A one-time payment covering unlimited sites is a straightforward calculation against the recurring cost of per-site Pro licences on individual form plugins. Download the free plugin to test the workflow builder before committing to anything.

    See all Krom Automation plans and pricing to compare annual and lifetime options across all three tiers.

    Frequently Asked Questions

    Does Krom Automation work with Contact Form 7 on the free plan?

    The Contact Form 7 form submission trigger is a Pro feature, so you need Krom Automation Pro installed alongside the free base plugin. Once active, you can find full setup steps in the Contact Form 7 integration documentation. The Send Email action used in the resulting workflow is free.

    Can I send a confirmation email to the person who submitted the form?

    Yes. Every major form plugin has a separate “confirmation email” or “user notification” panel in addition to the admin notification.

    In Krom Automation, you add a second Send Email action to the same workflow using the submitter’s email address pulled in via a merge tag. Both the admin alert and the submitter confirmation fire from the single form submission trigger.

    Why are my notification emails landing in spam?

    The most likely cause is that WordPress is sending via PHP mail through a shared server IP with no SPF or DKIM authentication. Install an SMTP plugin and connect it to a transactional email service. Mailgun, SendGrid and Amazon SES all set the required DNS records and are free or very low cost at typical form submission volumes.

    How do I notify multiple people with different emails based on a form field?

    Use Krom Automation’s conditional branching. Add a Yes/No condition node after the form trigger, check the relevant field value, and connect separate Send Email actions to each branch.

    The conditions and branching documentation walks through the exact setup. This approach is easier to read and maintain than multiple conditional notification entries inside the form plugin itself.

    Can form submission notifications trigger actions in Mailchimp or FluentCRM?

    Yes, with Krom Automation Pro. The Mailchimp and FluentCRM integrations are Pro-level actions.

    Once your form trigger fires, you add a “Subscribe to Mailchimp List” or “Add FluentCRM Contact” action to the same workflow, map the form fields to the contact fields, and both the notification and the CRM action run together. See the Mailchimp integration guide and the FluentCRM integration guide for setup details.

    Does Krom Automation slow my site down when a form is submitted?

    No. All workflow execution runs in the background via Action Scheduler, completely separate from the page load that delivers the form confirmation to the user.

    The submission response is instant. The workflow actions fire asynchronously after the page has already returned to the browser.

    The wpRigel Team

    October 13, 2026
    User Guide
  • How to Send a Welcome Email When a User Registers on WordPress

    You can send a welcome email when a user registers on WordPress using Krom Automation, a free visual automation plugin. Set the User Registered trigger, connect a Send Email action, drop in merge tags like {{user.display_name}} and you are done. The whole setup takes under 10 minutes and the free plugin covers everything, no Pro required for a single welcome email.

    WordPress ships with a bare-bones notification that goes to the admin, not the user, and when it does reach the user it is plain text with no branding and no call to action. That email does almost nothing to onboard a new member, customer or student. A personalised welcome message sent within seconds of registration is one of the highest-open-rate emails a site will ever send, because the reader just took an action and the context is still fresh.

    This guide walks through the exact setup in Krom Automation: trigger, delay, personalised body with merge tags, a dry-run test using the built-in simulator, and an AI-generated variant for sites that want something more tailored. We also cover role-based branching, deliverability, and the WP-Cron timing issue that trips up low-traffic sites.

    Browse the full feature list or jump straight to the walkthrough below.

    Quick Summary

    GoalWhat you needFree or Pro?
    Send one welcome email on registrationUser Registered trigger + Send Email actionFree
    Personalise with the user’s name and usernameMerge tags in the email bodyFree
    Delay the email by 5 minutesDelay node (minutes, hours, days)Free
    Test without sending a real emailWorkflow SimulatorFree
    AI-written personalised email bodyAI Generate Text actionFree (bring your own API key)
    Send different emails by user roleConditional branching (Yes/No paths)Free
    Multi-step onboarding sequenceMultiple Send Email actions with delaysFree
    Branded HTML email with a visual builderVisual Email BuilderPro
    Trigger from a form plugin (Gravity Forms, WPForms, Fluent Forms)Form-specific triggerPro

    Why the Default WordPress Registration Email Falls Short

    Out of the box, WordPress sends two emails on registration: one to the admin saying a new user joined, and one to the user containing only their username and a password reset link. Both are plain text. Neither carries your branding, your product name, or any guidance on what to do next.

    Research consistently shows that welcome emails average open rates above 50 percent, often 3 to 4 times higher than a standard newsletter. Sending the wrong thing at that moment is not a neutral outcome. It is a missed handshake with a reader who was ready to engage.

    The plugins most commonly recommended for this, such as Better Notifications for WP, solve the plain-text problem but stop there. They give you a customisable template with shortcodes, but no conditional logic, no delays, no sequences, and no analytics on whether the email actually ran. Krom Automation treats the welcome email as the first step in a workflow, not a standalone notification, which means you can extend it later without rebuilding from scratch.

    A welcome email sent at registration has a 50-plus percent open rate. What you put in that email matters more than almost any campaign you will ever run.

    Step-by-Step: Send a Welcome Email When a User Registers on WordPress

    Everything below uses the free version of Krom Automation. Download the free plugin from the WordPress.org plugin directory, install it, and activate it before starting. Full installation instructions are in the Krom Automation installation guide.

    Step 1: Create a New Workflow

    Go to Krom Automation > Workflows in your WordPress admin and click Add New. Give the workflow a name you will recognise, such as “Welcome Email on Registration”. The canvas opens with a blank start node.

    You can also load one of the 20 free workflow templates. There is a welcome email template in the User category that pre-populates the trigger and a basic Send Email action, which saves a few clicks if you want a starting point.

    Step 2: Set the User Registered Trigger

    Click the trigger node and select User Registered from the User trigger group. This fires once each time a new account is created through any standard WordPress registration path: the default login page, WooCommerce checkout, or any plugin that calls the native user_register hook.

    The trigger exposes a set of merge tags automatically, including {{user.display_name}}, {{user.user_email}}, {{user.user_login}} and {{user.ID}}. You will use these in the email body. The full list is documented in the merge tags reference.

    Step 3: Add a Short Delay (Optional but Recommended)

    Sending a welcome email the instant someone hits the registration button can feel robotic, and it also means the email races the password confirmation email that WordPress sends natively. A 5-minute delay lets WordPress finish its own notifications first and makes your welcome feel slightly more considered.

    Click the plus icon below the trigger, select Delay, and set it to 5 minutes. Delays in Krom Automation run via Action Scheduler, so they do not block page loads. The delay documentation covers all available units, including minutes, hours, days, weeks and a custom seconds value, in the delays and scheduling guide.

    Step 4: Add the Send Email Action

    Add a Send Email action after the delay node. Fill in the following fields:

    • To: {{user.user_email}} (sends to the newly registered user)
    • From name: Your site or brand name
    • Subject: Something like “Welcome to [Site Name], {{user.display_name}}”
    • Body: Your welcome message, with merge tags for personalisation

    A simple body might read: “Hi {{user.display_name}}, thanks for joining. Your login is {{user.user_login}}.

    Here is where to start: [link to your getting started page].” That is already meaningfully better than the default WordPress email. The full actions reference lists every available field and its accepted values.

    Step 5: Test with the Workflow Simulator

    Before activating the workflow, run it through the Workflow Simulator. Click the simulator button in the top toolbar, supply a test user ID, and the simulator executes every step in dry-run mode: no email is sent, no database rows are written, but you see exactly what would happen at each node, including the resolved values of every merge tag.

    This is the correct way to verify the workflow. Registering a real test account works too, but the simulator is faster and leaves no test users in your database. Full instructions are in the workflow simulator documentation.

    Step 6: Activate and Monitor

    Toggle the workflow to Active. From this point, every new registration triggers the sequence automatically.

    The analytics dashboard shows total executions, success rate and failed execution count. The execution log gives you a per-step audit trail so you can see exactly when an email fired and what merge tag values it resolved to.

    If an execution fails, for example because a user registered with no email address, Krom Automation sends you a failure notification and retries automatically with configurable backoff.

    The simulator is the single biggest time saver in the plugin. Running a dry test takes 30 seconds. Finding out the merge tags resolved incorrectly after 200 registrations does not.

    How to Personalise the Welcome Email with AI

    The free plugin includes three AI actions: AI Generate Text, AI Content Moderation and AI Auto-Tag. You can use AI Generate Text to write the welcome email body dynamically rather than using a static template.

    To set this up, insert an AI Generate Text node before the Send Email action. In the prompt field, write something like: “Write a warm, brief welcome email for a new user named {{user.display_name}} who just registered on [site name].

    Keep it under 100 words. Do not include a subject line.”

    The AI action outputs generated text. Store that output in a variable and reference it in the Send Email body field. The result is a unique email for every registration, which reads noticeably differently from a template.

    You connect your own API key, and you pay your provider directly at standard rates. Supported providers and models in the free version include OpenAI GPT-4o Mini and GPT-4o, Google Gemini 2.0 Flash and 2.5 Flash Preview, and Groq Llama 3.3 70B. For a broader look at what AI can do across a WordPress site, see our guide on using AI to automate WordPress.

    How to Send Different Welcome Emails Based on User Role

    Not every registrant should get the same email. A customer who registers during WooCommerce checkout has different needs from a member who signed up for a course or a contributor who requested an account. Krom Automation handles this with conditional branching, available free.

    After the User Registered trigger, add a Condition node and set the condition to check {{user.role}}. Each branch gets its own Send Email action with a subject line and body written for that audience:

    • Customer role: “Your order account is ready. Here is how to track orders.”
    • Subscriber role: “You are now subscribed. Here is what to read first.”
    • Editor role: “Welcome to the team. Here is the editorial calendar.”

    You can chain as many condition nodes as you need. Each Yes/No path is independent, so a customer never sees the contributor email and vice versa. The full logic reference is in the conditions and branching documentation.

    How to Build a Multi-Step Welcome Sequence

    Every competing tutorial treats the welcome email as a single message. It does not have to be. Because Krom Automation runs on a canvas with delays, you can build a full onboarding sequence from one workflow:

    1. Immediately (0 min): Internal Slack or email notification to your team that a new user registered
    2. 5 minutes later: Welcome email with login instructions and a link to your getting started guide
    3. Day 2: A follow-up email pointing to your most popular content or feature
    4. Day 7: A check-in email asking if they need help, with a link to support

    Each step is a node on the canvas. Add a delay between each Send Email action and the sequence runs automatically for every new registrant.

    The Run Once per entity setting ensures no user receives the sequence more than once, even if they somehow trigger the workflow twice. For Slack notifications, the messaging integrations guide covers Slack, Discord, Twilio and Telegram setup.

    Connecting Registration to Your Email Marketing Tool

    Sending the welcome email through Krom Automation is fine for transactional messages. For ongoing marketing, you probably want new registrants added to your email list automatically at the same moment. Add a second action branch from the User Registered trigger to subscribe the user to your list.

    Krom Automation Pro connects to Mailchimp, ConvertKit, MailerLite, MailPoet, ActiveCampaign and FluentCRM, all on the same canvas as your welcome email workflow. Documentation for each integration is available separately:

    • Mailchimp integration: subscribe, tag and sync users automatically
    • FluentCRM integration: contacts, tags and lists
    • MailerLite integration: subscribe, unsubscribe and manage groups
    • ConvertKit integration: subscribers, tags, sequences and forms

    That means a single registration event can fire the welcome email AND subscribe the user to your list AND tag them in your CRM, all in the same workflow without writing a line of code.

    What About Deliverability? The Part Nobody Else Covers

    Every tutorial for this topic assumes wp_mail() just works. It often does not. WordPress sends email via PHP mail by default, which most hosting providers either block outright or let through in a way that makes the email look suspicious to spam filters.

    Before relying on any welcome email workflow, configure an SMTP plugin and verify your domain has valid SPF and DKIM records pointing to your sending provider. Tools like WP Mail SMTP or FluentSMTP handle this. Without proper authentication, a welcome email that triggers correctly in Krom Automation can still land in the user’s spam folder or disappear entirely, and the execution log will show a successful send because WordPress accepted the handoff to PHP mail.

    Krom Automation’s failure notifications and execution logs will not catch a deliverability problem at the SMTP level. They tell you whether WordPress accepted the email for sending.

    Whether it arrived is a question for your SMTP provider’s delivery logs. This is the honest limitation every automation plugin shares, not just Krom Automation.

    The WP-Cron Timing Issue on Low-Traffic Sites

    Delayed actions in Krom Automation run through Action Scheduler, which relies on WP-Cron. WP-Cron fires when someone visits your site. On a site that receives very little traffic, a delay set to 5 minutes might not execute until the next visitor arrives, which could be an hour later.

    The fix is a real server cron job that calls wp-cron.php on a schedule, typically every 5 minutes. Your hosting control panel usually supports this. Once a real cron is in place, delays run on time regardless of traffic.

    For a welcome email, a few minutes of imprecision is harmless. For time-sensitive automations, the server cron is not optional.

    Action Scheduler is solid infrastructure. WP-Cron is the weak link, and on a quiet site it is the only reason a delay does not run on time. Fix the cron and the rest takes care of itself.

    What This Does Not Cover (Honest Constraints)

    A few scenarios that fall outside this setup:

    • Registration via third-party forms: If users register through Gravity Forms, WPForms, Fluent Forms, or Elementor Forms, the User Registered trigger may fire depending on whether the form creates a WordPress user. Pro-tier integrations give you form-specific triggers with access to every field. See the Gravity Forms integration docs or the WPForms integration docs for the exact setup.
    • Email confirmation gating: If you want to send the welcome email only after the user confirms their address, you need a plugin that adds email confirmation to the registration flow. The User Registered trigger fires on account creation, not on confirmation.
    • Suppressing the default WordPress notification: WordPress sends its own registration email separately. Krom Automation does not suppress that. If you want to remove the default email, you need a small code snippet using the wp_new_user_notification_email filter, or a plugin that manages registration emails.
    • Membership-gated registration: Sites using MemberPress, BuddyBoss or similar have their own registration flows with additional triggers. The MemberPress integration and BuddyBoss integration cover those scenarios.

    Free vs Pro: What You Actually Need for Welcome Emails

    Use caseFreePro
    Single welcome email with merge tagsYesNot needed
    Delayed delivery (minutes, hours, days)YesNot needed
    AI-generated email bodyYes (bring your own key)Not needed
    Role-based conditional branchingYesNot needed
    Multi-step onboarding sequenceYesNot needed
    Execution logs and analyticsYesNot needed
    Branded HTML email with visual builderNoYes
    Subscribe user to Mailchimp or FluentCRM at the same timeNoYes
    Trigger from Gravity Forms or WPForms registrationNoYes
    80+ additional triggers for advanced conditionsNoYes

    Pro starts at $69 a year or $199 as a lifetime purchase for a single site. See the full plan comparison to decide whether the email marketing integrations or the visual email builder justify the upgrade for your site.

    Also from wpRigel

    Pollify is our Gutenberg-native poll, survey and quiz plugin. Polls are built directly as blocks inside the editor, so there are no shortcodes to paste and no separate interface to configure. It is worth knowing about if you want to collect structured feedback from the users you are now onboarding.

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

    Our Verdict

    If your goal is a personalised, conditional, logged welcome email that you can extend into a full onboarding sequence later, the free version of Krom Automation is the right tool and the setup takes less than 15 minutes. The visual canvas makes the logic readable at a glance, the simulator means you never test on real users, and the execution logs tell you exactly what ran and when.

    If you only need a static plain-text welcome email and have no plans to add logic or sequences, a lightweight notification plugin is a simpler choice. Krom Automation is deliberately more capable than a notification plugin, which makes it slightly more to configure even for the simplest case.

    For anyone building a membership site, a course platform, a SaaS on WordPress, or any site where the registration moment matters, start with the free plugin, get the welcome email working, then decide whether the Pro email marketing integrations or the visual email builder are worth the upgrade.

    Download Krom Automation free from the WordPress.org plugin directory and follow the first workflow walkthrough in our documentation to have it running in minutes.

    See Krom Automation pricing and plan details if you are ready to add email marketing integrations or the branded email builder.

    Frequently Asked Questions

    Does Krom Automation replace the default WordPress registration email?

    No. Krom Automation sends its own welcome email as an additional automation.

    The default WordPress registration notification still fires unless you suppress it separately using the wp_new_user_notification_email filter or a plugin that manages that notification. Most sites choose to disable the default and let Krom Automation handle the messaging entirely.

    Can I send the welcome email only after the user confirms their email address?

    Not with the User Registered trigger alone. That trigger fires when the account is created, not when the address is verified.

    If your registration flow requires email confirmation via a plugin, check whether that plugin fires a custom hook on confirmation. If it does, you can use the HTTP webhook receiver in Krom Automation Pro to catch it, or request a native trigger on the Krom Automation roadmap.

    Why is my welcome email going to spam?

    Almost certainly a deliverability issue, not an automation issue. WordPress uses PHP mail by default, which lacks SMTP authentication and is treated as suspicious by most inbox providers.

    Install an SMTP plugin, configure it with your sending provider, and verify your domain has SPF and DKIM records in place. Once those are correct, emails sent through Krom Automation arrive like any properly authenticated message.

    Can I send different welcome emails based on which registration form the user used?

    Yes, in two ways. For role-based differences, use a Condition node on {{user.role}} in the free plugin. For form-specific differences based on which Gravity Forms, WPForms or Fluent Forms form the user completed, you need the Pro-tier form integrations, which give you form-specific triggers with access to individual field values.

    How do I resend a welcome email to a user who did not receive it?

    Open the execution log for the workflow and find the original execution for that user. If it failed, the log shows the reason and the retry count.

    If you want to trigger a resend manually, you can do so from the execution log or by using the HTTP Request action to call your own workflow endpoint. For a one-off resend, the simplest approach is temporarily duplicating the workflow, setting it to run once, and manually triggering it with the user ID.

    Does registering through WooCommerce checkout trigger the User Registered event?

    Yes. When a customer creates an account during WooCommerce checkout, WordPress creates a standard user record and fires the same user_register hook.

    Krom Automation’s User Registered trigger catches this automatically. If you want to send a different welcome email to customers versus other registrant types, add a Condition node checking whether the user has the Customer role.

    The wpRigel Team

    October 12, 2026
    User Guide
  • How to Automatically Tag and Categorise WordPress Posts With AI

    You can automatically tag WordPress posts with AI using Krom Automation, a free WordPress plugin. The AI Auto-Tag action is included in the free version, no Pro licence required.

    You connect a “Post Published” trigger to the AI Auto-Tag action, supply your own API key from OpenAI, Google Gemini or Groq, and every new post gets tagged the moment it goes live. The whole setup takes under 10 minutes.

    The free plugin handles tagging for new posts on publish. If you need to retroactively tag hundreds or thousands of existing posts, the most practical approach combines a scheduled workflow with a Post Updated trigger, which lets you process your back catalogue in controlled batches. We cover both flows below, along with the tag governance decisions that every other guide skips entirely.

    This guide also addresses the question nobody answers directly: how many tags should AI assign, what happens to your existing tags, and how do you stop a well-meaning automation from turning your tag archive into 400 near-duplicate terms that confuse both readers and search engines.

    Browse the full feature list to see every free trigger and action before you commit to a setup.

    What the AI Auto-Tag Action Actually Does

    The AI Auto-Tag action reads the post content and uses your chosen AI model to generate relevant tags. It then applies those tags to the post inside WordPress, the same way you would add them manually from the editor. No markup is altered, no post content is modified, and the action leaves existing tags in place by default.

    The critical behaviour to understand before you build a workflow: by default, the action adds tags rather than replaces them. If a post already has three manually set tags, the AI adds its suggestions alongside them.

    This is the right default for most sites. If you want the AI to own tagging entirely and ignore any manual tags, that is a deliberate choice you make in the action settings, not an accident.

    Tag creation behaviour also matters. The action can be configured to:

    • Use existing tags only, so the AI matches content to tags already in your database and never creates a new term
    • Create new tags freely, so the AI generates whatever terms fit the content, even if those terms do not yet exist in WordPress
    • Cap the maximum tag count per post, which we recommend setting to between 3 and 7 to prevent tag sprawl

    For most editorial sites, “existing tags only” is the safer starting point. You define the vocabulary once, the AI applies it consistently, and your tag archive stays clean. Switching to “create new tags” makes sense when you are building a new site and want the AI to help you discover what your tag taxonomy should be, not when you are managing an established archive.

    Letting AI create tags freely on an established site is like hiring a filing clerk who invents their own categories. The filing gets done. Finding anything afterward takes twice as long.

    Which AI Providers Work and What Do They Cost You

    Krom Automation never charges per AI call and never marks up tokens. You bring your own API key, pay your provider at their standard rate, and the cost goes directly to them. wpRigel takes nothing from that transaction.

    The free plugin supports seven models across three providers:

    • OpenAI: GPT-4o Mini, GPT-4o
    • Google Gemini: Gemini 2.0 Flash, Gemini 2.5 Flash Preview, Gemini 2.5 Pro Preview
    • Groq: Llama 3.3 70B, Llama 3.1 8B

    For auto-tagging specifically, GPT-4o Mini and Gemini 2.0 Flash are the cost-effective choices. A typical 1,000-word post generates a tagging request of roughly 1,000 to 1,500 tokens in and 20 to 50 tokens out.

    At GPT-4o Mini rates, tagging 500 posts costs well under $1. If you are processing a large back catalogue, Groq’s Llama models are free on the free tier up to their rate limits, which makes retroactive bulk tagging on a budget genuinely achievable.

    Setting Up Auto-Tagging for New Posts: Step by Step

    Before you build the workflow, read how Krom Automation works if this is your first workflow. The core model is simple: a trigger fires when something happens, actions run in response, and the canvas connects them visually.

    To tag every new post on publish:

    1. Install and activate the free Krom Automation plugin from the WordPress.org plugin directory
    2. Go to Krom Automation in your WordPress admin and click “Add New Workflow”
    3. On the canvas, add the Post Published trigger and set the post type to “Post” (or whichever post type you want to tag)
    4. Add the AI Auto-Tag action and connect it to the trigger node
    5. In the action settings, choose your AI provider, paste your API key, and set your maximum tag count and tag creation mode
    6. Save and activate the workflow

    The next post you publish will be tagged automatically within seconds of the trigger firing. Use the workflow simulator to run a dry test against an existing post before you go live. It shows exactly what tags would be applied, with zero side effects on real content.

    If you want to add a human review step, you can insert a conditional branch after the AI Auto-Tag action. See the conditions and branching documentation for how to build Yes and No paths, which lets you route borderline posts to a draft status for manual review while publishing clean ones immediately.

    How to Bulk Auto-Tag Existing Posts

    Every other auto-tagging guide ignores your existing content. Most sites have hundreds or thousands of posts that predate any AI tool, and those posts are the ones with the most search traffic at stake. Here is a practical approach for processing them without breaking your site or your tag taxonomy.

    The core problem with bulk retroactive tagging is volume control. Sending 2,000 posts to an AI provider at once is not a workflow, it is an invoice. The safer approach is batching: process 20 to 50 posts per run, on a schedule, until the back catalogue is done.

    In Krom Automation Pro, the Schedule Trigger lets you fire a workflow hourly, daily or on a custom interval. Combined with a query that fetches untagged posts and passes them through the AI Auto-Tag action, you get controlled batch processing with full execution logs and failure notifications if anything goes wrong.

    For the free plugin, the practical equivalent is to export a CSV of untagged post IDs, bulk-edit them in batches inside WordPress to trigger a “Post Updated” event, and let the workflow catch each update. It is more manual, but it works and costs nothing beyond the API calls.

    Retroactive tagging is not a one-afternoon job. It is an editorial project. The sites that do it well set a tag limit, audit the results after the first 100 posts, and adjust the prompt before running the rest.

    Tag Governance: The Part Every Other Guide Skips

    Tag sprawl is when your tag archive slowly fills with near-duplicate terms: “marketing strategy”, “marketing strategies”, “content marketing strategy”, “digital marketing tips”. Each term has one or two posts attached.

    None of them rank for anything. All of them generate thin archive pages that dilute your site authority.

    AI auto-tagging accelerates whatever tagging discipline you already have. Good discipline scales well. No discipline scales into a mess faster than you can clean it up.

    Before you run any auto-tagging workflow, answer these three questions:

    • What is the maximum number of tags per post? We recommend 3 to 7. More than 7 and the tags stop being meaningful signals. Fewer than 3 and you are not getting the taxonomy coverage the feature exists to provide.
    • Who owns the tag vocabulary? If the AI creates new tags freely, nominate someone to audit new terms weekly. A monthly audit is too infrequent once you have a high-volume site.
    • What is your merge strategy for near-duplicates? WordPress does not merge tags automatically. You will need a taxonomy management plugin or manual cleanup when you spot drift. Building the cleanup step into your governance workflow from day one is far cheaper than a one-off cleanup of 600 tags six months from now.

    The “existing tags only” mode in the AI Auto-Tag action is the best technical safeguard. If the AI can only choose from the 80 tags you have already defined, the worst it can do is pick a slightly imprecise match.

    That is recoverable. A freely-generating AI choosing new tag names daily is not.

    Will AI Auto-Tagging Help or Hurt Your SEO?

    The honest answer is: it depends entirely on how you configure it, and the risk comes from the output rather than the mechanism.

    Tags in WordPress generate archive pages. Each archive page is a URL that Google crawls and indexes.

    A tag with 30 posts behind it is a meaningful topical signal. A tag with one post behind it is a thin page with near-zero ranking potential, and if you have 200 of those, you are giving Google 200 reasons to view your site as shallow.

    The configuration choices that protect your SEO:

    • Set the tag creation mode to “existing tags only” until your taxonomy is mature
    • Cap tags per post at 5 or fewer during the initial rollout
    • Use the execution logs in Krom Automation to review the first 50 tagged posts before running the full back catalogue
    • Add noindex to tag archives with fewer than 5 posts, using Yoast SEO or RankMath’s taxonomy settings, until the archive builds enough content to justify indexing

    Done this way, AI auto-tagging is a genuine SEO lever. Consistent tagging across hundreds of posts creates topical clusters that manual tagging rarely achieves because it is too easy to forget a tag or use a slightly different term on each post.

    Does This Work With WooCommerce Products and Custom Post Types?

    Yes. In the Post Published trigger, you set the post type. WordPress registers WooCommerce products as the “product” post type.

    Set the trigger to “product” and the AI Auto-Tag action will tag products exactly as it tags posts. The same applies to any custom post type registered on your site.

    If you run WooCommerce, you may also find the WooCommerce Subscriptions integration useful for broader order and subscription automation beyond tagging. And if your site uses forms to gather data that informs content creation, the Gravity Forms integration and WPForms integration let you trigger other workflows from form submissions in the same canvas.

    The Timing Limitation You Should Know About

    Krom Automation runs background tasks via Action Scheduler, the same queue system WooCommerce uses. This means the AI Auto-Tag action does not run during the page load that saves your post. It fires in the background, typically within a few seconds on a site with normal traffic.

    On very low-traffic sites, WP-Cron only fires when someone visits the site. If your site goes several hours without a visitor, a scheduled or queued action waits until the next visit before it runs.

    The fix is to disable WP-Cron in wp-config.php and configure a real server cron job to call the WordPress cron endpoint every minute. This is a one-time server configuration that costs nothing and makes every time-dependent automation on your site more reliable, not just Krom Automation.

    For a broader view of how AI can power WordPress automation beyond tagging, see our guide on using AI to automate your WordPress site.

    Free vs. Pro: What Do You Actually Need for Auto-Tagging?

    Use caseFree pluginPro required
    Tag new posts on publishYesNo
    Tag WooCommerce products on publishYesNo
    Tag custom post types on publishYesNo
    Conditional branch after tagging (review step)YesNo
    Dry-run testing with the simulatorYesNo
    Scheduled batch processing of existing postsNoYes (Schedule Trigger)
    AI workflow generation from plain EnglishNoYes
    Incoming webhook to trigger tagging from external eventsNoYes

    The free plugin handles the primary use case fully. Pro becomes relevant when you want to run scheduled batch jobs against existing content or trigger tagging from external systems via webhook.

    What It Costs Across One, Five and Twenty Sites

    ScenarioFree plugin onlyKrom Pro Basic (1 site)Krom Pro Standard (5 sites)Krom Pro Enterprise (unlimited)
    1 site, new posts only$0/yearFrom $69/yearFrom $149/yearFrom $299/year
    5 sites, new posts only$0/year5x Basic licencesFrom $149/yearFrom $299/year
    1 site, includes batch back-catalogueNot availableFrom $69/yearFrom $149/yearFrom $299/year
    20+ client sites, agency use$0/year, manual setup eachNot practicalNot practicalFrom $299/year
    Any tier, lifetime optionFree foreverFrom $199 onceFrom $399 onceFrom $699 once

    Launch pricing is currently applied. See the current pricing for up to date figures. All Pro plans include a 14-day money-back guarantee and every Pro feature, with the only difference between plans being the number of site activations.

    For context, at the time of writing, Uncanny Automator’s automation plans start at $199 per year for one site, with AI features starting at $300 per year. Krom Automation’s free tier includes AI actions at no additional cost from wpRigel, which is a material difference for teams watching per-feature costs.

    For agencies running 10 or more client sites, the Enterprise lifetime plan at $699 one time competes directly with a single year of per-site SaaS tooling. That is the calculation worth running before you renew anything.

    How This Compares to Standalone Auto-Tagging Plugins

    There are WordPress plugins built specifically for AI tagging. TagPilot AI uses the Dandelion NLP API and focuses on the install-and-forget flow.

    Qwebmaster AI Auto Tagger takes a privacy-first approach where all processing happens on-server with no external API. PublishPress Taxonomies Pro integrates with OpenAI and IBM Watson for taxonomy management at a broader level.

    The practical difference with Krom Automation is scope. A dedicated tagging plugin does one thing. Krom Automation does tagging as one of 21 free actions inside a workflow that can also send emails, update post meta, create users, make HTTP requests, and moderate comments.

    If tagging is the only thing you need, a dedicated plugin is a legitimate option. If you are already building automations or plan to, adding a tagging step to an existing workflow costs nothing extra.

    The other difference is the audit trail. Krom Automation logs every execution with a per-step breakdown, so you can see exactly which tags were applied to which post and when. Debugging a misfiring tag rule in a dedicated plugin typically means searching through a settings page.

    In Krom Automation, you open the execution history and read the result directly. Our guide on AI comment moderation shows the same pattern applied to a different content management problem.

    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, so there are no shortcodes to paste and no separate interface to learn. It is the fastest way to add audience engagement to any post or page without leaving the editor.

    Commandify is a command palette for the WordPress admin. Press Cmd or Ctrl plus K from anywhere in the admin to jump to any page, search any content type, and run admin actions without clicking through menus. It is the only command palette plugin with genuine WooCommerce depth, covering orders, products and customers as first-class commands.

    Our Verdict: Who Should Use This and Who Should Not

    Use the AI Auto-Tag workflow if you publish more than 4 posts per month and find tagging inconsistent across your archive. Inconsistency is the real cost: posts on the same topic tagged differently create fragmented archives that neither readers nor search engines can navigate. The free plugin handles this with zero recurring cost from wpRigel, and the only ongoing expense is your AI provider’s token fees, which are negligible at typical publishing volumes.

    Do not use it if your site has fewer than 20 posts total. The overhead of setting up a workflow and governing a tag taxonomy is not worth it at that scale.

    Manual tagging takes minutes and gives you full control when the site is small enough for one person to manage in their head. Come back when you are publishing regularly and the manual process starts creating gaps.

    For agencies managing multiple client sites, the workflow is worth setting up once, exporting as JSON, and importing to each new site. Krom Automation supports workflow import and export, so you build the tagging workflow once and deploy it everywhere. That is the use case where the Enterprise lifetime plan earns its cost back in the first quarter.

    Download the free plugin from the WordPress.org plugin directory and set up your first auto-tagging workflow today. If you decide you need scheduled batch processing for existing posts, compare all three Pro plans to find the right fit.

    Frequently Asked Questions

    Will the AI Auto-Tag action overwrite my existing tags?

    No. By default it adds tags alongside any existing ones.

    If you want the AI to replace all existing tags, that is a deliberate setting you change in the action configuration. The default protects manually set tags.

    How many tags should AI assign per post?

    We recommend capping at 3 to 7 per post. Below 3, the taxonomy coverage is too thin to build meaningful topical clusters. Above 7, the tags start to overlap and lose their value as navigational signals for both readers and search engines.

    Does auto-tagging work with custom post types, not just standard posts?

    Yes. In the Post Published trigger, you select which post type fires the trigger. Any custom post type registered on your site, including WooCommerce products, is available in that dropdown.

    Is there a free AI auto-tagger for WordPress, or do I always need to pay for an API?

    Krom Automation is free to download and the AI Auto-Tag action is included at no cost from wpRigel. You do need an API key from OpenAI, Google Gemini or Groq. Groq’s Llama models have a free tier that is sufficient for moderate tagging volumes, making it possible to start with no API cost at all.

    Can I auto-tag existing posts, or only new ones going forward?

    The free plugin tags posts when they are published or updated, so you can trigger retroactive tagging by batch-updating existing posts. Krom Automation Pro adds a Schedule Trigger that lets you run automated batch jobs against existing content on a set interval without manual edits.

    Will AI-generated tags help my SEO or create thin archive pages?

    Both outcomes are possible and the configuration determines which one you get. Setting the action to “existing tags only” and capping at 5 tags per post creates consistent topical clusters that support SEO. Allowing the AI to create new tags freely without governance creates thin archive pages quickly.

    The technical tool is neutral. The editorial discipline around it is what makes the difference.

    The wpRigel Team

    October 12, 2026
    User Guide
  • How Do I Moderate WordPress Comments Automatically With AI?

    You can moderate WordPress comments automatically with AI using Krom Automation, a free WordPress plugin. Connect the Comment Submitted trigger to the AI Content Moderation action, set your sensitivity threshold, and every incoming comment gets scored for spam and toxicity before it touches your moderation queue.

    The free plugin covers this entirely. No Pro plan required.

    WordPress has no built-in AI moderation. Its native comment controls let you hold all comments for manual review, require prior approval, or rely on Akismet’s pattern-matching filter.

    None of those use a language model. They catch known spam signatures but miss nuanced toxicity, off-topic attacks and low-quality noise that looks grammatically clean.

    Krom Automation takes a different approach. You bring your own API key from OpenAI, Google Gemini or Groq, connect it once, and the plugin calls the model on every comment that arrives. The result determines whether the comment is approved, held for review or moved to trash, automatically, with a full execution log so you can audit every decision.

    Browse the full feature list to see everything the free plugin includes before you install it.

    Is Akismet Still Good Enough in 2026?

    Akismet is a signature-based filter. It compares incoming comments against a database of known spam patterns and blocks matches.

    That works well against bot-submitted garbage, and for many small blogs it is sufficient. The gap appears when spam is new, when it looks legitimate on the surface, or when the problem is toxicity rather than spam.

    A comment that reads “Great post, but the author clearly has no idea what they’re talking about” is not spam. Akismet passes it.

    A language model can flag it as hostile and hold it for human review before it goes live. That is a genuinely different capability, not a better version of the same thing.

    The practical answer is that Akismet and AI moderation solve different problems. Running both together is the configuration that covers the most ground. Akismet handles volume bot attacks cheaply.

    AI moderation handles nuance. Sites with active comment sections, community forums or product reviews benefit most from adding the AI layer.

    Akismet stops bots. AI moderation stops humans behaving badly. You likely need both, and the free tier of each covers most sites.

    How the Free AI Content Moderation Action Works

    Inside Krom Automation’s visual workflow builder, you connect nodes on a drag-and-drop canvas. The moderation workflow uses three nodes: a trigger, an AI action and a branch.

    • Trigger: Comment Submitted. Fires the moment a comment lands, before it is approved or displayed.
    • Action: AI Content Moderation. Sends the comment text to your chosen AI provider and returns a verdict: safe, flagged or blocked, along with a confidence score.
    • Branch: Yes/No conditional. Routes flagged comments to a hold action, blocked comments to trash, and safe comments to an approve action. You set the thresholds.

    The conditions and branching documentation covers how to configure the Yes/No logic for different sensitivity levels. You can run a strict threshold on a children’s site and a looser one on a debate-oriented publication, using the same workflow structure with different values.

    Sensitivity is configurable. A score of 0.7 or above holds the comment. A score of 0.9 or above trashes it.

    Those numbers are yours to set. The AI does not make binary decisions on its own. It returns a score, and your threshold determines the outcome.

    Which AI Providers Can You Use?

    Krom Automation supports seven models across three providers in the free version. You connect your own API key in the plugin settings.

    wpRigel never charges per AI call and never marks up tokens. You pay your provider directly at their standard rate.

    Provider Models available (free plugin) Approximate cost per 1,000 comments
    OpenAI GPT-4o Mini, GPT-4o $0.01 to $0.15 depending on model and comment length
    Google Gemini Gemini 2.0 Flash, Gemini 2.5 Flash Preview, Gemini 2.5 Pro Preview $0.01 to $0.10 for most comment volumes
    Groq Llama 3.3 70B, Llama 3.1 8B Very low; Groq’s inference pricing is among the lowest available

    For a blog receiving 500 comments a month, the AI cost using GPT-4o Mini runs well under $1 per month. A high-traffic publisher at 50,000 comments a month should model costs carefully before committing to a premium model. For that volume, Gemini 2.0 Flash or Groq’s Llama 3.1 8B keeps costs in the $5 to $15 range monthly, while GPT-4o at the same volume could reach $75 or more.

    The cost modeling matters because no other moderation plugin documentation does it honestly. Choosing the right model for your volume is the most important configuration decision you make.

    What Does the Workflow Actually Catch?

    Traditional spam filters operate on pattern matching. They look for repeated URLs, known spam domains, or comment text that appeared in their training database.

    AI Content Moderation operates on meaning. The model reads the comment as a sentence and scores it against categories you care about.

    • Spam detection: Catches low-quality promotional comments, affiliate spam and keyword stuffing that looks grammatically correct and fools signature-based filters.
    • Toxicity scoring: Flags hostile, abusive or threatening language even when it uses no known slur and matches no spam pattern.
    • Sensitivity detection: Identifies potentially sensitive content appropriate to hold on certain site types, such as health or legal sites where user-generated advice carries risk.
    • Off-topic and low-quality signals: Some configurations flag comments that contribute nothing to the discussion, reducing the moderation queue even when a comment is not strictly spam or toxic.

    What it does not catch is context it was not given. If a comment uses site-specific jargon that looks hostile out of context, the model may score it incorrectly. The hold outcome exists for exactly that reason.

    A held comment goes to your moderation queue rather than being trashed, so a human still reviews edge cases. Only comments scoring above your highest threshold go straight to trash.

    Automatic trash should be reserved for the highest-confidence verdicts. Hold everything else and let the queue shrink by 80 percent, not 100 percent.

    Setting Up the Workflow: What You Actually Configure

    Start with the step-by-step workflow builder guide if this is your first Krom Automation workflow. The moderation setup specifically involves these decisions:

    1. Choose your AI provider and model. For most sites, GPT-4o Mini or Gemini 2.0 Flash balances accuracy and cost. Connect the API key in Krom Automation settings.
    2. Set the Comment Submitted trigger. This fires before any comment is displayed. The trigger captures comment content, author name, author email and post ID as merge tags available to every downstream action.
    3. Configure the AI Content Moderation action. Pass the comment body using the comment content merge tag. Set your sensitivity level: low, medium or high. The action returns a verdict and a numeric score.
    4. Add a Yes/No branch on the score. Route scores below your hold threshold to an approve action. Route scores between your hold and trash thresholds to an update comment status action set to “pending”. Route scores above your trash threshold to a delete post action targeting the comment.
    5. Enable run-once per entity enforcement. This prevents a single comment from triggering the workflow twice on sites with caching or retry logic.
    6. Use the workflow simulator for a dry run. The simulator runs your workflow with zero side effects, so you can confirm the routing logic before it touches live comments.

    The merge tags documentation lists every variable the Comment Submitted trigger exposes. Author email is particularly useful if you want to add a second branch that skips moderation for verified registered users with more than five approved comments.

    Cost of AI Comment Moderation Versus the Manual Alternative

    This is the table nobody publishes. Most plugin pages tell you AI saves time. They rarely show the numbers behind that claim.

    Scenario Manual moderation cost AI moderation cost (Krom free + API) Net saving
    Small blog, 200 comments/month 45 min/month at $50/hr = $37.50 Plugin free + ~$0.05 API cost ~$37 per month
    Active community site, 5,000 comments/month 18 hrs/month at $50/hr = $900 Plugin free + ~$1 to $5 API cost ~$895 to $899 per month
    High-traffic publisher, 50,000 comments/month Dedicated moderator or outsourced, $800 to $2,000/month Plugin free + $5 to $75 API cost depending on model $725 to $1,995 per month

    The manual cost estimate uses 15 seconds per comment for a trained moderator making a simple approve or trash decision. That is a conservative figure.

    Complex community sites where moderators read context and respond to disputes run considerably higher. The AI cost range reflects model choice: Groq Llama 3.1 8B is at the low end, GPT-4o is at the high end.

    Even for a small blog, the return is not really about money. It is about whether comment moderation happens at all.

    Most site owners on tight schedules let their queue back up for days, which means spam sits visible for hours. Automation eliminates the delay entirely.

    Honest Limits: What AI Comment Moderation Gets Wrong

    No moderation system is perfect. AI Content Moderation in Krom Automation has specific constraints you should understand before relying on it fully.

    • False positives on sarcasm and irony. A comment that uses hostile phrasing in a clearly joking context may score high for toxicity. Set your trash threshold conservatively. Hold is safer than trash for borderline scores.
    • Language coverage varies by model. Most models perform best on English. Sites with significant non-English comment traffic should test accuracy on their actual language mix before setting aggressive thresholds.
    • WP-Cron timing on low-traffic sites. Krom Automation runs actions via Action Scheduler, which depends on WordPress Cron. On sites that receive fewer than a few visits per hour, WP-Cron can fire late, meaning the moderation action runs minutes after the comment arrives rather than immediately. A real server cron job fixes this. Without it, a flagged comment may sit unapproved rather than visibly published, which is acceptable, but not instant.
    • API key dependency. If your API key is invalid, rate-limited or the provider has an outage, the AI action fails. Configure Krom Automation’s failure notification by email and the automatic retry with backoff so you know when this happens.
    • Cost at scale without model tuning. If you run GPT-4o on every comment without checking volume first, the monthly API bill can surprise you. Set a budget alert with your provider before enabling on a high-traffic site.

    For a broader look at what AI can and cannot do reliably inside WordPress, our post on using AI to automate your WordPress site covers the full picture.

    What the Execution Log Gives You

    Every comment that passes through the workflow creates a per-step execution record. You can see the comment text that was evaluated, the score returned by the AI, which branch was taken, and the outcome action that ran. This matters for three reasons.

    First, it gives you an audit trail if a reader disputes that their comment was removed. You have a timestamped record of the score and the threshold that triggered the outcome. Second, it lets you tune your thresholds over time based on real data rather than guessing.

    If you see that 40 percent of your held comments are being manually approved, your hold threshold is probably too aggressive. Third, the analytics dashboard shows a failed execution count and trend chart, so you see immediately if your API key stops working.

    The free actions reference documents what each action returns to the execution log, including the AI Content Moderation action’s output fields.

    Extending the Workflow Beyond Basic Moderation

    Once the core moderation workflow is running, the same trigger and AI action can feed additional steps without creating separate workflows. These extensions all run free.

    • Notify the post author when a comment is held. Add a Send Email action on the hold branch so the author knows a comment is waiting for their review, not just sitting in the queue silently.
    • Auto-tag approved comments. Use the AI Auto-Tag action after the approve branch to label approved comments by topic, useful for community sites where readers browse by subject.
    • Add comment meta on every scored comment. Store the toxicity score as comment meta. This lets you sort or filter comments by score inside WordPress without re-running the AI.
    • Send a Slack alert on high-confidence toxic comments. Connect the trash branch to an HTTP Request action pointing to a Slack webhook, or use the Slack and Discord messaging integration if you are on Pro. Your moderation team sees the flagged content in real time without checking the WordPress dashboard.

    If your site uses BuddyBoss for community features, the BuddyBoss integration documentation covers how to extend similar moderation logic to activity stream posts and private messages, not just standard WordPress comments.

    The real advantage of a workflow tool over a dedicated moderation plugin is that comment moderation becomes one node in a larger response, not the whole system.

    Also from wpRigel

    Pollify is wpRigel’s poll, survey and quiz plugin, built as native Gutenberg blocks. Creating a poll feels like writing a paragraph in the block editor.

    There are no shortcodes and no separate interface to learn. It is the right tool if you want to add structured reader input alongside your comment section.

    Commandify is a command palette for the WordPress admin. Press Cmd or Ctrl plus K to jump anywhere, search content, and run admin actions without clicking through menus.

    If you moderate comments manually for borderline cases, Commandify cuts the time spent navigating to the comments queue significantly. It is the only command palette with real WooCommerce order, product and customer commands built in.

    Verdict: Who Should Set This Up and Who Should Not

    Set up AI comment moderation with Krom Automation if your site receives more than 50 comments a month and you currently spend any time on manual moderation. The free plugin plus a Groq or Gemini API key costs almost nothing to run, the workflow takes under an hour to build, and the time saving compounds every month. Community sites, membership sites and WooCommerce stores with active product reviews see the sharpest return.

    Do not set this up if your site averages fewer than 10 comments a month. Akismet handles that volume fine, and adding AI infrastructure for a queue you review in two minutes a week adds complexity with no meaningful return.

    Also avoid aggressive trash thresholds on sites where community trust matters. Start with hold-only moderation for the first month, review the execution logs, and only move to automatic trash once you have calibrated your thresholds against real comment data.

    For most active WordPress sites, this is the automation that pays for itself fastest. Download the free plugin from the WordPress.org plugin directory and build the workflow this week. If you want to review the full plan comparison before going Pro, the free versus Pro feature comparison covers every difference in one place.

    See Krom Automation pricing and plan options to find the right plan if you need Pro features across multiple sites.

    Frequently Asked Questions

    Does WordPress have built-in AI comment moderation?

    No. WordPress core includes manual moderation controls and optional Akismet integration, but no AI-powered scoring. A plugin such as Krom Automation is required to add AI moderation via an external language model.

    Do I need to bring my own API key for AI comment moderation in Krom Automation?

    Yes. You supply an API key from OpenAI, Google Gemini or Groq. Krom Automation calls the model on your behalf and logs the result.

    wpRigel does not charge per call and does not mark up token costs. You pay your provider directly at their standard rate.

    Will AI moderation block legitimate comments from real readers?

    It can produce false positives, particularly on sarcasm, irony or comments using aggressive phrasing in a clearly joking context. The safest configuration uses the hold outcome rather than automatic trash for borderline scores.

    Held comments go to your moderation queue rather than disappearing, so a human reviews edge cases. Reserve automatic trash for scores above 0.9 or your equivalent high-confidence threshold.

    How much does AI comment moderation cost per month?

    Krom Automation is free for this workflow. API costs depend on volume and model choice. A blog receiving 500 comments a month spends under $1 on GPT-4o Mini.

    A site at 50,000 comments a month should use Groq Llama or Gemini 2.0 Flash to keep costs in the $5 to $15 range. GPT-4o at that volume can reach $75 or more per month.

    Does AI comment moderation work with WooCommerce product reviews?

    WooCommerce product reviews use the WordPress comment system internally, so the Comment Submitted trigger fires on them as it does on standard post comments. The AI Content Moderation action evaluates the review text the same way. No additional configuration is required to cover both comment types from one workflow.

    What happens if my AI provider has an outage during high comment volume?

    The AI action fails and Krom Automation logs it as a failed execution. The plugin sends a failure notification by email and retries automatically with configurable backoff.

    The comment is typically left in a pending state during the retry window rather than being auto-approved or auto-trashed. Configure your WordPress default comment setting to hold all comments pending review as a fallback, so nothing publishes unreviewed if retries exhaust.

    The wpRigel Team

    October 12, 2026
    User Guide
Previous Page
1 2 3 4 … 14
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

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