New:Microsoft Teams Notifications Are Now Available in Socket.Learn more
Get Started

vendure-plugin-ai-chatbot

Package Overview
Dependencies
Maintainers
1
Versions
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

vendure-plugin-ai-chatbot

Asyntai AI chatbot for Vendure. Answers your shoppers day and night, knows your catalogue, and captures leads.

latest
Source
npmnpm
Version
1.0.0
Version published
Maintainers
1
Created
Source

Asyntai AI Chatbot for Vendure

Put an AI assistant on your Vendure storefront. It talks to your shoppers, answers questions about your products, prices and delivery, and hands you the leads it collects. It works day and night, in the language each visitor writes in.

The plugin connects your Vendure server to Asyntai, sends your catalogue to the chatbot, and serves the widget configuration to your storefront through the Shop API.

What you get

  • A settings page in the dashboard. Connect an Asyntai account with one button, paste an API key, and send your catalogue.
  • A Shop API query. Your headless storefront reads asyntaiWidgetConfig and loads the chat widget. No hard coded ids in your storefront code.
  • Catalogue sync. Every enabled product goes to the Asyntai knowledge base with its name, description, variants, prices and product link, so the chatbot answers with real data.
  • Live updates. Turn 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 is available on the Starter plan and higher.

Installation

npm install vendure-plugin-ai-chatbot

Add the plugin to your Vendure config:

import { AsyntaiPlugin } from 'vendure-plugin-ai-chatbot';

export const config: VendureConfig = {
    // ...
    plugins: [
        // ...
        AsyntaiPlugin.init({}),
    ],
};

Then generate and run a migration, because the plugin adds two tables:

npx vendure migrate

Restart the server. Asyntai AI Chatbot now appears in the dashboard under Settings.

Setup

  • Open Settings → Asyntai AI Chatbot in the dashboard.
  • Press Get started. A popup opens on asyntai.com. Sign in, or create a free account. The widget id is saved for you when the popup closes.
  • Fill in the Storefront address, for example https://shop.example.com. Product links in the chatbot answers are built from it.
  • Paste your API key from the Asyntai dashboard (Settings → API), press Save key, then Send catalogue.
  • Turn on Send a product whenever it changes to keep the chatbot current.

Loading the widget on your storefront

The Shop API exposes one query:

query {
    asyntaiWidgetConfig {
        siteId
        scriptUrl
        enabled
    }
}

Load 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.

Plugin options

AsyntaiPlugin.init({
    apiUrl: 'https://asyntai.com',
    scriptUrl: 'https://asyntai.com/static/js/chat-widget.js',
    syncBatchSize: 500,
});
OptionDefaultWhat it does
apiUrlhttps://asyntai.comOrigin of the Asyntai service.
scriptUrlhttps://asyntai.com/static/js/chat-widget.jsURL of the widget script.
syncBatchSize500How many products are read per page during a sync.

Permissions

Reading the settings needs ReadSettings. Saving them, testing the key and running a sync need UpdateSettings. The API key is stored on the server and the Admin API returns a masked preview of it.

Using the service from your own plugin

import { AsyntaiService } from 'vendure-plugin-ai-chatbot';

@Injectable()
export class MyService {
    constructor(private asyntaiService: AsyntaiService) {}

    async resend(ctx: RequestContext) {
        return this.asyntaiService.syncCatalogue(ctx);
    }
}

Documentation

Full setup guide: https://asyntai.com/documentation/integrations/vendure/

Support

hello@asyntai.com

Licence

MIT

Keywords

vendure

FAQs

Package last updated on 22 Sep 2026

Related posts