Product search — the chatbot recommends items from your Drupal Commerce catalog when shoppers describe what they want
Closes the sale — handles objections like "cheaper on Amazon" with facts about your store, not a discount
Drupal admin — Configuration → Web services → Emporiqa: enter your Store ID and Connection Secret to connect
Sync tab — trigger a full catalog sync from the Drupal admin with a progress bar, or use drush emporiqa:sync-all

This project is not covered by Drupal’s security advisory policy.

A shopper types "headphones for work under 500, wireless, noise cancelling" into your Drupal Commerce store. Your search returns everything with "headphones" in the title. The shopper scrolls, gives up, leaves.

This module connects your Drupal Commerce store to Emporiqa, an online salesperson for e-commerce. Shoppers describe what they need (or upload a photo of something they like), and the salesperson recommends matching products from your catalog, handles objections on price or fit, suggests variations if they hesitate, and walks them to checkout. It also answers shipping, return, and payment questions pulled from your own store pages.

Low-confidence questions hand off to your team with the full conversation. You get a dashboard showing which chats led to purchases, satisfaction ratings, and chat-attributed revenue.

Try it yourself on the live demo store, or read more about the Drupal Commerce integration.

Features

  • Closes sales: handles objections like "too expensive" by suggesting alternatives from your catalog, instead of giving up
  • Visual search: shoppers upload a photo in the widget; the salesperson matches it against your synced Drupal Commerce catalog — no extra config
  • Brand-safe answers: every reply comes from your synced products and pages, never from training data. Low-confidence questions hand off to your team
  • Chat widget: automatically embedded on all pages with language and user awareness
  • Real-time product sync: products and variations are synced to Emporiqa on create, update, and delete
  • Page and policy sync: sync any content type (shipping policies, FAQs, about pages, etc.) using Drupal's native display mode system — you control exactly which fields are sent
  • In-chat cart: shoppers can add to cart, update quantities, remove items, and proceed to checkout from the chat widget
  • Order tracking: built-in API endpoint for shoppers to check order status via the chat, with hook-based extensibility for custom order systems
  • Conversion tracking: order completion events sent to Emporiqa for chat-attributed revenue reporting
  • Multi-language support: syncs content in all configured languages
  • Media support: supports image fields and Media references on both products and variations
  • Stock and availability: works with Commerce Stock, custom stock fields, or falls back to publish status
  • Admin UI sync: trigger full sync from the admin interface with a progress bar and live product/page counts
  • Field auto-detection: on install, automatically discovers your category, brand, image, stock, and attribute fields
  • Drush commands: emporiqa:sync-products, emporiqa:sync-pages, emporiqa:sync-all, and emporiqa:test-connection for bulk operations
  • Proactive chat triggers: engage shoppers based on time on page, scroll depth, pages visited, URL patterns, and exit intent — audience targeting and rate limiting included
  • CSAT ratings: post-chat satisfaction ratings (thumbs up/down) with aggregate scores on the dashboard
  • Extensibility: hooks to control which entities sync (hook_emporiqa_entity_sync_alter), modify payloads (hook_emporiqa_data_alter), intercept cart operations (hook_emporiqa_cart_alter), and customize order tracking (hook_emporiqa_order_tracking_alter)

Emporiqa also works with WooCommerce, Magento, PrestaShop, Shopware, Sylius, and any store via webhook API. Same platform, same dashboard, same salesperson.

Post-Installation

  1. Go to Administration → Configuration → Web services → Emporiqa (/admin/config/services/emporiqa)
  2. Enter your Store ID and Connection Secret (found in your Emporiqa dashboard under Settings → Store Integration)
  3. Click Test Connection to verify
  4. Review the auto-detected Field Mapping (the module pre-populates category, brand, image, and stock fields on install)
  5. For page/policy sync: go to Structure → Content types → [Your type] → Manage display, enable the Emporiqa tab, and configure which fields to include
  6. Run initial sync: use the Sync tab in the admin UI, or run drush emporiqa:sync-all from the command line

The chat widget appears automatically once the Store ID is configured.

Full documentation: emporiqa.com/docs/drupal/

Additional Requirements

  • Commerce Stock: enables stock level tracking for accurate product availability
  • Drush: provides CLI commands for manual sync operations and connection testing

Try It

The module is free. Create a free Emporiqa account with $25 of signup credit (about 100 conversations, no card required at signup). After the credit, conversations are $0.25 each. The monthly cap defaults to $59 and you can raise or lower it from your dashboard. Enterprise option for catalogs over 30,000 products. Full pricing at emporiqa.com/pricing.

Supporting this Module

Development is maintained by Emporiqa. For support, contact support@emporiqa.com or file an issue in the project queue.

Community Documentation

Project information

Releases