An AI-powered sales assistant for WooCommerce stores. Understands your product catalog, guides customers to what they need, captures leads, and hands off to your team β but deploying this on a real e-commerce is a custom technical process, not a plugin install.
OpenAI Assistants API powers a supervisor that routes conversations between specialized agents: product search, knowledge base, lead capture, handoff, and off-hours.
Connects to your WooCommerce store via REST API. Indexes products, prices, stock, and categories. The bot can search your catalog in real time β no manual upload needed.
Knowledge base consulted before product search to surface semantic signals (e.g. "back pain" β "orthopedic mattress"). Only retrieves what's needed β no full catalog injection per query.
When needed, the AI naturally collects visitor name, email, phone, and intent mid-conversation. Sends structured notifications to your team via webhook or email.
When the bot detects purchase intent or a user requests human contact, it hands off via WhatsApp link or email β with conversation context included.
Colors, position, fonts, theme, launcher size, border radius, animations, off-hours message, greeting β all configurable from an admin panel per project.
Configure your chatbot language independently per client store. Spanish, English, Portuguese and more.
IP-based rate limiting, session message limits, concurrent session controls, and optional reCAPTCHA v3 to prevent abuse.
Don't have WooCommerce? Upload a JSON product catalog directly. The bot indexes it and uses it exactly the same way.
A custom-trained assistant that answers questions about your business, services, pricing, or policies. No product catalog needed. Simpler to configure and faster to deploy. Suitable for service businesses, agencies, or any site that needs an intelligent FAQ bot.
Full catalog indexing, product search, live WooCommerce sync, and widget embedding. This is a custom engineering process β catalog analysis, data normalization, and conflict-free integration must all be handled case by case.
Before anything runs, the catalog is analyzed to determine how to process it: Are product names useful or generic? Are categories hierarchical or flat? Are attributes consistent across products? Which fields carry signal for search and which are noise? The CatalogNormalizerAgent runs this diagnostic automatically, flagging poorly-configured products (generic names, missing data) so they are excluded from AI enrichment rather than hallucinated over.
Products are indexed in batches via scanInit β scanBatch Γ N β scanFinalize. Each product goes through CatalogNormalizerAgent: field unification, attribute extraction, variant flattening, price token injection. The goal is a locally queryable index β no full catalog is ever injected into AI context per conversation.
This step runs once during the initial indexing and is stored permanently in the local index. Each product passes through a 4-dimension AI semantic analysis: UseCases, Features, Profiles, Materials. This lets the bot match "back pain" → "orthopedic mattress", or "grilling on weekends" → "BBQ accessories", without the user having to use exact product names. The enrichment does not re-run on every conversation. With large catalogs (25,000+ products), this one-time step can take 24–48 hours of continuous processing.
After indexing, an AI-generated synonym map is built specifically for this store's vocabulary β cross-language (ESβEN), brand-aware, category-specific. Zero hardcoded synonyms. This allows bilingual queries to hit the right category without double-scoring the same concept.
Not every e-commerce frontend is the same. Before embedding the widget, the existing site must be analyzed: Are there CSS resets that break the widget? JavaScript conflicts with WooCommerce plugins? Sticky headers eating z-index? Popup managers intercepting events? The integration must be tailored to each store's UI without breaking existing checkout flows.
Once integration is safe, a single script tag is added. Sessions are protected via domain whitelist, IP rate limiting (20 msg/min), session message limits, and optional reCAPTCHA v3 scoring. OpenAI Threads are created per session with tool dispatch for product_search, trigger_handoff, collect_lead_data.
A SupervisorAgent validates every response before display. If the reply contains broken product links or hallucinated info, it silently triggers a rewrite β the user never sees the error. Completed conversations fire HMAC-SHA256 signed webhooks to your CRM, Zapier, or any internal endpoint.
🖥 Infrastructure requirement: This agent runs on a local or external PHP/MySQL server β not a SaaS subscription. The server stores the index database, handles AI enrichment, manages sessions, and exposes the API the widget talks to. Hosting can be your own server, a VPS, or any shared host with shell access.
⚠️ This is not a plug-and-play install. The e-commerce integration is built from scratch for each client, adapted to their catalog structure, tech stack, and frontend. There is no generic package β because a generic approach produces a chatbot that's wrong half the time, which is worse than no chatbot.
The system is being refined with real catalogs. If you're interested in deploying Vendedor on your store, reach out β we can arrange a no-cost trial integration so you can evaluate the results before committing.
Depending on what the customer types, the agent takes a different path. No static script β routing is decided by the assistant based on detected intent.
"I'm looking for something for lower back pain" → The assistant interprets intent, queries the local index via product_search, and returns a short list of relevant products with names, prices, and direct links β all without sending your full catalog to the AI.
"What are your shipping times?" "Do you accept returns?" β Answered from the knowledge-base configuration, not from the catalog index. No additional AI cost for purely informational queries.
When a user shows purchase intent, the assistant triggers collect_lead_data β collects name, email, and what they need β stored in the database and delivered to your CRM via signed webhook.
If the customer is ready to buy or needs a real person, the agent calls trigger_handoff β the conversation summary goes to your team (WhatsApp, Slack, CRM) with contact info already captured.
Every response is validated by a SupervisorAgent before display. Broken product links or hallucinated info trigger a silent rewrite β the user never sees the error.
Every store is different β a small boutique and a 10,000-product marketplace have different needs. Pricing is based on three factors:
Number of products to index and serve in real time. Larger catalogs require more intensive search infrastructure.
Number of unique visitors who interact with the bot. Affects OpenAI API token usage and session capacity.
Total monthly traffic on pages where the widget is embedded. Determines infrastructure and widget delivery load.