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 Do I Test a WordPress Automation Before It Goes Live?

    The short answer: use a workflow simulator to run the automation against real trigger data without sending emails, creating users, or touching any live records. Krom Automation includes a built-in simulator in the free plugin, zero Pro upgrade required. You get a full step-by-step audit trail showing exactly what each action would have done, which lets you catch broken merge tags, wrong conditions, and misconfigured delays before a single real contact is affected.

    Most automation plugins give you one testing method: trigger the event manually and hope the logs catch a failure. That works until it doesn’t.

    A welcome email firing 200 times at registration because your “run once” setting was off is an expensive lesson. This guide covers every layer of pre-launch testing, from the simulator to execution logs to a structured checklist you can run in under 30 minutes.

    If you want to understand how Krom Automation structures triggers and actions before diving into testing, the how Krom Automation works documentation is the right starting point. Then come back here for the testing layer on top.

    Browse the full feature list to see what the free plugin includes before you start building.

    What Does “Testing an Automation” Actually Mean?

    Testing a WordPress automation is not the same as testing that your site loads. Site testing tools like PHPUnit, WP-CLI, and Cypress confirm that code runs correctly. They cannot tell you whether your business logic works: whether the right tag gets applied, whether the welcome email contains the right user’s name, or whether a coupon fires only for orders over a specific amount.

    Automation testing has four distinct layers, and most site owners skip three of them:

    • Simulator testing: a dry run that evaluates every step without executing side effects, so no emails send and no records change
    • Step-level log review: reading the per-step audit trail after a real or simulated execution to confirm each action resolved correctly
    • Run-once verification: confirming the workflow won’t fire twice for the same contact, order, or post
    • Edge case testing: triggering the workflow with incomplete, unexpected, or boundary-condition data to see where it breaks

    Skipping any of these is how a workflow that “works in testing” fails in production at 3am on a Friday.

    How the Krom Automation Workflow Simulator Works

    The workflow simulator is a dry-run mode built directly into the visual canvas. You open a workflow, launch the simulator, provide sample trigger data, and Krom Automation evaluates every node in sequence without executing any real action.

    What that means in practice:

    • No email is sent to any address
    • No user is created or modified
    • No post is published or updated
    • No HTTP request fires to an external service
    • No WooCommerce order or coupon is touched

    The simulator still resolves every merge tag, evaluates every conditional branch, and calculates every delay. You see the full execution path, including which branch a Yes/No condition would take with your sample data. If a merge tag is broken, the simulator shows the unresolved output rather than a real email hiding the failure behind a blank field.

    A workflow that “passed testing” because you checked the inbox, not the logs, is a workflow you haven’t actually tested.

    The simulator is available in the free plugin. You do not need a Pro licence to run dry tests on any workflow you can build in the free tier.

    How to Read Step-Level Execution Logs

    After a real execution, or after triggering a workflow manually for a controlled test, Krom Automation writes a full per-step audit trail. Each log entry shows the action that ran, the data it received, whether it succeeded or failed, and the timestamp.

    This matters because a workflow can succeed overall while individual steps silently degrade. An HTTP request action that returns a 200 status but an empty response body looks like a pass until you read the log and see the response contained an error message from the downstream API.

    To get useful information from the logs, check four things for every step:

    1. Status: success, failed, or skipped. A skipped step usually means a condition branch routed away from it, which may or may not be correct.
    2. Resolved merge tag values: confirm the user’s name, email, and any dynamic field matched the test contact, not a placeholder or an empty string.
    3. Output from external actions: for integrations like Mailchimp, FluentCRM, or Google Sheets, the log records the API response. A 401 or 403 response means your API credentials are wrong before the workflow goes anywhere near a real contact.
    4. Delay resolution: if you have a delay node set to 3 days, confirm the scheduled execution timestamp in the log is actually 3 days out, not 3 minutes because a unit setting was wrong.

    The delays and scheduling documentation covers exactly how delay nodes calculate their fire times, which is worth reading before your first real-world test with a delay node involved.

    Why Run-Once Enforcement Is a Testing Variable, Not a Safety Net

    Krom Automation includes run-once per entity enforcement, which prevents a workflow from executing more than once for the same user, post, or order. This is not a testing feature; it is a production safeguard. But it directly affects how you test.

    If you trigger a workflow with a real test user during development and the run-once flag is set, that user’s next registration event, form submission, or order will not retrigger the workflow. Your test has consumed the trigger for that contact. You need either a fresh test user for each live test run or a clear understanding of when to reset the run-once flag before a second pass.

    The workflow settings documentation covers run-once configuration, including when to enable it and when to leave it off during active development.

    Run-once enforcement protects your contacts in production. During testing it silently blocks your second test run if you forget to account for it.

    Testing Merge Tags Without Sending Real Emails

    Merge tags pull live event data into action fields: the user’s first name, their email address, the order total, the post title. A merge tag that resolves correctly in the simulator but fails in production usually means the data path differs between your test trigger and the real trigger.

    The fastest way to validate merge tags before going live:

    • Run the simulator with sample data that includes edge cases: a user with no last name set, an order with no coupon, a post with a title containing special characters
    • Check the simulator output for empty strings or unresolved tag placeholders rather than correct values
    • For email actions, send a real test to a personal inbox using a test user, and read the rendered email rather than assuming the template is correct
    • Review the merge tags documentation to confirm the exact syntax for any tag you are using, especially for WooCommerce order data which has more fields than user or post data

    One merge tag error in a welcome email subject line means every new user gets a broken subject until you catch it. Five minutes in the simulator is cheaper.

    Testing Conditional Branching

    Conditional branches split a workflow into Yes and No paths based on data from the trigger. Testing one path is not testing the workflow. You need to verify both branches resolve to the correct next step, and that the condition itself evaluates correctly against your intended data.

    Common branching failures during testing:

    • A condition checking user role returns the wrong result because the comparison is case-sensitive and the role name in the database uses a different capitalisation than expected
    • A numeric condition checking order total treats the value as a string, so “100” does not equal 100
    • The No branch is set to “do nothing” but the intent was to send a different email, and nobody noticed during testing because only the Yes path was checked

    Run the simulator at least twice for any workflow with a conditional branch: once with data that should take the Yes path and once with data that should take the No path. Confirm both execution paths in the simulator output before you set the workflow to active. The conditions and branching documentation covers the available comparison operators and the data types each condition supports.

    The Pre-Launch Checklist: 8 Things to Verify Before Activating Any Workflow

    Work through these in order. Items 1 through 4 catch the failures that happen immediately after activation. Items 5 through 8 catch the failures that surface a week later when you are not watching.

    1. Simulator pass with edge-case data: run at least one simulation with incomplete or boundary data, not just your ideal test case
    2. Merge tag resolution confirmed: every dynamic field in every action shows the expected value in the simulator output
    3. Both branches of every condition verified: Yes path and No path have both been tested and both lead to the intended next step
    4. Run-once setting matches your intent: if the workflow should fire every time (a notification, for example), run-once should be off; if it should fire only once per user, confirm it is on
    5. Delay units checked: every delay node shows the correct unit, minutes versus hours versus days, not the default left unchanged from a copy-paste
    6. API credentials validated for integrations: any action connecting to an external service (email marketing, CRM, messaging) has been tested with a real execution against a test contact to confirm the credentials work
    7. Failure notification email set: Krom Automation can notify you by email when a workflow execution fails; confirm the address is set and points somewhere someone reads
    8. Analytics baseline noted: record the current execution count before you activate the workflow, so you can see immediately whether it fires at the expected rate during the first 24 hours

    Testing WooCommerce Automations Without Processing Real Payments

    WooCommerce has a built-in test mode. With WooCommerce Payments or Stripe in test mode, you can place orders using Stripe’s test card numbers and generate real Order Created and Order Completed events without charging anyone. Krom Automation’s WooCommerce triggers fire on those test orders exactly as they would on real ones.

    This matters for workflows like post-purchase email sequences, coupon generation, course access grants, and subscription automations. If you are building a subscription renewal reminder, the WooCommerce subscription renewal reminder guide walks through the full flow including how to verify the trigger fires at the right interval. For course access after purchase, the course access after WooCommerce purchase guide covers the specific trigger and action combination to test.

    When testing WooCommerce automations, also verify:

    • The trigger fires on “Order Completed” not just “Order Created” if your workflow depends on payment confirmation
    • The coupon or access action resolves for the correct user, not a generic test account
    • Any external sync (CRM tag, email list subscription) shows up in the destination platform within 60 seconds of the order completing

    What Happens When an Automation Fails After Going Live?

    Krom Automation logs every failed execution with a full per-step trace. The analytics dashboard shows a failed execution count alongside total executions, so a spike in failures is visible within the same session you are using to review other site metrics. You do not need to dig into log files.

    Failed executions trigger an automatic retry with configurable backoff. If the failure was a transient API timeout, the retry usually resolves it. If the failure is persistent (wrong API key, deleted user, a downstream service returning an error), the step-level log shows the exact error message so you know what to fix rather than guessing.

    The one honest constraint worth naming: delays depend on WordPress Cron. On a low-traffic site where no visitor arrives for several hours, WP-Cron fires late, and a delay set to “3 hours” may execute at hour 4 or 5.

    If precise timing matters for your workflows, configure a real server cron job to trigger WP-Cron on a fixed interval, typically every 5 minutes. This is a WordPress platform constraint, not specific to Krom Automation, but it is relevant to any delayed action you are testing.

    A failed execution with a clear log entry is a solved problem. A failed execution with no log is a production incident.

    Comparing Testing Capabilities Across Automation Tools

    What You Need to Test Krom Automation (Free) Krom Automation (Pro) Uncanny Automator
    Dry-run simulator with no side effects Included Included Not available
    Per-step execution logs Included Included Available (paid tiers)
    Run-once per entity enforcement Included Included Available
    Analytics dashboard with failure count Included Included Limited on lower plans
    Workflow import/export for staging-to-live transfer JSON export included JSON export included Not available
    Automatic retry on failure Included Included Not available in standard tier

    Uncanny Automator automation plans start at $199 per year for one site as of September 2026. Krom Automation Pro starts at $69 per year at current launch pricing. Both include per-step logging in their paid tiers, but only Krom Automation includes a true dry-run simulator at any tier.

    Which Testing Method Applies to Which Situation

    Situation Best Testing Approach Time Required
    New workflow, never fired before Simulator first, then one real test execution with a dummy contact 15 to 20 minutes
    Existing workflow after changing a merge tag or condition Simulator only, verify the changed node’s output 5 minutes
    WooCommerce order workflow WooCommerce test mode + real execution + log review 20 to 30 minutes
    External integration (Mailchimp, FluentCRM, Slack) Real execution against a test contact in the destination platform 10 to 15 minutes
    Delayed workflow (hours or days) Set delay to 1 minute temporarily, run real test, restore delay 5 minutes plus wait
    Conditional branch workflow Simulator run twice: once per branch path 10 minutes

    Moving a Tested Workflow from Staging to Production

    Krom Automation workflows export as portable JSON. Build and test on a staging site, export the workflow file, import it on the production site, and the full canvas, all nodes, conditions, delays, and action configurations, transfers exactly. You do not rebuild from scratch.

    What does NOT transfer automatically and must be reconfigured on the production site:

    • API credentials: keys for Mailchimp, FluentCRM, Slack, or any other integration are stored per-site and are not included in the exported JSON
    • Run-once history: any users or orders that triggered the workflow on staging will not be flagged as “already run” on production, which is correct behaviour but worth knowing
    • Failure notification email: confirm the address is set on the production site, not inherited from staging

    The workflow import and export feature is available in the free plugin. There is no Pro requirement for transferring workflows between environments.

    Also from wpRigel

    Pollify is a Gutenberg-native poll, survey, and quiz plugin for WordPress. Polls are built directly inside the block editor as real blocks, so there are no shortcodes to paste and no separate configuration panel to navigate. It is a useful companion if your workflows include collecting audience feedback on a post-submission or post-purchase page.

    Commandify is a command palette for the WordPress admin. Press Cmd or Ctrl plus K from anywhere in the dashboard to jump to any page, search posts, manage users, or run admin actions without touching the menu. It is the only WordPress command palette with real WooCommerce order, product, and customer commands built in, which makes it genuinely useful on busy store sites where you are switching between admin tasks constantly.

    The Verdict: Who Should Test This Way, and Who Might Not Need To

    If your automation touches user-facing output, which covers welcome emails, access grants, coupon codes, CRM tags, and anything a customer sees or experiences, then a simulator pass and a log review before activation is not optional. The cost of one wrong execution (a coupon emailed to 3,000 users who were never meant to receive it, for example) is orders of magnitude higher than 20 minutes of pre-launch testing.

    If your automation is internal and reversible, say, a Slack notification when a new post publishes, a failed or duplicate execution is annoying but recoverable. You can afford to activate and monitor rather than simulate first. But you should still check the logs after the first real execution.

    Our recommendation: run every new workflow through the simulator before activation, review the step-level logs after the first real execution, and set a failure notification email so you are not discovering problems through customer complaints. The free plugin includes all three of those capabilities. Download the free plugin from the WordPress.org plugin directory and run your first simulator test before you activate anything.

    See Krom Automation pricing and compare all plans, starting at $69 per year at current launch pricing, with a 14-day money-back guarantee on every paid plan.

    Frequently Asked Questions

    Does the Krom Automation simulator work with WooCommerce triggers?

    Yes. The simulator accepts sample data for any trigger including WooCommerce Order Created and Order Completed. You can test the full workflow path, including merge tags that pull order total, customer name, or product names, without placing a real order.

    Can I test a workflow with a delay node without waiting hours for it to fire?

    Yes. The standard approach is to set the delay to 1 minute temporarily, run a real test execution, confirm the log entry shows the correct scheduled timestamp, then restore the intended delay before activating the workflow.

    What happens if an automation fires twice for the same user?

    If run-once enforcement is enabled, Krom Automation blocks the second execution automatically and logs the prevention. If run-once is off, the workflow fires as many times as the trigger condition is met, which is the correct behaviour for notification workflows but wrong for onboarding sequences. Check the run-once setting for every new workflow before activation.

    Do I need Pro to use the workflow simulator?

    No. The simulator is included in the free plugin with no plan restriction. Pro adds features like AI workflow generation, the visual email builder, a schedule trigger, and the incoming webhook receiver, but testing via the simulator is available to all users.

    How do I test a form automation, for example a Gravity Forms or WPForms workflow, without submitting real data?

    Use the simulator with sample form submission data to validate the workflow path. For a real execution test, most form plugins include a preview or test submission mode that generates a real entry without requiring a public-facing form. The Gravity Forms integration documentation and the WPForms integration documentation both cover the exact trigger setup, which affects how sample data should be structured for a simulator run.

    What should I check in the logs after the first real execution on a production site?

    Confirm four things: the trigger fired for the correct contact and not an unintended user, every merge tag resolved to the correct value, any external integration returned a success response (not a 4xx or 5xx error), and any delay node logged the correct scheduled fire time. If all four pass, the workflow is behaving as designed.

    The wpRigel Team

    October 16, 2026
    User Guide
  • How to Receive Webhooks in WordPress Without Zapier

    You can receive webhooks in WordPress without Zapier using Krom Automation Pro‘s incoming webhook receiver. You get a unique secret URL per workflow, HMAC-SHA256 signature verification, and a field mapping system that pipes any payload value into a WordPress action.

    The incoming webhook receiver is a Pro feature, so you need a paid plan. Free plans start at $69 a year or $199 as a one-time lifetime payment.

    Most guides on this topic focus on sending data out of WordPress to Zapier or Make. That is the wrong direction if your problem is a third-party service pushing data to your site. Stripe needs to tell your site when a payment clears.

    GitHub needs to tell your site when a pull request merges. Those services send POST requests to a URL you control, and your site needs to be listening at that URL, verifying the request is genuine, and acting on the data.

    This guide covers exactly that: how to set up a secure inbound webhook endpoint in WordPress, how to map payload fields to merge tags, and how to wire the whole thing to real WordPress actions without a third-party automation service sitting in the middle. Browse the full feature list to see everything Krom Automation covers beyond webhooks.

    What Is an Incoming Webhook and Why Does WordPress Struggle With It?

    An incoming webhook is a POST request sent by an external service to a URL your application exposes. The external service initiates the call.

    Your application receives it, parses the payload, verifies the signature, and acts on the data. This is the opposite of polling, where your app repeatedly asks an external service whether anything changed.

    WordPress does not expose any built-in endpoint for this. Out of the box, if Stripe fires a payment_intent.succeeded event, there is nowhere on a WordPress site for that request to land.

    You can build a custom REST endpoint in PHP, but that means writing and maintaining a request handler, signature verification logic, a retry queue, and logging. That is a meaningful amount of code for what is conceptually a simple operation.

    The other common answer is Zapier: receive the webhook on Zapier’s servers, then have Zapier call a WordPress action via a plugin. That works, but it adds a third-party dependency, a per-task cost, and a data routing path that takes your webhook payload outside your server before it ever touches your site. For payment data or PII, that routing matters.

    What the Krom Automation Incoming Webhook Receiver Actually Does

    The incoming webhook receiver in Krom Automation Pro gives every workflow its own unique URL under your domain. That URL is a WordPress REST API endpoint registered under the krom-automation/v1 namespace. When an external service sends a POST request to it, Krom Automation receives the payload, runs 9 security checks, and fires the workflow if everything passes.

    The security layer includes HMAC-SHA256 signature verification. You configure the shared secret inside the workflow settings. When a request arrives, Krom Automation recomputes the HMAC using the raw request body and your secret, then compares it against the signature header the sender included.

    If they do not match, the request is rejected before any workflow logic runs. This is the same verification model Stripe, GitHub and Shopify all use on their outbound webhooks.

    A webhook endpoint without signature verification is an open door. Any request that knows the URL can trigger your workflow. HMAC verification means only the service holding your shared secret can send valid requests.

    Once the request passes verification, the payload fields are available as merge tags inside any action in the workflow. If Stripe sends a payload with a customer.email field, that value is accessible via a merge tag and can be passed into a Create User action, an Update Post Meta action, a Send Email action, or an HTTP Request to another service. The merge tags documentation covers the full syntax for accessing nested payload fields.

    How to Set Up Your First Incoming Webhook Workflow

    Setup follows four steps. Work through them in this order. Skipping to payload mapping before the URL is generated means you have nothing to give the external service to test against.

    1. Create a new workflow on the visual canvas and set the trigger to Incoming Webhook. Krom Automation generates a unique secret URL immediately. Copy it. This is the URL you register in Stripe, GitHub, or whichever service is sending.
    2. Configure HMAC verification in the trigger settings. Paste the shared secret your external service provides, or generate a secret here and paste it into the external service. Set the header name Krom Automation should read the signature from (for Stripe this is Stripe-Signature, for GitHub it is X-Hub-Signature-256).
    3. Send a test payload from the external service’s dashboard. Most platforms, including Stripe and GitHub, have a “send test event” button in their webhook configuration screen. Krom Automation logs the incoming request in the execution history whether it succeeds or fails, so you can inspect the full payload structure.
    4. Map payload fields to actions using merge tags. Once you have seen a real payload in the logs, you know exactly what fields exist and how they are nested. Use those field paths in your action configuration.

    The step-by-step workflow builder guide covers the canvas interface in detail if this is your first workflow. The workflow simulator lets you run a dry test with zero side effects before you point a live Stripe account at your endpoint.

    Stripe Webhook Example: Create a WordPress User on Payment

    Stripe fires a payment_intent.succeeded event when a payment completes. The payload includes the customer’s email address, the amount, the currency, and a metadata object you can populate with anything you like when creating the payment intent on your frontend.

    A practical workflow for a digital product site:

    • Trigger: Incoming Webhook (Stripe endpoint, HMAC verified against your Stripe signing secret)
    • Condition: Check that data.object.status equals succeeded before proceeding
    • Action 1: Create User, with email pulled from the merge tag for data.object.receipt_email
    • Action 2: Send Email to the new user with their login details, using the visual email builder to design the template
    • Action 3: Update Post Meta on a licence post to mark it as active, with the user ID from the Create User step injected as the meta value

    The whole workflow runs on your server. The Stripe payload never leaves your hosting environment.

    If you have a MemberPress membership or Easy Digital Downloads setup, you would typically handle payment events through those plugins’ own triggers rather than raw Stripe webhooks. But for a custom or headless payment flow, the incoming webhook receiver is the right tool.

    GitHub Webhook Example: Trigger a WordPress Action on Pull Request Merge

    GitHub fires a pull_request event when a PR is opened, updated, or merged. The payload includes the repository name, the PR title, the author, and an action field that tells you whether this is an open, synchronize, or closed event. When action is closed and pull_request.merged is true, the PR was merged.

    A practical workflow for a development team that uses WordPress as an internal dashboard:

    • Trigger: Incoming Webhook (GitHub endpoint, HMAC verified against your GitHub webhook secret)
    • Condition: Branch on action equals closed AND pull_request.merged equals true
    • Action: Create Post with the PR title as the post title, the author and repository as meta fields, and status set to Published in a custom post type you use for deployment tracking

    You can extend this with a Slack notification using the Slack integration, so your team gets a message in your deployment channel every time a merge lands. Conditions and branching are covered in the conditions and branching documentation if you need to handle multiple event types from the same endpoint.

    The most useful webhook workflows are the boring ones: a payment clears, a user record appears. No manual step, no CSV import, no “did that actually run?” in the execution log.

    What Gets Logged and What Happens When a Webhook Fails

    Every incoming webhook request creates an execution record. The log shows the full raw payload, which step succeeded, which step failed, and the error message if one was thrown. For debugging a misconfigured payload mapping or a signature mismatch, the execution log is the first place to look, not your server’s error log.

    Failed executions trigger an email notification to the address you configure in Krom Automation settings. The retry system uses configurable backoff, so a temporary failure on your side does not silently drop the event. The analytics dashboard shows total executions, success rate, and a trend chart, so a spike in failures across your webhook workflows is visible without digging through individual logs.

    One real constraint worth naming: Krom Automation uses Action Scheduler for background execution. On very low-traffic sites where nothing visits for hours at a time, WP-Cron fires late, which means delayed actions in a workflow may not run on schedule. The incoming webhook itself receives and logs the payload immediately when the request arrives.

    Delays you add to subsequent actions in the workflow are what depend on cron timing. If you are running a high-volume webhook integration, configure a real server cron to trigger WP-Cron on a fixed interval, typically every minute.

    Incoming Webhook vs. HTTP Request Action: What Is the Difference?

    Krom Automation has two webhook-related features and they serve opposite directions. Understanding which one you need saves time.

    FeatureDirectionWhen to use itPlan required
    Incoming Webhook ReceiverExternal service sends data TO your WordPress siteStripe payment events, GitHub pushes, Shopify order hooks, any third-party push notificationPro
    HTTP Request ActionYour WordPress site sends data TO an external servicePosting form data to a CRM, calling a custom API, triggering a remote buildFree

    The HTTP Request action supports GET, POST, PUT, PATCH and DELETE with JSON response parsing and is available in the free plugin. If you want to send form submission data to an external endpoint when someone fills in a Gravity Forms or WPForms form, the HTTP Request action covers that without a Pro plan.

    What Does This Cost Compared to Routing Through Zapier?

    The cost comparison changes significantly depending on volume. Zapier’s Professional plan runs around $240 a year billed annually for 750 tasks a month, as of September 2026, and it uses per-task billing.

    A single webhook that triggers three actions counts as three tasks. At 500 payment webhooks a month with three actions each, that is 1,500 tasks, which pushes you past the 750-task limit on the base plan.

    ScenarioKrom Automation Pro (1 site, annual)Zapier Professional (annual)
    500 webhook events/month, 3 actions each$69/year, no task limit~$240/year, requires plan upgrade above 750 tasks/month
    2,000 webhook events/month, 3 actions each$69/year, no task limitHigher tier required, task billing increases cost
    Data routingStays on your serverPasses through Zapier’s servers
    Signature verificationBuilt in, HMAC-SHA256Requires manual webhook step configuration
    Lifetime option$199 one paymentNot available

    Krom Automation Pro has no per-task billing at any tier. Every plan includes every Pro feature and all 25 integrations. The only variable between plans is the number of sites: 1 site on Basic, 5 sites on Standard, and unlimited sites on Enterprise.

    For an agency running webhook integrations across multiple client sites, the Standard plan at $149 a year covers all 5 sites with no additional per-site or per-execution cost. See full pricing details.

    Per-task billing turns a high-volume webhook integration into an unpredictable monthly expense. A flat annual plan does not.

    What Krom Automation Does Not Cover

    Being honest about limits is more useful than overselling. Krom Automation is WordPress-native.

    At least one end of every workflow, the trigger or the action, needs to touch your WordPress site. If you need to receive a webhook from Stripe and forward the data to HubSpot with no WordPress involvement at all, a general-purpose automation platform is the better tool for that specific flow.

    The incoming webhook receiver does not currently support XML payloads natively. Most modern services send JSON, but some legacy systems, particularly SOAP-based APIs, send XML. If your external service sends XML, you would need a middleware step to convert it before it reaches Krom Automation.

    Testing on a local development site requires a publicly accessible URL. Your local localhost:8080 address is not reachable by Stripe or GitHub. Tools like ngrok or Expose can tunnel a public URL to your local server for testing.

    Once the workflow is working locally, move it to a staging or production environment before pointing a live Stripe account at it. The workflow simulator handles some of this by letting you run logic dry without a real incoming request, but you still need a public URL for end-to-end testing with the external service.

    Also from wpRigel

    Pollify is wpRigel’s Gutenberg-native poll, survey and quiz plugin. Polls are built as real blocks inside the block editor, so there are no shortcodes to paste and no separate interface to configure. Pro adds NPS voting, CSV and PDF export, IP blocking, and enriched analytics.

    Commandify is a command palette for the WordPress admin. Press Cmd or Ctrl plus K to jump anywhere, search posts, pages, users and products, and run admin actions without clicking through menus. It is the only WordPress command palette with genuine WooCommerce depth: search orders by customer name or email, update stock, change order status, and email customers, all from the keyboard.

    Frequently Asked Questions

    Does receiving webhooks in WordPress require writing custom PHP?

    Not with Krom Automation Pro. The incoming webhook receiver creates a REST endpoint automatically when you add the trigger to a workflow.

    You configure the shared secret and header name in the workflow settings, and the signature verification runs without any code. Custom PHP is only needed if you build the endpoint from scratch without a plugin.

    Can I use one webhook URL to receive multiple event types from Stripe?

    Yes. Krom Automation receives the full raw payload regardless of event type. Use a condition node in your workflow to branch on the type field in the Stripe payload.

    Point the Yes path at one set of actions for payment_intent.succeeded and the No path at a different set for customer.subscription.deleted. The conditions and branching documentation shows how to set up multi-path logic.

    Is the incoming webhook URL permanent, or does it change?

    The URL is tied to the workflow and does not change unless you delete and recreate the workflow. You can safely register it in Stripe, GitHub or any external service and leave it there. If you duplicate a workflow, the duplicate gets its own unique URL.

    What happens if Stripe retries a webhook my site already processed?

    Krom Automation logs every execution. The “run once per entity” enforcement prevents the same trigger event from executing a workflow more than once for the same entity. For webhook payloads, you can also add a condition that checks a post meta or user meta field before allowing the workflow to proceed, so a duplicate Stripe retry does not create a second user or a second licence record.

    Can I receive webhooks on the free version of Krom Automation?

    The incoming webhook receiver is a Pro feature. The free version includes an HTTP Request action for sending data outbound, 16 triggers for native WordPress events, and 21 actions.

    The free vs Pro comparison lists exactly what is available at each tier. The free plugin is available on the WordPress.org plugin directory with no trial period and no run caps.

    How do I test a webhook workflow before pointing a live service at it?

    Use the workflow simulator for dry runs with zero side effects. For end-to-end testing with the actual external service, you need a publicly accessible URL.

    On a local site, tools like ngrok create a temporary tunnel. Most services including Stripe also let you send test events from their dashboard, which is the safest way to verify the signature check is working before you go live.

    Krom Automation Pro starts at $69 a year or $199 as a one-time lifetime payment, with a 14-day money-back guarantee on every plan. Compare all three plans to find the right fit for your site count.

    The wpRigel Team

    October 16, 2026
    User Guide
  • How Do I Automate WooCommerce Subscription Renewal Reminder Emails?

    WooCommerce Subscriptions does not send renewal reminder emails by default. You need a plugin to build that sequence, and Krom Automation is one concrete way to do it: the free version covers payment failed and renewal event triggers, while the Pro plan adds the schedule trigger and visual email builder you need for a full multi-step dunning sequence. Most sites can cover all four sequences described here for $69 a year.

    The four sequences worth automating are: a trial ending reminder sent a few days before the trial converts, a renewal reminder sent before the charge date, a payment failed dunning sequence that retries the message across several days, and a cancellation win-back email sent after a subscription is cancelled. Each one targets a different moment in the subscription lifecycle and each one recovers revenue that would otherwise be lost silently.

    This guide covers the setup for all four, explains what the free plugin can and cannot do, and is honest about one real constraint: delay-based timing depends on WP-Cron, which can fire late on low-traffic sites. Browse the full feature list before deciding which plan fits your situation.

    Does WooCommerce Subscriptions Send Renewal Reminder Emails by Default?

    No. WooCommerce Subscriptions handles the actual renewal charge and sends a receipt after it succeeds, but it does not send a reminder before the renewal date.

    It also does not send a multi-step sequence when payment fails. Those gaps are where most subscription revenue quietly disappears.

    You have three options to fill those gaps: the official WooCommerce Email Reminders extension, a purpose-built plugin such as the one on WordPress.org, or a workflow automation plugin like Krom Automation. The automation route gives you the most control over timing, branching logic, and what happens after each email, without locking you into a single email template editor.

    Which Krom Automation Plan Do You Actually Need?

    SequenceFree pluginPro requiredWhy
    Payment failed dunning (same-day email)YesNoOrder Created / Order Status triggers fire immediately on failure
    Payment failed follow-up on day 3 and day 7NoYesRequires the delay node beyond the free delay units, or the Schedule trigger
    Renewal reminder X days before chargeNoYesRequires the Schedule trigger or WooCommerce Subscriptions Pro triggers
    Trial ending reminderNoYesRequires WooCommerce Subscriptions Pro trigger from the integration
    Cancellation win-back emailYesNoSubscription Cancelled trigger fires in the free plugin
    Branded HTML email templateNoYesVisual email builder is a Pro exclusive feature

    The short version: the free plugin handles same-day payment failed emails and cancellation win-back. Every timed sequence that fires before an event, or that spreads a dunning sequence across multiple days, needs Pro. The full free versus Pro comparison lists every trigger and action by tier.

    A payment failed email sent once, on the day of failure, recovers some revenue. A three-touch sequence sent on day one, day three and day seven recovers significantly more, and the difference between those two outcomes is a single Pro plan.

    How to Set Up a Renewal Reminder Email

    The WooCommerce Subscriptions integration in Krom Automation exposes subscription-specific triggers that the base WooCommerce triggers do not. The WooCommerce Subscriptions integration documentation covers the full list of available triggers, the merge tags each one exposes, and worked automation examples.

    For a renewal reminder, the typical setup is:

    1. Open Krom Automation in your WordPress admin and create a new workflow on the canvas.
    2. Set the trigger to Subscription Before Renewal and configure the lead time, for example 7 days before the renewal date.
    3. Add a Send Email action and use merge tags to pull in the customer’s name, renewal date, renewal amount and a direct link to their account page. The merge tags documentation lists every variable available per trigger.
    4. Enable Run Once per Entity in workflow settings to prevent the same subscriber from receiving the email twice if the trigger fires more than once for the same renewal cycle.
    5. Use the workflow simulator to dry-run the sequence before activating it. The simulator executes the logic with zero side effects, so no real emails are sent during testing.

    If you want a second reminder at 3 days out, duplicate the workflow and change the lead time to 3. Two separate workflows is simpler to manage than one workflow with branching on the same trigger, and execution logs stay cleaner.

    How to Build a Payment Failed Dunning Sequence

    Payment failed dunning is the sequence most subscription businesses underinvest in. A single email on the day of failure is a starting point, not a strategy. Industry data consistently shows that a three-touch sequence recovers between two and four times the revenue of a single email, because card failures are often temporary: a card was replaced, a limit was briefly hit, a bank flagged the charge as unusual.

    Here is the sequence structure we recommend building first:

    • Day 0 (immediate): A plain-text email explaining the charge failed, with a direct link to update the payment method. Keep this one short. Urgency without panic.
    • Day 3: A follow-up referencing the original failure. Mention that access will be affected if payment is not updated. Include the same payment update link.
    • Day 7: A final notice. Be direct. Tell the subscriber what happens next (suspension or cancellation) and give them a clear path back. A discount coupon here is optional but effective.

    In Krom Automation, the trigger for day 0 is Order Status Changed filtered to a failed payment status. Days 3 and 7 use the delay and scheduling node to hold the workflow and release the next email at the right time. The conditions and branching documentation shows how to add a Yes/No check after each delay: if the customer has already updated their payment method, skip the next email rather than sending a dunning message to someone who already fixed the problem.

    Sending a day-seven dunning email to a subscriber who paid on day two is not a small mistake. It is the kind of mistake that gets a cancellation instead of a renewal. The branching check costs 30 seconds to add and prevents it entirely.

    How to Set Up a Trial Ending Reminder

    A trial ending reminder is the highest-leverage email in any subscription business. A subscriber who is surprised by a charge after a trial often disputes it or cancels immediately. A subscriber who saw the email three days before the trial ended, understood what they were about to be charged, and had a chance to review their account, is far more likely to stay.

    The setup in Krom Automation follows the same pattern as the renewal reminder: the trigger is Subscription Trial Ending from the WooCommerce Subscriptions integration, the lead time is typically 3 days, and the email uses merge tags to show the exact amount, the trial end date, and a link to manage the subscription. A second email on the final day of the trial is optional but worth testing: open rates on “your trial ends today” emails are consistently higher than on “your trial ends in 3 days” emails.

    The visual email builder in Pro lets you design these emails with a block-based editor powered by Gutenberg, so the trial reminder can include a summary of what the subscriber used during the trial, a link to the pricing page, and a branded footer, all without writing a single line of HTML.

    How to Build a Cancellation Win-Back Email

    A cancellation win-back email is the one sequence most WooCommerce stores skip entirely, which is why it tends to work. When a subscriber cancels, the default response from WooCommerce is silence. A single email sent 24 to 48 hours after cancellation, acknowledging the cancellation and offering a concrete reason to return, such as a discount, a feature they may not have tried, or a simpler plan, recovers a measurable percentage of churned subscribers.

    In Krom Automation, the trigger is Subscription Cancelled from the WooCommerce Subscriptions integration. Add a delay of 24 hours before the email action so the message does not feel like a panic response. Use the Create Coupon action before the email action to generate a unique coupon code per subscriber, inject the code into the email body via a merge tag, and set the coupon to expire in 7 days to create urgency without a permanent discount.

    • Trigger: Subscription Cancelled
    • Delay: 24 hours
    • Action 1: Create Coupon (unique per subscriber, 7-day expiry)
    • Action 2: Send Email with coupon code merge tag and a resubscribe link
    • Run Once per Entity: Enabled, so a subscriber who cancels and resubscribes multiple times only receives one win-back email per cancellation event

    What Merge Tags Are Available for Subscription Emails?

    Merge tags are the mechanism for injecting live subscription data into email subject lines and bodies. Without them, every email is generic. With them, the email shows the subscriber’s name, the exact renewal amount, the next billing date, the subscription product name, and a direct account link, all pulled from the event data at the moment the workflow fires.

    The full list of merge tags available per trigger is documented in the merge tags reference. For WooCommerce Subscriptions triggers specifically, the integration documentation lists the subscription-specific variables alongside the standard order and user variables. The most useful ones for renewal emails are the renewal amount, renewal date, subscription product name, and the customer account URL.

    Why Are My Subscription Renewal Reminder Emails Not Sending?

    There are three common failure modes, and they are worth checking in this order because the first two are far more common than the third.

    1. WP-Cron is not firing reliably. Krom Automation uses Action Scheduler for background execution, which itself depends on WP-Cron. On a low-traffic site where no visitor arrives for several hours, WP-Cron does not fire, and delayed actions queue up rather than execute. The fix is a real server cron job that hits wp-cron.php every five minutes. This is a hosting configuration change, not a plugin setting.
    2. The workflow is not active. A workflow saved as a draft does not execute. Check the workflow status in the Krom Automation canvas view and confirm the toggle shows active.
    3. Your transactional email is going to spam. Krom Automation’s Send Email action uses wp_mail(), which routes through whatever mail configuration your server uses. Without SPF, DKIM and a dedicated sending domain or an SMTP plugin, these emails frequently land in spam. The plugin sends the email correctly; the delivery problem is upstream. Use an SMTP plugin such as WP Mail SMTP alongside Krom Automation.

    The execution log in Krom Automation shows the status of every workflow run, including failed steps with error details. If an email action shows as failed, the log tells you why. That is the fastest diagnostic tool available, faster than checking email headers or guessing at configuration issues.

    What Does This Cost Compared to Other Options?

    OptionYear 1 costYear 2 costRun limitsLifetime plan
    Krom Automation Pro (1 site)$69$69NoneYes, from $199
    Krom Automation Pro (5 sites)$149$149NoneYes, from $399
    Uncanny Automator (1 site, as of September 2026)From $199From $199None listedNo
    Zapier Professional (as of September 2026)~$240~$240750 tasks/month, overage charges applyNo

    The Zapier figure assumes the Professional plan billed annually and 750 tasks per month. A subscription business sending renewal reminders, payment failed emails and win-back emails across a few hundred active subscribers will hit that task limit faster than the billing page suggests.

    Krom Automation has no per-execution billing at any tier. See the full pricing breakdown including what each plan covers across multiple sites.

    Zapier’s task-based billing sounds reasonable until a Black Friday promotion doubles your subscriber base for two months. Krom Automation runs on your server and costs the same whether you send 500 emails or 50,000.

    The One Thing Other Guides Do Not Cover: Deliverability

    Every other guide on this topic ends at “turn it on.” None of them address whether the emails actually reach the inbox. Subscription reminder emails are transactional, which means they are expected and therefore unlikely to be marked as spam by recipients, but they still fail at the server level if your WordPress installation is not configured for reliable sending.

    Three things to verify before your first sequence goes live:

    • SPF and DKIM records must be configured for your sending domain. Your hosting provider or DNS documentation explains how. Without them, many mail servers will silently discard your emails.
    • Use an SMTP plugin to route email through a dedicated sending service such as Postmark, SendGrid or Amazon SES. The default PHP mail function on most WordPress hosts has poor deliverability and no bounce handling.
    • Check the execution log in Krom Automation after the first few sends. A successful log entry means the plugin dispatched the email correctly. If recipients are not seeing it, the problem is between your server and their inbox, not in the workflow itself.

    If you are also sending subscription confirmation emails or syncing subscriber data to an email marketing platform, the Mailchimp integration and FluentCRM integration let you tag and segment subscribers from the same workflow that sends the renewal reminder, so your marketing list stays accurate without a separate sync step.

    Also from wpRigel

    Pollify is our Gutenberg-native poll and survey plugin. Polls are built as real blocks inside the editor, so there are no shortcodes to paste and no separate interface to learn. It is useful for subscription businesses that want to collect feedback from churned subscribers or run NPS surveys from existing ones.

    Commandify is a command palette for the WordPress admin. Press Cmd or Ctrl plus K to jump anywhere, search anything, and run admin actions without clicking through menus. It includes real WooCommerce order, product and customer commands, which makes it genuinely useful on a subscription store where you are opening individual orders and subscriber records throughout the day.

    Frequently Asked Questions

    Does WooCommerce Subscriptions send any emails automatically?

    It sends a receipt after a successful renewal charge and a payment failed notice on the day of failure. It does not send reminders before the renewal date, multi-step dunning sequences, trial ending notices, or cancellation win-back emails. Those require a plugin.

    Can I send a reminder only to subscribers on manual renewal, not automatic renewal?

    Yes. The WooCommerce Subscriptions integration in Krom Automation exposes separate triggers for manual and automatic renewal events.

    Build one workflow for each and apply it only to the relevant trigger. Manual renewal subscribers need more urgency in the email copy because the charge does not happen automatically.

    How many days before renewal should I send the reminder?

    For annual subscriptions, 14 days and 3 days is a common cadence. For monthly subscriptions, 3 days and 1 day tends to perform better because a 14-day lead time on a monthly charge feels early and is easy to ignore. Test both and check open rates in your email sending tool.

    Will the workflow fire again if a subscriber’s payment fails and then succeeds on retry?

    The dunning workflow fires on the failed payment trigger. A successful retry fires a separate order status event. Enable the Run Once per Entity setting and add a branching condition after each delay to check whether the order status has changed before sending the next email.

    That prevents a subscriber from receiving day-three and day-seven dunning emails after they already fixed the issue. The workflow settings documentation covers the Run Once option in detail.

    Do I need WooCommerce Subscriptions itself, or does Krom Automation add subscription functionality?

    You need WooCommerce Subscriptions installed and active. Krom Automation reads the events that WooCommerce Subscriptions generates and acts on them. It does not create subscription functionality itself.

    Can I log subscription-related workflow executions to a spreadsheet for reporting?

    Yes. Add a Google Sheets action to any workflow and it will write a row on each execution.

    The Google Sheets integration documentation covers the setup. This is useful for tracking how many dunning emails were sent in a given month and cross-referencing with recovery rates in your subscription platform.

    The Verdict

    If your WooCommerce subscription store is not sending renewal reminders, trial ending notices or a payment failed sequence, you are losing revenue every month to problems that are entirely fixable. The free version of Krom Automation handles the cancellation win-back sequence today. A Pro plan at $69 a year unlocks the timing and email builder features that make the full four-sequence setup possible.

    Start with the free plugin to get the cancellation win-back live and verify that WP-Cron is firing reliably on your host. Then upgrade to Pro for the scheduled renewal reminder and the multi-step dunning sequence.

    Download the free plugin from the WordPress.org plugin directory and build the first workflow before the end of the day. Compare plans and pricing when you are ready to add the full sequence.

    The wpRigel Team

    October 15, 2026
    User Guide
  • How Do I Sync WooCommerce Customers to FluentCRM?

    You can sync WooCommerce customers to FluentCRM in two ways: using FluentCRM’s built-in WooCommerce integration for real-time contact creation at checkout, or using Krom Automation Pro to add tagging workflows, conditional branching, and historical data imports. The native integration is free and covers the basics. Krom Automation Pro is where you build logic around what those customers bought, how much they spent, and what happens next.

    This guide covers both paths honestly, including what each one does not do and where things break in practice. If you have been staring at FluentCRM wondering why yesterday’s orders have not appeared as contacts, the troubleshooting section is where to start.

    Browse the full Krom Automation feature list to see every WooCommerce trigger and FluentCRM action available before you read on.

    Quick Summary

    What you want to doNative FluentCRM (free)Krom Automation Pro
    Create a contact when a customer checks outYesYes
    Add an opt-in checkbox at checkoutYesNot required
    Tag contacts by product purchasedBasic, via automationsYes, with conditional branching
    Import historical WooCommerce customersYes, one-time bulk import toolVia workflow + HTTP Request action
    React to subscription renewals and cancellationsLimitedYes, via WooCommerce Subscriptions triggers
    Branch logic on order total or product categoryNoYes
    Send to Slack or Google Sheets on purchaseNoYes, in the same workflow
    Execution logs per stepNoYes

    Does FluentCRM Sync WooCommerce Customers Automatically?

    Yes, but only for new customers going forward once the integration is enabled. Inside FluentCRM, go to FluentCRM Settings > Integrations > WooCommerce and toggle the integration on. From that point, every completed order creates or updates a contact record automatically, with no third-party plugin required.

    What the native integration does at checkout:

    • Creates a FluentCRM contact using the billing email address
    • Maps billing first name, last name, phone, and address fields to the contact record
    • Assigns the contact to any lists or tags you configure in the integration settings
    • Optionally shows an opt-in checkbox so the customer actively consents before being added

    The opt-in checkbox question matters for GDPR compliance. If you operate in the EU or sell to EU customers, auto-adding every buyer to your CRM without explicit consent sits in a legal grey area. FluentCRM’s opt-in checkbox is the safest route.

    The alternative argument, that a purchase relationship constitutes a legitimate interest for transactional email, applies narrowly and should not be treated as blanket permission for marketing. Consult your own legal counsel rather than treating plugin documentation as compliance advice.

    How Do I Import Historical WooCommerce Customers?

    FluentCRM includes a one-time bulk import tool under Contacts > Import > WooCommerce. It pulls existing customers from your order history and creates contact records in bulk. You can filter by order status, so you can import only customers with completed orders and skip refunded or cancelled ones.

    Run this import once after enabling the native integration. After that, new orders are handled automatically. There is no need to re-run the import unless you want to catch customers who checked out as guests during a period before the integration was active.

    Guest checkout is the most common reason historical customers are missing. FluentCRM links contacts by email address. If a guest placed an order before FluentCRM was installed, the import tool will still pick them up as long as they provided an email at checkout and their order status matches your filter.

    Why Aren’t My WooCommerce Customers Showing Up in FluentCRM?

    This is the question nobody else answers directly. Here are the four real causes, in order of how often we see them:

    1. The integration was not active when the order completed. FluentCRM only syncs orders that complete after the integration is switched on. Orders that completed before that date need the bulk import described above.
    2. The order status was not “Completed”. The native integration triggers on order completion by default. An order stuck in “Processing” does not create a contact until it reaches the status you have configured.
    3. A plugin conflict is blocking the WooCommerce hook. Some payment gateways and fulfilment plugins fire their own hooks in a sequence that can interrupt FluentCRM’s listener. Deactivate other plugins in a staging environment to isolate the conflict.
    4. The contact already exists under a different email. If the customer used a different email for a previous order, FluentCRM treats it as a new contact rather than merging. Check by searching the billing email directly in the Contacts view.

    A sync that looks broken is usually a timing problem, not a data problem. Check the order status and the date the integration went live before digging into hooks.

    How Do I Tag WooCommerce Customers by Product Purchased?

    This is where the native integration starts to show its limits and where Krom Automation Pro earns its place. FluentCRM’s native WooCommerce integration lets you assign a single set of global tags to every buyer. If you want different tags for different products, you need FluentCRM’s own automation builder or a workflow plugin.

    With Krom Automation Pro, the setup looks like this:

    1. Open the visual workflow builder and add an Order Completed trigger from WooCommerce.
    2. Add a Condition node and set the condition to check which product ID appears in the order.
    3. On the Yes branch, add the FluentCRM action to add a specific tag to the contact.
    4. On the No branch, add a second condition to check for a different product, or let the workflow end.

    You can stack as many condition branches as you need. An agency running 20 WooCommerce stores will build this once, export it as a portable JSON file, and import it to each new site in under a minute. The workflow import and export documentation covers exactly how that works.

    The FluentCRM actions available in Krom Automation Pro include adding contacts to lists, adding tags, removing tags, and updating contact fields. The full reference is in the FluentCRM integration documentation.

    What About WooCommerce Subscriptions?

    WooCommerce Subscriptions renewals, cancellations, and payment failures are not handled by FluentCRM’s native WooCommerce integration in any meaningful depth. This is the gap that pushes people toward WP Fusion or Make.com, neither of which is self-hosted.

    Krom Automation Pro includes a dedicated WooCommerce Subscriptions integration with triggers for renewal payments, cancellations, subscription pauses, and trial expirations. You connect those triggers directly to FluentCRM actions in the same workflow. No external service, no webhook middleman, no per-task billing.

    A practical example: when a subscription is cancelled, a workflow removes the “Active Subscriber” tag in FluentCRM, revokes course access in LearnDash (if applicable), and sends a win-back email 3 days later using a delay node. All three steps run from a single workflow, self-hosted on your own server, with full per-step execution logs.

    Subscription lifecycle events, renewal, cancellation, trial expiry, are where most native CRM integrations quietly give up. That is exactly where a workflow layer earns its cost.

    Building a Full Purchase-to-CRM Workflow in Krom Automation

    A complete post-purchase FluentCRM workflow in Krom Automation Pro looks like this, ordered by what has the most impact:

    1. Trigger: Order Completed (WooCommerce). Fires once per order, enforced by the run-once setting so a customer who places two orders in quick succession does not create duplicate executions.
    2. Action: Add or Update Contact (FluentCRM). Creates the contact if they do not exist, or updates the record if they do. Merge tags pull the billing name, email, phone, and address directly from the order.
    3. Action: Add to List (FluentCRM). Adds the contact to your post-purchase nurture list.
    4. Condition: Check product ID. Branches the workflow based on what was purchased.
    5. Action: Add Tag (FluentCRM). Applies a product-specific tag on the matching branch.
    6. Delay: 3 days. Waits before the next action.
    7. Action: Send Email. Delivers a follow-up email. If you are using the Pro visual email builder, this is a fully branded block-based email, not a plain-text message.

    The merge tags documentation shows every dynamic variable available inside action fields, including order total, product names, customer first name, and billing city. Those variables work in email subject lines, email bodies, and any HTTP Request payloads you add later.

    You can also add a Google Sheets logging step in the same workflow if you want a spreadsheet record of every purchase alongside your CRM data. The guide to sending WooCommerce orders to Google Sheets shows that setup end to end.

    Does Krom Automation Replace FluentCRM’s Native Integration?

    No, and we would not recommend treating it that way. The native FluentCRM WooCommerce integration is fast, lightweight, and handles the checkout-to-contact creation step with no overhead. Keep it active.

    Krom Automation Pro sits on top of the native integration and handles the logic layer: conditional tagging, subscription events, multi-step sequences, and connections to other tools in the same workflow. The two work alongside each other rather than competing.

    If your only requirement is creating a contact in FluentCRM when someone buys, enable the native integration and stop there. If you need product-specific tags, subscription lifecycle handling, or purchase events that also update a Google Sheet, notify a Slack channel, or grant course access, that is where Krom Automation Pro adds value.

    ScenarioRight toolTime to set up
    Create FluentCRM contact at checkoutNative FluentCRM integrationUnder 5 minutes
    Import existing customer historyNative FluentCRM bulk importUnder 10 minutes
    Tag contacts by product purchasedKrom Automation Pro15 to 30 minutes
    Handle subscription renewals and cancellationsKrom Automation Pro20 to 40 minutes
    Multi-step post-purchase sequenceKrom Automation Pro30 to 60 minutes
    Cross-tool workflow (CRM + Slack + Sheets)Krom Automation Pro45 to 90 minutes

    A Honest Look at the Limits

    Krom Automation Pro runs workflows via Action Scheduler in the background, so nothing executes during page loads and it will not slow down checkout. However, delays in workflows depend on WordPress Cron.

    On very low-traffic sites where no page is visited for several hours, WP-Cron fires late. If a 3-day delay needs to be precise, configure a real server cron job rather than relying on WP-Cron alone.

    AI actions in Krom Automation require you to supply your own API key. wpRigel never charges per AI call and never marks up tokens.

    You pay your AI provider directly at standard rates. That is a deliberate choice that keeps costs predictable at scale, but it does mean one extra setup step.

    If you want to test a workflow before it touches live customer data, the workflow simulator runs a dry-run with zero side effects. Use it before enabling any new workflow on a production store.

    Every workflow that runs on live customer data should pass a simulator test first. A misfired tag on 3,000 contacts is not a quick fix.

    What Krom Automation Pro Costs

    The free version of Krom Automation is available on the WordPress.org plugin directory and includes the WooCommerce Order Created and Order Completed triggers, plus 21 built-in actions. FluentCRM-specific actions are a Pro feature.

    Pro plans start at $69 a year for a single site, or $199 for a lifetime licence. Agency plans covering 5 sites cost $149 a year or $399 lifetime.

    The comparison against the tools ranking above this article is worth spelling out: at the time of writing, Uncanny Automator’s automation plans start at $199 a year for one site. Krom Automation Pro covers the same site for $69 a year, includes every Pro feature and all 25 integrations on every plan, and carries no per-task billing at any tier.

    Every Pro plan includes a 14-day money-back guarantee. See the full pricing breakdown before deciding which plan fits your site count.

    Also from wpRigel

    Pollify is wpRigel’s Gutenberg-native poll, survey and quiz plugin. Polls are built directly inside the block editor as real blocks, with no shortcodes to paste and no separate interface to learn. It is the right tool when you want reader feedback that lives inside the content rather than embedded from an external service.

    Commandify is a command palette for the WordPress admin. Press Cmd or Ctrl plus K to jump anywhere, search every post and user, and run admin actions without clicking through menus. It is the only command palette with genuine WooCommerce depth: search orders by number or customer name, update stock, change order status, and email a customer, all without leaving the palette.

    Frequently Asked Questions

    Do I need FluentCRM Pro to sync WooCommerce customers?

    No. The native WooCommerce integration that creates contacts at checkout is included in the free version of FluentCRM. FluentCRM Pro adds advanced automation sequences, email series, and reporting, but the basic sync works without it.

    Can I sync WooCommerce customers to FluentCRM without any third-party plugin?

    Yes, for new customers going forward. Enable the native WooCommerce integration inside FluentCRM Settings, and every completed order creates a contact automatically. For conditional tagging, subscription events, and multi-step workflows, a plugin like Krom Automation Pro adds the logic layer that the native integration does not include.

    Does Krom Automation Pro require a Krom Automation free plugin as well?

    Yes. Krom Automation Pro is an add-on that requires the free plugin installed and active alongside it. The Pro installation guide walks through both steps.

    Will the FluentCRM sync break during high-traffic events like Black Friday?

    The native FluentCRM integration runs synchronously at checkout. Krom Automation runs workflows via Action Scheduler in the background, so the checkout process itself is not affected. The article on whether Black Friday traffic breaks WordPress automations covers this in more detail, including what to check on shared hosting before a sale event.

    How do I tag FluentCRM contacts differently based on what product they bought?

    Use a Condition node in Krom Automation Pro after the Order Completed trigger. Set the condition to check the product ID in the order, then apply a different FluentCRM tag on each branch. The conditions and branching documentation shows the exact node configuration.

    Can I also tag Black Friday customers separately in FluentCRM?

    Yes. Add a second condition to your purchase workflow that checks the order date or a specific coupon code, then applies a Black Friday tag on the matching branch. The guide to tagging Black Friday customers in FluentCRM covers this exact use case with step-by-step instructions.

    Our Verdict

    Enable FluentCRM’s native WooCommerce integration today. It takes under 5 minutes, it is free, and it handles the majority of what most stores need. Run the bulk import once to bring in historical customers, configure the opt-in checkbox if you have EU customers, and you are done with the basics.

    Add Krom Automation Pro when your tagging logic becomes more complex than “every buyer gets the same tag”, when you are selling subscriptions, or when you want purchase events to flow into other tools in the same workflow. At $69 a year for a single site, it costs less than two hours of developer time and pays for itself the first time it prevents a manually missed tag from breaking a post-purchase sequence.

    If you are running client sites, the 5-site plan at $149 a year is the one to consider. Build the workflow template once, export it, and import it across every client store. Download the free plugin from the WordPress.org plugin directory to start, and upgrade when the conditional logic is ready.

    Compare all Krom Automation Pro plans and pick the right site count.

    The wpRigel Team

    October 15, 2026
    User Guide
  • 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
Previous Page
1 2 3 4 5 … 23
Next Page
wprigel logo

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

  • x.com icon
  • linkedin icon

Products

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

Company

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

Resources

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

Comparisons

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

Changelogs

  • Commandify Changelog
  • Pollify Changelog
  • Krom Automation Pro Changelog

wpRigel 2026. All Rights Reserved

  • Terms of use
  • Privacy Policy
  • Cookie Policy