Catalogue
Browse and organise. Category changes stage like prices — nothing reaches WooCommerce until you push from Sync. Click a title to jump to its pricing.
Find a Part
Type the job the way you would say it.
Sync
Prices changed here but not yet on the site. Nothing below has touched WooCommerce — review the list, then push it in one go.
What needs a decision
Only things that crossed a threshold. Nothing here changes the live site until you approve it.
Suppliers
Each supplier the way a pipeline sees it: can we reach them, can we read their shelf, and how fresh the last read is. Nothing here changes what anything costs — it says whether the numbers on every other screen are current.
Add a supplier
Paste the store's address and press Test store — PartWatch works out how it can be read. Shopify and WooCommerce stores publish a product list anyone can read; a store that fails the test needs a trade login or a recipe instead, and can still be added as one we order from by hand.
| Supplier | Connection | Last read |
|---|
Help
Settings
Stored on the server. Secrets are encrypted at rest and never sent back here — a masked field means a value is set.
WooCommerce
WP admin, then WooCommerce, Settings, Advanced, REST API. Start with Read. Until the permission is Read/Write, PartWatch cannot change a price on the site.
The import is also what removes services deleted in the shop — delete a repair in WooCommerce, import here, and it disappears from the list.
Pricing model
A suggested price is the part plus a markup: a fixed amount and a share of the part's cost, set per kind of device and job. The figures were learned from the shop's own repairs since 2024, then tested on this year's jobs. Change any of them and the example prices follow as you type. All prices inc VAT.
Round prices up to the next £ under £100, £ from £100 to £299 and £ from £300.
Flag a shop price more than % away from the suggestion.
When a price holds
The verdict beside every price on the Pricing screen. Bench rate is what the repair leaves after the part, per hour it takes.
A price holds when the bench earns at least £/h and aims for £/h
After the part, at least % of the price must stay with us.
What Value and Premium mean
Our words are not the suppliers' words. No listing on earth says "Premium Screen"; they say soft OLED, hard OLED, in-cell, service pack. This is the dictionary between the two, and it is what decides which part a variant is priced from.
It also grows by itself: pinning a part with "Use this" files that title's technology words under the variant's tier. Teal means learned that way, grey means it came with the tool. This screen exists so nothing in it is a surprise.
Checks
Suppliers are checked every days
Wait s between requests to one supplier
The timer itself runs on the server; this is what PartWatch measures against, so keep the two the same. Data older than twice this counts as stale.
Alerts
Raise an alert when the part a repair is priced from moves by % or more
Delete resolved alerts after days
Open and snoozed alerts are never deleted.
Storage and safety
Keep the last checks of supplier data, about 8.5 MB each. Price history is kept for good.
Refuse an import that would remove more than % of the catalogue, and raise an alert instead.
Monitoring
Point an uptime monitor at this address. It reports a fault when the newest completed check is older than twice the schedule, or a supplier connection has failed twice running — which turns a dead timer into an email instead of a month of quietly stale prices. /healthz always answers healthy on purpose: a tool taken out of rotation is a tool you cannot open to see what is wrong.
/readyzMaintenance
None of these touches a supplier or WooCommerce — they re-derive what is already here.
Assign parts chooses the best in-stock part for every service that has none. It runs by itself after every check; this is for right now.
Press Recalculate prices after changing the pricing model or the tier dictionary: the cost and margin figures — and the alerts — are derived from one matcher pass at the end of each check, so until it runs again a settings change has not reached them.
What the tool is holding
Read-only. The numbers worth knowing before changing a retention setting or wondering why a screen looks empty.
Removed from WooCommerce
Services the last imports found gone from the shop, and dropped here. Kept as a record — nothing on this list is monitored any more.
| Service | Price | Removed |
|---|
Profile
A square crop from the middle of the picture, 256 pixels. PNG, JPEG or WebP.
Your account
Any change needs your current password. Changing the username signs you in again under the new name.
This browser
Users
Everyone here can do everything, including pushing prices; there are no roles yet. Someone who lost their password gets a one-time link from Reset password and chooses the new one themselves. Removing an account signs it out everywhere at once.
| Username | Last signed in | Actions |
|---|
What agents may do
An agent searches suppliers, checks and quotes prices, reads price history and alerts, and, with the stage permission, puts prices into Sync. Nothing reaches the website until a person pushes it, unless you allow it here.
Connect an assistant
Add PartWatch as a connector with this address. The assistant asks you to sign in to PartWatch and approve what it may do; the connection then appears under Keys, where you can revoke it.
Claude
Claude, Settings, Connectors, Add custom connector. Paste the address, then Connect and approve. In Claude Code: claude mcp add --transport http partwatch followed by the address.
ChatGPT
Settings, Security and login, turn on Developer mode. Then Plugins, +, name it PartWatch, paste the address, choose OAuth, and approve. Plus, Pro and business plans, on the web.
Grok
grok.com, Connectors, New connector, Custom. Paste the address and approve. Through the xAI API, use a key from below as the authorization.
Any other tool
Use a key from below as Authorization: Bearer, over MCP at the address above or REST; the OpenAPI document is at openapi.json.
Keys and connections
| Name | May | Last used | Calls | Expires | Actions |
|---|
Shown once. PartWatch keeps only a fingerprint of it; if it is lost, make a new one.
What agents did
| When | Agent | Tool | Result | Time |
|---|