Huashu Design
alchaincyf · Skill
Turns a one-line request in your AI agent into a finished design: a launch animation, a clickable app prototype, an editable slide deck, an infographic or a se…
An n8n workflow that answers “where is my order?” in a website chat. An OpenAI agent looks up the signed-in customer’s WooCommerce orders by their email and adds DHL tracking events for any parcel with a tracking number.
WooCommerce order-status chat agent with DHL tracking is an n8n workflow in the Business category, listed by Mindket. It is free. This is version 1, last updated on . Download it on this page or copy its JSON, then import it into an n8n canvas. Nothing runs until you activate it in n8n.
Chat message
It starts when a customer sends a message in the chat on your website, and it needs:
A chat answer about the customer’s own orders, with dispatch status and DHL tracking where there is a tracking number
What you need before you start.
Orders and customers
Gives the customer record and the orders for an email address.
NeedsA shop with its REST API on, and a consumer key and secret
The chat agent
Runs the agent that talks to the customer and decides when to look up orders.
NeedsOpenAI API key
Parcel tracking
Returns the tracking events for each tracking number found on an order.
NeedsA DHL API key
Checked by Mindket on 13 Nov 2026
This n8n workflow answers order questions for a WooCommerce shop in a chat on your own website. A customer asks about an order. An OpenAI agent takes the customer’s email, finds their account and reads their orders through the WooCommerce API. Where an order has a tracking number, DHL’s tracking events are added to it. The email reaches the workflow encrypted, so a chat can only ask about its own customer. Thirty-one nodes run it, beside nine sticky notes.
Small and mid-size WooCommerce shops that spend support time on “where is my parcel?”, and agencies that run several such shops. Skip it if you ship with other carriers only, since the tracking branch asks DHL about every number. Without a backend that can encrypt the customer’s email, it can run only as a demo.
| Industry | Who uses it | How they use it | Example |
|---|---|---|---|
| E-commerce | Shop owners | Put an order-status chat on the account page | A shop owner answers fewer emails about late parcels. |
| Apparel | Fashion and merchandise stores | Let buyers check dispatch and delivery without waiting for a reply | A shirt buyer asks on Friday evening and sees that the parcel left on Thursday. |
| Customer support | Support leads | Take the most common question off the team’s queue | A lead keeps the team for returns and complaints. |
| Agencies | WooCommerce developers | Reuse one chat pattern across client shops | A developer changes the shop name and address for each client. |
You need solid n8n and a little web work for this one: three credentials, a shared password and a page of your own that encrypts each customer’s email.
Any n8n that your website can reach will run it, since the chat answers on a public address. The shop must run WooCommerce with its REST API on.
crypto module allowed for Code nodesDownload saves a zip with workflow.json and Mindket’s setup notes in your downloads folder. Start with the built-in test data, then switch to real customers.
| Need | Detail |
|---|---|
| n8n | On n8n Cloud or on a server of your own |
| WooCommerce | A shop with its REST API on, and a consumer key and secret |
| OpenAI | An API key |
| DHL | An API key, if you keep the tracking branch |
| Tracking data | Order tracking numbers stored under _wc_shipment_tracking_items |
| Your website | A page for the chat, and a backend that can encrypt the customer’s email |
workflow.json.OpenAI Chat Model and a DHL credential in DHL.WooCommerce Get Orders, replace YOUR_STORE_DOMAIN with your shop’s domain.Mock Data, replace <CUSTOMER_EMAIL> with the email of a customer who has orders, then press the Chat button and ask about an order.AI Agent, edit the system message to name your shop and state your own delivery times.YOUR_SHARED_PASSWORD in the three Code nodes, and encrypt each customer’s email on your backend the way Encrypt email does.Decrypt email address, disable Mock Data and publish the workflow. Put its chat address where your page says <YOUR_CHAT_WEBHOOK_URL>.Customers type their question in the chat on your page. There is nothing for you to run. Watch Executions in n8n for the first days to see what customers ask, and adjust the system message from there.
| To change | Where |
|---|---|
| Shop name, tone and delivery times | The system message in AI Agent |
| The model | OpenAI Chat Model |
| How much the chat remembers | Context Window Length in Window Buffer Memory |
| Another carrier | Replace DHL, or delete the tracking branch |
| The page | The HTML in Respond to Webhook |
A customer of a shirt shop opens the chat and writes, “Has my order shipped?” The agent calls its order tool with the customer’s email and gets back the order list.
The tool finds the customer, loads their orders and, for the newest one, adds DHL’s events. The agent answers that the parcel left yesterday and is out for delivery, in the shop’s friendly tone.
If you are new. n8n draws a workflow as boxes joined by lines, and each box, a node, does one job. This file holds two lines in one workflow. The first is the chat. The second is a tool that the chat’s agent calls whenever it needs order data.
For experts. WooCommerce_Tool is a Call n8n Workflow tool that points at this same workflow, so the tool runs from Execute Workflow Trigger. The email field comes from metadata.email, and the agent adds the order IDs it wants as a comma-separated list.
| Node | What it does | What to know |
|---|---|---|
Decrypt email address | Turns the encrypted metadata.email back into an address | Off in the file, with Mock Data standing in for it |
WooCommerce Get Orders | Calls /wp-json/wc/v3/orders with the customer’s ID | An HTTP Request node, since it filters by the agent’s order IDs |
Extract Tracking Data | Reads _wc_shipment_tracking_items | Passes only orders that have a tracking entry |
DHL | Looks up each tracking number | Its error output goes to Add Error Information |
The chat is public and the email check rests on one shared password, so treat it with care.
OpenAI Chat Model called gpt-4, which OpenAI’s deprecations page, read on 12 November 2026, lists as shut down on 23 October 2026. Mindket’s copy calls gpt-5.6-sol, the replacement it names{{ $json.email }}, which the chat item does not hold. The copy reads {{ $json.metadata.email }}, where the email sitsWindow Buffer Memory reads the session ID from itAdd Error Information@latest. Pin a version on your own siteAn n8n workflow that puts an AI agent behind a chat on a WooCommerce shop. A customer asks about an order. The agent looks the
customer up by the email address your website supplies, reads their orders through the WooCommerce API and adds DHL tracking
events where an order has a tracking number. The address reaches the workflow encrypted, so the chat answers only about the
customer it was opened for.
workflow.json: the workflow as n8n exports it, forty nodes. Thirty-one of them run and nine are sticky notes. It holds noREADME.md: these notes.OpenAI Chat Model called gpt-4, which OpenAI shut down on 23 October 2026. OpenAI's deprecations page, read on 12 Novembergpt-5.6-sol as its substitute, so the node calls that now.{{ $json.email }}. The chat item has no such field, becauseMock Data and the decrypt step both put the address under metadata.email. The message reads {{ $json.metadata.email }}WooCommerce Get Orders pointed at the author's own test shop. Its address is https://YOUR_STORE_DOMAIN/wp-json/wc/v3/ordersa random password. Each now holdsYOUR_SHARED_PASSWORD.Mock Data, Encrypt email, Example encrypted email<CUSTOMER_EMAIL> and <ENCRYPTED_EMAIL>. The page's chat address is <YOUR_CHAT_WEBHOOK_URL>.crypto module. The file's own note says theNODE_FUNCTION_ALLOW_BUILTIN must equal or include crypto, and calls that the default on n8n Cloud._wc_shipment_tracking_items. The tracking branch readsworkflow.json.WooCommerce - Get User and WooCommerce Get Orders, your OpenAI credential in `OpenAI, and your DHL credential in DHL`.WooCommerce Get Orders, replace YOUR_STORE_DOMAIN with your shop's domain.Mock Data and replace <CUSTOMER_EMAIL> with the email of a customer who has orders. As the file ships,Mock Data is on and Decrypt email address is off. Press the Chat button and ask about an order.AI Agent and edit the system message. It names a shop, Best Shirts Ltd., and states its dispatch and delivery times.YOUR_SHARED_PASSWORD in Decrypt email address. In your ownEncrypt email does, with the same password, and give the resultmetadata.email.Decrypt email address and disable Mock Data. Disable it and do not delete it: the key in Window Buffer Memory readsChat Trigger.Chat Trigger into your page where it says <YOUR_CHAT_WEBHOOK_URL>.Webhook Example Page, with the path website-chat-example, serves a sample page you can copy.A chat message:
Chat Trigger is public, so anyone with its address can open a chat. It passes on the message, the session ID and themetadata object the page set.Decrypt email address turns metadata.email back into an address. It is off in the file. Mock Data sets that field to aAI Agent (version 1.4) runs with OpenAI Chat Model, Window Buffer Memory, which keeps the last 10 messages of a session,WooCommerce_Tool. Its system message sets the tone, says to use only the customer's own address, and statesWooCommerce_Tool calls this same workflow with the field email, taken from metadata.email. The agent passes the order IDsThe tool call, which starts at Execute Workflow Trigger:
If email provided stops an empty address at No email provided.WooCommerce - Get User finds one customer with that email. If user found sends a miss to No customer found.WooCommerce Get Orders asks /wp-json/wc/v3/orders for that customer's orders, limited to the agent's IDs when it gave any.If order found sends a miss to No order found.Extract Tracking Data reads _wc_shipment_tracking_items from each order. If contains DHL data passes only orders with atSplit Out makes one item for each.DHL looks up each tracking number. Its error output goes to Add Error Information, which writes that no data could be foundMerge Tracking Data and Aggregate gather the results into tracking.Merge Orders and Merge Order and Tracking Data join each order with its tracking, and Send Response hands the agent oneresponse list. A miss at any step above puts its short sentence in response instead.AI Agent.OpenAI Chat Model. gpt-5.6-terra is the cheaper of OpenAI's two named replacements.Context Window Length in Window Buffer Memory.DHL with that carrier's lookup, or delete the tracking branch and keep only the orders.Respond to Webhook.Chat Trigger is public, so anyone who finds its address can start a chat on your OpenAI key.DHL, whatever the carrier. A parcel from another carrier ends at Add Error Information.Mock Data on, every chat belongs to the one address typed there. Turn it off before the chat meets real customers.@latest. Pin a version on your own site.NOTICE.md 594 B README.md 7 KB workflow.json 32 KB
alchaincyf · Skill
Turns a one-line request in your AI agent into a finished design: a launch animation, a clickable app prototype, an editable slide deck, an infographic or a se…
op7418 · Skill
Skill that makes single-file HTML slide decks, slide illustrations and platform covers in two visual styles, with a presenter mode for rehearsal. For speakers…
alirezarezvani · Skill
Adds 411 ready-made skills for Claude Code and other coding agents, grouped by role from engineering and product to marketing, finance and compliance. Installs…
perplexity-ai · Kit
Picks the best option for a decision from text and images, such as which team should handle a request, with a probability for each choice, for developers who b…
numind · Kit
Reads documents as text or images and fills a JSON template with the fields you ask for, or converts the pages to Markdown. A 4B model for teams that process s…
nace-ai · Kit
Scores yes or no, multiple choice and rating questions about a document in one pass, with a probability for every option. An 8B decision model from Nace.AI tha…