inSitu Sales
Run wholesale sales operations
- Category
- Sales & CRM
- Primary Subcategory
- ERP & Operations Resource Tools
Integration details
Description
inSitu Sales helps manufacturers, wholesalers, and distributors find customers and products; review pricing, inventory, visits, orders, estimates, and invoices; generate customer statements; predict order recommendations; and create or update sales records through ChatGPT. It connects with ERP and accounting systems—including QuickBooks Enterprise, QuickBooks Online, Odoo, NetSuite, SAP Business One, Xero, Microsoft Dynamics 365 Business Central, and more—bringing sales and operational data together in one connected workflow.
- Integration type
- Plugin
- Verification status
- Not applicable
- Platform
- ChatGPT
- Primary Subcategory
- ERP & Operations Resource Tools
- Secondary Subcategories
- None listed
- Brand
- inSitu Sales
- Access
- Account required
- First tracked
- 2026-08-28
- Tool count
- 32
- Geography
- US
The Primary Subcategory used for this profile’s headline score.
Other Subcategories where the Integration is listed.
ChatGPT Plugin Discovery Score
ChatGPT Plugin discovery is coming soon
ChatGPT can surface a Plugin when it matches a user's request.Your Plugin Discovery Score measures how often yours appears.
No spam. Unsubscribe any time.
What discovery looks like

Competing in ChatGPT ERP & Operations Resource Tools
View Category32 tools agents can invoke
MUTATION createOrUpdateCustomer(id: Float, version: Int, address: String, branch_code: String, locked: String, branch_name: String, company_name: String, cash_discount: Float, cellphone: String, city: String, code: String, company_id: Int, contact1: String, contact1email: String, contact1phone: String, contact2: String, contact2email: String, contact2phone: String, country: String, credit_limit: Float, balance: Float, customer_type: String, foreign_name: String, ein: String, disabled: Int, downloaded_dw: String, email: String, fax: String, latitude: String, longitude: String, is_collectable: Int, is_lead: Int, mobile_user_id: Float, mobile_user_login: String, name: String, nit: String, payform_code: String, payform_name: String, payterm_code: String, payterm_name: String, pending: Int, phone1: String, phone2: String, remark: String, ship_address: String, ship_address_city: String, ship_address_country: String, ship_address_state: String, state: String, trade_discount: Float, zone_code: String, zone_name: String, f1: String, f2: String, f3: String, f4: String, f5: String, f6: String, f7: String, f8: String, f9: String, f10: String, f11: String, f12: String, f13: String, f14: String, f15: String, f16: String, f17: String, f18: String, f19: String, f20: String, f21: String, f22: String, f23: String, f24: String, f25: String, f26: String, f27: String, f28: String, f29: String, f30: String, f31: String, f32: String, f33: String, f34: String, f35: String, f36: String, f37: String, f38: String, f39: String, f40: String, f41: String, f42: String, f43: String, f44: String, f45: String, f46: String, f47: String, f48: String, f49: String, f50: String, cnf_tax_id: Float, zipcode: String, trn_class_name: String, trn_class_code: String, sales_tax_id: String, last_updated_time: Date, date_created: Date, address2: String, address3: String, address4: String, tax_code_id: Float, plain_name: String, contact1last: String, contact2last: String, ship_address2: String, ship_address3: String, ship_address4: String, integration_status: String, ship_address_zipcode: String, channel_code: String, channel_name: String, group_code: String, group_name: String, region_code: String, region_name: String, boureau: String, city_code: String, state_code: String, country_code: String, county: String, certificate_of_resale: String, stage: String, require_order_approval: Int, order_approval_limit: Float, ship_address_zone: String, sector: String, neighborhood: String, delivery_day: String, delivery_time: String, visit_day: String, visit_week: String, subchannel_code: String, subchannel_name: String, url_photo1: String, url_photo2: String, url_photo3: String, industry_type_name: String, ship_address_zone_name: String, beer_permit: String, liquor_permit: String, ship_address_neighborhood: String, tobacco_permit: String, tobacco_permit_exp: Date, seller_permit: String, lead_status: String, conversion_date: Date, state_id: Int, city_id: Int, country_id: Int, default_shipping_method_code: String, default_shipping_method_name: String, external_number: String, external_number2: String, credit_hold: Int, force_show_price: Int, shipping_fee_product_name: String, contact_suffix: String, default_driver_id: Int, EDI_enabled: Int, appointments: [appointmentsInput], shipping_address: [shipping_addressInput], tax: cnf_taxesInput, tax_code: cnf_tax_codeInput, price_list: [clients_product_prices_listInput], initial_balance: client_balanceInput, mobile_users: [clients_mobile_usersInput], file: Upload, files: [Upload], badgeFile: Upload, web_profile_id: Int, where: customerInput, customer: customerInput) -> customer. Create a new customer or update an existing customer in the authenticated company. Use this tool when the user asks to create, add, register, edit, or update a customer. For an update, provide the existing customer id. Provide branch_code and branch_name when creating a customer. Provide arguments at the top level. Use _selection to control returned fields. Dates and times in this MCP are UTC. For user-local periods such as today, convert the user's local start and end times to UTC before sending arguments. Always convert returned date/time values from UTC back to the user's local time before showing them.
MUTATION createOrUpdateEstimate(estimate: estimateInput!) -> estimate. Create a new estimate or update an existing estimate in the authenticated company. Use this tool when the user asks to create, submit, place, or update an estimate. For an update, provide the existing estimate_number or external_number so the workflow can match the estimate. Provide the complete estimate header and a non-empty estimateDetailList. Use the catalog and pricing tools first when product or price data is needed. Provide arguments at the top level. Use _selection to control returned fields. Dates and times in this MCP are UTC. For user-local periods such as today, convert the user's local start and end times to UTC before sending arguments. Always convert returned date/time values from UTC back to the user's local time before showing them.
MUTATION createOrUpdateInvoice(invoice: invoiceInput!) -> invoice. Create a new invoice or update an existing invoice in the authenticated company. Use this tool when the user asks to create, submit, place, or update an invoice. For an update, provide the existing invoice_number or external_number so the workflow can match the invoice. Provide the complete invoice header and a non-empty invoiceDetailList. Use the catalog and pricing tools first when product or price data is needed. Provide arguments at the top level. Use _selection to control returned fields. Dates and times in this MCP are UTC. For user-local periods such as today, convert the user's local start and end times to UTC before sending arguments. Always convert returned date/time values from UTC back to the user's local time before showing them.
MUTATION createOrUpdateOrder(order: orderInput!) -> order. Create a new sales order or update an existing sales order in the authenticated company. Use this tool when the user asks to create, submit, place, or update an order. For an update, provide the existing order_number or external_number so the workflow can match the order. Provide the complete order header and a non-empty orderDetailList. Use the catalog and pricing tools first when product or price data is needed. Provide arguments at the top level. Use _selection to control returned fields. Dates and times in this MCP are UTC. For user-local periods such as today, convert the user's local start and end times to UTC before sending arguments. Always convert returned date/time values from UTC back to the user's local time before showing them.
QUERY generateCustomerStatementPDF(client_id: Float!, fromDate: String, toDate: String) -> CustomerStatementPDF. Generate the existing customer statement PDF for a customer in the authenticated company. The PDF is returned as base64. fromDate and toDate use YYYY-MM-DD; when omitted, they default to the first day of the current month and today. Provide arguments at the top level. Use _selection to control returned fields. Dates and times in this MCP are UTC. For user-local periods such as today, convert the user's local start and end times to UTC before sending arguments. Always convert returned date/time values from UTC back to the user's local time before showing them.
QUERY getAllCompany(searchParam: String, order: String, all: String, show_disabled: String, last_updated_time: String, includeAll: String, include: String, id: Float, product_id: Float, entity_id: Float, set_coordinates: Float, is_not_in_stop: String, fromDate: String, toDate: String, fromShippingDate: String, toShippingDate: String, show_variants: String, type_note: String, show_hidden: String, code_or_name: String, fromStartDate: String, toEndDate: String, where: companyInput) -> [company]. Provide arguments at the top level. Use _selection to control returned fields. Dates and times in this MCP are UTC. For user-local periods such as today, convert the user's local start and end times to UTC before sending arguments. Always convert returned date/time values from UTC back to the user's local time before showing them.
QUERY getAllCustomer(searchParam: String, order: String, all: String, show_disabled: String, last_updated_time: String, includeAll: String, include: String, id: Float, product_id: Float, entity_id: Float, set_coordinates: Float, is_not_in_stop: String, fromDate: String, toDate: String, fromShippingDate: String, toShippingDate: String, show_variants: String, type_note: String, show_hidden: String, code_or_name: String, fromStartDate: String, toEndDate: String, where: customerInput) -> [customer]. Provide arguments at the top level. Use _selection to control returned fields. Dates and times in this MCP are UTC. For user-local periods such as today, convert the user's local start and end times to UTC before sending arguments. Always convert returned date/time values from UTC back to the user's local time before showing them.
QUERY getAllEstimate(searchParam: String, order: String, all: String, show_disabled: String, last_updated_time: String, includeAll: String, include: String, id: Float, product_id: Float, entity_id: Float, set_coordinates: Float, is_not_in_stop: String, fromDate: String, toDate: String, fromShippingDate: String, toShippingDate: String, show_variants: String, type_note: String, show_hidden: String, code_or_name: String, fromStartDate: String, toEndDate: String, where: estimateInput) -> [estimate]. Provide arguments at the top level. Use _selection to control returned fields. Dates and times in this MCP are UTC. For user-local periods such as today, convert the user's local start and end times to UTC before sending arguments. Always convert returned date/time values from UTC back to the user's local time before showing them.
QUERY getAllInvoice(searchParam: String, order: String, all: String, show_disabled: String, last_updated_time: String, includeAll: String, include: String, id: Float, product_id: Float, entity_id: Float, set_coordinates: Float, is_not_in_stop: String, fromDate: String, toDate: String, fromShippingDate: String, toShippingDate: String, show_variants: String, type_note: String, show_hidden: String, code_or_name: String, fromStartDate: String, toEndDate: String, where: invoiceInput) -> [invoice]. Provide arguments at the top level. Use _selection to control returned fields. Dates and times in this MCP are UTC. For user-local periods such as today, convert the user's local start and end times to UTC before sending arguments. Always convert returned date/time values from UTC back to the user's local time before showing them.
QUERY getAllMobileUser(searchParam: String, order: String, all: String, show_disabled: String, last_updated_time: String, includeAll: String, include: String, id: Float, product_id: Float, entity_id: Float, set_coordinates: Float, is_not_in_stop: String, fromDate: String, toDate: String, fromShippingDate: String, toShippingDate: String, show_variants: String, type_note: String, show_hidden: String, code_or_name: String, fromStartDate: String, toEndDate: String, where: mobile_userInput) -> [mobile_user]. Provide arguments at the top level. Use _selection to control returned fields. Dates and times in this MCP are UTC. For user-local periods such as today, convert the user's local start and end times to UTC before sending arguments. Always convert returned date/time values from UTC back to the user's local time before showing them.
QUERY getAllOrder(searchParam: String, order: String, all: String, show_disabled: String, last_updated_time: String, includeAll: String, include: String, id: Float, product_id: Float, entity_id: Float, set_coordinates: Float, is_not_in_stop: String, fromDate: String, toDate: String, fromShippingDate: String, toShippingDate: String, show_variants: String, type_note: String, show_hidden: String, code_or_name: String, fromStartDate: String, toEndDate: String, where: orderInput) -> [order]. Provide arguments at the top level. Use _selection to control returned fields. Dates and times in this MCP are UTC. For user-local periods such as today, convert the user's local start and end times to UTC before sending arguments. Always convert returned date/time values from UTC back to the user's local time before showing them.
QUERY getAllProduct(searchParam: String, order: String, all: String, show_disabled: String, last_updated_time: String, includeAll: String, include: String, id: Float, product_id: Float, entity_id: Float, set_coordinates: Float, is_not_in_stop: String, fromDate: String, toDate: String, fromShippingDate: String, toShippingDate: String, show_variants: String, type_note: String, show_hidden: String, code_or_name: String, fromStartDate: String, toEndDate: String, where: productInput) -> [product]. Provide arguments at the top level. Use _selection to control returned fields. Dates and times in this MCP are UTC. For user-local periods such as today, convert the user's local start and end times to UTC before sending arguments. Always convert returned date/time values from UTC back to the user's local time before showing them.
QUERY getAllVisit(searchParam: String, order: String, all: String, show_disabled: String, last_updated_time: String, includeAll: String, include: String, id: Float, product_id: Float, entity_id: Float, set_coordinates: Float, is_not_in_stop: String, fromDate: String, toDate: String, fromShippingDate: String, toShippingDate: String, show_variants: String, type_note: String, show_hidden: String, code_or_name: String, fromStartDate: String, toEndDate: String, where: visitInput) -> [visit]. Provide arguments at the top level. Use _selection to control returned fields. Dates and times in this MCP are UTC. For user-local periods such as today, convert the user's local start and end times to UTC before sending arguments. Always convert returned date/time values from UTC back to the user's local time before showing them.
QUERY getAllWarehouse(searchParam: String, order: String, all: String, show_disabled: String, last_updated_time: String, includeAll: String, include: String, id: Float, product_id: Float, entity_id: Float, set_coordinates: Float, is_not_in_stop: String, fromDate: String, toDate: String, fromShippingDate: String, toShippingDate: String, show_variants: String, type_note: String, show_hidden: String, code_or_name: String, fromStartDate: String, toEndDate: String, where: warehouseInput) -> [warehouse]. Provide arguments at the top level. Use _selection to control returned fields. Dates and times in this MCP are UTC. For user-local periods such as today, convert the user's local start and end times to UTC before sending arguments. Always convert returned date/time values from UTC back to the user's local time before showing them.
QUERY getFormSubmissions(fromDate: String, toDate: String, offset: Int, limit: Int) -> [McpFormSubmission]. Get forms submitted by sales reps. Returns submissions across multiple customers, including the customer and rep-related identifiers, form information, and each submitted question and answer. Use fromDate and toDate to retrieve a specific UTC period. Provide arguments at the top level. Use _selection to control returned fields. Dates and times in this MCP are UTC. For user-local periods such as today, convert the user's local start and end times to UTC before sending arguments. Always convert returned date/time values from UTC back to the user's local time before showing them.
QUERY getInventoryDetail(product_id: Int, shouldUseCache: Boolean) -> [InventoryDetail]. Provide arguments at the top level. Use _selection to control returned fields. Dates and times in this MCP are UTC. For user-local periods such as today, convert the user's local start and end times to UTC before sending arguments. Always convert returned date/time values from UTC back to the user's local time before showing them.
QUERY getOneCompany(id: Float, where: companyInput) -> company. Provide arguments at the top level. Use _selection to control returned fields. Dates and times in this MCP are UTC. For user-local periods such as today, convert the user's local start and end times to UTC before sending arguments. Always convert returned date/time values from UTC back to the user's local time before showing them.
QUERY getOneCustomer(id: Float, where: customerInput) -> customer. Provide arguments at the top level. Use _selection to control returned fields. Dates and times in this MCP are UTC. For user-local periods such as today, convert the user's local start and end times to UTC before sending arguments. Always convert returned date/time values from UTC back to the user's local time before showing them.
QUERY getOneEstimate(id: Float, where: estimateInput) -> estimate. Provide arguments at the top level. Use _selection to control returned fields. Dates and times in this MCP are UTC. For user-local periods such as today, convert the user's local start and end times to UTC before sending arguments. Always convert returned date/time values from UTC back to the user's local time before showing them.
QUERY getOneInvoice(id: Float, where: invoiceInput) -> invoice. Provide arguments at the top level. Use _selection to control returned fields. Dates and times in this MCP are UTC. For user-local periods such as today, convert the user's local start and end times to UTC before sending arguments. Always convert returned date/time values from UTC back to the user's local time before showing them.
QUERY getOneMobileUser(id: Float, where: mobile_userInput) -> mobile_user. Provide arguments at the top level. Use _selection to control returned fields. Dates and times in this MCP are UTC. For user-local periods such as today, convert the user's local start and end times to UTC before sending arguments. Always convert returned date/time values from UTC back to the user's local time before showing them.
QUERY getOneOrder(id: Float, where: orderInput) -> order. Provide arguments at the top level. Use _selection to control returned fields. Dates and times in this MCP are UTC. For user-local periods such as today, convert the user's local start and end times to UTC before sending arguments. Always convert returned date/time values from UTC back to the user's local time before showing them.
QUERY getOneProduct(id: Float, where: productInput) -> product. Provide arguments at the top level. Use _selection to control returned fields. Dates and times in this MCP are UTC. For user-local periods such as today, convert the user's local start and end times to UTC before sending arguments. Always convert returned date/time values from UTC back to the user's local time before showing them.
QUERY getOneVisit(id: Float, where: visitInput) -> visit. Provide arguments at the top level. Use _selection to control returned fields. Dates and times in this MCP are UTC. For user-local periods such as today, convert the user's local start and end times to UTC before sending arguments. Always convert returned date/time values from UTC back to the user's local time before showing them.
QUERY getOneWarehouse(id: Float, where: warehouseInput) -> warehouse. Provide arguments at the top level. Use _selection to control returned fields. Dates and times in this MCP are UTC. For user-local periods such as today, convert the user's local start and end times to UTC before sending arguments. Always convert returned date/time values from UTC back to the user's local time before showing them.
QUERY getPricedProductCatalog(client_id: Float, price_list_id: Float, include_pricing: Boolean, search: String, category: String, subcategory: String, subcategory2: String, brand: String, offset: Int, limit: Int) -> [PricedProductCatalogItem]. Build a product catalog for MCP users. The catalog excludes disabled products, hidden products, and hidden categories. Provide client_id for customer-specific product assignment. Set include_pricing to true only when prices are needed; customer pricing can take some time while the system generates the catalog. Provide arguments at the top level. Use _selection to control returned fields. Dates and times in this MCP are UTC. For user-local periods such as today, convert the user's local start and end times to UTC before sending arguments. Always convert returned date/time values from UTC back to the user's local time before showing them.
QUERY getPricing(product_id: Int, client_id: Int) -> Pricing. Provide arguments at the top level. Use _selection to control returned fields. Dates and times in this MCP are UTC. For user-local periods such as today, convert the user's local start and end times to UTC before sending arguments. Always convert returned date/time values from UTC back to the user's local time before showing them.
QUERY getProductInventory(product_id: Int!, warehouse_id: Int, bin_location_id: Int, lot_number: String) -> [WarehouseInventory]. Get inventory information for a product + warehouse combination Provide arguments at the top level. Use _selection to control returned fields. Dates and times in this MCP are UTC. For user-local periods such as today, convert the user's local start and end times to UTC before sending arguments. Always convert returned date/time values from UTC back to the user's local time before showing them.
QUERY getProductInventoryForWarehouse(warehouse_id: Int, products: [Int]) -> [warehouse_stock]. Provide arguments at the top level. Use _selection to control returned fields. Dates and times in this MCP are UTC. For user-local periods such as today, convert the user's local start and end times to UTC before sending arguments. Always convert returned date/time values from UTC back to the user's local time before showing them.
QUERY nextEstimate(client_id: Float!) -> NextOrder. Predict the customer next estimate and return product recommendations, including suggested quantities, confidence, daily consumption, coverage days, and next recommended estimate date. Provide arguments at the top level. Use _selection to control returned fields. Dates and times in this MCP are UTC. For user-local periods such as today, convert the user's local start and end times to UTC before sending arguments. Always convert returned date/time values from UTC back to the user's local time before showing them.
QUERY nextInvoice(client_id: Float!) -> NextOrder. Predict the customer next invoice and return product recommendations, including suggested quantities, confidence, daily consumption, coverage days, and next recommended invoice date. If the user asks only for sales, clarify whether they mean sales orders or invoices before choosing this tool. Provide arguments at the top level. Use _selection to control returned fields. Dates and times in this MCP are UTC. For user-local periods such as today, convert the user's local start and end times to UTC before sending arguments. Always convert returned date/time values from UTC back to the user's local time before showing them.
QUERY nextOrder(client_id: Float!) -> NextOrder. Use this read-only tool when the user asks for an order recommendation, next order, reorder recommendation, suggested order, or which products and quantities a customer should order next. It returns the same AI recommendation used by /ai/nextOrder, including suggested quantities, confidence, daily consumption, coverage days, and the next recommended order date. First resolve the customer with getAllCustomer and pass its numeric client_id. Product lines are not included by the default selection: set _selection to "{ client_id name next_order_date products { product_id product_name suggested_quantity confidence daily_consumption typical_coverage_days next_order_date } }". This tool does not create or place an order; use createOrUpdateOrder only after the user explicitly confirms the complete item and quantity preview. If the user asks only for sales, clarify whether they mean sales orders or invoices before choosing this tool. Provide arguments at the top level. Use _selection to control returned fields. Dates and times in this MCP are UTC. For user-local periods such as today, convert the user's local start and end times to UTC before sending arguments. Always convert returned date/time values from UTC back to the user's local time before showing them.
How do I improve a ChatGPT Plugin's 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 inSitu Sales alternatives on ChatGPT?
As of 2026-08-28, inSitu Sales competes with Baukosten-Cockpit, Certifier, Counter, DataFlowr, DEWA, Gastrosync, Kitchen Agent, MenuFresh, Mextic, Productive, ProSchool360, RoadOps, VesselTwin in ChatGPT ERP & Operations Resource Tools, 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.