Skip to content
TAQNIX
Odoo ModulesWordPress PluginsWordPress ThemesShopify ThemesApp TemplatesScripts & UtilitiesBlogSell on TAQNIX

AI Support Reply Drafts for WooCommerce documentation

A guide to AI Support Reply Drafts for WooCommerce: connecting your AI account, your shop texts, drafting a reply, the placeholders and the post-check, sending to the customer, tracking numbers, templates and history, privacy and limits.

Documents version 1.0.0Updated Oct 29, 2026

Start here

In plain words: AI Support Reply Drafts for WooCommerce adds an AI reply draft box to the WooCommerce order screen. Paste the customer's e-mail or chat message, choose the topic (where is my order, return or refund, damaged item, change of address, invoice request, other) and press Draft a reply. Your AI model writes an editable draft in the language of the customer, using only the facts of the order and the policy texts you wrote in the settings.
The reply box: the draft on the left, the facts it may use on the right.
The reply box: the draft on the left, the facts it may use on the right.
Important: The plugin never sends anything by itself. A person copies the draft, adds it as a private note, or presses Send as order note to customer and confirms. It offers no bulk sending.
Tip: The AI can be wrong. The plugin lists the facts, marks missing facts with [CHECK: ...] and flags amounts, dates and promises it cannot find in the facts, but a person must read every draft.

What you get

FeatureWhat it does
Draft on the order screenHPOS and the legacy order storage. Topic, language (the customer's, English, Arabic or your admin language), tone and an optional template as preferred wording.
Facts onlyOrder number, status, dates, item names and quantities, shipping method, tracking number and link, whether a refund is recorded, and your shop texts. Nothing else is given to the AI.
[CHECK: ...] placeholdersA fact the reply needs but the order does not have (no tracking number, no policy text) becomes a placeholder. The send button refuses a text that still has one.
Post-checkAmounts, percentages, dates, weekdays, delivery times, other order numbers and promises (refund, discount, coupon, compensation, replacement, free...) not found in the facts are listed beside the draft. Links written by the AI are removed.
Tracking numbersVerified keys: WooCommerce Shipment Tracking (official documentation), Advanced Shipment Tracking by zorem and Orders Tracking for WooCommerce by VillaTheme (wordpress.org source). AfterShip and YITH keys are also read but NOT verified; any plugin can be supplied through the filter tqsd_tracking_items.
PrivacyAddress, phone, e-mail and payment details are never sent. The first name, the tracking number and the tracking link stay on your site: the AI writes placeholders and the plugin fills them in. E-mail addresses, phone numbers, IBANs and card numbers in the pasted message are masked.
Explicit sendingOnly roles you allow, only on a click, with a confirmation that shows the exact text and the customer's e-mail. WooCommerce's own customer note sends the e-mail. A confirmation works once.
HistoryPer order and for the shop: who drafted, when, the topic, the checks, and whether the draft was copied, added as a private note, sent or discarded. Kept 90 days by default.
TemplatesShop-wide snippets with placeholders, offered per topic and insertable in any draft.
LimitsDrafts per person per hour and AI requests per day for the shop, counted atomically (parallel requests cannot pass them).

Requirements

ItemDetails
WordPress6.0 or newer
PHP7.4 or newer
WooCommerce8.0 or newer (HPOS and block checkout compatible)
An AI providerAn account and an API key with an OpenAI-compatible service (OpenAI, OpenRouter, Azure, a local server such as Ollama...) or with Anthropic. You pay your provider for what you use; the plugin has no usage fees.
LicenseGPL-2.0-or-later

Install

  1. Unzip the package you downloaded. Inside is ai-support-reply-drafts-for-woocommerce.zip (do not unzip this one).
  2. In WordPress open Plugins → Add New Plugin → Upload Plugin, choose ai-support-reply-drafts-for-woocommerce.zip and press Install Now.
  3. Press Activate Plugin. WooCommerce must be active.
  4. Open Settings → AI Support Replies → AI connection, choose your provider, paste your API key and press Test the connection.

Connect your AI

In plain words: The plugin works with your own AI account. In Settings → (this plugin) → AI connection choose the provider, paste the key and press Test the connection: a green message tells you that the model answered.
FieldMeaning
ProviderOpenAI-compatible (OpenAI, OpenRouter, Azure, Groq, Ollama, LM Studio...) or Anthropic.
API addressLeave empty for the official address. For another service enter it, for example http://localhost:11434/v1.
API keyStored in your database (never shown again). You can define it in wp-config.php instead and the field disappears.
ModelThe model name at your provider. A small, cheap model is enough for most tasks.
Maximum answer lengthCaps the tokens of one answer, so a request cannot cost more than you expect.
Daily limitThe number of requests the plugin may make per day (0 = no limit). When it is reached the plugin stops asking until tomorrow.
PrivacyHides e-mail addresses, phone numbers and card-like numbers before the text is sent.
Tip: The table Recent use at the bottom of the tab shows the requests, the errors and the tokens of the last days.
The AI connection tab after a successful test.
The AI connection tab after a successful test.
Tip: A small, cheap model is enough. The daily limit of the shop is 100 requests by default and every person can make 20 drafts per hour; change both to suit your team.

Your shop texts

In plain words: Open Settings → AI Support Replies. Write your shipping times, returns and refunds, warranty and damaged items and contact hours in plain words. These texts are the only policies the AI may use: a delivery time, a return period or a promise that is not in them is flagged in the draft. An empty field gives a [CHECK: ...] placeholder instead of an invented policy.
Who can draft, who can send, and the shop texts.
Who can draft, who can send, and the shop texts.
Signature, tone, language, first name, limits and history.
Signature, tone, language, first name, limits and history.
OptionMeaning
Who can draft repliesRoles that see the box (they also need the WooCommerce right to edit orders). Administrators and shop managers by default.
Sending to the customerShows the send button. Turn it off and staff can only copy or add private notes.
Who can send to the customerRoles that may send; separate from drafting.
SignatureAdded by the plugin under every draft; not sent to the AI.
Default tone / languageFriendly, formal, short or calm; the customer's language by default.
First nameOff by default: the first name is filled in on your site.
Longest customer messageLonger messages are cut before sending (3000 characters).
Drafts per person per hour20 by default.
Keep the draft history90 days by default.
Customer messageOff by default: the masked message is not kept in the history.

Drafting a reply

  1. Open the order. In the AI reply draft box paste the customer's message, or press Use the note the customer wrote at checkout.
  2. Choose the topic. A template for that topic is chosen as preferred wording; you can change it.
  3. Press Draft a reply. The draft appears in an editable field with the list of checks under it.
  4. Fill in every [CHECK: ...] placeholder, look at the flags and edit the text.
  5. Copy it into your e-mail or chat, add it as a private note, or send it as an order note to the customer.
A placeholder for a fact the order does not have.
A placeholder for a fact the order does not have.
A message that gives orders to the AI: the warning, the masking and the flags.
A message that gives orders to the AI: the warning, the masking and the flags.
FlagMeaning
Amount not in the factsAn amount or a percentage the order and your texts do not contain.
Date not in the factsA date, a weekday or "tomorrow" that is not an order date.
Time not in your shop textsA delivery or return time your texts do not give.
Possible promiseRefund, discount, coupon, compensation, replacement or free, when your texts do not mention it; an approved or promised refund always.
Link written by the AIRemoved and replaced by a placeholder. The only link a draft can contain is the tracking link of the order.
Other order numberA number with # that is not this order.
To fill inA [CHECK: ...] placeholder.

Sending to the customer

In plain words: Send as order note to customer… first checks the text (no placeholder left, plain text only) and opens a confirmation with the exact text, the customer's e-mail address and the flags again. Only Yes, send it to the customer adds the note, through WooCommerce's own customer note, which e-mails the customer with your WooCommerce e-mail template. The confirmation works once and only for the person and the order it was made for.
The confirmation step.
The confirmation step.
The reply as a customer note of the order.
The reply as a customer note of the order.
Important: A sent note cannot be called back. Add as private note keeps the text on the order without e-mailing the customer.

Tracking numbers from other plugins

PluginWhere the plugin reads it
WooCommerce Shipment TrackingOrder meta _wc_shipment_tracking_items (provider, custom link with %1$s for the number).
Advanced Shipment Tracking (zorem)The same order meta _wc_shipment_tracking_items; the link is built by the plugin when it is active.
AfterShip Tracking (not verified)Order meta _aftership_tracking_items (number and courier; no link is stored). Not verified against the AfterShip source.
Orders Tracking for WooCommerce (VillaTheme)Order item meta _vi_wot_order_item_tracking_data, the latest entry.
YITH WooCommerce Order & Shipment Tracking (not verified)Order meta ywot_tracking_code, ywot_carrier_name, ywot_carrier_url. Not verified against the YITH source.
Tip: Verified: the key of WooCommerce Shipment Tracking comes from its official documentation; the keys of Advanced Shipment Tracking (zorem) and Orders Tracking for WooCommerce (VillaTheme) were checked in their wordpress.org source. The AfterShip and YITH keys are NOT verified: if your numbers do not appear, or for any other plugin, supply them through the filter tqsd_tracking_items. Premium and future versions may store data differently.

Templates and history

Templates for the whole team.
Templates for the whole team.
The history of the shop.
The history of the shop.
In plain words: Templates are shared by the whole shop. They can contain {first_name}, {order_number}, {tracking_number}, {tracking_link} and {carrier}, filled in for the order. The History tab and the box of each order show who drafted, when, and whether the draft was copied, added as a private note, sent to the customer or discarded. Old drafts are removed after the retention; deleting an order or using Tools → Erase Personal Data removes its drafts; Tools → Export Personal Data includes them.

Privacy and security

In plain words: Using an AI model means sending text to your provider. Only the customer message you paste (e-mail addresses, phone numbers, IBANs and card numbers masked, always), the order number, the status and dates, the item names and quantities, the shipping method, the carrier name, whether a refund is recorded and your shop texts are sent. The first name only if you turn it on. Addresses, phone numbers, e-mail addresses, payment details, totals, the tracking number and the tracking link are never sent. Names or addresses that the customer writes inside the message itself are not masked: remove them before you press the button if they are not needed. E-mail addresses, phone numbers and card-like numbers are masked first (an option, on by default). Nothing is sent to Taqnix. Mention your AI provider in your privacy policy: the plugin adds a suggested paragraph in Settings → Privacy.
Important: AI can be wrong. Treat what it writes as a draft and read it before you publish it.
RiskWhat the plugin does
The customer message gives orders to the AIIt is sent as data between random markers; the instructions say it is untrusted and that only the facts count. The staff sees a warning.
The AI promises somethingThe instructions forbid promises; the post-check flags amounts, dates, times and promise words not in the facts; a person reads it.
The AI writes a linkLinks, bare web addresses with common endings and e-mail addresses are removed and flagged; only the tracking link of the order is put in, by the plugin.
The AI answers something elseThe answer must be JSON with a reply; extra fields are ignored. The draft is plain text, escaped on screen.
Unwanted sendingNever automatic, never in bulk; a separate right to send; a two-step confirmation that works once; WooCommerce's customer note.
CostsLimits per person per hour and per shop per day, counted under a database lock.

Arabic and right to left

An Arabic draft for an Arabic message.
An Arabic draft for an Arabic message.
The confirmation in Arabic.
The confirmation in Arabic.

Limits

LimitDetail
AccuracyThe AI can misread a message or write something wrong. The flags help, but they are patterns, not understanding: read every draft.
FactsThe plugin knows what is on the order. It does not ask your carrier where a parcel is, and it does not read your e-mail.
Not a helpdeskNo inbox, no automatic replies, no bulk replies. It drafts one reply for one order when a person asks.
LanguagesAny language the model writes; English and Arabic are tested.
Not legal adviceIt does not check consumer law; your texts decide what is promised.

For developers

In plain words: Skip this chapter if you only use the plugin.
// Make a draft from PHP (the same checks as the button: limits, masking, post-check); nothing is sent
$r = TQSD_Drafter::draft( $order_id, array( 'message' => $text, 'intent' => 'where', 'lang' => 'auto' ) );
// $r['draft'], $r['flags'] (amount, date, duration, promise, link, order, placeholder), $r['placeholders']

// The facts of an order, exactly as they are given to the AI
$facts = TQSD_Facts::build( $order_id ); // rows, prompt, tokens (kept on the site), sources, missing

// Tracking numbers of another shipment plugin
add_filter( 'tqsd_tracking_items', function ( $items, $order ) {
	$n = $order->get_meta( '_my_tracking_number' );
	if ( $n ) {
		$items[] = array( 'number' => $n, 'carrier' => 'My Courier', 'link' => 'https://track.example/' . rawurlencode( $n ) );
	}
	return $items;
}, 10, 2 );

// Who may draft and who may send (on top of the roles in the settings)
add_filter( 'tqsd_can_send', function ( $ok, $user, $order_id ) { return $ok && user_can( $user, 'manage_woocommerce' ); }, 10, 3 );

// Add a shop rule to the instructions (the customer message stays data)
add_filter( 'tqsd_system_prompt', function ( $p ) { return $p . "\nNever mention our second warehouse."; } );

// The key can live in wp-config.php
define( 'TQSD_AI_KEY', 'sk-...' );

Troubleshooting

ProblemWhat to do
No box on the order screenYour role is not in Who can draft replies, or you cannot edit orders. Check Screen Options at the top of the order screen.
No send buttonYour role is not in Who can send to the customer, or sending is switched off.
"Fill in or remove every [CHECK: …] placeholder"Edit the draft; the send step refuses placeholders.
Daily limit reachedRaise it in the AI connection tab, or wait until tomorrow.
No tracking numberYour shipment plugin stores it somewhere else; use the tqsd_tracking_items filter.
AI errorsTest the connection; check the key and the model.

Updating and removing

Install the new zip over the old one in Plugins → Add New Plugin → Upload Plugin (WordPress offers to replace the current version), or replace the folder ai-support-reply-drafts-for-woocommerce by FTP. Your settings, templates and history are kept. Deleting the plugin removes its settings, templates, history table and counters. Notes already added to orders stay on the orders. To remove the plugin, deactivate and delete it: its settings are removed with it.

Support

Installation help and bug fixes are included for 6 months, with lifetime updates. Contact us through the marketplace page where you bought the plugin or write to support@taqnix.com with your WordPress version, the plugin version and a screenshot.