asyntai / pimcore-chatbot-bundle
Puts the Asyntai AI assistant on a Pimcore site and turns the product objects in your PIM into answers, with live prices, stock and product cards.
Package info
github.com/asyntai/pimcore-chatbot-bundle
Type:pimcore-bundle
pkg:composer/asyntai/pimcore-chatbot-bundle
Requires
- php: ^8.2
- pimcore/pimcore: ^11.0 || ^2024.0 || ^2025.0
Requires (Dev)
- phpunit/phpunit: ^11.0
Suggests
None
Provides
None
Conflicts
None
Replaces
None
README
Answers visitor questions on your Pimcore site, and turns the product objects in your PIM into answers with live prices, stock and product cards.
What it does
- Chat on every page. The assistant reads your Pimcore documents and answers in the visitor's own language, day and night.
- Your catalogue answers too. The bundle publishes your product objects as a feed. Asyntai reads it on a schedule, so a shopper can ask "do you have an M8 bolt in stainless" and get the right item, with its price, its stock and a card that links straight to the product.
- Leads and transcripts. Every conversation is saved in Asyntai, and an email or phone number left in the chat becomes a lead.
Install
composer require asyntai/pimcore-chatbot-bundle
Add the bundle to config/bundles.php:
return [ Asyntai\PimcoreChatbotBundle\AsyntaiPimcoreChatbotBundle::class => ['all' => true], // ... your other bundles ];
Then install it:
bin/console pimcore:bundle:install AsyntaiPimcoreChatbotBundle bin/console cache:clear
Set the widget
- Open asyntai.com and copy your widget ID from the dashboard.
- In Pimcore open Settings > Website Settings.
- Put the ID into
asyntai_widget_id. The whole embed snippet works too.
The chat now appears on every page Pimcore delivers. The admin interface is left alone.
Publish the catalogue
- In Settings > Website Settings set
asyntai_feed_tokento a secret of your choice, andasyntai_feed_classto the data object class that holds your products. - Tell the bundle which field holds which value, in
config/packages/asyntai_pimcore_chatbot.yaml:
asyntai_pimcore_chatbot: feed: class: 'Product' path: '/Products' currency: 'EUR' product_url_pattern: 'https://shop.example.com/p/%s' fields: name: 'name' description: 'description' price: 'price' sku: 'sku' category: 'category' in_stock: 'inStock' image: 'image'
- Check the result before you hand the URL over:
bin/console asyntai:feed:preview --base-url=https://www.example.com bin/console asyntai:feed:preview --count
- In Asyntai open Real-Time Data Feed and paste:
https://www.example.com/asyntai/products.json?token=YOUR_TOKEN
The Standard plan reads 200,000 characters. The Pro plan reads 10,000,000, which is about 25,000 items.
Field names
Each item carries name, sku, category, price, currency,
price_display, in_stock, description, product_url and image_url.
Asyntai builds the product card from those exact names.
Requirements
- Pimcore 11 or later
- PHP 8.2 or later
- An Asyntai account. The catalogue feed needs the Standard plan or higher.