← Back to all apps

Overview

Tools Available7
DeveloperLoblaw Digital
CategoryShopping

Buy groceries online

Available Tools

PC Express provides 7 tools that can be used to interact with its services.

Add Products to Cart

add_products_to_cart
Full Description

Add products to cart. Requires cart_id, store_id, items.

Parameters

Required
cart_idstring

Cart ID

store_idstring

Store ID

Optional
itemsobject

LIAM → quantity dict (>= 1)

Default: null

Clear Cart

clear_cart
Full Description

Clear cart. Requires cart_id.

Parameters

Required
cart_idstring

Cart ID

Get Cart Information

get_cart
Full Description

Get cart information. Requires cart_id.

Parameters

Required
cart_idstring

Cart ID

Remove Products from Cart

remove_products_from_cart
Full Description

Remove products from cart. Requires cart_id, store_id, items.

Parameters

Required
cart_idstring

Cart ID

store_idstring

Store ID

Optional
itemsobject

LIAM → quantity to remove (>= 1)

Default: null

Product Search

search_for_products
Full Description

Search the product catalog for grocery products. Supports single or multiple product searches. For recipes: First provide the recipe with a friendly message, then search for ingredients. CRITICAL: Check conversation context for: 1) store_id → cart_id mapping (provide if exists, omit to auto-create), 2) Recipe/ingredients list from search_for_stores (use as 'term' parameter). If no ingredients in context, ask user what to search for. Store returned cart_id in context for future use. IMPORTANT: Infer banner from search_for_stores results - do not ask user. When products are displayed, direct users to use UI buttons to add products or adjust quantities. If products not found, offer to search with alternative keywords or add found products to cart.

Parameters

Required
bannerstring

Banner name for store display. Available: ['LOBLAW', 'SUPERSTORE', 'NOFRILLS', 'FORTINOS', 'MAXI', 'INDEPENDENT', 'VALUMART', 'ZEHRS', 'RASS', 'PROVIGO', 'INDEPENDENTCITYMARKET', 'DOMINION', 'WHOLESALECLUB']. Infer from search_for_stores results - do not ask user.

store_idstring

Store identifier (e.g., '10001' for Loblaws Pickering). Can be obtained from search_for_stores results.

termarray

List of search terms. Retrieve from conversation context (ingredients from search_for_stores). If not in context, ask user. Single product: ['milk']. Multiple: ['milk', 'bread', 'eggs']. Tool automatically selects search method based on term count.

Optional
cart_idstring

Cart ID for personalized results. Optional. Check context for store_id → cart_id mapping. If exists, provide it. If not, omit to auto-create. Store returned cart_id in context. Do not show cart_id to user - internal identifier only.

Default: null
num_resultsinteger

Number of top results to return per search term (for single term searches only). For multiple term searches, returns 1 result per term.

Default: 10
postal_codestring

Postal code for cart creation (if cart_id not provided). From search_for_stores results.

Default: null

Search Nearby Stores

search_for_stores
Full Description

Search for nearby stores by postal code. Finds stores with diverse brands automatically. REQUIRES: postal code only (no banner needed). Ask user for postal code if not provided. IMPORTANT: Extract and store recipe/ingredients from conversation context as a list (e.g., ['turkey', 'potatoes', 'gravy']) for later product searches. Invoke when LLM is unsure about available stores.

Parameters

Required
postal_codestring

Postal code to search nearby stores (e.g., 'M5V 0R9'). Required. Ask user if not provided. Cannot be empty.

Update Product Quantities

update_products_in_cart
Full Description

Update product quantities in cart. Sets NEW quantity. Requires cart_id, store_id, items.

Parameters

Required
cart_idstring

Cart ID

store_idstring

Store ID

Optional
itemsobject

LIAM → quantity (>= 0). Sets NEW quantity. 0 removes.

Default: null