{"id":391093,"date":"2026-10-30T18:30:02","date_gmt":"2026-10-30T18:30:02","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/universal-flow-automation-store-for-woocommerce\/"},"modified":"2026-10-31T04:16:49","modified_gmt":"2026-10-31T04:16:49","slug":"universal-workflow-automation","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/universal-workflow-automation\/","author":23571888,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.1","stable_tag":"1.0.1","tested":"7.1.4","requires":"6.6","requires_php":"7.4","requires_plugins":null,"header_name":"Universal Workflow Automation for WooCommerce \u2013 Conditions, Follow-Up Email & Marketing Automation","header_author":"Universal WP","header_description":"WooCommerce automation without code. Build visual workflows with triggers, If \/ Else conditions and actions \u2014 automate order status, customer emails, coupons, stock and refunds in the background.","assets_banners_color":"58849b","last_updated":"2026-10-31 04:16:49","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/wordpress.org\/plugins\/universal-workflow-automation\/","header_author_uri":"https:\/\/profiles.wordpress.org\/universalwp\/","rating":0,"author_block_rating":0,"active_installs":0,"downloads":44,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"universalwp","date":"2026-10-30 18:29:31","revision":3775865},"1.0.1":{"tag":"1.0.1","author":"universalwp","date":"2026-10-31 04:16:49","revision":3776326}},"upgrade_notice":{"1.0.1":"<p>Maintenance release. No database changes.<\/p>","1.0.0":"<p>First release of Universal Workflow Automation for WooCommerce.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3775865,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3775865,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3776326,"resolution":"1544x500","location":"assets","locale":"","width":1500,"height":600},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3776326,"resolution":"772x250","location":"assets","locale":"","width":750,"height":300}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0","1.0.1"],"block_files":[],"assets_screenshots":{"screenshot-1.jpg":{"filename":"screenshot-1.jpg","revision":3775865,"resolution":"1","location":"assets","locale":"","width":1759,"height":856},"screenshot-2.jpg":{"filename":"screenshot-2.jpg","revision":3775865,"resolution":"2","location":"assets","locale":"","width":1745,"height":880},"screenshot-3.jpg":{"filename":"screenshot-3.jpg","revision":3775865,"resolution":"3","location":"assets","locale":"","width":1754,"height":873},"screenshot-4.jpg":{"filename":"screenshot-4.jpg","revision":3775865,"resolution":"4","location":"assets","locale":"","width":1762,"height":876},"screenshot-5.jpg":{"filename":"screenshot-5.jpg","revision":3775865,"resolution":"5","location":"assets","locale":"","width":1757,"height":870},"screenshot-6.jpg":{"filename":"screenshot-6.jpg","revision":3775865,"resolution":"6","location":"assets","locale":"","width":1750,"height":881}},"screenshots":{"1":"Visual workflow builder with a trigger, If \/ Else If \/ Else branches and actions.","2":"Template library \u2014 import and activate WooCommerce automations in one click.","3":"Overview dashboard with run statistics, success rate and failure trend.","4":"Workflow Listing","5":"Execution history with a step-by-step trace of every run.","6":"Dark Mode Dashboard Setting Panel"}},"plugin_section":[],"plugin_tags":[27370,1034,21484,207491,265870],"plugin_category":[],"plugin_contributors":[283048],"plugin_business_model":[],"class_list":["post-391093","plugin","type-plugin","status-publish","hentry","plugin_tags-follow-up-email","plugin_tags-marketing-automation","plugin_tags-order-status","plugin_tags-woocommerce-automation","plugin_tags-workflow-automation","plugin_contributors-universalwp","plugin_committers-universalwp"],"banners":{"banner":"https:\/\/ps.w.org\/universal-workflow-automation\/assets\/banner-772x250.png?rev=3776326","banner_2x":"https:\/\/ps.w.org\/universal-workflow-automation\/assets\/banner-1544x500.png?rev=3776326","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/universal-workflow-automation\/assets\/icon-128x128.png?rev=3775865","icon_2x":"https:\/\/ps.w.org\/universal-workflow-automation\/assets\/icon-256x256.png?rev=3775865","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/universal-workflow-automation\/assets\/screenshot-1.jpg?rev=3775865","caption":"Visual workflow builder with a trigger, If \/ Else If \/ Else branches and actions."},{"src":"https:\/\/ps.w.org\/universal-workflow-automation\/assets\/screenshot-2.jpg?rev=3775865","caption":"Template library \u2014 import and activate WooCommerce automations in one click."},{"src":"https:\/\/ps.w.org\/universal-workflow-automation\/assets\/screenshot-3.jpg?rev=3775865","caption":"Overview dashboard with run statistics, success rate and failure trend."},{"src":"https:\/\/ps.w.org\/universal-workflow-automation\/assets\/screenshot-4.jpg?rev=3775865","caption":"Workflow Listing"},{"src":"https:\/\/ps.w.org\/universal-workflow-automation\/assets\/screenshot-5.jpg?rev=3775865","caption":"Execution history with a step-by-step trace of every run."},{"src":"https:\/\/ps.w.org\/universal-workflow-automation\/assets\/screenshot-6.jpg?rev=3775865","caption":"Dark Mode Dashboard Setting Panel"}],"raw_content":"<!--section=description-->\n<p><strong>Universal Workflow Automation<\/strong> is a visual <strong>WooCommerce automation<\/strong> and <strong>workflow builder<\/strong> for store owners who want their shop to run itself. Automate order status updates, customer follow-up emails, discount coupons, low stock alerts, refund reviews and team notifications in minutes \u2014 without writing code and without an external automation service.<\/p>\n\n<p>Pick a <strong>trigger<\/strong> (a new order, a failed payment, a refund, a product review, low stock\u2026), add <strong>If \/ Else If \/ Else conditions<\/strong>, connect <strong>actions<\/strong>, and switch the workflow on. Every workflow runs in the background through Action Scheduler, so checkout stays fast, and every run is logged step by step, so you always know what happened and why.<\/p>\n\n<p>Start in one click with <strong>23 ready-made automation templates<\/strong>, or build your own on the drag-and-drop canvas.<\/p>\n\n<h4>Why store owners choose Universal Workflow Automation<\/h4>\n\n<ul>\n<li><strong>Visual workflow builder<\/strong> \u2013 a drag-and-drop canvas for WooCommerce workflows. No code, no shortcodes, no SaaS account.<\/li>\n<li><strong>If \/ Else If \/ Else logic<\/strong> \u2013 route every order down the right path: VIP or first-time buyer, big or small order, local or international, card or cash on delivery.<\/li>\n<li><strong>32 WooCommerce triggers<\/strong> \u2013 orders, payments, refunds, stock, products, reviews, customers and coupons, on WooCommerce's own hooks.<\/li>\n<li><strong>20 WooCommerce actions<\/strong> \u2013 emails, order notes, order status, coupons, fees, refunds, stock, prices, product visibility, order and customer meta, dashboard notifications.<\/li>\n<li><strong>40 condition fields<\/strong> \u2013 order total, items, payment method, countries, coupons used, customer lifetime spend, order count, guest checkout, product stock and sales, review rating, day of week and more.<\/li>\n<li><strong>23 one-click templates<\/strong> \u2013 import and activate proven WooCommerce automations instantly.<\/li>\n<li><strong>Background execution<\/strong> \u2013 workflows run through Action Scheduler (bundled with WooCommerce) with a WP-Cron fallback; customers never wait for an automation.<\/li>\n<li><strong>Duplicate-safe and retry-safe<\/strong> \u2013 each store event starts a workflow once; failed steps retry automatically with backoff, and a retry never repeats an email or coupon that was already sent.<\/li>\n<li><strong>Execution history<\/strong> \u2013 a step-by-step trace of every run: which branch was taken, what each action did, and any error. Customer emails are masked by default.<\/li>\n<li><strong>Dry-run testing<\/strong> \u2013 test any workflow against your latest real order with every side effect switched off.<\/li>\n<li><strong>Version history, import &amp; export<\/strong> \u2013 roll back any change and move workflows between stores as JSON.<\/li>\n<li><strong>HPOS compatible<\/strong> \u2013 works with WooCommerce High-Performance Order Storage and classic order tables.<\/li>\n<li><strong>Private by design<\/strong> \u2013 the free plugin makes no external requests and sends no tracking data.<\/li>\n<\/ul>\n\n<h4>Popular WooCommerce automations you can build<\/h4>\n\n<ul>\n<li><strong>Order status automation<\/strong> \u2013 put risky orders on hold, complete virtual orders, add notes for your packing team.<\/li>\n<li><strong>Customer follow-up emails<\/strong> \u2013 a thank-you email after an order is completed, a welcome email after the first purchase, or an account invitation to guest buyers.<\/li>\n<li><strong>Discount coupon automation<\/strong> \u2013 generate a unique, single-use coupon for VIP customers, first-time buyers or cancelled orders and drop <code>{{coupon_code}}<\/code> straight into the email.<\/li>\n<li><strong>High-value order alerts<\/strong> \u2013 email the store manager when an order passes 500, or tag orders Gold, Silver or Standard.<\/li>\n<li><strong>Low stock and out-of-stock alerts<\/strong> \u2013 warn the inventory team before a best-seller sells out, hide sold-out products from the shop, and show them again when they are back in stock.<\/li>\n<li><strong>Failed payment recovery<\/strong> \u2013 email the customer a link to pay again and notify the team, only for orders worth chasing.<\/li>\n<li><strong>Refund monitoring<\/strong> \u2013 escalate large refunds, log small ones, and record the reason on the order.<\/li>\n<li><strong>Cash on delivery verification<\/strong> \u2013 hold large COD orders until someone confirms them by phone.<\/li>\n<li><strong>Product review management<\/strong> \u2013 alert the owner about 1\u20132 star reviews, collect 3-star feedback, celebrate 5-star reviews.<\/li>\n<li><strong>Weekend and bulk order handling<\/strong> \u2013 tell customers weekend orders ship on Monday; flag wholesale orders of 10 or more items.<\/li>\n<\/ul>\n\n<h4>23 free WooCommerce automation templates<\/h4>\n\n<p>Every template validates out of the box: open it, click <strong>Import &amp; activate<\/strong>, and it is live \u2014 or import it as a draft and adjust it first.<\/p>\n\n<ol>\n<li><strong>New Order Notification<\/strong> \u2013 email the admin about every new order.<\/li>\n<li><strong>High-Value Order Alert<\/strong> \u2013 If the total is 500 or more, alert the admin.<\/li>\n<li><strong>Order Value Tiers<\/strong> \u2013 If \/ Else If \/ Else: Gold (500+), Silver (200+), Standard, saved as order meta.<\/li>\n<li><strong>VIP Thank-You Coupon<\/strong> \u2013 customers who have spent 1000+ get a 15% coupon; everyone else gets a thank-you email.<\/li>\n<li><strong>First-Order Welcome Coupon<\/strong> \u2013 10% off the next order for first-time buyers.<\/li>\n<li><strong>Guest Checkout Account Invite<\/strong> \u2013 invite guest buyers to create an account.<\/li>\n<li><strong>Cancelled Order Win-Back<\/strong> \u2013 an apology plus a 10% coupon for registered customers who cancel.<\/li>\n<li><strong>Customer Purchase Threshold<\/strong> \u2013 flag customers who pass a lifetime spend.<\/li>\n<li><strong>Order Status Note<\/strong> \u2013 add a note when an order is completed.<\/li>\n<li><strong>International Order Review<\/strong> \u2013 hold orders shipping outside your home countries for a customs check.<\/li>\n<li><strong>Large Cash-on-Delivery Verification<\/strong> \u2013 hold COD orders of 300+ for phone confirmation.<\/li>\n<li><strong>Weekend Order Handling<\/strong> \u2013 a note for the team and the customer on Saturday and Sunday orders.<\/li>\n<li><strong>Bulk \/ Wholesale Order Alert<\/strong> \u2013 flag orders with 10+ items.<\/li>\n<li><strong>Payment Failure Notification<\/strong> \u2013 email the admin when a payment fails.<\/li>\n<li><strong>Failed Payment Recovery<\/strong> \u2013 email the customer a pay-again link for orders of 100+.<\/li>\n<li><strong>Refund Review Notification<\/strong> \u2013 email the manager about every refund.<\/li>\n<li><strong>Refund Escalation<\/strong> \u2013 200+ alerts the admin, 50+ notifies the team, smaller refunds get a note.<\/li>\n<li><strong>Product Review Triage<\/strong> \u2013 route reviews by star rating.<\/li>\n<li><strong>Low-Stock Alert<\/strong> \u2013 email the inventory team at your threshold.<\/li>\n<li><strong>Out-of-Stock Alert<\/strong> \u2013 a dashboard notification when a product sells out.<\/li>\n<li><strong>Hide Out-of-Stock Products<\/strong> \u2013 hide sold-out products from shop listings.<\/li>\n<li><strong>Show Restocked Products Again<\/strong> \u2013 put restocked products back in the catalog.<\/li>\n<li><strong>Feature Restocked Best-Sellers<\/strong> \u2013 feature products with 10+ sales when they return.<\/li>\n<\/ol>\n\n<h4>WooCommerce triggers<\/h4>\n\n<ul>\n<li><strong>Orders:<\/strong> Order Created, Checkout Completed (classic and block checkout), Order Status Changed, Order Pending, Order Processing, Order On Hold, Order Completed, Order Cancelled, Order Trashed, Order Note Added, Note to Customer.<\/li>\n<li><strong>Payments:<\/strong> Order Paid (card, PayPal and offline gateways such as bank transfer, cheque and cash on delivery), Payment Failed.<\/li>\n<li><strong>Refunds:<\/strong> Refund Created, Full Refund, Partial Refund.<\/li>\n<li><strong>Inventory:<\/strong> Stock Changed, Low Stock, Out of Stock, Back in Stock, Stock Status Changed, Product on Backorder.<\/li>\n<li><strong>Products:<\/strong> Product Created, Product Updated, Product Trashed, Product Review Posted (storefront form and WooCommerce REST API).<\/li>\n<li><strong>Customers:<\/strong> Customer Registered, Customer Updated, Customer Logged In, Customer Deleted.<\/li>\n<li><strong>Coupons:<\/strong> Coupon Applied, Coupon Created.<\/li>\n<\/ul>\n\n<p>New products never fire stock triggers for their initial quantity, and \"Back in Stock\" fires only when a product really returns to stock.<\/p>\n\n<h4>WooCommerce actions<\/h4>\n\n<ul>\n<li><strong>Emails:<\/strong> email the admin or any address; email the customer (WooCommerce email template); send any WooCommerce email (invoice, processing, completed, on-hold\u2026).<\/li>\n<li><strong>Orders:<\/strong> add an order note (private or to the customer), change order status, apply a coupon, add a fee or discount, record a refund, update order meta.<\/li>\n<li><strong>Products &amp; stock:<\/strong> increase, decrease or set stock; set the sale price; update the regular price, stock status or catalog visibility; publish, draft or hide a product; feature a product.<\/li>\n<li><strong>Customers &amp; marketing:<\/strong> update customer meta; generate a unique coupon (available to later steps as <code>{{coupon_code}}<\/code>).<\/li>\n<li><strong>Workflow:<\/strong> post a dashboard notification, record an event in the log, stop the workflow.<\/li>\n<\/ul>\n\n<p>Personalise any email, note or meta value with placeholders such as <code>{{customer_name}}<\/code>, <code>{{order_number}}<\/code>, <code>{{total}}<\/code>, <code>{{currency}}<\/code>, <code>{{items_list}}<\/code>, <code>{{order_url}}<\/code>, <code>{{view_order_url}}<\/code>, <code>{{product_name}}<\/code>, <code>{{stock}}<\/code>, <code>{{refund_amount}}<\/code>, <code>{{review_rating}}<\/code> and <code>{{coupon_code}}<\/code>.<\/p>\n\n<h4>Conditions that understand your store<\/h4>\n\n<p>Combine rules with AND \/ OR and chain <strong>If \/ Else If \/ Else<\/strong> branches (the first branch that matches wins). Compare with equals, does not equal, greater than, less than, at least, at most, contains, does not contain, is one of, is not one of, is empty and is not empty. Fields cover:<\/p>\n\n<ul>\n<li><strong>The order<\/strong> \u2013 total, subtotal, discount, shipping, status, payment method, item count, currency, billing and shipping country, shipping method, coupon codes, products, created via, customer note.<\/li>\n<li><strong>The product<\/strong> \u2013 stock, price, type, SKU, stock status, on sale, featured, categories, total sales, average rating.<\/li>\n<li><strong>The customer<\/strong> \u2013 email, order count, lifetime spend, guest or registered, role, country.<\/li>\n<li><strong>Refunds, reviews and coupons<\/strong> \u2013 refund amount, review rating, coupon code and amount.<\/li>\n<li><strong>The calendar<\/strong> \u2013 hour of day and day of the week.<\/li>\n<\/ul>\n\n<h4>Built for reliability and speed<\/h4>\n\n<ul>\n<li><strong>Fast checkout<\/strong> \u2013 during checkout only a lightweight event is recorded; workflows run in the background. Events no workflow uses cost a single database query.<\/li>\n<li><strong>No load when idle<\/strong> \u2013 listeners are attached only for triggers your active workflows use. With no active workflows nothing runs on the storefront.<\/li>\n<li><strong>Exactly once<\/strong> \u2013 every event runs once, even if WooCommerce fires a hook twice or a background job is delivered twice.<\/li>\n<li><strong>Safe retries<\/strong> \u2013 temporary errors retry with fixed, linear or exponential backoff up to your limit; a manual retry continues where the run failed and keeps outputs such as a generated coupon code.<\/li>\n<li><strong>Guard rails<\/strong> \u2013 a time limit per run, a maximum number of steps, and loop protection when workflows trigger each other.<\/li>\n<li><strong>Self-healing queue<\/strong> \u2013 runs whose background job was lost are re-queued, and stuck runs are closed with a clear error.<\/li>\n<li><strong>Automatic cleanup<\/strong> \u2013 configurable log retention, cleaned in small batches.<\/li>\n<\/ul>\n\n<h4>Security and privacy<\/h4>\n\n<ul>\n<li>Only administrators can manage workflows by default; every REST endpoint checks capabilities and the WordPress nonce.<\/li>\n<li>You can delegate workflow authoring with the <code>uniflow_manage_workflows<\/code> capability; steps that create discounts, fees or refunds still require a store manager (<code>manage_woocommerce<\/code>).<\/li>\n<li>User roles, capabilities, session tokens and internal (underscore) meta can never be changed by a workflow.<\/li>\n<li>Email content is escaped and subjects cannot inject mail headers.<\/li>\n<li>Customer emails are masked in the execution history; integration secrets are encrypted at rest.<\/li>\n<li>Universal Workflow Automation plugs into the WordPress personal data exporter and eraser and adds suggested text to your privacy policy.<\/li>\n<\/ul>\n\n<h4>Free vs Pro features<\/h4>\n\n<p><strong>Free \u2013 everything you need to automate a store, unlimited:<\/strong><\/p>\n\n<ul>\n<li>Visual drag-and-drop workflow builder with If \/ Else If \/ Else branching<\/li>\n<li>32 WooCommerce triggers (orders, payments, refunds, stock, products, reviews, customers, coupons)<\/li>\n<li>20 actions (emails, order notes and status, coupons, fees, refunds, stock, prices, product visibility, order and customer meta, notifications)<\/li>\n<li>40 condition fields with AND \/ OR rules<\/li>\n<li>23 ready-made templates with one-click \"Import &amp; activate\"<\/li>\n<li>Background execution on Action Scheduler, exactly-once events, safe retries<\/li>\n<li>Execution history with step traces, dry-run testing, version history, import \/ export<\/li>\n<li>HPOS and block checkout compatible, privacy exporter \/ eraser, no external requests<\/li>\n<\/ul>\n\n<p><strong>Pro \u2013 optional add-on for timing and integrations:<\/strong><\/p>\n\n<ul>\n<li><strong>Delay<\/strong> step \u2013 wait minutes, hours or days before the next action<\/li>\n<li><strong>Wait Until Date<\/strong> step \u2013 continue at an exact date and time<\/li>\n<li><strong>Daily Schedule<\/strong> trigger \u2013 run a workflow at a set time every day<\/li>\n<li><strong>WooCommerce Subscriptions<\/strong> renewal trigger<\/li>\n<li><strong>Webhooks<\/strong> \u2013 HMAC-signed HTTPS requests to your CRM, ERP or email marketing tool, with a delivery log<\/li>\n<li><strong>Slack<\/strong> \u2013 post messages to a channel from any workflow<\/li>\n<li><strong>13 more conditional templates<\/strong> \u2013 review request seven days after delivery, unpaid order reminder, auto-cancel unpaid bank transfers, VIP Slack alerts, CRM sync for high-value orders and more<\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>Go to <strong>Plugins \u2192 Add New<\/strong>, search for <strong>Universal Workflow Automation<\/strong> and click <strong>Install Now<\/strong> \u2014 or upload the ZIP from <strong>Plugins \u2192 Add New \u2192 Upload Plugin<\/strong>.<\/li>\n<li>Activate the plugin. WooCommerce 8.2 or newer must be active for store triggers and actions.<\/li>\n<li>Open <strong>Universal Workflow Automation<\/strong> in the admin menu.<\/li>\n<li>Go to <strong>Templates<\/strong>, choose an automation and click <strong>Import &amp; activate<\/strong> \u2014 or click <strong>Create workflow<\/strong> to build your own.<\/li>\n<li>Use <strong>Test<\/strong> in the builder to dry-run a workflow against your latest order before activating it.<\/li>\n<\/ol>\n\n<p>On low-traffic stores, set up a real server cron for <code>wp-cron.php<\/code> so background workflows run on time.<\/p>\n\n<!--section=faq-->\n<dl>\n<dt id=\"is%20universal%20workflow%20automation%20free%3F\"><h3>Is Universal Workflow Automation free?<\/h3><\/dt>\n<dd><p>Yes. All 32 triggers, 20 actions, If \/ Else If \/ Else logic, 23 templates, execution history, dry-run testing, version history and import\/export are free and unlimited. Universal Workflow Automation Pro is an optional add-on for delays, schedules, subscriptions, webhooks and Slack.<\/p><\/dd>\n<dt id=\"do%20i%20need%20to%20know%20how%20to%20code%3F\"><h3>Do I need to know how to code?<\/h3><\/dt>\n<dd><p>No. Workflows are built on a visual canvas, and placeholders such as <code>{{customer_name}}<\/code> personalise messages. Developers can extend triggers and actions with documented WordPress filters.<\/p><\/dd>\n<dt id=\"will%20it%20slow%20down%20my%20store%20or%20checkout%3F\"><h3>Will it slow down my store or checkout?<\/h3><\/dt>\n<dd><p>No. During checkout Universal Workflow Automation only records that an event happened; the workflow runs afterwards in the background through Action Scheduler.<\/p><\/dd>\n<dt id=\"does%20it%20work%20with%20hpos%20%28high-performance%20order%20storage%29%3F\"><h3>Does it work with HPOS (High-Performance Order Storage)?<\/h3><\/dt>\n<dd><p>Yes. All order access uses WooCommerce's CRUD APIs, and it is tested with HPOS and with classic order storage.<\/p><\/dd>\n<dt id=\"does%20it%20work%20with%20the%20block%20checkout%3F\"><h3>Does it work with the block checkout?<\/h3><\/dt>\n<dd><p>Yes. Order triggers listen to WooCommerce order events, which fire for the classic checkout, the block checkout, the Store API and orders created in the admin.<\/p><\/dd>\n<dt id=\"can%20a%20workflow%20send%20the%20same%20email%20twice%3F\"><h3>Can a workflow send the same email twice?<\/h3><\/dt>\n<dd><p>No. Each store event starts a workflow once. When a failed run is retried, steps that already completed (emails, coupons, notes) are skipped, and each failed run can only be retried once.<\/p><\/dd>\n<dt id=\"how%20do%20i%20send%20a%20coupon%20to%20a%20customer%20automatically%3F\"><h3>How do I send a coupon to a customer automatically?<\/h3><\/dt>\n<dd><p>Use the <strong>Generate Coupon<\/strong> action \u2014 it creates a unique, single-use code (optionally restricted to the customer's email) \u2014 then add an email step and write <code>{{coupon_code}}<\/code>. The <strong>VIP Thank-You Coupon<\/strong> and <strong>First-Order Welcome Coupon<\/strong> templates do this for you.<\/p><\/dd>\n<dt id=\"can%20i%20test%20a%20workflow%20before%20it%20goes%20live%3F\"><h3>Can I test a workflow before it goes live?<\/h3><\/dt>\n<dd><p>Yes. <strong>Test<\/strong> runs the workflow against your latest real order with every side effect turned off, and the execution history shows exactly which branch would run and what each step would do.<\/p><\/dd>\n<dt id=\"who%20can%20create%20workflows%3F\"><h3>Who can create workflows?<\/h3><\/dt>\n<dd><p>Administrators by default. Grant the <code>uniflow_manage_workflows<\/code> and <code>uniflow_manage_settings<\/code> capabilities to other roles with any role editor. Discount, fee and refund steps also need <code>manage_woocommerce<\/code>.<\/p><\/dd>\n<dt id=\"does%20it%20send%20my%20store%20data%20to%20an%20external%20service%3F\"><h3>Does it send my store data to an external service?<\/h3><\/dt>\n<dd><p>No. The free plugin makes no external HTTP requests. Universal Workflow Automation Pro contacts Slack or your own webhook endpoints only when you add those steps.<\/p><\/dd>\n<dt id=\"what%20happens%20to%20my%20workflows%20if%20i%20deactivate%20or%20delete%20the%20plugin%3F\"><h3>What happens to my workflows if I deactivate or delete the plugin?<\/h3><\/dt>\n<dd><p>Deactivating stops all automations and keeps everything. Deleting also keeps your workflows and history unless you turn on <strong>Settings \u2192 Advanced \u2192 Delete all data on uninstall<\/strong>.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>New: translations now also load from the Loco Translate folder, and follow the active language on multilingual sites (WPML, Polylang).<\/li>\n<li>Tested on WordPress multisite: every sub-site gets its own tables, workflows and settings.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<p>31 Oct 2026\n* First release of Universal Workflow Automation for WooCommerce.\n* Visual workflow builder with If \/ Else and If \/ Else If \/ Else branching.\n* 32 WooCommerce triggers, 20 actions and 40 condition fields.\n* 23 ready-made conditional templates with one-click \"Import &amp; activate\".\n* Background engine on Action Scheduler: exactly-once events, safe retries, time and step limits, self-healing queue.\n* Execution history with step traces, dry-run testing, version history, import \/ export.\n* HPOS and block checkout compatible; privacy exporter \/ eraser; capability-based access.<\/p>","raw_excerpt":"WooCommerce automation plugin: visual workflow builder with If \/ Else logic for order emails, coupons, stock alerts, refunds and status updates.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/391093","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=391093"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/universalwp"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=391093"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=391093"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=391093"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=391093"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=391093"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=391093"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}