Site catalog

Shipt for AI Agents

shipt.com: 34 mapped actions across 7 screens

Shipt is a same-day delivery service for groceries and household goods from local stores. Through Rindler, your agent drives shop.shipt.com like an API: it picks a store, searches the catalog, opens product detail, builds a cart, and moves to checkout with named actions and structured responses instead of scraping pages.

The Shipt config exposes 34 actions across 7 screens. The core flow is fully covered: select_store, search_products, view_product, add_to_cart, update_quantity, view_cart, and checkout, plus signed-in account surfaces like order history and delivery address.

What's mapped

The mapped surface follows the real shopping loop on Shipt. Your agent starts on the landing screen, calls select_store to pick a retailer, then searches with search_products, which returns structured product data (name, price, size) and can include images when you pass include_images. From a result it calls view_product for detail, add_to_cart to put an item in the basket, update_quantity or remove_from_cart to adjust it, view_cart to review, and checkout to proceed. Paging is explicit with next_page and prev_page, and go_back returns to the shop page.

Beyond shopping, the config maps signed-in account surfaces: view_order_history and view_order_detail for past orders, and update_address to set the delivery address. The address action handles the whole flow itself: it navigates to the address page, types the address, selects from autocomplete, and submits.

Quirks worth knowing

These come straight from the mapped action behavior, not guesswork.

  • **Store scope is sticky.** select_store scopes everything that follows. All subsequent searches and cart actions run against that store, so have your agent pick the retailer before it searches, and re-select if the user switches stores mid-session.
  • **add_to_cart adds exactly 1 unit.** Pass the product name or a distinctive substring as item. For more than one, follow up with update_quantity, which takes item and quantity.
  • **Search before you view.** view_product expects a product name, so call search_products first to get names, then pass one back as item.
  • **Filters are dynamic.** The filter set depends on the selected category, so the config exposes list-filters actions (for example list_available_filters_product_detail) that read the filters on the current listing page. Your agent should call them in context rather than assume a fixed set.

Signing in

Browsing is public: your agent can select a store, search products, and open product detail without an account. Adding to the cart, viewing it, and everything past it are auth-gated: add_to_cart, remove_from_cart, view_cart, checkout, update_address, view_order_detail, and view_order_history are all marked requires_auth in the config. update_quantity is the one cart action that carries no requires_auth flag in the config.

The login action signs in at shop.shipt.com/login with email and password. Two things can happen along the way, and both are handled: Shipt may prompt to skip passkey enrollment, and it may email a 6-digit verification code when it sees an unrecognized device. That code goes into the Rindler Connect form, so the human stays in the loop for the one-time code without ever pasting credentials into a chat.

Reading results

Every response tells your agent which screen it is on, and the Shipt config names 7: landing, shop, search_results, product_detail, cart, checkout, and order_confirmation. That means the agent always knows whether it is looking at a results page, a single product, the cart, or a confirmed order, and which actions apply there.

Data comes back structured rather than as raw markup. search_products returns product records with name, price, and size, and both it and view_product accept include_images when the agent needs visuals. The agent never parses Shipt's HTML; it reads records and dispatches the next action.

Example session

start_session(url: "shipt.com")
  → screen: "landing"

dispatch_action(action: "select_store", params: { store: "..." })
dispatch_action(action: "search_products", params: { query: "...", include_images: false })
  → screen: "search_results", product records (name, price, size)

dispatch_action(action: "add_to_cart", params: { item: "..." })
dispatch_action(action: "update_quantity", params: { item: "...", quantity: ... })
dispatch_action(action: "checkout")
  → screen: "checkout"

close_session()

Every mapped action

Generated from the live site config. 7 of 34 actions require a signed-in session.

ActionWhat it does
account_addresses
account_payment_methods
add_to_cartauthAdd 1 unit of a product to the cart. Pass the product name or a distinctive substring.
apply_promo
browse_category
cancel_order
capture_login
checkoutauthProceed to the checkout screen.
filter_results
go_backNavigate back to the shop page.
list_available_filters_cartList the filters/facets available on the CURRENT listing page. The filter set is dynamic and depends on the selected category, so always call this in context rather than assuming a fixed set.
list_available_filters_product_detailList the filters/facets available on the CURRENT listing page. The filter set is dynamic and depends on the selected category, so always call this in context rather than assuming a fixed set.
loginSign in to Shipt with your email and password. Shipt may prompt to skip passkey enrollment and email a 6-digit verification code for an unrecognized device; enter the code in the Rindler Connect form.
next_pageNavigate to the next page of results.
prev_pageNavigate to the previous page of results.
redeem_points
remove_from_cartauthRemove an item from the cart by name.
return_order
save_to_wishlist
search_productsSearch for products by query string. Returns structured product data (name, price, size).
select_storeSelect a specific store/retailer. All subsequent searches and cart actions will be scoped to this store.
select_variant
sort_results
track_order
update_addressauthSet the delivery address. Navigates to the address page, types the address, selects from autocomplete, and submits.
update_quantityUpdate the quantity of an item already in the cart.
view_cartauthView the current shopping cart contents.
view_loyalty_status
view_order_detailauth
view_order_historyauth
view_productView detailed information about a specific product. Call search_products first to get product names.
view_reviews
view_store_locator
view_wishlist

Screens and structured records

  • cart returns structured fields, container records
  • checkout (navigation screen)
  • landing (navigation screen)
  • order_confirmation (navigation screen)
  • product_detail returns structured fields, container records
  • search_results returns structured fields, container records
  • shop returns structured fields, container records