- Brand
- Seller Assistant
- Category
- Commerce
- Primary Subcategory
- Ecommerce Operations Platforms
Integration details
Description
Seller Assistant helps Amazon wholesale teams research products, analyze supplier price lists, check selling restrictions, create purchase orders, find suppliers, run brand analyses, and configure repricing from ChatGPT.
- Integration type
- Plugin
- Verification status
- Not applicable
- Platform
- ChatGPT
- Primary Subcategory
- Ecommerce Operations Platforms
- Secondary Subcategories
- None listed
- Brand
- Seller Assistant
- Access
- Account required
- First tracked
- 2026-10-16
- Tool count
- 39
- Geography
- US
The Primary Subcategory used for this profile’s headline score.
Other Subcategories where the Integration is listed.
Your score is coming
ChatGPT now suggests Plugins on its own when they match a user's request.Your Plugin Discovery Score measures how often yours appears, and it will show here as soon as it’s ready.
What discovery looks like

Get alerts for Seller Assistant
Get updates when Seller Assistant’s Discoverability Score or category rank changes.
Competing in ChatGPT Ecommerce Operations Platforms
View Category39 tools agents can invoke
Save a new supplier for the current team. Use this after search_supplier, so the user can order from a supplier the search found. Run list_suppliers with the name or website first and tell the user whether a match already exists; a website that is already saved for the team is rejected. Show the name and website to the user and get explicit confirmation before calling. The returned supplier_id can be passed straight to create_purchase_order.
add_supplier
Assign an existing repricer strategy. Call list_repricer_strategies for the strategy_id and list_repricer_products for the target IDs. ASSIGN BY PRODUCT UNLESS THE USER SAYS OTHERWISE. Pass repricer_product_ids, which sets the strategy for a whole ASIN so every SKU of that product follows it. That is what a person means by "this product", "this ASIN", or a product name or title, and it is the right choice whenever they have not singled out one listing. Use repricer_sku_ids ONLY when the user explicitly asks for one seller SKU — they name the SKU, or say they want one listing of the product treated differently from the others. It writes a per-SKU override that wins over the product strategy and leaves the other SKUs of the same ASIN untouched, so applying it by mistake splits a product across two strategies and is easy to miss later. Provide exactly one of the two lists. Show the affected products and the strategy name to the user and get explicit confirmation before calling. Assignment re-prices the affected active SKUs within seconds. It does not turn repricing on: a product whose repricing is off stays off.
assign_repricer_strategy
Check the processing status of a price list selected by list_id, exact description, or latest. Duplicate descriptions resolve to the newest matching list; with no selector, the newest team list is used. Processing can take several minutes for large lists — poll this periodically until status is no longer "Processing" (e.g. it becomes "Done", "Failed" or "Limit Reached") before calling get_price_list_leads.
check_price_list_status
Check whether the current team may sell one ASIN on Amazon. The answer comes back immediately. Use this for a single product. For more than one ASIN use start_restriction_check, which runs a batch in the background. The team needs a connected Amazon seller account for the marketplace region. The status is one of ALLOWED_TO_SELL, APPROVAL_REQUIRED or NOT_ELIGIBLE. Tell the user that an ASIN Amazon does not recognize also reports ALLOWED_TO_SELL, so a positive answer for an unusual ASIN is worth confirming in Seller Central.
check_product_restriction
Lightweight status check for an asynchronous restriction batch. Poll this after start_restriction_check. Report progress only when it changes. When is_complete is true, call get_restriction_check_results. Stop polling whenever is_terminal is true.
check_restriction_status
Check the status of a supplier search selected by search_id, exact brand, or latest. Duplicate brands resolve to the newest matching search; with no selector, the newest team search is used. Poll this every few seconds until status is no longer "Processing" before calling get_supplier_search_results.
check_supplier_search_status
Create a new draft purchase order using exactly one source: (1) selected PLA leads via pla_items, or every current lead from price_list_id via use_all_leads; (2) ASINs, UPCs, EANs, identifiers, or supplier SKUs via lookup_items, searched in price_list_id when provided or in the current team's newest matching PLA items otherwise; or (3) direct items with unit_cost and at least one product identifier. Identify the supplier with supplier_id, supplier_name, or supplier_website. Ask the user for any one of these if the supplier is not known, and confirm the selected products and quantities before creating the order. When the user attaches a PDF, Excel, or CSV order file, extract all order rows because order files are expected to be small, map them to direct items or lookup_items, show the extracted supplier/items/costs/quantities for confirmation, and call this tool only after the user confirms. After creation, show purchase_order_url as a clickable link so the user can open, review, edit, export, or send the draft order.
create_purchase_order
Create a repricer strategy for the current team from the user's business goal. First call list_repricer_strategies, then present the proposed base action, price adjustment, price safeguards, ordered rules, and default status in plain language. Call only after explicit confirmation. Rules are evaluated top-to-bottom and the first matching rule wins. Creating a strategy does not assign products or start repricing them.
create_repricer_strategy
Delete a non-default team repricer strategy. First show its name and affected product count and warn that affected SKUs will be paused. Require explicit confirmation. The default strategy cannot be deleted.
delete_repricer_strategy
Edit a team purchase order selected by order_id or exact po_id. This is a mutating tool: always show the proposed order fields and item additions, changes, or removals and obtain explicit user confirmation before calling it. For an attached supplier PDF, Excel, or CSV, read every row and map it to replacement_items, show a concise full-file summary including totals, and call with replace_all_items=true only after confirmation. Manual changes can update or remove lines by item_id or an exact ASIN, UPC, EAN, identifier, or supplier SKU in match_value. Never infer omitted supplier-file rows or silently remove lines.
edit_purchase_order
Edit a team repricer strategy. First retrieve current strategies, translate the requested change into supported settings, and show the complete proposed behavior and safeguards. Require explicit confirmation. Pricing-relevant changes immediately enqueue repricing for affected active SKUs; setting this strategy as default replaces the previous default.
edit_repricer_strategy
Find purchase orders belonging to the current team. Filter by supplier ID or partial supplier name, exact po_id, and/or status. Filters are combined. With no filters, return the 10 newest team orders. Always show purchase_order_url as a clickable link when presenting an order. Use page and limit only when the user needs more filtered results; do not retrieve every page automatically.
find_purchase_orders
Confirm that Seller Assistant is connected and return the authenticated user, current team, active plan, connected Amazon marketplaces, and remaining feature quotas. This tool requires no arguments, has no side effects, and should be used when the user asks whether the connection works or which account is active.
get_account_context
Read the status and the results of a brand analysis started by start_brand_analysis. Poll this about every 20 seconds until is_terminal is true, and report progress only when the status changes. When it finishes, summarize the brand economics: average selling price, monthly revenue, seller count, how much Amazon itself sells, and the resale potential score. Set include_products to true to also list the brand's best products by sales rank. The suppliers in the response are ones the team ALREADY has for this brand. To find new suppliers, call search_supplier with the same brand name.
get_brand_analysis
Return the open next actions of the current team: the tasks that need the user, for all tools (purchase orders, repricer, setup) or for one tool. With target (for example po:123 or repricer:{team_id}), return the rows of that one object. Each row has a title, a reason, a count, a priority (lower comes first) and its actions. An action with an mcp hint tells you how to do it: follow its steps (each step names an MCP tool and its known arguments), ask the user for any value you do not know, and get confirmation before a write. When mcp.user_only is true, only the user can do it: explain it and give the route. A row resolves itself when its data changes, so do not mark it done. Hide or snooze a row with update_next_action only when the user asks. Hidden and snoozed rows are not returned. Use this tool when the user asks what to do next or what needs attention.
get_next_actions
Get products from a completed price list selected by list_id, exact description, or latest. Duplicate descriptions resolve to the newest matching list; with no selector, the newest team list is used. result_set defaults to potential_leads, which returns only items meeting Seller Assistant's default criteria (minimum profit and ROI, minimum estimated monthly sales except in the local environment, Amazon not currently in the Buy Box, and excluding AI-sourced matches). Use custom with filters to find better or different opportunities using the same advanced filters as the PLA dashboard. Custom requests must contain at least one filter or a search term; the complete dataset is not returned to the agent and remains available through price_list_url. Range filters use keys such as {"greater_equal":20,"less_equal":100}; text filters use {"checkboxes":["contains"],"inputs":{"contains":"value"}}; brand/category/size_type use {"checkboxes":["is"],"inputs":{"is":["value"]}}; and warning, restrictions, source, preference, return_rate, out_of_stock, alert, and tags use the dashboard's include/exclude values. Call check_price_list_status first to make sure the list has finished processing. Use the returned identifier/supplier_sku and cog to create purchase orders for some or all of these leads afterwards. When presenting results, always show the ASIN and make it a clickable Markdown link using amazon_url, for example: Product: Title — ASIN: [B012345678](amazon_url). Also show price_list_url as a link to the full analysis. If count is greater than zero, ask the user whether they want to create a purchase order from some or all of the returned leads. Number the displayed leads so the user can select them by number; also accept selection by ASIN, supplier SKU, or product name, with an optional quantity for each.
get_price_list_leads
Research one Amazon product by ASIN. This is the tool to use when a user asks about a product, whether it is worth selling, how well it sells, what it costs in fees, or who competes on it. It returns the title, brand, sales rank, estimated monthly sales, category, Buy Box and FBA/FBM prices, Amazon fees, offer and competitor counts, package size and weight, and warning flags such as meltable, fragile, oversize, hazardous or adult. Add cost_of_goods to also get the profit, ROI and margin at the current Buy Box price. Leave include_price_history true to also get the 30, 90, 180 and 365-day averages for price, sales rank, offer count and reviews, which show whether the product is stable or falling. For the team's own selling permission on the ASIN, use check_product_restriction.
get_product
Get a bounded page of team repricing history and explain price decisions. History covers the last 32 days only. Filter by SKU, ASIN, marketplace, status, mode, error, period (24h, 7d, 30d), or date. Without a date or period, the window is the last 32 days. The search term matches the start of an ASIN or a SKU. Defaults to the 20 newest events; maximum 100. Do not retrieve all pages automatically.
get_repricer_history
Return compact team repricer performance and health: coverage, modes, Buy Box win rate, the open repricer next actions (the issues to fix, with product counts), operation success, and price movements. Defaults to this week; supports day, week, month, or an explicit date range. History covers the last 32 days only, so an earlier start date counts from the 32-day limit.
get_repricer_performance
Get paginated per-ASIN results for a completed restriction check. Each result is ALLOWED_TO_SELL, APPROVAL_REQUIRED, NOT_ELIGIBLE, or ERROR. Call check_restriction_status first. Use page and limit for large batches; never request or present more pages unless the user needs them.
get_restriction_check_results
Get the suppliers found by a completed search selected by search_id, exact brand, or latest. Duplicate brands resolve to the newest matching search; with no selector, the newest team search is used. Call check_supplier_search_status first to make sure the search has finished. Each result carries is_added, which says whether the team already saved that supplier. For a result where is_added is false, offer to save it with add_supplier so the user can order from it.
get_supplier_search_results
List the brands the team has already analyzed, newest first. Use this whenever the user refers to an earlier analysis rather than asking for a new one — "the brand I checked last week", "my brand analyses", or a brand name they have looked at before. Each row carries the brand_analyzer_id that get_brand_analysis takes, so a finished analysis can be read again for free. Search for the brand name here BEFORE calling start_brand_analysis, because starting a new one spends a brand quota unit. A row whose status is not Download or Failed is still running; poll get_brand_analysis with its ID. Returns at most 50 rows.
list_brand_analyses
List the price lists the team has already analyzed, newest first. Use this whenever the user refers to an earlier analysis rather than a new one — "the list I uploaded last week", "my Webstaurantstore list", or simply "my price lists". Each row carries the list_id that get_price_list_leads takes, so an old analysis can be read again without re-uploading the file and spending another quota unit. leads_count is how many profitable products the analysis found. A list whose status is not Download or Failed is still processing; poll check_price_list_status with its list_id. Returns at most 50 rows.
list_price_lists
List the current team's Amazon SKUs with their repricer state. Call this before any repricer product write, because assign_repricer_strategy, set_repricer_product_status and set_repricer_product_limits all take the repricer_sku_id values this tool returns. Use issue_types to find products that need attention (the same issues as the repricer next actions): no_cost (no landed cost, so cost-based price floors cannot be computed), no_postage (an FBM SKU with no FBM postage, so it has no profit and no cost-based price floor; set fbm_postage_cost with set_sku_costs), on_floor (the last run stopped at the min price), capped (the last run stopped at the max price), failed (Amazon did not accept the last price), price_war (repeated competitor undercutting) and inactive (an inactive listing with stock). listing_state gives one listing state: active (an active listing with stock), out_of_stock or inactive. A next action row gives the issue_types and listing_state that read its products. fulfillment_channel is FBA or FBM and selects the profit formula. price, min_price and max_price are item prices; for FBM, my_shipping is the shipping charge of our offer and the buyer pays price + my_shipping. FBM profit = price + my_shipping - referral fee - closing fee - product cost - prep - fbm_postage. buybox_status is out_of_stock when the SKU has no stock (an out-of-stock offer cannot hold the Buy Box), else the last known status; unknown means no Buy Box data yet. market_data_updated_at gives the age of the data. The buybox_statuses value stale finds SKUs whose data is older than the stale limit (2 hours by default); the repricer refreshes data at least every 30 minutes, so old data is a problem on the Seller Assistant side, not a task for the user. A row with repricer_sku_id set to null is not enrolled in the repricer and cannot be written to. Returns at most 100 rows; use repricer_url for the full list.
list_repricer_products
List the current team's repricer strategies and the supported strategy-building capabilities. Call this before recommending or creating a strategy. Use the user's business intent, risk tolerance, cost data, inventory, competition, and profit goals to choose settings; the user does not need to know internal action or condition names. Returns at most 50 strategies and never retrieves repricer products.
list_repricer_strategies
List the bulk restriction checks the team has already run, newest first. Use this when the user refers to an earlier check rather than asking for a new one — "the restrictions I checked yesterday", or "my restriction checks". Each row carries the restriction_id that check_restriction_status and get_restriction_check_results take, so a finished check can be read again without re-running it and spending restriction quota. The counts summarize the outcome: how many ASINs the team may sell, how many need approval, how many are not eligible, and how many failed. A row where is_terminal is false is still running. Returns at most 50 rows.
list_restriction_checks
List the current team's SKUs with their costs, and where each cost came from. Call this before set_sku_costs, both to get the sku_id values and to show the user what changes. cost_source explains each cost: override is a cost the user typed in and it wins over everything else, po_linked comes from a linked purchase order, po_wac is a weighted average across purchase orders, and none means the SKU has no cost at all. Use cost_source=none to find the SKUs a user must still cost. Those are the same SKUs the repricer reports with the no_cost problem, and they cannot use a break_even, target_roi or target_margin price floor. Returns at most 100 rows.
list_sku_costs
List the brand searches the team has already run, newest first. Use this whenever the user refers to an earlier search rather than a new one — "the suppliers I found for Acme last week", or simply "my supplier searches". Each row carries the search_id that get_supplier_search_results takes, so an old search can be read again without spending another quota unit. A search whose status is not Done or Failed is still processing; poll check_supplier_search_status with its search_id. Returns at most 50 rows.
list_supplier_searches
List the suppliers the current team has saved. Call this to find the supplier_id that create_purchase_order needs, and call it before add_supplier to check whether the supplier already exists. Use search to match a name or a website. Returns at most 50 suppliers.
list_suppliers
Manually match one or more Amazon ASINs to global product identifiers (12-digit UPC or 13-digit EAN) for the authenticated team. This uses Seller Assistant's existing product-matching rules: the ASIN identifies or creates the internal product for the selected marketplace, the UPC/EAN is linked as a manual global identifier, and an exact blacklist entry for the pair is removed. Before calling, show every ASIN → UPC/EAN pair and marketplace to the user and ask for confirmation.
match_product_identifiers
Set the Minimum Advertised Price on one or more ASINs. MAP is the lowest price a brand allows a seller to advertise. It belongs to the ASIN, so it applies to every SKU the team lists for that ASIN — it cannot be set for one SKU alone. Take the repricer_product_ids from list_repricer_products; they are the ASIN-level IDs, NOT the repricer_sku_ids. A strategy respects MAP unless its Ignore MAP setting is on. Setting MAP on an ASIN with no strategy stores the number but nothing enforces it yet. Send map_price as null to clear it. To set the hard price floor and ceiling of a SKU, which are different numbers with a different owner, use set_repricer_product_limits. Show the ASINs and the new MAP to the user and get explicit confirmation before calling.
set_repricer_map_price
Set the hard price floor and ceiling of one or more SKUs. min_price is the lowest price the repricer may ever set and max_price is the highest; it never crosses either. Take the repricer_sku_ids from list_repricer_products. These are per-SKU numbers, so each SKU of an ASIN can carry its own. Only the fields you send change; the other keeps its value. Send null to clear one. Two neighbouring settings live elsewhere. How a floor is CALCULATED (break-even, target ROI, target margin) is a strategy setting — use create_repricer_strategy or edit_repricer_strategy. The Minimum Advertised Price belongs to the whole ASIN, not a SKU — use set_repricer_map_price. Show the exact new values to the user and get explicit confirmation before calling. A limit change re-prices the affected active SKUs within seconds.
set_repricer_product_limits
Turn repricing on or off for products. This is a simple switch with two positions, the same switch the Seller Assistant app shows. mode=live turns repricing on and the repricer sends new prices to Amazon. mode=off turns it off and the product keeps its current price. Get the repricer_sku_ids from list_repricer_products. Before turning products on, confirm they have a minimum price, because a product with no price floor can be repriced down to whatever the strategy returns. The plan caps how many products can be on at once, so read limit_reached in the response: above zero means some products stayed off. Always ask for explicit confirmation before calling.
set_repricer_product_status
Set the cost a team paid for its SKUs. The cost is stored as a manual override and wins over any cost derived from a purchase order, so use this when the user bought outside a tracked purchase order or wants to correct a cost. Name the target in one of two ways. sku_ids changes exactly those SKUs; get them from list_sku_costs. asin changes every SKU the team lists for that ASIN, which is often several, so before calling with an asin you MUST run list_sku_costs first, show the user every SKU the cost will apply to, and get confirmation. Add marketplace_id to keep an ASIN change inside one marketplace. Send null for a cost field to remove the override and let the purchase-order cost return. Changing a cost re-prices any repricer product that uses a cost-based price floor, and it corrects the historical profit already reported for the SKU.
set_sku_costs
Analyze a whole Amazon brand: how many products it has, what they sell for, how much revenue they make, how many sellers compete, how much Amazon itself sells, and whether the brand is worth reselling. Use this when a user asks about a brand rather than one product. The analysis runs in the background, so poll get_brand_analysis about every 20 seconds with the returned brand_analyzer_id until the status is Download or Failed. An analysis costs one brand quota unit, but a brand the team analyzed in the last 30 days is returned instead of a new one and costs nothing. Call list_brand_analyses first when the user may have analyzed this brand before.
start_brand_analysis
Start analyzing a supplier price list to find profitable Amazon resale opportunities. When mapping a large source file, inspect only a few representative rows to confirm the required fields and mapping; do not validate or analyze every row yourself. Provide the mapped items — each needs at least an "identifier" (UPC, EAN, or ASIN) and "cog" (cost of goods); "title", "supplier_sku", "price_type" and "supplier_case_quantity" are optional. "cog" is a per-unit price unless "price_type" is "case", in which case it is the price of a whole case and "supplier_case_quantity" is required. Optional expenses can override the user's saved PLA logistics, prep, tax, VAT, Amazon-fee, and miscellaneous-cost settings for this analysis only. For VAT-based non-US marketplaces, use vat_scheme, the applicable VAT rate, cog_incl_vat, and vat_on_seller_scheme/vat_on_seller_fees. Analysis runs in the background and can take several minutes. After this tool succeeds, automatically poll check_price_list_status about every 20 seconds, show progress when it changes, and call get_price_list_leads when processing finishes.
start_price_list_analysis
Start an asynchronous Amazon selling-restriction check. An active Amazon seller account connection for the marketplace region is required. Provide exactly one source: either a batch of ASINs plus marketplace_id, or price_list_item_ids previously returned by get_price_list_leads. For PLA items, the marketplace and ASINs are resolved automatically and all items must be from the same marketplace. After starting, poll check_restriction_status until terminal, then call get_restriction_check_results. If the user is referring to a check they already ran, use list_restriction_checks instead of starting a new one.
start_restriction_check
Search the open market for wholesale suppliers and authorized distributors for a brand. This does not search the team's saved suppliers; use list_suppliers for those. The search runs in the background — poll check_supplier_search_status about every 5 seconds with the returned search_id, then call get_supplier_search_results once it finishes. A search consumes one supplier_finder quota unit, but a repeat search for the same brand and context in the last 24 hours is returned instead of a new one and costs nothing. Call list_supplier_searches first when the user may have searched this brand before. Add the optional context fields when the user gives them, because they make the results more relevant.
search_supplier
Snooze, hide or show again one next action row, only when the user asks for it. snooze hides a snoozable row for 7 days. hide hides a dismissible row until its data changes (a new item brings it back). restore shows a hidden or snoozed row again. The change applies to the whole team, the same as the row menu in the app. Take id (for snooze and hide) or key (for restore) from get_next_actions. Do not use this tool to mark a fixed row: a row resolves itself when its data changes.
update_next_action
Seller Assistant ChatGPT Plugin FAQ
How the directory, categories and Discoverability Score work.
Read the methodologyHow do I improve Seller Assistant's ChatGPT Plugin discoverability?
The levers are the listing surface agents actually read: names, descriptions, keywords, tool metadata, and registry health. Which lever matters depends on where discovery breaks, which is what continuous measurement shows.
What are Seller Assistant alternatives on ChatGPT?
As of 2026-10-16, Seller Assistant competes with Run With AI, Shopify, AfterShip Post-Purchase, AutoQuote3D, base.com, BetterMenu, Brainerce, ConfigQuote and 36 more in ChatGPT Ecommerce Operations Platforms, ranked by public Discoverability Score.
Where is this profile measured?
This profile uses the geography attached to the latest public registry snapshot: US. Locale tags are intentionally omitted.