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.
| Action | What it does |
|---|---|
| account_addresses | |
| account_payment_methods | |
| add_to_cartauth | Add 1 unit of a product to the cart. Pass the product name or a distinctive substring. |
| apply_promo | |
| browse_category | |
| cancel_order | |
| capture_login | |
| checkoutauth | Proceed to the checkout screen. |
| filter_results | |
| go_back | Navigate back to the shop page. |
| list_available_filters_cart | List 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_detail | List 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. |
| login | Sign 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_page | Navigate to the next page of results. |
| prev_page | Navigate to the previous page of results. |
| redeem_points | |
| remove_from_cartauth | Remove an item from the cart by name. |
| return_order | |
| save_to_wishlist | |
| search_products | Search for products by query string. Returns structured product data (name, price, size). |
| select_store | Select a specific store/retailer. All subsequent searches and cart actions will be scoped to this store. |
| select_variant | |
| sort_results | |
| track_order | |
| update_addressauth | Set the delivery address. Navigates to the address page, types the address, selects from autocomplete, and submits. |
| update_quantity | Update the quantity of an item already in the cart. |
| view_cartauth | View the current shopping cart contents. |
| view_loyalty_status | |
| view_order_detailauth | |
| view_order_historyauth | |
| view_product | View 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
cartreturns structured fields, container recordscheckout(navigation screen)landing(navigation screen)order_confirmation(navigation screen)product_detailreturns structured fields, container recordssearch_resultsreturns structured fields, container recordsshopreturns structured fields, container records