Store operations

Email, SMS and customer support automation

Abandoned-cart flows, transactional email, chatbots and workflow automation.

9 guides9 in-depth126 min of reading

After the sale, most of a store's contact with customers is automated: receipts and password resets, abandoned-cart reminders, answers to "where is my order?" and the context an agent sees when a chat opens. Each has a failure mode that costs more than the feature is worth. A staging copy sends real order emails to real customers. A reminder flow keeps texting someone who already bought, or who never agreed to SMS. A chatbot tells anyone who guesses an order number where the parcel is going.

Testing and sending WooCommerce emails safely routes mail by environment so staging can only reach a sandbox, keeps receipts on a transactional stream apart from marketing mail, and checks the SPF, DKIM and DMARC records. Abandoned cart SMS and email through an API keeps WordPress to one job: when a consenting shopper enters contact details, it sends a signed cart snapshot to a small external service, which sends one email and one SMS through Brevo's API, texts only during daytime hours and honors one-click unsubscribes. Abandoned-cart recovery in n8n builds the same flow as eight nodes on Shopify webhooks, and recovering abandoned carts without annoying buyers covers the timing and tone of the sequence. n8n vs Make works out what these workflows cost per 10,000 operations, and ActiveCampaign custom events vs Shopify Flow shows when to move from Flow to a relay that verifies Shopify's HMAC and de-duplicates deliveries.

On the support side, automating "Where is my order?" answers only when the order number and checkout email match, gives a wrong pair and a missing order the same reply, rate limits attempts and returns status and tracking, never addresses. Syncing WooCommerce order status to LiveChat shows the agent the shopper's cart and recent orders before the first message, with identity carried by a signed, expiring reference instead of anything the browser can change.

Start here

Email, SMS & support22 min read

Abandoned cart SMS and email through an API: Brevo vs WooCommerce plugins

WooCommerce core has no abandoned-cart feature, and most recovery plugins store every cart in the WordPress database and send reminders from WP-Cron. A lighter design keeps WordPress to one job: when a shopper who ticked a consent box enters an email or phone number at checkout, send a signed cart snapshot to a small external service, and tell it when the order is paid. The service keeps the carts in SQLite, sends one email after an hour and one SMS after a day through Brevo's API, retries network errors, rate limits and server errors with backoff, texts only during daytime hours in the shopper's time zones and honors one-click unsubscribes. Our tested mu-plugin and Python relay do this with no extra packages. Brevo covers email and SMS in one API with a free email plan; Textmagic is an SMS-first alternative and MailerLite a cheaper marketing tool.

Email, SMS & support16 min read

Testing and sending WooCommerce transactional emails safely: Mailtrap vs plain SMTP

A staging copy of a WooCommerce store holds real customer addresses and sends mail through the server's PHP mail() unless something stops it, so order emails, password resets and scheduled follow-ups can reach real customers from a test site. Route mail by environment: send everything from staging to an email sandbox such as Mailtrap's, block mail when no sandbox is set up, and send real mail only when the site is the live host name. In production, send receipts and resets through a transactional stream kept apart from marketing mail, and publish SPF, DKIM and DMARC records for the sending domain. Our tested mu-plugin does the routing and our Python script checks the DNS records. Mailtrap covers both testing and sending (sending is free up to 4,000 emails a month); Postmark is a strong developer-focused alternative for sending.

Email, SMS & support15 min read

Automating "Where is my order?" with AI chatbots: Tidio vs a custom Dialogflow bot

"Where is my order?" is usually the biggest single type of e-commerce support request, at roughly 18-30% of tickets in the most cited data, so a bot that answers it from live order data takes a large share of the load off your team. The bot needs three things: an order number, the email used at checkout, and an endpoint that returns the order's status only when both match. Give a wrong pair and a missing order the same answer, rate limit failures per order and per chat, and return status and tracking only, never addresses. On Shopify, Tidio's Lyro has a ready-made order status action. On WooCommerce, point a Lyro Action at a small lookup service like the one in this guide (tested against a real store, 18 of 18 checks passed). A custom Dialogflow CX bot can call the same service, but you then build and maintain the conversation, the hand-over to people and the chat channel yourself. Tidio is our pick for most stores; Gorgias fits stores that want a full helpdesk around the bot.

Common questions

Why do WooCommerce order emails land in spam?

By default WordPress sends mail through the web server's PHP mail(), which is not authenticated for your domain. Send through an SMTP or API provider and publish SPF, DKIM and DMARC records for the sending domain. Since February 2024, Gmail and Yahoo require this authentication from bulk senders, and unauthenticated mail is increasingly filtered for everyone.

Testing and sending WooCommerce transactional emails safely: Mailtrap vs plain SMTP

Do I need consent to send abandoned cart emails and texts?

It depends on the country and the channel. In the EU and UK, marketing email generally needs consent or the soft opt-in for existing customers; the US CAN-SPAM Act allows commercial email with a working opt-out. Marketing SMS in the US needs prior express written consent under the TCPA and a registered 10DLC number, so collect SMS consent with its own checkbox. This is not legal advice.

Abandoned cart emails and SMS on Shopify and WooCommerce: timing, consent, discounts and measuring real lift

Is n8n cheaper than Make for store automation?

Usually at volume. Make bills per operation, so every module in every run counts and multi-step scenarios add up quickly. n8n Cloud bills per workflow execution regardless of how many steps it has, and the self-hosted community edition has no execution fee at all, only server costs and your maintenance time.

n8n vs Make for e-commerce automation: the real cost per 10,000 operations

How do I test transactional emails without emailing real customers?

Point the staging site's SMTP settings at an email sandbox such as Mailtrap's, which captures every outgoing message so nothing reaches a real inbox. Scrub customer email addresses from any production data copied to staging, and keep sandbox and live credentials in separate environment variables.

Testing and sending WooCommerce transactional emails safely: Mailtrap vs plain SMTP

All email, sms & support guides

Email, SMS & support16 min read

Syncing WooCommerce order status to LiveChat in real time

To show a LiveChat agent who they are talking to before the first message, send two kinds of context. Send the cart from the shopper's browser as LiveChat session variables, which are display-only because the shopper can change them. Send identity as a signed, expiring customer reference that only your store can create. A Details widget in LiveChat's Agent App passes the agent's LiveChat token and the customer ID to a small context service. The service checks that the token belongs to your organization and your app, reads the session variables from LiveChat itself, verifies the signature, and returns the customer's latest WooCommerce orders through a read-only REST key that never reaches a browser. Allow CORS only for your widget's origin. Don't rely on CORS to protect WooCommerce keys: WordPress's REST API reflects any origin. Our tested setup (22 of 22 checks, including the real LiveChat Agent App SDK in a browser) shows purchase history, order status and the live cart in the agent's sidebar. LiveChat starts at $19 per agent per month billed annually.

Email, SMS & support16 min read

API-driven e-commerce automation: ActiveCampaign custom events vs Shopify Flow, with a tested Python relay

Use Shopify Flow when the automation acts inside Shopify (tags, metafields, notes) or when one HTTP call per event is enough; its Send HTTP request action needs the Grow plan or higher, waits 30 seconds for a reply and can retry for 24 hours. Move to ActiveCampaign's API through a small relay when you need signals Flow can't see (category browsing from a custom pixel), values you define yourself (net lifetime value after refunds), or control over retries and rate limits: ActiveCampaign allows 5 API requests per second per account and answers 429 with Retry-After. The relay in this guide verifies Shopify's HMAC, de-duplicates deliveries, keeps an outbox in SQLite and sends absolute values, so a retry can never double-count.

Email, SMS & support11 min read

Abandoned-cart recovery in n8n: Shopify webhook, wait, check order, email or SMS

Trigger an n8n workflow on Shopify's checkouts/create webhook, pause it for two hours with a Wait node, then ask Shopify's Admin GraphQL API whether an order exists with that checkout's token. If there's no order, an IF node sends a recovery email with the checkout's abandoned_checkout_url, or an SMS through Twilio when the buyer gave a phone number and opted in to SMS marketing. The whole workflow is eight nodes and one n8n execution per checkout. The import-ready JSON is below.

Email, SMS & support11 min read

n8n vs Make for e-commerce automation: the real cost per 10,000 operations

Make bills a credit for almost every module a scenario runs, so 10,000 credits ($9 a month on Core, billed annually) cover roughly 2,500 four-step abandoned-cart alerts but only 19 runs of a 500-SKU catalog sync. n8n Cloud bills one execution per workflow run, however many steps it has, and self-hosted n8n has no usage fee at all: you pay about $12 to $15 a month for a 2 GB VPS plus your maintenance time. If you count that time at $50 an hour, self-hosting pays off once you need more than about 80,000 Make credits a month.

Email, SMS & support9 min read

Automating e-commerce operations with Make, AutoDS and Gorgias: order, supplier and support flows that fail safely

Split the work by what each tool owns: AutoDS places supplier orders, watches supplier price and stock, and syncs tracking back to the store; Gorgias holds every customer conversation with the order beside it and answers routine questions; Make connects the gaps with webhooks. The part most setups miss is the exception path: orders that are paid but not shipped after a few days, shipped without tracking, or stuck in transit. A small hourly script (tested in this guide) finds those in Shopify and posts each one once to a Make webhook, which opens a Gorgias ticket before the customer has to ask. Automate the routine, route every exception to a person, and log what each automation did.

Email, SMS & support10 min read

Abandoned cart emails and SMS on Shopify and WooCommerce: timing, consent, discounts and measuring real lift

Send checkout abandoners a three-message flow: a plain reminder with the restored cart after 30 to 60 minutes, an objection-handling email around 24 hours, and an optional small, single-use, expiring incentive at 48 to 72 hours. Add one SMS only for shoppers who ticked a separate, unticked marketing consent box. Exit the flow the moment an order exists, on any device. Then hold out about 10% of abandoners at random and compare profit per abandoned checkout, after discounts and sending costs, between the two groups: most dashboards credit the flow with orders that would have come back anyway. The tested script in this guide does that comparison with a significance test.

Tools these guides recommend

Disclosure: these are affiliate links. If you sign up through them, I may earn a commission at no extra cost to you. How this site makes money.

More in store operations