Store operations

Email, SMS and customer support automation

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

9 guides8 in-depth113 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 & support14 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.

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 & support4 min read

How to recover abandoned carts on Shopify & WooCommerce without annoying buyers

Send a short sequence to shoppers who left checkout after entering their email: a plain reminder within about an hour, an objection-handling email around 24 hours later, and an optional incentive after two to three days. Add SMS only with explicit consent, and stop the flow the moment they buy.

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