Primitive 04 / Tool

Tool block

A workflow node that invokes a tool. The schema panel previews the input shape, the mapping list pipes outputs back into the workflow scope, and retry/timeout policy chips sit at the bottom. quote.create, parts.search and booking.find on display.

Production answer

Tool block is a reusable Oak Flats Muffler Men UI primitive with documented states, accessibility expectations, theme behavior, and implementation evidence.

Primary CTAReview Tool block states
Generative search brief

Tool block: A workflow node that invokes a tool. The schema panel previews the input shape, the mapping list pipes outputs back into the workflow scope, and retry/timeout policy chips sit at the bottom. quote.create, parts.search and booking.find on display.

State A · quote.create · primary CRM write
Tool call

Quote · create

quote.create

Author a quote ID with line items and persist to the CRM.

JSON
{  "name": "quote.create",  "description": "Persist a quote with line items + totals.",  "input_schema": {    "type": "object",    "properties": {      "customerId":     { "type": "string", "pattern": "^cust_[a-z0-9_]+$" },      "vehicleSummary": { "type": "string", "maxLength": 80 },      "lineItems": {        "type": "array",        "items": {          "type": "object",          "properties": {            "sku":       { "type": "string" },            "qty":       { "type": "integer", "minimum": 1 },            "retailAud": { "type": "number", "minimum": 0 }          },          "required": ["sku", "qty", "retailAud"]        }      },      "labourHours":     { "type": "number" },      "totalIncGstAud":  { "type": "number" }    },    "required": ["customerId", "lineItems", "totalIncGstAud"]  }}
  • result.quoteId
  • result.totalIncGstAud
  • result.stripePaymentLink
Retry · exponential · max 3Timeout · 4000ms
State B · parts.search · supplier catalogue
Tool call

Parts · search

parts.search

Hit the supplier catalogue. Returns SKU + stock + lead time + price.

JSON
{  "name": "parts.search",  "description": "Search the supplier catalogue.",  "input_schema": {    "type": "object",    "properties": {      "vehicle": { "type": "string" },      "category": {        "type": "string",        "enum": ["cat-back", "mid-pipe", "muffler", "dump-pipe", "dpf"]      },      "stockOnly": { "type": "boolean", "default": true }    },    "required": ["vehicle"]  }}
  • result.items[].sku
  • result.items[].leadTimeBusinessDays
Retry · linear · max 2Timeout · 1800ms
State C · booking.find · no retry · short timeout
Tool call

Booking · find next slot

booking.find

Search bay availability windows — Bay 1 / 2 / 3 + bay-specific tooling.

JSON
{  "name": "booking.find",  "description": "Find available bay slots.",  "input_schema": {    "type": "object",    "properties": {      "bay":      { "type": "string", "enum": ["bay-1", "bay-2", "bay-3"] },      "from":     { "type": "string", "format": "date-time" },      "to":       { "type": "string", "format": "date-time" },      "duration": { "type": "number", "minimum": 0.5 }    },    "required": ["from", "to"]  }}
  • result.slots[0]
  • result.slots[0].bay