Tool tree
gradeNot graded
page: Every page
navigate_toAction
Open a page of the app so the user can see it. Use when the user asks to see or go somewhere, or before explaining something on screen.
View tool JSON
{
"name": "navigate_to",
"kind": "act",
"impl": "imperative",
"description": "Open a page of the app so the user can see it. Use when the user asks to see or go somewhere, or before explaining something on screen.",
"inputSchema": {
"type": "object",
"properties": {
"page": {
"type": "string",
"enum": [
"/",
"/orders",
"/sales",
"/menu",
"/inventory",
"/billing",
"/marketing",
"/finance",
"/customers",
"/staff",
"/settings"
],
"description": "Route of the page"
}
},
"required": [
"page"
],
"additionalProperties": false
},
"page": "/cloud-kitchen-os"
}get_kitchen_overviewAnswer
Snapshot of today: revenue so far, order counts by status, low-stock count, overdue invoices, pending payouts, average rating, live campaigns.
View tool JSON
{
"name": "get_kitchen_overview",
"kind": "answer",
"impl": "imperative",
"description": "Snapshot of today: revenue so far, order counts by status, low-stock count, overdue invoices, pending payouts, average rating, live campaigns.",
"inputSchema": {
"type": "object",
"properties": {},
"additionalProperties": false
},
"page": "/cloud-kitchen-os"
}get_activity_logAnswer
Recent actions taken in the app by the user or the agent.
View tool JSON
{
"name": "get_activity_log",
"kind": "answer",
"impl": "imperative",
"description": "Recent actions taken in the app by the user or the agent.",
"inputSchema": {
"type": "object",
"properties": {
"limit": {
"default": 15,
"type": "integer",
"minimum": 1,
"maximum": 50
}
},
"additionalProperties": false
},
"page": "/cloud-kitchen-os"
}query_salesAnswer
Revenue, orders, average order value and food cost. Group by day, brand or channel; optionally filter by brand or channel.
View tool JSON
{
"name": "query_sales",
"kind": "answer",
"impl": "imperative",
"description": "Revenue, orders, average order value and food cost. Group by day, brand or channel; optionally filter by brand or channel.",
"inputSchema": {
"type": "object",
"properties": {
"days": {
"default": 7,
"type": "integer",
"minimum": 1,
"maximum": 90
},
"groupBy": {
"default": "day",
"type": "string",
"enum": [
"day",
"brand",
"channel"
]
},
"brandId": {
"type": "string",
"enum": [
"b-tandoor",
"b-bowl",
"b-crust"
]
},
"channel": {
"type": "string",
"enum": [
"dashbite",
"foodrun",
"direct"
]
}
},
"additionalProperties": false
},
"page": "/cloud-kitchen-os"
}get_top_itemsAnswer
Best-selling menu items today by revenue, with quantity and gross margin.
View tool JSON
{
"name": "get_top_items",
"kind": "answer",
"impl": "imperative",
"description": "Best-selling menu items today by revenue, with quantity and gross margin.",
"inputSchema": {
"type": "object",
"properties": {
"limit": {
"default": 8,
"type": "integer",
"minimum": 1,
"maximum": 20
}
},
"additionalProperties": false
},
"page": "/cloud-kitchen-os"
}list_ordersAnswer
Today's orders, newest first. Filter by status or brand.
View tool JSON
{
"name": "list_orders",
"kind": "answer",
"impl": "imperative",
"description": "Today's orders, newest first. Filter by status or brand.",
"inputSchema": {
"type": "object",
"properties": {
"status": {
"type": "string",
"enum": [
"new",
"preparing",
"ready",
"dispatched",
"delivered",
"cancelled"
]
},
"brandId": {
"type": "string",
"enum": [
"b-tandoor",
"b-bowl",
"b-crust"
]
},
"limit": {
"default": 15,
"type": "integer",
"minimum": 1,
"maximum": 50
}
},
"additionalProperties": false
},
"page": "/cloud-kitchen-os"
}update_order_statusAction
Move an order along the kitchen line (new -> preparing -> ready -> dispatched -> delivered).
View tool JSON
{
"name": "update_order_status",
"kind": "act",
"impl": "imperative",
"description": "Move an order along the kitchen line (new -> preparing -> ready -> dispatched -> delivered).",
"inputSchema": {
"type": "object",
"properties": {
"order": {
"type": "string",
"description": "Order id (o-12) or number (#4112)"
},
"status": {
"type": "string",
"enum": [
"preparing",
"ready",
"dispatched",
"delivered"
]
},
"visible": {
"type": "boolean",
"description": "Optional. true = perform this on screen (navigate, fill the form, press the button) so the user can watch. false = do it silently in the background. Omit to follow the user's current preference."
}
},
"required": [
"order",
"status"
],
"additionalProperties": false
},
"page": "/cloud-kitchen-os"
}create_manual_orderSensitive Action
Create a phone or walk-in order. All items must belong to the chosen brand; use list_menu for item ids.
View tool JSON
{
"name": "create_manual_order",
"kind": "transact",
"impl": "imperative",
"description": "Create a phone or walk-in order. All items must belong to the chosen brand; use list_menu for item ids.",
"inputSchema": {
"type": "object",
"properties": {
"brandId": {
"type": "string",
"minLength": 1,
"description": "Brand id"
},
"channel": {
"default": "direct",
"type": "string",
"enum": [
"dashbite",
"foodrun",
"direct"
]
},
"customerName": {
"type": "string",
"minLength": 2,
"maxLength": 60
},
"phone": {
"type": "string",
"maxLength": 20
},
"lines": {
"minItems": 1,
"type": "array",
"items": {
"type": "object",
"properties": {
"itemId": {
"type": "string",
"minLength": 1,
"description": "Menu item id"
},
"qty": {
"type": "integer",
"minimum": 1,
"maximum": 20
}
},
"required": [
"itemId",
"qty"
]
}
},
"couponCode": {
"type": "string",
"maxLength": 20
},
"note": {
"type": "string",
"maxLength": 200
},
"visible": {
"type": "boolean",
"description": "Optional. true = perform this on screen (navigate, fill the form, press the button) so the user can watch. false = do it silently in the background. Omit to follow the user's current preference."
},
"submit": {
"type": "boolean",
"description": "Only for on-screen form actions. false = fill the form and leave it open for the user to review and submit themselves. Defaults to true."
}
},
"required": [
"brandId",
"customerName",
"lines"
],
"additionalProperties": false
},
"page": "/cloud-kitchen-os"
}refund_orderSensitive Action
Cancel and refund an order. Always confirm with the user first; the app will also ask them.
View tool JSON
{
"name": "refund_order",
"kind": "transact",
"impl": "imperative",
"description": "Cancel and refund an order. Always confirm with the user first; the app will also ask them.",
"inputSchema": {
"type": "object",
"properties": {
"order": {
"type": "string",
"description": "Order id or number"
},
"reason": {
"type": "string",
"maxLength": 120
},
"visible": {
"type": "boolean",
"description": "Optional. true = perform this on screen (navigate, fill the form, press the button) so the user can watch. false = do it silently in the background. Omit to follow the user's current preference."
}
},
"required": [
"order"
],
"additionalProperties": false
},
"page": "/cloud-kitchen-os"
}list_menuAnswer
Menu items with id, brand, price, food cost, margin and availability.
View tool JSON
{
"name": "list_menu",
"kind": "answer",
"impl": "imperative",
"description": "Menu items with id, brand, price, food cost, margin and availability.",
"inputSchema": {
"type": "object",
"properties": {
"brandId": {
"type": "string",
"enum": [
"b-tandoor",
"b-bowl",
"b-crust"
]
}
},
"additionalProperties": false
},
"page": "/cloud-kitchen-os"
}add_menu_itemAction
Add a new item to a brand's menu.
View tool JSON
{
"name": "add_menu_item",
"kind": "act",
"impl": "imperative",
"description": "Add a new item to a brand's menu.",
"inputSchema": {
"type": "object",
"properties": {
"brandId": {
"type": "string",
"minLength": 1,
"description": "Brand id"
},
"name": {
"type": "string",
"minLength": 2,
"maxLength": 60
},
"category": {
"type": "string",
"minLength": 2,
"maxLength": 30
},
"price": {
"type": "number",
"exclusiveMinimum": 0,
"description": "Menu price incl. nothing else, in the kitchen currency"
},
"prepMins": {
"default": 10,
"type": "integer",
"minimum": 1,
"maximum": 60
},
"available": {
"default": true,
"type": "boolean"
},
"visible": {
"type": "boolean",
"description": "Optional. true = perform this on screen (navigate, fill the form, press the button) so the user can watch. false = do it silently in the background. Omit to follow the user's current preference."
},
"submit": {
"type": "boolean",
"description": "Only for on-screen form actions. false = fill the form and leave it open for the user to review and submit themselves. Defaults to true."
}
},
"required": [
"brandId",
"name",
"category",
"price"
],
"additionalProperties": false
},
"page": "/cloud-kitchen-os"
}set_item_priceAction
Change a menu item's price.
View tool JSON
{
"name": "set_item_price",
"kind": "act",
"impl": "imperative",
"description": "Change a menu item's price.",
"inputSchema": {
"type": "object",
"properties": {
"itemId": {
"type": "string",
"minLength": 1,
"description": "Menu item id"
},
"price": {
"type": "number",
"exclusiveMinimum": 0
},
"visible": {
"type": "boolean",
"description": "Optional. true = perform this on screen (navigate, fill the form, press the button) so the user can watch. false = do it silently in the background. Omit to follow the user's current preference."
}
},
"required": [
"itemId",
"price"
],
"additionalProperties": false
},
"page": "/cloud-kitchen-os"
}set_item_availabilityAction
Mark a menu item sold out (86) or available again.
View tool JSON
{
"name": "set_item_availability",
"kind": "act",
"impl": "imperative",
"description": "Mark a menu item sold out (86) or available again.",
"inputSchema": {
"type": "object",
"properties": {
"itemId": {
"type": "string"
},
"available": {
"type": "boolean"
},
"visible": {
"type": "boolean",
"description": "Optional. true = perform this on screen (navigate, fill the form, press the button) so the user can watch. false = do it silently in the background. Omit to follow the user's current preference."
}
},
"required": [
"itemId",
"available"
],
"additionalProperties": false
},
"page": "/cloud-kitchen-os"
}list_inventoryAnswer
Ingredients with stock, par level, unit, unit cost and default supplier.
View tool JSON
{
"name": "list_inventory",
"kind": "answer",
"impl": "imperative",
"description": "Ingredients with stock, par level, unit, unit cost and default supplier.",
"inputSchema": {
"type": "object",
"properties": {
"onlyLow": {
"default": false,
"description": "Only items under 60% of par",
"type": "boolean"
},
"category": {
"type": "string",
"enum": [
"Produce",
"Dairy",
"Protein",
"Dry goods",
"Packaging",
"Sauces"
]
}
},
"additionalProperties": false
},
"page": "/cloud-kitchen-os"
}list_suppliersAnswer
Suppliers with categories, lead time, rating and price factor (multiplier on base cost; lower is cheaper).
View tool JSON
{
"name": "list_suppliers",
"kind": "answer",
"impl": "imperative",
"description": "Suppliers with categories, lead time, rating and price factor (multiplier on base cost; lower is cheaper).",
"inputSchema": {
"type": "object",
"properties": {
"category": {
"type": "string",
"enum": [
"Produce",
"Dairy",
"Protein",
"Dry goods",
"Packaging",
"Sauces"
]
}
},
"additionalProperties": false
},
"page": "/cloud-kitchen-os"
}list_purchase_ordersAnswer
Purchase orders with supplier, status, lines and total.
View tool JSON
{
"name": "list_purchase_orders",
"kind": "answer",
"impl": "imperative",
"description": "Purchase orders with supplier, status, lines and total.",
"inputSchema": {
"type": "object",
"properties": {
"status": {
"type": "string",
"enum": [
"draft",
"sent",
"received",
"cancelled"
]
}
},
"additionalProperties": false
},
"page": "/cloud-kitchen-os"
}create_purchase_orderSensitive Action
Draft a purchase order to one supplier. Check list_suppliers first; a supplier should cover the ingredient's category. Use send_purchase_order afterwards if the user wants it sent.
View tool JSON
{
"name": "create_purchase_order",
"kind": "transact",
"impl": "imperative",
"description": "Draft a purchase order to one supplier. Check list_suppliers first; a supplier should cover the ingredient's category. Use send_purchase_order afterwards if the user wants it sent.",
"inputSchema": {
"type": "object",
"properties": {
"supplierId": {
"type": "string",
"minLength": 1,
"description": "Supplier id, e.g. s-dairyco. Use list_suppliers to find one."
},
"lines": {
"minItems": 1,
"type": "array",
"items": {
"type": "object",
"properties": {
"ingredientId": {
"type": "string",
"minLength": 1,
"description": "Ingredient id"
},
"qty": {
"type": "number",
"exclusiveMinimum": 0,
"description": "Quantity in the ingredient's unit"
}
},
"required": [
"ingredientId",
"qty"
]
},
"description": "Ingredients to order"
},
"expectedInDays": {
"default": 1,
"description": "Days until delivery",
"type": "integer",
"minimum": 0,
"maximum": 14
},
"notes": {
"description": "Note for the supplier",
"type": "string",
"maxLength": 240
},
"visible": {
"type": "boolean",
"description": "Optional. true = perform this on screen (navigate, fill the form, press the button) so the user can watch. false = do it silently in the background. Omit to follow the user's current preference."
},
"submit": {
"type": "boolean",
"description": "Only for on-screen form actions. false = fill the form and leave it open for the user to review and submit themselves. Defaults to true."
}
},
"required": [
"supplierId",
"lines"
],
"additionalProperties": false
},
"page": "/cloud-kitchen-os"
}send_purchase_orderSensitive Action
Send a draft purchase order to its supplier.
View tool JSON
{
"name": "send_purchase_order",
"kind": "transact",
"impl": "imperative",
"description": "Send a draft purchase order to its supplier.",
"inputSchema": {
"type": "object",
"properties": {
"po": {
"type": "string",
"description": "PO id or number, e.g. PO-1022"
},
"visible": {
"type": "boolean",
"description": "Optional. true = perform this on screen (navigate, fill the form, press the button) so the user can watch. false = do it silently in the background. Omit to follow the user's current preference."
}
},
"required": [
"po"
],
"additionalProperties": false
},
"page": "/cloud-kitchen-os"
}receive_purchase_orderSensitive Action
Mark a purchase order as delivered; adds its quantities to stock.
View tool JSON
{
"name": "receive_purchase_order",
"kind": "transact",
"impl": "imperative",
"description": "Mark a purchase order as delivered; adds its quantities to stock.",
"inputSchema": {
"type": "object",
"properties": {
"po": {
"type": "string"
},
"visible": {
"type": "boolean",
"description": "Optional. true = perform this on screen (navigate, fill the form, press the button) so the user can watch. false = do it silently in the background. Omit to follow the user's current preference."
}
},
"required": [
"po"
],
"additionalProperties": false
},
"page": "/cloud-kitchen-os"
}log_wasteAction
Record wasted stock; it is deducted from inventory.
View tool JSON
{
"name": "log_waste",
"kind": "act",
"impl": "imperative",
"description": "Record wasted stock; it is deducted from inventory.",
"inputSchema": {
"type": "object",
"properties": {
"ingredientId": {
"type": "string",
"minLength": 1,
"description": "Ingredient id"
},
"qty": {
"type": "number",
"exclusiveMinimum": 0
},
"reason": {
"type": "string",
"enum": [
"Expired",
"Spoiled",
"Overproduced",
"Dropped",
"Returned"
]
},
"visible": {
"type": "boolean",
"description": "Optional. true = perform this on screen (navigate, fill the form, press the button) so the user can watch. false = do it silently in the background. Omit to follow the user's current preference."
},
"submit": {
"type": "boolean",
"description": "Only for on-screen form actions. false = fill the form and leave it open for the user to review and submit themselves. Defaults to true."
}
},
"required": [
"ingredientId",
"qty",
"reason"
],
"additionalProperties": false
},
"page": "/cloud-kitchen-os"
}adjust_stockAction
Set an ingredient's stock to a counted value.
View tool JSON
{
"name": "adjust_stock",
"kind": "act",
"impl": "imperative",
"description": "Set an ingredient's stock to a counted value.",
"inputSchema": {
"type": "object",
"properties": {
"ingredientId": {
"type": "string",
"minLength": 1,
"description": "Ingredient id"
},
"stock": {
"type": "number",
"minimum": 0,
"description": "New counted stock level"
},
"reason": {
"type": "string",
"maxLength": 120
},
"visible": {
"type": "boolean",
"description": "Optional. true = perform this on screen (navigate, fill the form, press the button) so the user can watch. false = do it silently in the background. Omit to follow the user's current preference."
}
},
"required": [
"ingredientId",
"stock"
],
"additionalProperties": false
},
"page": "/cloud-kitchen-os"
}list_wasteAnswer
Recent waste entries with cost.
View tool JSON
{
"name": "list_waste",
"kind": "answer",
"impl": "imperative",
"description": "Recent waste entries with cost.",
"inputSchema": {
"type": "object",
"properties": {},
"additionalProperties": false
},
"page": "/cloud-kitchen-os"
}list_invoicesAnswer
Catering and corporate invoices with totals and status.
View tool JSON
{
"name": "list_invoices",
"kind": "answer",
"impl": "imperative",
"description": "Catering and corporate invoices with totals and status.",
"inputSchema": {
"type": "object",
"properties": {
"status": {
"type": "string",
"enum": [
"draft",
"sent",
"paid",
"overdue"
]
}
},
"additionalProperties": false
},
"page": "/cloud-kitchen-os"
}create_invoiceSensitive Action
Create and send an invoice to a catering or corporate client.
View tool JSON
{
"name": "create_invoice",
"kind": "transact",
"impl": "imperative",
"description": "Create and send an invoice to a catering or corporate client.",
"inputSchema": {
"type": "object",
"properties": {
"client": {
"type": "string",
"minLength": 2,
"maxLength": 80
},
"email": {
"type": "string",
"format": "email",
"pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"
},
"lines": {
"minItems": 1,
"type": "array",
"items": {
"type": "object",
"properties": {
"description": {
"type": "string",
"minLength": 2,
"maxLength": 120
},
"qty": {
"type": "number",
"exclusiveMinimum": 0
},
"rate": {
"type": "number",
"exclusiveMinimum": 0
}
},
"required": [
"description",
"qty",
"rate"
]
}
},
"taxPct": {
"default": 5,
"type": "number",
"minimum": 0,
"maximum": 28
},
"dueInDays": {
"default": 15,
"type": "integer",
"minimum": 0,
"maximum": 90
},
"visible": {
"type": "boolean",
"description": "Optional. true = perform this on screen (navigate, fill the form, press the button) so the user can watch. false = do it silently in the background. Omit to follow the user's current preference."
},
"submit": {
"type": "boolean",
"description": "Only for on-screen form actions. false = fill the form and leave it open for the user to review and submit themselves. Defaults to true."
}
},
"required": [
"client",
"email",
"lines"
],
"additionalProperties": false
},
"page": "/cloud-kitchen-os"
}mark_invoice_paidAction
Record payment for an invoice.
View tool JSON
{
"name": "mark_invoice_paid",
"kind": "act",
"impl": "imperative",
"description": "Record payment for an invoice.",
"inputSchema": {
"type": "object",
"properties": {
"invoice": {
"type": "string",
"description": "Invoice id or number"
},
"visible": {
"type": "boolean",
"description": "Optional. true = perform this on screen (navigate, fill the form, press the button) so the user can watch. false = do it silently in the background. Omit to follow the user's current preference."
}
},
"required": [
"invoice"
],
"additionalProperties": false
},
"page": "/cloud-kitchen-os"
}list_payoutsAnswer
Weekly DashBite and FoodRun payouts: gross, commission, adjustments, net, status and notes. Commission rates: DashBite 24%, FoodRun 21%.
View tool JSON
{
"name": "list_payouts",
"kind": "answer",
"impl": "imperative",
"description": "Weekly DashBite and FoodRun payouts: gross, commission, adjustments, net, status and notes. Commission rates: DashBite 24%, FoodRun 21%.",
"inputSchema": {
"type": "object",
"properties": {
"status": {
"type": "string",
"enum": [
"pending",
"reconciled",
"disputed"
]
}
},
"additionalProperties": false
},
"page": "/cloud-kitchen-os"
}set_payout_statusAction
Mark a payout reconciled, or raise a dispute with a note.
View tool JSON
{
"name": "set_payout_status",
"kind": "act",
"impl": "imperative",
"description": "Mark a payout reconciled, or raise a dispute with a note.",
"inputSchema": {
"type": "object",
"properties": {
"payoutId": {
"type": "string"
},
"status": {
"type": "string",
"enum": [
"reconciled",
"disputed",
"pending"
]
},
"note": {
"type": "string",
"maxLength": 200
},
"visible": {
"type": "boolean",
"description": "Optional. true = perform this on screen (navigate, fill the form, press the button) so the user can watch. false = do it silently in the background. Omit to follow the user's current preference."
}
},
"required": [
"payoutId",
"status"
],
"additionalProperties": false
},
"page": "/cloud-kitchen-os"
}get_pnlAnswer
Month-to-date profit and loss: revenue, food cost, aggregator commissions, labour, rent, marketing, other, net; plus budget vs actual by category.
View tool JSON
{
"name": "get_pnl",
"kind": "answer",
"impl": "imperative",
"description": "Month-to-date profit and loss: revenue, food cost, aggregator commissions, labour, rent, marketing, other, net; plus budget vs actual by category.",
"inputSchema": {
"type": "object",
"properties": {
"month": {
"description": "YYYY-MM, defaults to this month",
"type": "string",
"pattern": "^\\d{4}-\\d{2}$"
}
},
"additionalProperties": false
},
"page": "/cloud-kitchen-os"
}list_expensesAnswer
Recorded expenses, newest first.
View tool JSON
{
"name": "list_expenses",
"kind": "answer",
"impl": "imperative",
"description": "Recorded expenses, newest first.",
"inputSchema": {
"type": "object",
"properties": {
"category": {
"type": "string",
"enum": [
"Rent",
"Utilities",
"Salaries",
"Marketing",
"Packaging",
"Maintenance",
"Software",
"Other"
]
},
"limit": {
"default": 20,
"type": "integer",
"minimum": 1,
"maximum": 50
}
},
"additionalProperties": false
},
"page": "/cloud-kitchen-os"
}add_expenseAction
Record an expense.
View tool JSON
{
"name": "add_expense",
"kind": "act",
"impl": "imperative",
"description": "Record an expense.",
"inputSchema": {
"type": "object",
"properties": {
"category": {
"type": "string",
"enum": [
"Rent",
"Utilities",
"Salaries",
"Marketing",
"Packaging",
"Maintenance",
"Software",
"Other"
]
},
"amount": {
"type": "number",
"exclusiveMinimum": 0
},
"vendor": {
"type": "string",
"minLength": 2,
"maxLength": 80
},
"date": {
"description": "YYYY-MM-DD, defaults to today",
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"note": {
"type": "string",
"maxLength": 200
},
"visible": {
"type": "boolean",
"description": "Optional. true = perform this on screen (navigate, fill the form, press the button) so the user can watch. false = do it silently in the background. Omit to follow the user's current preference."
},
"submit": {
"type": "boolean",
"description": "Only for on-screen form actions. false = fill the form and leave it open for the user to review and submit themselves. Defaults to true."
}
},
"required": [
"category",
"amount",
"vendor"
],
"additionalProperties": false
},
"page": "/cloud-kitchen-os"
}set_budgetAction
Set a monthly budget for an expense category.
View tool JSON
{
"name": "set_budget",
"kind": "act",
"impl": "imperative",
"description": "Set a monthly budget for an expense category.",
"inputSchema": {
"type": "object",
"properties": {
"category": {
"type": "string",
"enum": [
"Rent",
"Utilities",
"Salaries",
"Marketing",
"Packaging",
"Maintenance",
"Software",
"Other"
]
},
"monthly": {
"type": "number",
"minimum": 0
},
"visible": {
"type": "boolean",
"description": "Optional. true = perform this on screen (navigate, fill the form, press the button) so the user can watch. false = do it silently in the background. Omit to follow the user's current preference."
}
},
"required": [
"category",
"monthly"
],
"additionalProperties": false
},
"page": "/cloud-kitchen-os"
}list_campaignsAnswer
Marketing campaigns with budget, spend, impressions, attributed orders and status.
View tool JSON
{
"name": "list_campaigns",
"kind": "answer",
"impl": "imperative",
"description": "Marketing campaigns with budget, spend, impressions, attributed orders and status.",
"inputSchema": {
"type": "object",
"properties": {},
"additionalProperties": false
},
"page": "/cloud-kitchen-os"
}create_campaignAction
Create a campaign. Starts live if startInDays is 0, otherwise scheduled.
View tool JSON
{
"name": "create_campaign",
"kind": "act",
"impl": "imperative",
"description": "Create a campaign. Starts live if startInDays is 0, otherwise scheduled.",
"inputSchema": {
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 3,
"maxLength": 60
},
"brandId": {
"type": "string",
"minLength": 1,
"description": "Brand id"
},
"channel": {
"type": "string",
"enum": [
"dashbite",
"foodrun",
"direct",
"instagram",
"sms"
]
},
"budget": {
"type": "number",
"exclusiveMinimum": 0
},
"startInDays": {
"default": 0,
"type": "integer",
"minimum": 0,
"maximum": 60
},
"durationDays": {
"default": 14,
"type": "integer",
"minimum": 1,
"maximum": 90
},
"couponCode": {
"description": "Optional existing coupon to attach",
"type": "string",
"maxLength": 20
},
"visible": {
"type": "boolean",
"description": "Optional. true = perform this on screen (navigate, fill the form, press the button) so the user can watch. false = do it silently in the background. Omit to follow the user's current preference."
},
"submit": {
"type": "boolean",
"description": "Only for on-screen form actions. false = fill the form and leave it open for the user to review and submit themselves. Defaults to true."
}
},
"required": [
"name",
"brandId",
"channel",
"budget"
],
"additionalProperties": false
},
"page": "/cloud-kitchen-os"
}set_campaign_statusAction
Pause, resume (live) or end a campaign.
View tool JSON
{
"name": "set_campaign_status",
"kind": "act",
"impl": "imperative",
"description": "Pause, resume (live) or end a campaign.",
"inputSchema": {
"type": "object",
"properties": {
"campaignId": {
"type": "string"
},
"status": {
"type": "string",
"enum": [
"live",
"paused",
"ended"
]
},
"visible": {
"type": "boolean",
"description": "Optional. true = perform this on screen (navigate, fill the form, press the button) so the user can watch. false = do it silently in the background. Omit to follow the user's current preference."
}
},
"required": [
"campaignId",
"status"
],
"additionalProperties": false
},
"page": "/cloud-kitchen-os"
}list_couponsAnswer
Coupon codes with discount, minimum order, brand, validity and usage.
View tool JSON
{
"name": "list_coupons",
"kind": "answer",
"impl": "imperative",
"description": "Coupon codes with discount, minimum order, brand, validity and usage.",
"inputSchema": {
"type": "object",
"properties": {},
"additionalProperties": false
},
"page": "/cloud-kitchen-os"
}create_couponAction
Create a coupon code. Code must be capital letters and digits.
View tool JSON
{
"name": "create_coupon",
"kind": "act",
"impl": "imperative",
"description": "Create a coupon code. Code must be capital letters and digits.",
"inputSchema": {
"type": "object",
"properties": {
"code": {
"type": "string",
"minLength": 3,
"maxLength": 20,
"pattern": "^[A-Z0-9]+$"
},
"discountPct": {
"type": "number",
"minimum": 1,
"maximum": 60
},
"minOrder": {
"default": 0,
"type": "number",
"minimum": 0
},
"brandId": {
"default": "all",
"description": "Brand id or 'all'",
"type": "string"
},
"validDays": {
"default": 30,
"type": "integer",
"minimum": 1,
"maximum": 180
},
"visible": {
"type": "boolean",
"description": "Optional. true = perform this on screen (navigate, fill the form, press the button) so the user can watch. false = do it silently in the background. Omit to follow the user's current preference."
},
"submit": {
"type": "boolean",
"description": "Only for on-screen form actions. false = fill the form and leave it open for the user to review and submit themselves. Defaults to true."
}
},
"required": [
"code",
"discountPct"
],
"additionalProperties": false
},
"page": "/cloud-kitchen-os"
}toggle_couponAction
Activate or pause a coupon.
View tool JSON
{
"name": "toggle_coupon",
"kind": "act",
"impl": "imperative",
"description": "Activate or pause a coupon.",
"inputSchema": {
"type": "object",
"properties": {
"coupon": {
"type": "string",
"description": "Coupon id or code"
},
"active": {
"type": "boolean"
},
"visible": {
"type": "boolean",
"description": "Optional. true = perform this on screen (navigate, fill the form, press the button) so the user can watch. false = do it silently in the background. Omit to follow the user's current preference."
}
},
"required": [
"coupon",
"active"
],
"additionalProperties": false
},
"page": "/cloud-kitchen-os"
}list_reviewsAnswer
Customer reviews from DashBite and FoodRun with rating, text, any reply, and Jev's topic and urgency tags (urgency 0 to 1). Sorted most urgent first.
View tool JSON
{
"name": "list_reviews",
"kind": "answer",
"impl": "imperative",
"description": "Customer reviews from DashBite and FoodRun with rating, text, any reply, and Jev's topic and urgency tags (urgency 0 to 1). Sorted most urgent first.",
"inputSchema": {
"type": "object",
"properties": {
"maxRating": {
"type": "integer",
"minimum": 1,
"maximum": 5
},
"unrepliedOnly": {
"default": false,
"type": "boolean"
},
"urgentOnly": {
"default": false,
"description": "Only reviews Jev tagged as needing a reply today",
"type": "boolean"
}
},
"additionalProperties": false
},
"page": "/cloud-kitchen-os"
}reply_to_reviewSensitive Action
Post a public reply to a review. Keep it short, specific and warm; apologise and offer a fix for complaints.
View tool JSON
{
"name": "reply_to_review",
"kind": "transact",
"impl": "imperative",
"description": "Post a public reply to a review. Keep it short, specific and warm; apologise and offer a fix for complaints.",
"inputSchema": {
"type": "object",
"properties": {
"reviewId": {
"type": "string",
"minLength": 1,
"description": "Review id"
},
"reply": {
"type": "string",
"minLength": 5,
"maxLength": 500
},
"visible": {
"type": "boolean",
"description": "Optional. true = perform this on screen (navigate, fill the form, press the button) so the user can watch. false = do it silently in the background. Omit to follow the user's current preference."
},
"submit": {
"type": "boolean",
"description": "Only for on-screen form actions. false = fill the form and leave it open for the user to review and submit themselves. Defaults to true."
}
},
"required": [
"reviewId",
"reply"
],
"additionalProperties": false
},
"page": "/cloud-kitchen-os"
}list_customersAnswer
Customers with orders, lifetime value, last order date, tags and notes.
View tool JSON
{
"name": "list_customers",
"kind": "answer",
"impl": "imperative",
"description": "Customers with orders, lifetime value, last order date, tags and notes.",
"inputSchema": {
"type": "object",
"properties": {
"search": {
"description": "Name contains",
"type": "string"
},
"tag": {
"type": "string"
},
"sort": {
"default": "ltv",
"type": "string",
"enum": [
"ltv",
"recent",
"lapsed"
]
},
"limit": {
"default": 10,
"type": "integer",
"minimum": 1,
"maximum": 50
}
},
"additionalProperties": false
},
"page": "/cloud-kitchen-os"
}annotate_customerAction
Add a note and/or tag to a customer.
View tool JSON
{
"name": "annotate_customer",
"kind": "act",
"impl": "imperative",
"description": "Add a note and/or tag to a customer.",
"inputSchema": {
"type": "object",
"properties": {
"customerId": {
"type": "string",
"minLength": 1,
"description": "Customer id"
},
"note": {
"type": "string",
"minLength": 2,
"maxLength": 200
},
"tag": {
"type": "string",
"minLength": 2,
"maxLength": 24
},
"visible": {
"type": "boolean",
"description": "Optional. true = perform this on screen (navigate, fill the form, press the button) so the user can watch. false = do it silently in the background. Omit to follow the user's current preference."
}
},
"required": [
"customerId"
],
"additionalProperties": false
},
"page": "/cloud-kitchen-os"
}list_staff_scheduleAnswer
Staff (id, name, role, hourly rate) and their shifts for the next 7 days. Optionally filter one date.
View tool JSON
{
"name": "list_staff_schedule",
"kind": "answer",
"impl": "imperative",
"description": "Staff (id, name, role, hourly rate) and their shifts for the next 7 days. Optionally filter one date.",
"inputSchema": {
"type": "object",
"properties": {
"date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
}
},
"additionalProperties": false
},
"page": "/cloud-kitchen-os"
}add_shiftAction
Add a shift for a staff member.
View tool JSON
{
"name": "add_shift",
"kind": "act",
"impl": "imperative",
"description": "Add a shift for a staff member.",
"inputSchema": {
"type": "object",
"properties": {
"staffId": {
"type": "string",
"minLength": 1,
"description": "Staff member id"
},
"date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "YYYY-MM-DD"
},
"start": {
"type": "string",
"pattern": "^\\d{2}:\\d{2}$",
"description": "HH:MM 24h"
},
"end": {
"type": "string",
"pattern": "^\\d{2}:\\d{2}$",
"description": "HH:MM 24h"
},
"visible": {
"type": "boolean",
"description": "Optional. true = perform this on screen (navigate, fill the form, press the button) so the user can watch. false = do it silently in the background. Omit to follow the user's current preference."
},
"submit": {
"type": "boolean",
"description": "Only for on-screen form actions. false = fill the form and leave it open for the user to review and submit themselves. Defaults to true."
}
},
"required": [
"staffId",
"date",
"start",
"end"
],
"additionalProperties": false
},
"page": "/cloud-kitchen-os"
}remove_shiftAction
Delete a scheduled shift.
View tool JSON
{
"name": "remove_shift",
"kind": "act",
"impl": "imperative",
"description": "Delete a scheduled shift.",
"inputSchema": {
"type": "object",
"properties": {
"shiftId": {
"type": "string"
},
"visible": {
"type": "boolean",
"description": "Optional. true = perform this on screen (navigate, fill the form, press the button) so the user can watch. false = do it silently in the background. Omit to follow the user's current preference."
}
},
"required": [
"shiftId"
],
"additionalProperties": false
},
"page": "/cloud-kitchen-os"
}set_themeAction
Switch the app between light, dark and system theme.
View tool JSON
{
"name": "set_theme",
"kind": "act",
"impl": "imperative",
"description": "Switch the app between light, dark and system theme.",
"inputSchema": {
"type": "object",
"properties": {
"theme": {
"type": "string",
"enum": [
"light",
"dark",
"system"
]
},
"visible": {
"type": "boolean",
"description": "Optional. true = perform this on screen (navigate, fill the form, press the button) so the user can watch. false = do it silently in the background. Omit to follow the user's current preference."
}
},
"required": [
"theme"
],
"additionalProperties": false
},
"page": "/cloud-kitchen-os"
}