Quick Quote Tool
This ~50-line tool demonstrates the full bridge loop for astandalone tool: read
customers and products (now including sku), let the user build a quote, and submit
via quotes.create.
Reference: Ziptrak Retail Estimator
This is the full reference implementation for aquoting_extension tool. It shows
initBridge with skuIdMap, and collectQuoteLines with groupKey, productId,
costPrice, unit, location, and specification.
This example uses the legacy
productId field, which is now deprecated in favour
of linkedItemId + lineType. The deprecated field still works (Ziptrak v2.1.2 is
unchanged). For new tools, prefer the modern API:- Use
lineType: "product"+linkedItemId: <sku-guid>for product lines (replacesproductId). - Use
lineType: "task"+linkedItemId: <task-template-guid>for explicit installation, removal, or service tasks. Resolve GUIDs from codes viataskTemplates.list. - Use
lineType: "cost"+linkedItemId: <cob-item-guid>for shipping, travel, disposal, and other cost-of-business lines. Resolve GUIDs viacostItems.list. - Tag every line with a
section(e.g."Blinds","Installation","Extras") — the host quote UI groups lines visually by section.
quotes.addLines for the full
field reference and a modern multi-line example.manifest.jsonwithtype: "quoting_extension"soaddLinesis unlockedinitBridge()callsproducts.list({ pageSize: 500 })and populatesskuIdMapcollectQuoteLines()builds lines with:groupKey("blind-1","blind-2") so blind + pelmet lines are grouped in the quoteproductIdresolved fromskuIdMapfor task template injectionproductCodeas the human-readable SKUcostPrice(wholesale) alongsideunitPrice(retail) for real margin in the COB panelunit: "T_ITEM"for per-blind lines (use"T_SQUARE_METRE"for fabric area charges)locationfor the area/zone label andspecificationfor dimensions and config detail