Inventory

Import items from CSV

inventory_import · Changes data · Markdown

Creates or changes items from a CSV in the file store, with optional quantities per location; all rows or none.

$0.001 per row imported

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

An example

Here's the spreadsheet of everything in the warehouse. Load it into our stock.

Your agent callsinventory_import$0.001 per row imported

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
{
  "file_id": "5e8a1c3d-2b4f-4d6a-9c0e-7f1b3d5a8c2e"
}
What comes back
{
  "created": 2,
  "changed": 0,
  "stock_adjusted": 2,
  "ignored_columns": []
}

Use it when

A whole stock list arrives as a spreadsheet.

What it does

Items from a CSV in the file store, created or changed by SKU. Columns: sku, name, description, unit, barcode, cost, price, reorder_point, quantity, location (sku and, for new items, name). A quantity sets what is held at the row's location (default Main, made if new): the difference becomes an adjustment, in at the row's cost. All rows or none. Charged per row.

What comes back

How many items were created and changed, how many stock levels were adjusted, and the columns that were ignored. Every reply also carries cost_usd and balance_usd.

Inputs

NameTypeWhat it is
file_idRequiredstringExactly 36 characters.
max_rowsintegerThe most rows this call may import (and hold the price for). 1 to 5,000. Default: 1000.

The call

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

Terminal
curl -X POST https://api.conecto.chat/v1/tools/inventory_import \
  -H "Authorization: Bearer $CONECTO_KEY" \
  -H "Content-Type: application/json" \
  -d '{"file_id":"5e8a1c3d-2b4f-4d6a-9c0e-7f1b3d5a8c2e"}'

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.
not_enough_stock409Stock would go below 0 at a location.Ship or move less; the message says how much there is.
not_found404No location has that name.Call inventory_locations, or add it with inventory_save_location.
archived409The item or location is archived.Use another one, or name a location that is in use.
not_found404The file is not in the store.Upload it with files_upload first.
too_many_rows413The CSV has more rows than max_rows.Pass a higher max_rows (up to 5,000).
sku_taken409A new SKU is used already.Fix the row the message names.

Give this to your agent.

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