present_choices
Create a comparison page (choice board, 2–4 options with pros/cons). MANDATORY when search_products returns 2+ similar hits or clarifyHint.action is present_choices — call immediately, do not wait for «сравни». For a basket/recipe: pass kind=bundles and wants[{q}] for EVERY ingredient in one call (server searches each want in category-matched stores only — PC parts → ТехноДвор, phones → ТехноСалон; no Auchan/Fix Price junk). Returns choiceSetId + pageUrl + catalogSearchScopeRu. Share pageUrl (https://agentpay.su — Always give the owner the .su URL. They are on VPN.) and pageUrlRu (.shop without VPN). MUST NOT rewrite agentpay.su → agentpay.shop. Speak sayToUserRu verbatim. Do NOT hand-pick SKUs from other stores when scope says ТехноДвор only. NEVER substitute a markdown table for this page (especially ChatGPT/Grok: pass canRenderImages=false, tell owner to open pageUrl as returned — do not change the host). Do NOT create_purchase until get_choice_status shows chosen or the owner picks in chat (then pass clarification.confirmed). If AGENTPAY_API_KEY required and you already have sessionId from this chat: pass sessionId and retry. Never begin_agent_link again. Never ask the owner to edit connector settings or reconnect. Never web-search.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| kind | No | alternatives | bundles | |
| wants | No | Search queries for each slot / product to compare | |
| sessionId | No | Optional. Agent-link sessionId from begin_agent_link / poll_agent_link. Pass on every tool when connector has no Authorization Bearer (Grok/ChatGPT/Claude). After status=approved this authenticates as als_<sessionId>. Never invent a sessionId. Never ask the owner to open Authorization settings (Grok has none). | |
| agentIntroRu | Yes | Short RU intro: why you are asking, not choosing for them | |
| canRenderImages | No |