Tool tree
gradeNot graded
search_productsAnswer
Search the current bouquet catalog. Budget is the maximum bouquet price in USD before shipping. Colors accept common names such as blush, red, blue, white, yellow, or green. Multiple colors and roles must all be present in a result.
View tool JSON
{
"name": "search_products",
"kind": "answer",
"impl": "imperative",
"description": "Search the current bouquet catalog. Budget is the maximum bouquet price in USD before shipping. Colors accept common names such as blush, red, blue, white, yellow, or green. Multiple colors and roles must all be present in a result.",
"inputSchema": {
"type": "object",
"properties": {
"budget": {
"type": "number",
"minimum": 0
},
"colors": {
"type": "array",
"maxItems": 5,
"uniqueItems": true,
"items": {
"type": "string",
"minLength": 1
}
},
"flowerRoles": {
"type": "array",
"maxItems": 3,
"uniqueItems": true,
"items": {
"type": "string",
"enum": [
"main",
"decorative",
"foliage"
]
}
},
"occasion": {
"type": "string",
"minLength": 1
},
"sort": {
"type": "string",
"enum": [
"popularity",
"price_ascending",
"price_descending"
],
"default": "popularity"
}
},
"additionalProperties": false
}
}get_productAnswer
Read one catalog product's price, composition, palette, occasions, wrapping, flower meanings, and pet-safety details before comparing, buying, or editing it.
View tool JSON
{
"name": "get_product",
"kind": "answer",
"impl": "imperative",
"description": "Read one catalog product's price, composition, palette, occasions, wrapping, flower meanings, and pet-safety details before comparing, buying, or editing it.",
"inputSchema": {
"type": "object",
"properties": {
"productId": {
"type": "string",
"description": "A product id returned by search_products, such as blush-crescent."
}
},
"required": [
"productId"
],
"additionalProperties": false
}
}compare_productsAction
Replace the current comparison shortlist with one to three specified products and open the visual comparison window for the customer. After it opens, call present_results once with target comparison and a concise recommendation before replying to the customer.
View tool JSON
{
"name": "compare_products",
"kind": "act",
"impl": "imperative",
"description": "Replace the current comparison shortlist with one to three specified products and open the visual comparison window for the customer. After it opens, call present_results once with target comparison and a concise recommendation before replying to the customer.",
"inputSchema": {
"type": "object",
"properties": {
"productIds": {
"type": "array",
"minItems": 1,
"maxItems": 3,
"uniqueItems": true,
"items": {
"type": "string",
"description": "A product id returned by search_products, such as blush-crescent."
}
}
},
"required": [
"productIds"
],
"additionalProperties": false
}
}buy_productSensitive Action
Choose one catalog product and open the demo checkout. This does not place an order or charge payment; final confirmation remains a human action.
View tool JSON
{
"name": "buy_product",
"kind": "transact",
"impl": "imperative",
"description": "Choose one catalog product and open the demo checkout. This does not place an order or charge payment; final confirmation remains a human action.",
"inputSchema": {
"type": "object",
"properties": {
"productId": {
"type": "string",
"description": "A product id returned by search_products, such as blush-crescent."
}
},
"required": [
"productId"
],
"additionalProperties": false
}
}edit_productAction
Open one catalog product in the shared bouquet editor so the customer and agent can customize the same arrangement.
View tool JSON
{
"name": "edit_product",
"kind": "act",
"impl": "imperative",
"description": "Open one catalog product in the shared bouquet editor so the customer and agent can customize the same arrangement.",
"inputSchema": {
"type": "object",
"properties": {
"productId": {
"type": "string",
"description": "A product id returned by search_products, such as blush-crescent."
}
},
"required": [
"productId"
],
"additionalProperties": false
}
}start_custom_bouquetAction
Open a blank arrangement in the shared bouquet editor. Use the editor's flower catalog and arrangement tools after this page opens.
View tool JSON
{
"name": "start_custom_bouquet",
"kind": "act",
"impl": "imperative",
"description": "Open a blank arrangement in the shared bouquet editor. Use the editor's flower catalog and arrangement tools after this page opens.",
"inputSchema": {
"type": "object",
"properties": {},
"additionalProperties": false
}
}present_resultsAction
Call exactly once after all related work is complete, immediately before your final response, when the customer should inspect the page. For multiple alternatives, finish and save every alternative first, then call this once. Write the message warmly and naturally in the customer's preferred language, as yourself speaking directly to them—not as a system status or activity log. When target is snapshots, tell the customer that the saved versions are selectable and can be previewed. The message and highlight remain until the customer acknowledges them. Do not call it after each intermediate tool or snapshot.
View tool JSON
{
"name": "present_results",
"kind": "act",
"impl": "imperative",
"description": "Call exactly once after all related work is complete, immediately before your final response, when the customer should inspect the page. For multiple alternatives, finish and save every alternative first, then call this once. Write the message warmly and naturally in the customer's preferred language, as yourself speaking directly to them—not as a system status or activity log. When target is snapshots, tell the customer that the saved versions are selectable and can be previewed. The message and highlight remain until the customer acknowledges them. Do not call it after each intermediate tool or snapshot.",
"inputSchema": {
"type": "object",
"properties": {
"message": {
"type": "string",
"minLength": 1,
"maxLength": 240,
"description": "A concise, conversational message from you to the customer in their preferred language. Sound like a helpful agent speaking directly to them, not a status log."
},
"target": {
"type": "string",
"enum": [
"catalog",
"comparison"
],
"description": "The completed page area the customer should inspect."
}
},
"required": [
"message",
"target"
],
"additionalProperties": false
}
}