The AI Assistant can only perform a fixed, known set of actions — called tools. It cannot run arbitrary commands, read unrelated data, or change anything outside TrackShip. Every tool runs as the store account the assistant signed in with, so it can never do more than that account could do by hand.
On your TrackShip link, tools are scoped to TrackShip only — no refunds, prices or payment details. On the WooCommerce MCP route, the AI also has access to WooCommerce’s own order, product and customer tools.
Read tools
| Tool | Parameters | Returns | Example prompt |
|---|---|---|---|
| list-shipments | search, status, provider, date_from / date_to (YYYY-MM-DD), orderby, order, page, per_page (max 100) — all optional | Shipments with status, tracking number, carrier, order and shipping dates, last event and customer, plus the total count. | “Which shipments are late?” or “Show delivered shipments from last week.” |
| get-shipment | order_id (required) | One order’s shipment with its full tracking event history, origin and destination, service and delivery details. | “Show the tracking history for order #1234.” |
| list-notifications | search, type (Email or SMS), shipment_status, page, per_page — all optional | Shipment notifications sent, with recipient, type, shipment status and the result (Sent or Failed). | “Which shipment emails failed this month?” |
| get-analytics-summary | date_from (required), date_to (optional, defaults to today) | Totals for the period: shipments, active, delivered, tracking issues, average transit days and delivered rate. | “What was our delivered rate over the last 30 days?” |
| list-providers | None | Supported carriers with their display name and slug. Use the slug when filtering shipments or setting mappings. | “Is DHL Express supported?” |
| get-settings | None | Your TrackShip settings. Never includes your TrackShip API key or SMS provider credentials — those are stored separately. | “What are my late shipment settings?” |
| get-email-settings | None | Shipment status email settings per status: content, design and enable flags. | “Is the delivered email switched on?” |
| get-carrier-mappings | None | Your carrier mappings — the detected provider name and the TrackShip carrier it maps to. | “Which carrier names are mapped?” |
Write tools
| Tool | Parameters | Returns | Example prompt |
|---|---|---|---|
| update-settings | changes (required) — a map of setting key to new value | What changed. Only whitelisted settings are accepted; anything else is rejected. | “Set the late shipment threshold to 10 days.” |
| update-email-settings | status (required, e.g. delivered or common_settings); changes (required) | What changed for that status. Only whitelisted email properties are accepted. | “Change the heading on the delivered email.” |
| update-carrier-mappings | set (map of detected name to carrier slug) and/or remove (list of names) | What was added, updated or removed. Unknown carrier slugs are skipped. | “Map ‘DHL Parcel’ to dhl.” |
| update-shipment-note | note (required, up to 1000 characters); shipment_id, or order_id with tracking_number when the order has more than one shipment | The saved note, with the shipment and order it belongs to. An empty note clears it. | “Add a note to order #1230: customer asked us to hold delivery.” |
| resync-shipments | order_id, or order_ids (up to 50 per call) | Which orders were scheduled for a status refresh, and which were skipped. Uses a TrackShip tracking credit per shipped order. | “Get the shipment status for order #1234.” |
Error behaviour
- Nothing found — get-shipment and update-shipment-note return an error when no shipment matches the order id, shipment id or tracking number. The assistant shows the message in chat.
- More than one shipment on an order — update-shipment-note asks which one, listing that order’s tracking numbers. Repeat the request with the tracking number.
- Too many orders — resync-shipments accepts at most 50 order ids per call, and skips orders that are not shipped or have no valid tracking.
- Setting not allowed — update-settings and update-email-settings accept only whitelisted keys, so an AI cannot change something the whitelist does not cover.
- Write access off — when Allow the AI to make changes is off, the write tools are not offered on your TrackShip link, and a call to one by name is refused.
- Not allowed — an account that cannot manage the store is refused, whichever route it came in on.
Built-in safety
- Same rules as working by hand — order statuses, customer emails and carrier validation all follow your TrackShip settings. The AI cannot skip them.
- Read-only when you want it — turn off Allow the AI to make changes in Enable & Configure and the write tools are no longer offered.
- Nothing is deleted — no TrackShip tool deletes shipments, orders or tracking.
- Logged — every call is written to the Audit Log with the tool name, channel, app, user and result.