- Brand
- eGrow
- Category
- Commerce
- Primary Subcategory
- Ecommerce Operations Platforms
Integration details
Description
Use eGrow to look up and manage store orders, customers, products, pipelines, campaigns, inbox conversations, and automations. Review analytics and performance dashboards, investigate delivery and confirmation issues, and carry out supported account updates through eGrow's hosted MCP service. Connect your eGrow account with OAuth when prompted. Actions that change records, issue refunds, merge data, or send messages may require confirmation. Access is limited to the connected eGrow account.
- Integration type
- Plugin
- Verification status
- Not applicable
- Platform
- ChatGPT
- Primary Subcategory
- Ecommerce Operations Platforms
- Secondary Subcategories
- None listed
- Brand
- eGrow
- Access
- Account required
- First tracked
- 2026-11-11
- Tool count
- 60
- Market
- US
The Primary Subcategory used for this profile’s headline score.
Other Subcategories where the Integration is listed.
Not discoverable in ChatGPT yet
ChatGPT now suggests Plugins on its own when they match a user's request, but not every Plugin is being surfaced yet.We haven’t seen eGrow suggested yet. Sign up and we’ll track it, and your Discoverability Score will appear here once ChatGPT starts surfacing it.
What discovery looks like

Get alerts for eGrow
Get updates when eGrow’s Discoverability Score or category rank changes.
Competing in ChatGPT Ecommerce Operations Platforms
View Category60 tools agents can invoke
Add an address to a customer's address book. Add an address to a customer's address book. **When to use:** The customer gives a new delivery or billing address. **When NOT to use:** Editing an address the customer already has: use update_customer_address. **Examples:** - add_customer_address(customerId: 123, address: { address1: '12 Rue Atlas', city: 'Casablanca', countryCode: 'MA' })
add_customer_address
Add customers to a customer group (segment). Add customers to a customer group (segment). **When to use:** Tagging VIPs, returning shoppers, or other segments. **When NOT to use:** Single-customer profile edits — use update_customer. **Examples:** - add_customers_to_group(input: { groupId: 5, customerIds: [101, 102] })
add_customers_to_group
Attach an existing customer to an order. Attach an existing customer to an order. **When to use:** A guest order needs its customer, or the order points at the wrong customer. **When NOT to use:** The customer does not exist yet: create it with create_customer first. **Examples:** - add_order_customer(orderId: 50001, customerId: 123)
add_order_customer
Set the team members assigned to an order. Set the team members assigned to an order. **When to use:** Reassigning an order to other agents, or unassigning it. **When NOT to use:** Changing other order fields: use update_order. **Examples:** - assign_order_users(orderId: 50001, userIds: [7, 8])
assign_order_users
Blacklist or unblacklist multiple customers. Blacklist or unblacklist multiple customers. **When to use:** Marking known fraudulent customers, or lifting a previous blacklist. **When NOT to use:** Editing one customer's profile — use update_customer. **Examples:** - bulk_blacklist_customers(ids: [42], blacklisted: true)
bulk_blacklist_customers
Move all orders from one pipeline stage to another. Move all orders from one pipeline stage to another. **When to use:** Bulk pipeline reorganization (e.g., 'move all Pending orders to Confirmed'). **When NOT to use:** Single order — use update_order. **Examples:** - bulk_move_stage(fromStageId: 1, toStageId: 2)
bulk_move_stage
Swap a line item's variant for another one, such as a different size or color. Swap a line item's variant for another one, such as a different size or color. **When to use:** The customer wants another size or color of the same product. **When NOT to use:** Dropping the line: use remove_line_items. **Examples:** - change_line_item_variant(lineItemId: 7001, variantId: 5532)
change_line_item_variant
Create an empty automation (only its entry node), switched off, to build afterwards with apply_changes. Create an empty automation (only its entry node), switched off, to build afterwards with apply_changes. **When to use:** The person wants a new automation and no template fits. Then read egrow://guide/building, call read_flow with the new slug as `automation` and build the flow with apply_changes. **When NOT to use:** A template already does it: use install_automation_template. Changing an existing automation: use update_automation or apply_changes. Turning an automation on or off: no tool does it, the person does it in the eGrow editor. **Examples:** - create_automation(name: 'Welcome message') - create_automation(name: 'Thank you after delivery', description: 'Sends a thank you message when an order is delivered')
create_automation
Create a new customer. Create a new customer. **When to use:** When the user wants to add a new customer that does not exist. Always run find_customers first to avoid duplicates. **When NOT to use:** If a customer with the same phone/email already exists — update_customer or merge_customers. **Examples:** - create_customer(input: { firstName: 'Ahmed', lastName: 'Ben', email: 'ahmed@x.com', phone: '612345678', phoneCountryCode: '+212' })
create_customer
Create an order for an existing customer, or with a new customer and address in one call. Create an order for an existing customer, or with a new customer and address in one call. **When to use:** Creating a new order. If the customer already exists, pass `purchasingEntity.customerId`. If onboarding a new customer in the same call, pass nested `customer` + `shippingAddress`. **When NOT to use:** Editing an existing order: use update_order. **Examples:** - create_order(input: { purchasingEntity: { customerId: 123 }, lineItems: [{ variantId: 5532, quantity: 1 }] }) - create_order(input: { customer: { firstName: 'Ahmed', phone: '612345678', phoneCountryCode: '+212' }, shippingAddress: { address1: '12 Rue Atlas', city: 'Rabat', countryCode: 'MA' }, lineItems: [{ variantId: 5532 }] })
create_order
Create a new product with variants and options. Create a new product with variants and options. **When to use:** Adding a new SKU to the catalog. **When NOT to use:** Importing in bulk — use the dedicated import flow (not in this MCP). **Examples:** - create_product(input: { title: 'Running Shoe', price: 89 }) - create_product(input: { title: 'T-Shirt', options: [{ name: 'Size', values: [{ name: 'M' }, { name: 'L' }] }], variants: [{ sku: 'TS-M', price: 120, optionValues: [{ optionName: 'Size', valueName: 'M' }] }, { sku: 'TS-L', price: 120, optionValues: [{ optionName: 'Size', valueName: 'L' }] }] })
create_product
List or search the available tools. Optionally filter by domain, or fuzzy-find by intent. List or search the available tools. Optionally filter by domain, or fuzzy-find by intent. **When to use:** At the start of a session to enumerate tools, or any time you need to discover the right tool for a task. Pass `intent` for fuzzy search; pass `domain` to scope the listing. **When NOT to use:** Skip if you already know the tool name — call the tool directly. **Examples:** - describe_capabilities() - describe_capabilities(domain: 'order') - describe_capabilities(intent: 'refund a line item')
describe_capabilities
Search the public automation templates: ready-made automations that install_automation_template adds to this account by key. Search the public automation templates: ready-made automations that install_automation_template adds to this account by key. **When to use:** Before building an automation from scratch, check whether a template already does it. Each template has the key install_automation_template takes. **When NOT to use:** Listing this account's own automations: use list_automations. **Examples:** - find_automation_templates() - find_automation_templates(search: 'abandoned cart')
find_automation_templates
Search customers using the same free-text search the eGrow UI uses. Search customers using the same free-text search the eGrow UI uses. **When to use:** Any customer lookup. Pass the user's natural query verbatim — phone fragment, email fragment, name fragment, or external ID. The backend resolves the syntax. **When NOT to use:** If you already have a numeric customer ID — call get_customer instead. Do not pre-parse, prefix, or split the query. **Examples:** - find_customers(query: '0612345678') - find_customers(query: 'ahmed', perPage: 50) - find_customers(query: 'gmail.com', sortKey: 'EMAIL')
find_customers
Find candidate duplicate customer groups. Find candidate duplicate customer groups. **When to use:** Before merge_customers, or for periodic cleanup. **When NOT to use:** If you already know specific IDs to merge. **Examples:** - find_duplicate_customers() - find_duplicate_customers(input: { limit: 20 })
find_duplicate_customers
Identify candidate duplicate order groups. Identify candidate duplicate order groups. **When to use:** Before merge_orders, or for periodic cleanup. **When NOT to use:** If you already know which orders to merge. **Examples:** - find_duplicate_orders()
find_duplicate_orders
Search orders using the same free-text search the eGrow UI uses. Search orders using the same free-text search the eGrow UI uses. **When to use:** Any order lookup by query. Pass the user's natural query verbatim — phone, customer name, status keyword. The backend resolves the syntax. **When NOT to use:** If you have a specific identifier (id / order number / tracking / store id) — use get_order. Do not pre-parse the query string. **Examples:** - find_orders(query: '0612345678') - find_orders(query: 'pending shipping', perPage: 50) - find_orders(query: 'status:cancelled', sortKey: 'CREATED_AT', reverse: true)
find_orders
List or search product categories. List or search product categories. **When to use:** Categorizing a new product or browsing taxonomy. **When NOT to use:** Searching products — use find_products. **Examples:** - find_categories() - find_categories(query: 'shoe')
find_categories
Search products using the same free-text search the eGrow UI uses. Search products using the same free-text search the eGrow UI uses. **When to use:** Any product lookup. Pass the user's natural query verbatim — title fragment, SKU, vendor, status. The backend resolves the syntax. **When NOT to use:** If you have a numeric product ID — call get_product. Do not pre-parse the query. **Examples:** - find_products(query: 'shoe') - find_products(query: 'sku:RUN-42') - find_products(query: 'status:active', sortKey: 'INVENTORY')
find_products
Search product variants using free-text query. Search product variants using free-text query. **When to use:** When the user references a SKU or specific variant. **When NOT to use:** Whole-product browsing — use find_products. **Examples:** - find_variants(query: 'RUN-42')
find_variants
Mark a set of customers as confirmed duplicates without merging yet. Mark a set of customers as confirmed duplicates without merging yet. **When to use:** When you want to flag for later review without merging immediately. **When NOT to use:** If you are ready to merge: use merge_customers. **Examples:** - flag_customers_as_duplicate(input: { primaryCustomerId: 1, customerIds: [2, 3] })
flag_customers_as_duplicate
Fetch any analytics report — orders, confirmations, shipping, or agents — over a date range. Fetch any analytics report — orders, confirmations, shipping, or agents — over a date range. **When to use:** User asks for detailed reporting beyond the dashboard widgets: funnel breakdowns, city ratios, agent quality, shipping zones, cancellation reasons. Choose the report 'type' that matches. **When NOT to use:** Headline dashboard numbers — use get_dashboard. UTM-attributed performance — use get_utm_analytics. **Examples:** - get_analytics(type: 'orders.by_status', startDate: '2026-04-01', endDate: '2026-05-06') - get_analytics(type: 'confirmations.overview', startDate: '2026-04-01', endDate: '2026-05-06') - get_analytics(type: 'shipping.zones_to_avoid', startDate: '2026-04-01', endDate: '2026-05-06', minDeliveryRate: 0.5, minOrders: 20) - get_analytics(type: 'agents.anomalies', startDate: '2026-04-01', endDate: '2026-05-06')
get_analytics
Confirmation funnel counts (pending / confirmed / cancelled) matching the same free-text query as find_orders. Confirmation funnel counts (pending / confirmed / cancelled) matching the same free-text query as find_orders. **When to use:** Reviewing the confirmation funnel for a filtered slice of orders. **When NOT to use:** Date-range confirmation analytics — use get_analytics(type: 'confirmations.overview'). **Examples:** - get_confirmation_stats(query: 'source:facebook')
get_confirmation_stats
Fetch a customer by ID with addresses and groups. Optionally include risk profile. Fetch a customer by ID with addresses and groups. Optionally include risk profile. **When to use:** When you have a numeric customer ID and need full details. Set includeRisk=true before approving high-value orders. **When NOT to use:** If you only have a phone or email — use find_customers first. **Examples:** - get_customer(id: 12345) - get_customer(id: 12345, includeRisk: true)
get_customer
Fetch any dashboard widget by name (overview, revenue, top cities, top products, shipping partners, financial metrics, etc.). Fetch any dashboard widget by name (overview, revenue, top cities, top products, shipping partners, financial metrics, etc.). **When to use:** User asks for headline KPIs, revenue trends, top performers, or any widget shown on the eGrow dashboard. Pick the widget that matches the question. **When NOT to use:** Detailed analytics drilldowns — use get_analytics. UTM-attributed performance — use get_utm_analytics. **Examples:** - get_dashboard(widget: 'overview', startDate: '2026-04-01', endDate: '2026-05-06') - get_dashboard(widget: 'revenue', startDate: '2026-04-01', endDate: '2026-05-06') - get_dashboard(widget: 'top_cities', startDate: '2026-04-01', endDate: '2026-05-06', limit: 5) - get_dashboard(widget: 'team_members')
get_dashboard
Fetch a full order by id, order number, tracking number, or store order id. Fetch a full order by id, order number, tracking number, or store order id. **When to use:** Provide exactly one identifier. Returns line items, customer, addresses, fulfillments, transactions, events. **When NOT to use:** Free-text search — use find_orders. **Examples:** - get_order(id: 50001) - get_order(orderNumber: 'EGW182') - get_order(trackingNumber: 'TRK-998877') - get_order(storeOrderId: 'shopify-1234567890')
get_order
Aggregate order metrics (total/paid/pending/refunded) matching the same free-text query as find_orders. Aggregate order metrics (total/paid/pending/refunded) matching the same free-text query as find_orders. **When to use:** User asks 'how many orders match X' or 'total revenue from Y'. **When NOT to use:** Date-range analytics — use get_dashboard or get_analytics. **Examples:** - get_order_stats(query: 'status:pending')
get_order_stats
Fetch a pipeline with full stage detail. Fetch a pipeline with full stage detail. **When to use:** Inspecting a specific pipeline's stages. **When NOT to use:** Browsing — use list_pipelines. **Examples:** - get_pipeline(id: 1)
get_pipeline
Fetch a product with variants, options, media, and category. Fetch a product with variants, options, media, and category. **When to use:** When you have a numeric product ID and need full details. **When NOT to use:** List queries — use find_products. **Examples:** - get_product(id: 4001)
get_product
UTM-attributed performance: totals or breakdown by source/medium/campaign/status. UTM-attributed performance: totals or breakdown by source/medium/campaign/status. **When to use:** User asks about marketing-attributed performance for paid acquisition or campaign comparison. **When NOT to use:** Non-UTM source breakdown — use get_analytics(type: 'orders.by_source'). Full funnel — use get_analytics(type: 'orders.by_status'). **Examples:** - get_utm_analytics(breakdown: 'metrics', startDate: '2026-04-01', endDate: '2026-05-06') - get_utm_analytics(breakdown: 'campaign', startDate: '2026-04-01', endDate: '2026-05-06', limit: 10)
get_utm_analytics
Fetch a single variant by ID. Fetch a single variant by ID. **When to use:** Pricing, SKU, or stock check on a specific variant. **When NOT to use:** Stock-only queries — check_stock is cheaper. **Examples:** - get_variant(id: 5532)
get_variant
Fetch a named workflow playbook. Fetch a named workflow playbook. **When to use:** When the user's request matches a known workflow (order-confirm, order-refund, order-cancel, exchange-handle, customer-merge, customer-onboard, diagnose-failed-delivery). **When NOT to use:** For general help — read egrow://docs/workflows resource directly. **Examples:** - get_workflow(name: 'order-refund') - get_workflow(name: 'customer-merge')
get_workflow
Server version, GraphQL reachability, tool count. Server version, GraphQL reachability, tool count. **When to use:** When tools are misbehaving and you need to verify the server itself is healthy. **When NOT to use:** Routine calls — this is a diagnostic, not a warm-up. **Examples:** - health_check()
health_check
Create a new automation in this account from a public template, by the key find_automation_templates returns. Create a new automation in this account from a public template, by the key find_automation_templates returns. **When to use:** A template does what the person wants. The new automation starts off and templates carry no connections: check it with read_flow and set each step's connection with apply_changes before the person turns it on in the eGrow editor. **When NOT to use:** No template fits: use create_automation and build the flow with apply_changes. **Examples:** - install_automation_template(key: '3f2c9a4e-8b1d-4c7e-9f0a-2d6b5e8c1a47') - install_automation_template(key: '3f2c9a4e-8b1d-4c7e-9f0a-2d6b5e8c1a47', name: 'Abandoned cart reminder')
install_automation_template
List all order pipelines and their stages. List all order pipelines and their stages. **When to use:** Discovering stage IDs for moving orders. **When NOT to use:** Single pipeline detail — use get_pipeline. **Examples:** - list_pipelines()
list_pipelines
Merge duplicate customers into a single primary record. Merge duplicate customers into a single primary record. **When to use:** After find_duplicate_customers identifies a merge group. **When NOT to use:** Without first viewing the duplicates and confirming the primary ID with the user. **Examples:** - merge_customers(input: { primaryCustomerId: 1, customerIds: [2, 3] })
merge_customers
Merge duplicate orders into a primary. Merge duplicate orders into a primary. **When to use:** Customer accidentally placed the same order twice. **When NOT to use:** Combining unrelated orders — that is not what merge does. **Examples:** - merge_orders(input: { primaryOrderId: 50001, orderIds: [50002] })
merge_orders
Mark lines of a paid order as refunded and reduce its totals. Mark lines of a paid order as refunded and reduce its totals. **When to use:** The customer gets money back for some items of a paid order. **When NOT to use:** Items not paid yet: use remove_line_items. **Examples:** - refund_line_items(orderNumber: 'EGW182', lineItems: [{ sku: 'TS-M' }])
refund_line_items
Remove lines from an order and recompute its total. Remove lines from an order and recompute its total. **When to use:** The customer drops items before the order ships. **When NOT to use:** Items already paid for: use refund_line_items. Cancelling the whole order: move its stage with update_order. **Examples:** - remove_line_items(orderId: 50001, lineItems: [{ variantId: 5532 }])
remove_line_items
Detach the customer from an order. The customer record itself is kept. Detach the customer from an order. The customer record itself is kept. **When to use:** The order is linked to a customer it should not have. **When NOT to use:** Switching the order to another customer: use add_order_customer. **Examples:** - remove_order_customer(orderId: 50001)
remove_order_customer
Make one of a customer's saved addresses the default. Make one of a customer's saved addresses the default. **When to use:** The customer wants another saved address used by default. **When NOT to use:** The address is not saved yet: use add_customer_address with setAsDefault. **Examples:** - set_default_customer_address(customerId: 123, addressId: 99)
set_default_customer_address
Rename an automation or change its description or notes. Its flow and whether it is on stay as they are. Rename an automation or change its description or notes. Its flow and whether it is on stay as they are. **When to use:** Changing the name, description or notes of an existing automation. Pass only the fields to change. **When NOT to use:** Changing what the automation does: use apply_changes. Turning it on or off: no tool does it, the person does it in the eGrow editor. **Examples:** - update_automation(slug: 'welcome-message', name: 'Welcome message v2') - update_automation(slug: 'welcome-message', notes: 'Reviewed with the support team')
update_automation
Update an existing customer's profile (name, email, phone). Update an existing customer's profile (name, email, phone). **When to use:** Editing top-level fields on an existing customer. **When NOT to use:** Address changes: use add_customer_address or update_customer_address. Group membership: use add_customers_to_group. Blacklist: use bulk_blacklist_customers. **Examples:** - update_customer(input: { id: 123, firstName: 'New' }) - update_customer(input: { id: 123, phone: '612345678', phoneCountryCode: '+212' })
update_customer
Edit one of a customer's saved addresses. Edit one of a customer's saved addresses. **When to use:** Correcting the street, city or phone of an existing address. **When NOT to use:** A new address: use add_customer_address. **Examples:** - update_customer_address(customerId: 123, addressId: 99, address: { city: 'Rabat' })
update_customer_address
Update an order's editable fields (notes, addresses, custom attrs, stage). Update an order's editable fields (notes, addresses, custom attrs, stage). **When to use:** Editing order metadata or moving an individual order to a different stage. **When NOT to use:** Bulk stage moves: use bulk_move_stage. Customer, agent or variant changes: use add_order_customer, assign_order_users or change_line_item_variant. Removals and refunds: use remove_line_items or refund_line_items. **Examples:** - update_order(input: { id: 50001, note: 'Customer requested gift wrap' })
update_order
Update an existing product. Update an existing product. **When to use:** Editing title, description, status, price or category. **When NOT to use:** Variants, options and stock are not editable here. **Examples:** - update_product(input: { id: 4001, status: 'DRAFT' })
update_product
Identify the calling user, account, currency, and permissions. Identify the calling user, account, currency, and permissions. **When to use:** At the start of a session to know whose data you are operating on. Useful before destructive actions. **When NOT to use:** Once per session is enough — the answer does not change mid-call. **Examples:** - whoami()
whoami
Ask the user which connection a step should use for an integration. They pick an existing one or add a new one in the usual form, and you get the user_connection_id back. Use it when list_connections has none for the integration, or when several fit and the choice is the user's.
Look up something you were given a request_id for: a test that is running, an action that was approved, or a question that is still waiting on the person. Returns the result once there is one.
Find an integration's events (webhooks). Any event can start the automation (set_trigger with webhook_id). An event with can_wait=true can also go right after an action, so that branch waits for it (add_step kind=webhook).
eGrow ChatGPT Plugin FAQ
How the directory, categories and Discoverability Score work.
Read the methodologyHow do I improve eGrow'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 eGrow alternatives on ChatGPT?
As of 2026-11-11, eGrow competes with Run With AI, Shopify, 1stPage, AfterShip Post-Purchase, AIOD Discounts & Free Gift, auction.fish, AutoQuote3D, base.com and 77 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.


