Vendure Integration
Put an AI chatbot on your Vendure storefront and give it your catalogue
Overview
Vendure is a headless commerce framework. The Asyntai plugin puts an AI assistant on the storefront it serves.
The assistant talks to your shoppers, answers questions about your products, prices and delivery, and hands you the email addresses and phone numbers it collects. It answers day and night, in the language each visitor writes in.
The plugin sends your catalogue to Asyntai, so the answers name real products, real prices and real product pages.
What the plugin adds
- A settings page in the dashboard — connect an Asyntai account with one button, and manage everything in one place.
- A Shop API query —
asyntaiWidgetConfigreturns the widget id and the script URL, so your storefront loads the chat with no hard coded values. - Catalogue sync — every enabled product goes to the Asyntai knowledge base with its name, description, variants, prices and product link.
- Live updates — switch on auto sync and every product you save goes straight to the chatbot.
Requirements
- Vendure 3.0 or higher
- Node.js 20 or higher
- An Asyntai account. The catalogue sync uses the Asyntai API, which needs the Starter plan or higher.
Installation
Follow these steps to add Asyntai to Vendure:
Install the Package
In your Vendure server folder, run npm install vendure-plugin-ai-chatbot.
Add the Plugin
Open vendure-config.ts, import AsyntaiPlugin from vendure-plugin-ai-chatbot, and add AsyntaiPlugin.init({}) to the plugins array.
Update the Database
The plugin adds two tables. Generate and run a migration with npx vendure migrate, then restart the server.
Connect Your Account
Open Settings → Asyntai AI Chatbot in the dashboard and press Get started. Sign in in the popup, or create a free account. The widget id is saved for you.
Set the Storefront Address
Fill in Storefront address, for example https://shop.example.com, and press Save address. Product links in the chatbot answers are built from it.
Send Your Catalogue
Copy your API key from the Asyntai dashboard (Settings → API), paste it into API key, press Save key, then Send catalogue.
Loading the Chat on Your Storefront
Vendure is headless, so the storefront loads the chat itself. Ask the Shop API for the configuration:
query {
asyntaiWidgetConfig {
siteId
scriptUrl
enabled
}
}
Then add the script once the page is ready. A React storefront can do it like this:
useEffect(() => {
if (!config.enabled) return;
const script = document.createElement('script');
script.src = config.scriptUrl;
script.dataset.asyntaiId = config.siteId;
script.defer = true;
document.body.appendChild(script);
return () => script.remove();
}, [config]);
The dashboard also shows a ready <script> tag, if you prefer to paste it into your storefront template.
Tip: Turn on Send a product whenever it changes. The chatbot then follows every price and description you edit.
Plugin Options
Every option has a working default, so AsyntaiPlugin.init({}) is enough for a normal store.
apiUrl— origin of the Asyntai service. Defaulthttps://asyntai.com.scriptUrl— URL of the chat widget script.syncBatchSize— how many products are read per page during a sync. Default 500.
Permissions
Reading the settings needs the ReadSettings permission. Saving them, testing the key and running a sync need UpdateSettings. The API key stays on your server, and the Admin API returns a masked preview of it.
Removing It
Take AsyntaiPlugin out of the plugins array in vendure-config.ts, run npm uninstall vendure-plugin-ai-chatbot, and restart the server.
Privacy
The plugin sends your product catalogue to your own Asyntai account. Privacy policy.
Plans & Pricing
The plugin is free. It uses the Asyntai API, which needs the Starter plan or higher. View pricing.
Need Help?
If you have any questions or run into issues, contact us at [email protected].