Official module on drupal.org

AI Chatbot for Drupal Commerce That Closes Sales

An online salesperson native to Drupal Commerce. Reads product variations, taxonomies, and store-level pricing. Closes sales 24/7 in 65+ languages.

Capped at $59/month

Default cap, adjustable from your dashboard

Approved on drupal.org

Verified by review team

No training on your data

GDPR-compliant, EU company

65+ languages

Cross-language search

Safe to try on a live store

Doesn't touch your theme or checkout

Widget + REST sync. No template patches.

Test Connection before any data leaves

Dry-run verifies the link from admin.

Disable from the same admin screen

Reversible in one click if it isn't a fit.

See unedited answers from the demo The demo runs on an electronics catalog and behaves the same on yours.

The Emporiqa chat answering a shopper who asked for something this shop does not stock. The reply says plainly that the shop does not sell it, names the kind of shop it is, and asks what the shopper came in for. Quick replies underneath offer a way back into the catalog.
Ask it for something the shop does not sell. It says so instead of inventing one.
The Emporiqa dashboard for a demo store. A sidebar lists Dashboard, Test your chat, Settings, Billing and invoices, Members, Products, Pages, Conversations and Activity. A green pill says the chat is live on the shop. A billing row shows the spend so far this period against the monthly cap and how many conversations were billed. Coloured alerts count the customers waiting for a person and the low-rated conversations to review. Below, a Revenue and conversions panel puts revenue from chat beside total revenue, with cart to checkout and checkout to purchase rates and a bar for each step of the funnel.
Revenue from chat beside total, spend against your cap, and who is waiting.

What Your Drupal Commerce Customers Get

Your shoppers don't care about entity APIs or translation handlers. They care about finding the right variation and getting answers fast.

The right variation, with attributes and stock

"Medium blue jacket in stock under 200" returns the exact variation, with attributes, resolved price, and promotion applied. No hunting through attribute pickers.

Shipping and policy answers in 65+ languages

Pulled from your Drupal nodes (shipping, returns, sizing). Answered in the customer's language at 2am, so your inbox stays quiet.

For your developer: how it runs on Drupal Commerce

Most chat add-ons are embed-scripts with generic catalogs behind them. They expect a flat list of products without variations or translations or tax rules. Drupal Commerce was built differently. The Emporiqa module reads Commerce the way Drupal reads Commerce, through the same entity API and render pipeline, with prices already resolved.

Variations flatten

Generic tools lose attribute fields, miss the right variation.

Translations break

Per-language entities get duplicated or skipped.

Price rules miss

Scrapers see list price, not the resolved promotion price.

How Emporiqa runs differently

  • Variations sync with attribute fields intact
  • Translations consolidate into one event per product
  • Final resolved price, promotions included
  • Composer-installable, Drush-enabled
  • Drush: drush emporiqa:sync for bulk operations, drush emporiqa:status for health checks

Three Steps to Live

Composer install, configure, sync.

1

Install with Composer

composer require drupal/emporiqa, then enable with Drush or the module page.

2

Map your fields

Pick which product fields and display modes to sync. Defaults work for most Commerce 2 stores.

3

Sync and go live

Trigger from the admin UI or drush emporiqa:sync. Widget goes live.

Built for How Drupal Commerce Works

Variations, taxonomies, i18n, promotions, handled.

Product variations

Variations sync with attribute fields intact. Saving a variation triggers a parent re-sync. Search returns both.

i18n multilingual

Entity translations consolidate into one event per product. A German customer finds English-catalogued products.

Taxonomies respected

Category, brand, and custom taxonomy terms sync alongside products. The salesperson uses them for faceted answers.

Resolved prices

Final prices including active promotions and price lists. Price changes trigger re-sync.

Search by meaning

Matches on meaning, not exact words. A second pass reorders the shortlist so the best fit lands first. SKU and brand lookups still work.

Cart operations in chat

Customers add products to the cart inside the chat. When they're ready, the widget sends them to your Drupal Commerce checkout. Per-product minimum order quantities are respected, so wholesale and multi-pack catalogs work without surprises.

Conversion tracking

Which chats led to orders. Revenue attributed to the salesperson. Ratings from customers.

Live chat you can step into, without staffing a desk

You can open any live conversation and step into it, not only the ones that asked for help. While someone from your team is in the chat, the AI stops and lets them talk. A shopper can ask for a person at any time as well. Drupal Commerce stores are often built with an agency, and you can add that agency to the store as team members so they see the same conversations you do. Team members are unlimited. The conversation is billed once, at the shopper's first message, so bringing in a person costs you nothing extra.

Visual search

Shoppers upload a photo (something they saw on social, a style they like) and the chat finds the closest match in your Drupal Commerce catalog.

Start free with $25 of credit

Pay $0.25 per conversation past the credit. Capped at $59/month by default. No trial deadline, no card needed at signup.

$25 credit on signup

Pay-as-you-go

Self-serve

$0.25 per conversation

100,000 products · cap defaults to $59/mo · no card needed at signup

Enterprise

Large catalogs

Custom

Up to 500,000 products · custom rates · SLA

Both plans: a conversation is billed once, at the shopper's first message. Full analytics, 65+ languages, AI model costs included, cancel anytime.

See full pricing details

Add Emporiqa to Your Drupal Commerce Store

Pick whichever fits where you are today.

Start free with $25 credit · No card needed at signup · No trial deadline · $0.25/conv

When it isn't sure, and when you step in

It says so, and offers to bring in someone from your team. The shopper decides. You can also step into any live conversation yourself, not only the ones that asked for help.

It says so

Low-confidence questions get a candid "I'm not sure, let me get someone" instead of a guess. Ask it for a product you do not sell and it says so, instead of inventing one.

Someone from your team can step in

They arrive with the whole conversation already on screen, and pick up from there. While a person is in the conversation, the chat stops and lets them talk.

You see every one

Every one of these lands on your dashboard, so you can fill the gap in your catalog content, FAQ entries, or store policies.