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, zero-retention

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.

What Your Drupal Commerce Customers Get

Your shoppers don't care about entity APIs or translation handlers. They care about finding the right variation, getting answers fast, and reaching a real person when the salesperson can't help.

The right variation, not just the parent product

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

Hands off to your team with full context

No "please hold while I find someone." The full conversation, customer intent, and suggested next steps land with your team. They pick up without repeating questions.

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

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.

Full step-by-step setup guide

Screenshots, configuration reference, field mapping details, and troubleshooting.

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.

Drush commands

drush emporiqa:sync for bulk ops, drush emporiqa:status for health.

Hybrid product search

Vector + BM25. Finds products by meaning and by exact match (SKU, brand).

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.

Human handoff

When confidence drops, conversations route to your team with full context.

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.

Install 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

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

Enterprise

Large catalogs

Up to 100,000 products · custom rates · SLA

Both plans: unlimited team members, full analytics, 65+ languages, AI model costs included, cancel anytime.

See full pricing details

Top Questions About Drupal Commerce

Quick answers. Full Drupal FAQ →

Does it work with Drupal 10 and Drupal 11?

Yes. The module targets Drupal 10 and Drupal 11, with PHP 8.1 or higher, and Commerce 2.x or 3.x.

Does it handle product variations and multilingual catalogs?

Yes. Variations sync with attributes preserved. Translations consolidate into one sync event per product. Customers find products across languages automatically.

Does it respect price rules and promotions?

Yes. The module reads the final resolved price per variation, including active promotions, and keeps the search in sync on price changes.

Which kind of store do you run?

The same chat engine, tuned for twenty store verticals. Each page lists the questions shoppers in that category ask and how the salesperson answers them from your catalog.

Add Emporiqa to Your Drupal Commerce Store

Three paths. Pick whichever fits where you are today.

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

What happens when it can't answer?

Every chatbot has limits. Emporiqa's fallback is built in, not bolted on.

It says so

Low-confidence questions get a candid "I'm not sure, let me get someone" instead of a guess. No fabricated answers, no made-up policies.

Hands over to your team

Escalation includes the full conversation, the shopper's cart, and the question that stumped the chat. Your team picks up where it left off.

You see every one

Every low-confidence escalation lands on your dashboard so you can refine catalog content, FAQ entries, or store policies that the chat couldn't find.