Solving AutomateWoo Headaches: Triggering Emails for Specific Booking Options
Ever found yourself staring at your automation rules, pulling your hair out because a critical email just won't fire for that one specific condition? You're not alone. We recently saw a fantastic community discussion that perfectly encapsulated this frustration, focusing on a common WooCommerce challenge: sending an email only when a particular dropdown option is selected for a bookable product.
The original poster was using AutomateWoo with a bookable product and wanted to send a unique email when customers selected a specific time extension option from a dropdown. Sounds straightforward, right? Well, as many of us know, the devil is often in the details when it comes to plugin interactions.
The Core Challenge: Unmasking Hidden Data
The initial attempts involved setting up a workflow in AutomateWoo, aiming to trigger an email when a product option like "60 mins" was chosen. The original poster shared their initial rule setup:

Despite trying various configurations, including using the "contains" operator (as "equals" wasn't an option), the workflow simply wasn't triggering. The workflow logs were silent, confirming the rules themselves weren't being met. This led to a key realization pointed out by several community members: the specific dropdown option likely wasn't being recognized as a "Product - Custom Field" in the way AutomateWoo expected.
The Breakthrough: Order Line Item Meta
The consensus quickly shifted to understanding how plugins like BookingWP save these extra options. They're typically stored as order item meta (or line item meta), not directly as product-level data. This means the rule in AutomateWoo needed to target the specific line item within the order, not the product itself.
A community member clarified that AutomateWoo's "Order Line Item - Custom Field" rule is actually the correct one to use for item meta. The real trick, however, is finding the exact meta key and value that the booking plugin saves in the database. Plugins often use prefixed or slightly different values than what you see on the front end or in basic order details.
The original poster then dug into the database, finding a meta key like _wc_booking_field_hbot_time_slot_extension, and tried to use it in AutomateWoo:


But even with the correct meta key, it still wasn't firing! This highlights another crucial point: the value you're checking against must also be exact. Some plugins save the visible label ("30 mins"), while others save an internal slug or ID ("hbot-30-mins-1"). The original poster's order details screenshot showed "30 mins" as the displayed value:

This suggests the AutomateWoo rule, even with the correct meta key, might have been looking for the wrong value (e.g., "hbot-30-mins-1" instead of "30 mins").
When Native Rules Fall Short: Custom Hooks & External Tools
When direct rules proved stubborn, the discussion moved to custom hooks. The original poster managed to create custom hooks that triggered emails, but they fired for *every* dropdown option, not just the specific one. This indicates the hook itself wasn't correctly filtering by the specific value, a common pitfall.
External automation tools like N8N were also considered. While powerful for complex integrations, a community member wisely advised against relying on AI for critical send/no-send decisions here. Instead, they suggested using N8N to read the order data (which the original poster confirmed contained the option value) and then use a deterministic 'IF' node to filter before sending the email.
Actionable Steps for Your Store:
If you're facing similar challenges with specific booking or product options, here's a step-by-step approach based on the community's insights:
- Place a Real Test Order: Select the exact dropdown option you want to trigger the email for. Complete the purchase.
- Inspect the WooCommerce Order: Go to the backend of the completed order in WooCommerce. Look at the line item details for your bookable product.
- Find the Exact Meta Key and Value:
- Sometimes, the visible option label in the order details is the exact value saved.
- More often, you'll need to use a plugin (like 'Show Meta' for WordPress) or directly inspect your database to find the hidden meta key (often prefixed with an underscore, like
_your_plugin_field) and its corresponding saved value (which might be a slug, ID, or the exact visible label).
- Configure Your AutomateWoo Workflow:
- Set your workflow trigger (e.g., "Order Paid").
- Add a rule: "Order Line Item - Custom Field".
- In the left field, enter the exact meta key you found (e.g.,
_wc_booking_field_hbot_time_slot_extension). - In the right field, enter the exact saved value (e.g., "30 mins" or "hbot-30-mins-1" – whichever was found in the database for that meta key).
- Use the "contains" operator if "equals" isn't available, but ensure the value is precise enough to avoid false positives.
- Test Rigorously: Place multiple test orders, selecting different options, to ensure your email only fires for the intended condition. For critical workflows, consider implementing scheduled regression tests shop-wide to ensure these automations continue to function correctly after any platform updates or plugin changes.
EShopSet Team Comment
This discussion perfectly illustrates why understanding how your plugins store data is paramount for effective automation. While AutomateWoo is powerful, a mismatch between what you see and what's saved in the database can cause endless frustration. For store owners, this highlights the need for robust monitoring and testing tools. EShopSet's comprehensive app bundle, particularly within our automation and monitoring categories, can help you track these complex workflows, ensure rules are firing as expected, and provide the insights needed to troubleshoot quickly and efficiently.
Ultimately, whether you're using Shopify, WooCommerce, Magento, Wix, BigCommerce, or PrestaShop, the principle remains: precise data identification is the cornerstone of reliable automation. Don't give up – with a little detective work, you can get those emails firing exactly when they should!
