WooCommerce Integration: All Triggers, Actions, and Automation Examples
The free Krom Automation plugin already includes two WooCommerce triggers and two actions.
Krom Automation Pro extends this significantly, adding 11 more triggers and 6 more actions that cover the full WooCommerce customer lifecycle- from account creation and first purchase through order management, stock alerts, product reviews, and payment failures.
No API key or configuration is required. Krom Automation detects WooCommerce automatically when the plugin is active.
Requirements #
- Krom Automation Pro installed and activated
- WooCommerce installed and active
What’s included in free vs Pro #
| Free | Pro (additional) | |
|---|---|---|
| Triggers | Order Created, Order Completed | 11 more triggers |
| Actions | Create Coupon, Update Order Status | 6 more actions |
This page covers only the Pro-exclusive triggers and actions. For the free WooCommerce triggers and actions, see the Free Triggers Reference and Free Actions Reference.
Pro triggers for WooCommerce #
1. Customer Created
Fires when a new WooCommerce customer account is created. This fires on account registration, not on guest checkout.
| Data field | Description |
|---|---|
customer_id | WooCommerce customer ID |
customer_email | Customer email address |
first_name | Customer first name |
last_name | Customer last name |
date_registered | Account registration date |
Common use: Sending a welcome email specifically to new WooCommerce account holders, as distinct from the broader WordPress User Registered trigger.
2. Customer First Purchase
Fires when a customer completes their very first order. This trigger fires only once per customer — on the first completed order — and not on any subsequent purchases.
| Data field | Description |
|---|---|
customer_id | WooCommerce customer ID |
customer_email | Customer email address |
order_id | The order ID of the first purchase |
order_total | The order total |
| Billing details | Billing address fields |
Common use: Sending a first-purchase welcome email that’s different from the standard order confirmation, issuing a loyalty reward coupon for future purchases, or adding the customer to a first-time buyer Mailchimp audience.
3. Order Status Changed
Fires when a WooCommerce order status changes to any status. Use conditions on old_status and new_status to target specific transitions.
| Data field | Description |
|---|---|
order_id | Order ID |
order_status | The new order status |
old_status | The previous order status |
customer_email | Customer email address |
order_total | Order total |
| Billing and shipping address fields | Full address data |
Common use: Notifying a customer when their order moves from processing to shipped, alerting the warehouse team when an order is ready for fulfilment, or triggering a custom workflow on any specific status transition you define.
Tip: Add conditions on both
old_statusandnew_statusto target precise transitions. For example,old_statusequalsprocessingandnew_statusequalscompletedfires only when an order moves from processing to completed, not on any other completion.
4. Order Cancelled
Fires when a WooCommerce order is cancelled.
| Data field | Description |
|---|---|
order_id | Order ID |
customer_email | Customer email address |
order_total | Order total |
cancellation_reason | Cancellation reason (if recorded) |
Common use: Notifying the customer with a cancellation confirmation, alerting the team, or triggering a win-back coupon offer.
5. Order Refunded
Fires when a WooCommerce order is refunded, whether fully or partially.
| Data field | Description |
|---|---|
order_id | Order ID |
refund_amount | The amount refunded |
customer_email | Customer email address |
reason | Refund reason (if recorded) |
Common use: Sending a refund confirmation to the customer, notifying the finance team, or logging refunds to a Google Sheet for reporting.
6. Order Payment Failed
Fires when a WooCommerce order payment fails at checkout.
| Data field | Description |
|---|---|
order_id | Order ID |
customer_email | Customer email address |
order_total | Order total |
payment_method | The payment method that failed |
Common use: Sending an immediate payment failure email with instructions to retry, alerting the team via Slack, or triggering an SMS via Twilio for high-value failed orders.
7. Coupon Used
Fires when a coupon code is applied to a WooCommerce order.
| Data field | Description |
|---|---|
order_id | Order ID |
coupon_code | The coupon code that was used |
discount_amount | The discount amount applied |
customer_email | Customer email address |
Common use: Tracking coupon usage, notifying an affiliate or referrer when their coupon is used, or logging coupon redemptions to Google Sheets.
8. Product Low Stock
Fires when a WooCommerce product’s stock quantity reaches the low stock threshold configured in WooCommerce settings.
| Data field | Description |
|---|---|
product_id | Product ID |
product_name | Product name |
stock_quantity | Current stock quantity |
stock_threshold | The low stock threshold value |
Common use: Notifying the warehouse or purchasing team via Slack, SMS (Twilio), or Telegram to reorder stock before it runs out.
9. Product Out of Stock
Fires when a WooCommerce product’s stock quantity reaches zero and the product goes out of stock.
| Data field | Description |
|---|---|
product_id | Product ID |
product_name | Product name |
product_sku | Product SKU |
Common use: Immediate out-of-stock alert to the purchasing team, enabling a back-in-stock notification signup workflow, or updating a Google Sheet with current stock status.
10. Product Back in Stock
Fires when a WooCommerce product that was out of stock has its stock quantity updated to a positive number.
| Data field | Description |
|---|---|
product_id | Product ID |
product_name | Product name |
stock_quantity | The new stock quantity |
Common use: Notifying customers who signed up for back-in-stock alerts, posting an announcement to social media channels, or alerting the sales team.
11. Review Submitted
Fires when an approved WooCommerce product review is submitted. This fires after the review is approved, not when it is first posted pending moderation.
| Data field | Description |
|---|---|
review_id | Review ID |
product_id | Product ID |
product_name | Product name |
reviewer_name | Name of the reviewer |
reviewer_email | Reviewer’s email address |
rating | Star rating (1 to 5) |
review_content | The review text |
Common use: Thanking the reviewer with a follow-up email and a discount coupon as a reward, alerting the team when a low-rating review is submitted for quick response, or logging all reviews to a Google Sheet.
Pro actions for WooCommerce #
1. Add Order Meta
Adds or updates a custom metadata field on a WooCommerce order.
| Field | Description |
|---|---|
order_id | Order ID. Use {{order_id}} from the trigger. |
meta_key | The meta key name (e.g., fulfillment_status, crm_contact_id). |
meta_value | The value to store. Merge tags are supported. |
2. Apply Coupon
Applies an existing coupon code to a WooCommerce order.
| Field | Description |
|---|---|
order_id | Order ID. Use {{order_id}} from the trigger. |
coupon_code | The coupon code to apply. |
3. Refund Order
Creates a refund for a WooCommerce order programmatically.
| Field | Description |
|---|---|
order_id | Order ID. |
amount | The refund amount. |
reason | The refund reason (stored on the order). |
4. Send Invoice Email
Sends the WooCommerce invoice or payment request email to the customer for a specific order.
| Field | Description |
|---|---|
order_id | Order ID. Use {{order_id}} from the trigger. |
5. Send Order Note
Adds a note to a WooCommerce order, with the option to notify the customer by email.
| Field | Description |
|---|---|
order_id | Order ID. |
note | The note text. Merge tags are supported. |
notify_customer | Toggle. When enabled, WooCommerce sends the note to the customer as an email notification. |
6. Update Product Stock
Updates the stock quantity or stock status of a WooCommerce product.
| Field | Description |
|---|---|
product_id | Product ID. |
stock_quantity | The new stock quantity to set. |
stock_status | The new stock status: instock, outofstock, or onbackorder. |
How to Set up a WooCommerce Pro workflow with Krom Automation #
- Go to Krom Automation > Workflows and click Add New Workflow.
- Click Add Trigger and select the relevant WooCommerce trigger from the WooCommerce category.
- For triggers like Order Status Changed, add a Condition node with
old_statusandnew_statusfields to target the specific transition you want. - Add your actions. Use
{{order_id}},{{customer_email}},{{customer.first_name}}, and other WooCommerce merge tags in action fields. - Simulate the workflow, then activate it.
Screenshot: Order Payment Failed trigger on the canvas connected to a Send Email action and a Slack Send Message action.
Screenshot: Order Status Changed trigger with a condition node below it showing old_status and new_status filters.
Real-world automation examples #
First-purchase welcome series
Trigger: Customer First Purchase Action 1: Send Email (branded welcome email with a first-purchase thank-you message) Action 2 (3-day delay): Send Email (product tips and how-to guide) Action 3 (7-day delay): Create WooCommerce Coupon and Send Email (loyalty reward coupon)
Payment failure recovery
Trigger: Order Payment Failed Action 1: Send Email to {{customer_email}} with payment retry instructions Action 2: Twilio Send SMS to {{customer.phone}} with a brief payment failure alert
High-value order alert to team
Trigger: Order Status Changed (condition: new_status equals processing, order_total greater than 500) Action: Slack Send Rich Message to #orders with the order ID, customer name, and total
Low stock warehouse alert
Trigger: Product Low Stock Action 1: Slack Send Message to #warehouse with {{product_name}} and {{stock_quantity}} Action 2: Telegram Send Message to the purchasing team chat with the same details
Review reward coupon
Trigger: Review Submitted (condition: rating greater than 3) Action 1: Create WooCommerce Coupon with a 10% discount code Action 2: Send Email to {{reviewer_email}} thanking them and delivering the coupon code
Refund confirmation and logging
Trigger: Order Refunded Action 1: Send Email to {{customer_email}} confirming the refund amount Action 2: Google Sheets Append Row logging the order ID, refund amount, reason, and date
Krom Automation Pre-built templates for WooCommerce #
Install these from Krom Automation > Templates:
| Template | What it does |
|---|---|
abandoned-cart-recovery | Multi-email abandoned cart recovery sequence |
back-in-stock-notify | Notify customers when a product comes back in stock |
first-purchase-welcome | Welcome email series on a customer’s first order |
high-value-order-alert | Team alert when an order exceeds a threshold |
low-stock-alert | Notify admin via SMS or Slack on low stock |
multi-stage-abandoned-cart | 3-stage abandoned cart recovery with delay nodes |
new-wc-customer-welcome | Welcome flow for new WooCommerce customer accounts |
order-cancelled-notification | Customer and team notification on cancellation |
payment-failed-recovery | Payment recovery email with retry instructions |
product-review-request | Review request email 7 days after order completion |
refund-confirmation | Refund confirmation email and Slack alert |
review-reward | Coupon reward after a customer submits a review |
vip-customer-recognition | Recognise and reward VIP customers by lifetime value |
Troubleshooting #
Pro WooCommerce triggers aren’t appearing in the trigger list. Confirm Krom Automation Pro is installed, active, and licensed. Then confirm WooCommerce is installed and active. Both must be present for Pro WooCommerce triggers to appear.
The Customer First Purchase trigger is firing on repeat orders. This trigger is designed to fire only on the first completed order per customer. If it’s firing multiple times for the same customer, check whether the customer has multiple accounts or whether the order used guest checkout on previous orders. Guest orders don’t count toward the “first purchase” check — only registered customer orders do.
Order Status Changed is firing too broadly. Add conditions on both old_status and new_status to narrow the trigger to the exact status transition you intend.