Inventory

Add or change items

inventory_save_items · Changes data · Markdown

Adds stock items or changes them by SKU: name, unit, barcode, cost, price and reorder point.

$0.005 per item saved

From your agent’s balance. A call that fails costs nothing.

An example

Add the stainless work table to our stock list: SKU TABLE-SS-160, it costs us 610 euros, sells for 1,490, and warn me when we're down to 2.

Your agent callsinventory_save_items$0.005 per item saved

The example business is Hansen & Voss, a restaurant-equipment wholesaler in Hamburg with 60 staff. The reply is the one the tool really gives.

With these arguments
{
  "items": [
    {
      "sku": "TABLE-SS-160",
      "name": "Work table, stainless steel, 160 cm",
      "unit": "pcs",
      "cost": "610.00",
      "price": "1490.00",
      "reorder_point": 2
    }
  ]
}
What comes back
{
  "items": [
    {
      "sku": "TABLE-SS-160",
      "name": "Work table, stainless steel, 160 cm",
      "unit": "pcs",
      "barcode": null,
      "description": null,
      "quantity": "0",
      "unit_cost": "610",
      "value": "0.00",
      "currency": "EUR",
      "price": "1490",
      "reorder_point": "2",
      "low": true,
      "archived": false,
      "locations": {},
      "created": true
    }
  ]
}

Use it when

A new product is stocked, or an item's cost, price or reorder point changes.

What it does

Add stock items or change them, matched by SKU: name, unit (pcs, kg, m...), barcode, cost (the unit cost used when stock comes in without one), selling price, reorder point (inventory.low_stock is sent when the stock falls to it), a new SKU, archived (only with none in stock). Stock itself changes only by moves (inventory_move) or counts (inventory_stocktake).

What comes back

items: each saved item with its SKU, name, unit, barcode, description, stock, unit cost, value, currency, price, reorder point, low, archived, stock per location, and created. Every reply also carries cost_usd and balance_usd.

Inputs

NameTypeWhat it is
itemsRequiredarray of objects1 to 100 items.
items[].skuRequiredstringThe item's SKU. 1 to 64 characters.
items[].namestringUp to 200 characters.
items[].descriptionstringUp to 1,000 characters.
items[].unitstringUp to 20 characters.
items[].barcodestringUp to 64 characters.
items[].costnumber or stringUp to 24 characters.
items[].pricenumber or string or nullUp to 24 characters.
items[].reorder_pointnumber or string or nullUp to 24 characters.
items[].new_skustringUp to 64 characters.
items[].archivedboolean

The call

Over MCP, call inventory_save_items on https://api.conecto.chat/mcp/inventory. Over REST:

Terminal
curl -X POST https://api.conecto.chat/v1/tools/inventory_save_items \
  -H "Authorization: Bearer $CONECTO_KEY" \
  -H "Content-Type: application/json" \
  -d '{"items":[{"sku":"TABLE-SS-160","name":"Work table, stainless steel, 160 cm","unit":"pcs","cost":"610.00","price":"1490.00","reorder_point":2}]}'

When it refuses

A refused call costs nothing and says what to do next.

CodeWhenWhat to do
invalid_input400A quantity, cost or date is not valid.Send numbers like 140.00 (a dot for decimals) and dates that have passed, like 2026-10-14.
invalid_input400A SKU is missing, or a new item has no name.Give every new item a SKU and a name.
has_stock409An item to archive still has stock.Ship, adjust or count it to 0 first.
sku_taken409The new SKU is used already.Pick another SKU.

Give this to your agent.

Set up Conecto from https://conecto.chat/SKILL.md