Retrievers

XML Product Feed

Search within Google Product XML feeds using semantic and full-text search.

Category: Retrievers · Plans: Trial, Starter, Pro, Premium, Enterprise · Type: XMLProductFeed

Inputs#

FieldTypeRequiredDefaultWhat it does
Google Product XML SchedulesMultiple choiceYes—Select already executed Google Product XML assistant sessions.
Search QueryTextNo{input}The search term to look for in the Google Product XML.
Filter ExpressionTextNo(empty)Filter products using a CEL subset (e.g., price < 100 && title.contains(“rod”)).
Include Semantic Search ResultsYes/NoNoOnInclude products found by semantic similarity. Filter Expression does not apply to semantic results; disable this for strict filters.
Include Full-Text Search ResultsYes/NoNoOnInclude products found by the search query and Filter Expression.
Max ResultsNumberYes50Maximum number of results to return.
Max TokensNumberNo3000Maximum number of tokens to use in the response.
Score ThresholdNumberNo0.7Minimum score threshold for search results (0 to 1).

%!s()#

Filter products using the supported CEL (Common Expression Language) subset.

Comparison Operators:

  • == Equal: color == "red"
  • != Not equal: brand != "Generic"
  • > Greater than: price > 100
  • >= Greater or equal: price >= 50
  • < Less than: price < 200
  • <= Less or equal: price <= 150

Logical Operators:

  • && AND: price > 100 && color == "blue"
  • || OR: brand == "Nike" || brand == "Adidas"
  • () Grouping: (price < 100 || price > 500) && availability == "in_stock"

List Membership:

  • in operator: brand in ["Nike", "Adidas", "Puma"]

String Predicates (case-sensitive):

  • contains: title.contains("carp rod")
  • startsWith: brand.startsWith("Sport")
  • endsWith: product_type.endsWith("Reels")
  • matches: title.matches("(?i)kapr")
  • matches supports an optional leading (?i) for case-insensitive matching, whole-expression ^ / $ anchors, literals, ., basic character classes, grouping, alternation, and greedy quantifiers (repeat counts up to 1000, without leading zeros). Escape regex punctuation with a double backslash in the expression string. Lookaround, backreferences, scoped flags, alphabetic/numeric regex escapes, and case-insensitive character-class ranges are rejected. Escape literal braces, literal brackets inside character classes, and literal hyphens at character-class edges
  • Regex queries are limited to 1000 characters, including expansion for case-insensitive matching

Boolean Values:

  • true and false can be standalone expressions or comparison/list values: is_bundle == false && true

Available Fields:

  • price (numeric)
  • availability (“in_stock”, “out_of_stock”, “preorder”, “backorder”)
  • title, description, product_type, brand, color, size, material, condition, gender, age_group
  • Any scalar custom field from your product feed

Field Paths:

  • Bare fields are read from merchant_metadata, so price > 100 and merchant_metadata.price > 100 are the same filter
  • Feed elements are indexed one level deep. An element with child elements, such as g:shipping or g:product_detail, is not stored as an object, so a dotted path into it (shipping.country) matches no products
  • String predicates use untokenized values. Exact title and description values longer than 256 characters are not indexed, so these predicates do not match them
  • Bracket keys, array indexes, wildcard paths, global functions, chained calls, and methods other than those listed above are not supported

Examples:

  • price < 100 - Products under $100
  • availability == "in_stock" - Only in-stock items
  • price >= 50 && price <= 200 - Price range
  • color == "red" && size in ["M", "L"] - Red in M or L
  • brand in ["Nike", "Adidas"] && price < 150 - Nike or Adidas under $150
  • (brand == "Nike" || brand == "Adidas") && price < 100 - Nike or Adidas under $100
  • availability == "in_stock" && (color == "red" || color == "blue") - In-stock red or blue items

Outputs#

OutputType
Product CountAny
Available FieldsAny
Matched ProductsAny
Search ResultsAny
Operations AppliedAny

Use as an agent tool#

Tool name: xmlproductfeed

Search within Google Product XML feeds using semantic and full-text search.