Mindket

WooCommerce order-status chat agent with DHL tracking

Newversion 1 · updated

Overview

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.

At a glance

Runs in
  • n8n Cloud: import the file into a new workflow there
  • Your own n8n server: the same file and steps, with the crypto module allowed for Code nodes
  • Your shop’s account page: the chat widget sits there and passes the encrypted email
  • A test page: the file includes a sample page that you can copy

Platform

Connects 3 apps

How it works

Trigger

Chat message

It starts when a customer sends a message in the chat on your website, and it needs:

  • The customer’s message
  • The customer’s email, encrypted by your site

Actions

  1. The encrypted email is turned back into an address
  2. An OpenAI agent reads the message and decides whether it needs order data
  3. The agent calls the order tool with the customer’s email
  4. WooCommerce is asked for the customer and then for their orders
  5. DHL is asked for tracking events on each order that has a tracking number
  6. The agent answers in the shop’s tone, using only what the tool returned

Result

A chat answer about the customer’s own orders, with dispatch status and DHL tracking where there is a tracking number

Integrations

What you need before you start.

WooCommerce

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

OpenAI

The chat agent

Runs the agent that talks to the customer and decides when to look up orders.

NeedsOpenAI API key

DHL

Parcel tracking

Returns the tracking events for each tracking number found on an order.

NeedsA DHL API key

Workflow check

Checked by Mindket on 13 Nov 2026

Steps
25 steps, starting when another workflow calls it, on a chat message or when its webhook is called
Not reached
3 nodes no run reaches: Decrypt email, Encrypt email and Example encrypted email
AI
1 step calls an AI model: AI Agent
Sign-ins
Signs in to: WooCommerce, DHL and OpenAI
API keys
No API key is left in the file
Step types
Mindket’s checker reads all 14 of its step types

Read from the workflow’s file, not from a run.

About

What it is

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.

Who it suits

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.

Who uses it, and how
IndustryWho uses itHow they use itExample
E-commerceShop ownersPut an order-status chat on the account pageA shop owner answers fewer emails about late parcels.
ApparelFashion and merchandise storesLet buyers check dispatch and delivery without waiting for a replyA shirt buyer asks on Friday evening and sees that the parcel left on Thursday.
Customer supportSupport leadsTake the most common question off the team’s queueA lead keeps the team for returns and complaints.
AgenciesWooCommerce developersReuse one chat pattern across client shopsA 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.

Where to use it

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.

  • n8n Cloud: import the file into a new workflow there
  • Your own n8n server: the same file and steps, with the crypto module allowed for Code nodes
  • Your shop’s account page: the chat widget sits there and passes the encrypted email
  • A test page: the file includes a sample page that you can copy

Setup

Download 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.

What you need first
NeedDetail
n8nOn n8n Cloud or on a server of your own
WooCommerceA shop with its REST API on, and a consumer key and secret
OpenAIAn API key
DHLAn API key, if you keep the tracking branch
Tracking dataOrder tracking numbers stored under _wc_shipment_tracking_items
Your websiteA page for the chat, and a backend that can encrypt the customer’s email
  1. In n8n, create a workflow, open its menu, choose Import from File and pick workflow.json.
  2. Select your WooCommerce credential in both WooCommerce nodes, an OpenAI credential in OpenAI Chat Model and a DHL credential in DHL.
  3. In WooCommerce Get Orders, replace YOUR_STORE_DOMAIN with your shop’s domain.
  4. In Mock Data, replace <CUSTOMER_EMAIL> with the email of a customer who has orders, then press the Chat button and ask about an order.
  5. In AI Agent, edit the system message to name your shop and state your own delivery times.
  6. For real use, put one shared password in place of YOUR_SHARED_PASSWORD in the three Code nodes, and encrypt each customer’s email on your backend the way Encrypt email does.
  7. Enable Decrypt email address, disable Mock Data and publish the workflow. Put its chat address where your page says <YOUR_CHAT_WEBHOOK_URL>.

How to use it

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.

What to change for a different result
To changeWhere
Shop name, tone and delivery timesThe system message in AI Agent
The modelOpenAI Chat Model
How much the chat remembersContext Window Length in Window Buffer Memory
Another carrierReplace DHL, or delete the tracking branch
The pageThe HTML in Respond to Webhook

Example

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.

For newcomers and experts

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.

Where to look closer
NodeWhat it doesWhat to know
Decrypt email addressTurns the encrypted metadata.email back into an addressOff in the file, with Mock Data standing in for it
WooCommerce Get OrdersCalls /wp-json/wc/v3/orders with the customer’s IDAn HTTP Request node, since it filters by the agent’s order IDs
Extract Tracking DataReads _wc_shipment_tracking_itemsPasses only orders that have a tracking entry
DHLLooks up each tracking numberIts error output goes to Add Error Information

Good to know

The chat is public and the email check rests on one shared password, so treat it with care.

  • Model: 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
  • The repair: the system message used {{ $json.email }}, which the chat item does not hold. The copy reads {{ $json.metadata.email }}, where the email sits
  • Weak link: the encrypted email has no signature and no expiry, and anyone who learns the password can make a value for any customer
  • Open chat: anyone who finds the chat’s address can start a chat on your OpenAI key
  • Mock Data: while it is on, every chat belongs to the one address typed there. Disable it, and do not delete it, because Window Buffer Memory reads the session ID from it
  • Carriers: every tracking number goes to DHL, whatever the carrier, so another carrier’s parcel ends at Add Error Information
  • Example page: it loads the chat widget from jsDelivr as @latest. Pin a version on your own site
  • Billing: OpenAI bills each agent turn, your shop’s API takes one call for each lookup and DHL one for each parcel
  • Your data: each lookup sends the whole order to OpenAI, with the customer’s name, addresses, phone number and items, and the tracking numbers go to DHL
  • Credentials: the JSON holds none

README and files

README

WooCommerce order-status chat agent with DHL tracking

An 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.

What is inside

  • workflow.json: the workflow as n8n exports it, forty nodes. Thirty-one of them run and nine are sticky notes. It holds no
    credential.
  • README.md: these notes.

What we changed from the original copy

  • OpenAI Chat Model called gpt-4, which OpenAI shut down on 23 October 2026. OpenAI's deprecations page, read on 12 November
    2026, names gpt-5.6-sol as its substitute, so the node calls that now.
  • The agent's system message told it the customer's address with {{ $json.email }}. The chat item has no such field, because
    Mock Data and the decrypt step both put the address under metadata.email. The message reads {{ $json.metadata.email }}
    now, so the agent can repeat the address when asked.
  • WooCommerce Get Orders pointed at the author's own test shop. Its address is https://YOUR_STORE_DOMAIN/wp-json/wc/v3/orders
    now.
  • The three Code nodes that encrypt and decrypt an email address used the password a random password. Each now holds
    YOUR_SHARED_PASSWORD.
  • The sample customer address, and its encrypted form, are placeholders in Mock Data, Encrypt email, Example encrypted email
    and the example page: <CUSTOMER_EMAIL> and <ENCRYPTED_EMAIL>. The page's chat address is <YOUR_CHAT_WEBHOOK_URL>.
  • The file had no name, so we gave it one. The webhook IDs and the credential links are gone.
  • Nothing else. The Code nodes' logic is as the file had it.

Before you start

  • An n8n instance, on n8n Cloud or your own server. The Code nodes use Node's crypto module. The file's own note says the
    environment variable NODE_FUNCTION_ALLOW_BUILTIN must equal or include crypto, and calls that the default on n8n Cloud.
    Check it on a server of your own.
  • A WooCommerce shop and a WooCommerce credential for its REST API, with a consumer key and secret.
  • An OpenAI API key.
  • A DHL credential, if you keep the tracking branch.
  • Order tracking numbers stored in each order's meta data under the key _wc_shipment_tracking_items. The tracking branch reads
    that key.
  • A website where the chat will sit, and a backend that can encrypt the customer's email address.

Set it up

  1. In n8n, create a workflow, open its menu and choose Import from File. Pick workflow.json.
  2. Select your WooCommerce credential in WooCommerce - Get User and WooCommerce Get Orders, your OpenAI credential in `OpenAI
    Chat Model, and your DHL credential in DHL`.
  3. In WooCommerce Get Orders, replace YOUR_STORE_DOMAIN with your shop's domain.
  4. To test, open 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.
  5. Open AI Agent and edit the system message. It names a shop, Best Shirts Ltd., and states its dispatch and delivery times.
  6. For production, choose one password and put it in place of YOUR_SHARED_PASSWORD in Decrypt email address. In your own
    backend, encrypt each signed-in customer's address the way Encrypt email does, with the same password, and give the result
    to the chat as metadata.email.
  7. Enable Decrypt email address and disable Mock Data. Disable it and do not delete it: the key in Window Buffer Memory reads
    the session ID from it. If you delete it anyway, point that key at Chat Trigger.
  8. Publish the workflow. Copy the production address from 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.

How a run goes

A chat message:

  1. Chat Trigger is public, so anyone with its address can open a chat. It passes on the message, the session ID and the
    metadata object the page set.
  2. Decrypt email address turns metadata.email back into an address. It is off in the file. Mock Data sets that field to a
    fixed address instead, and it is on.
  3. AI Agent (version 1.4) runs with OpenAI Chat Model, Window Buffer Memory, which keeps the last 10 messages of a session,
    and one tool, WooCommerce_Tool. Its system message sets the tone, says to use only the customer's own address, and states
    that orders are dispatched 1 to 2 days after purchase and delivered 1 to 2 days later.
  4. WooCommerce_Tool calls this same workflow with the field email, taken from metadata.email. The agent passes the order IDs
    it wants, comma separated, or nothing for every order.

The tool call, which starts at Execute Workflow Trigger:

  1. If email provided stops an empty address at No email provided.
  2. WooCommerce - Get User finds one customer with that email. If user found sends a miss to No customer found.
  3. 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.
  4. Extract Tracking Data reads _wc_shipment_tracking_items from each order. If contains DHL data passes only orders with at
    least one tracking entry, and Split Out makes one item for each.
  5. DHL looks up each tracking number. Its error output goes to Add Error Information, which writes that no data could be found
    for the parcel. Merge Tracking Data and Aggregate gather the results into tracking.
  6. Merge Orders and Merge Order and Tracking Data join each order with its tracking, and Send Response hands the agent one
    response list. A miss at any step above puts its short sentence in response instead.

Change the look

  • Shop name, tone and delivery times: the system message in AI Agent.
  • The model: OpenAI Chat Model. gpt-5.6-terra is the cheaper of OpenAI's two named replacements.
  • How much the chat remembers: Context Window Length in Window Buffer Memory.
  • Another carrier: replace DHL with that carrier's lookup, or delete the tracking branch and keep only the orders.
  • The page: the HTML in Respond to Webhook.

Good to know

  • Only the encrypted value ties a chat to a customer. It has no signature and no expiry, and whoever learns the password can write
    a value for any customer. Keep the password out of the page and out of the repository.
  • Chat Trigger is public, so anyone who finds its address can start a chat on your OpenAI key.
  • Every tracking number goes to DHL, whatever the carrier. A parcel from another carrier ends at Add Error Information.
  • With Mock Data on, every chat belongs to the one address typed there. Turn it off before the chat meets real customers.
  • The example page loads the chat widget from jsDelivr as @latest. Pin a version on your own site.
  • Where the data goes: each lookup sends the whole order to OpenAI, with the customer's name, addresses, phone number and items, and
    the tracking numbers go to DHL.
  • Billing: OpenAI charges for each agent turn, and each lookup adds a call to your shop's API and one to DHL for each parcel.
Files
NOTICE.md  594 B
README.md  7 KB
workflow.json  32 KB

3 files, 40 KB, downloaded as a zip.

What’s new

  • Version 1 · 2026-11-12

Reviews

No ratings yet

Write a review

No reviews yet.

More from Mindket

See all from Mindket

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…

New29.4k

Guizang PPT Skill

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…

New29.8k

Claude Code Skills & Plugins

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…

New29.8k

Similar in Business

See all in Business

pplx-decider-v1.1-27b

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…

New

NuExtract3

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…

New

Drex DLM

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…

New