Official plugin on the Sylius marketplace

AI Chatbot for Sylius That Closes Sales

An online salesperson built for Sylius. Composer-installed, channel-aware, event-driven. Closes sales 24/7 in 65+ languages.

Capped at $59/month

Default cap, adjustable from your dashboard

Approved on Sylius Addons

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 Sylius Customers Get

Your shoppers don't care about Doctrine entities or channel scope. They care about finding the right product, getting answers fast, and reaching a real person when the salesperson can't help.

The right variant with per-channel pricing

"Warm jacket for hiking under 200" returns the right variant at the right channel price. No hunting through options, no wrong-currency confusion.

Shipping and policy answers in 65+ languages

Pulled from your CMS pages, scoped to the channel and locale the customer is shopping on. Correct answers at 2am, so your team stays focused on the hard tickets.

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 Sylius

The PHP chat plugin ecosystem grew around WordPress and Magento. Sylius developers inherit those plugins as an afterthought: embed-script widgets with no understanding of channels, locales, or Sylius's entity model. Emporiqa is written as a proper Sylius plugin following Symfony and Sylius conventions end to end.

No Sylius-native options

Script-tag widgets ship without config hooks or DI integration.

Channels and locales flatten

Per-channel products, prices, and locales get lost.

No customization hooks

No service decoration or event subscribers. Nothing to override cleanly.

How Emporiqa runs differently

  • Composer, bundle registration, YAML config: standard Symfony
  • Event subscribers on sylius.product.post_update and friends
  • Channel-aware: per-channel scope, locales, currencies
  • All services decoratable: override without forking

Three Steps to Live

Composer require, register, sync.

1

Composer require

Pull the plugin from Packagist into your Sylius project.

composer require emporiqa/sylius-plugin
2

Register & configure

Register the bundle, import the plugin routes, create emporiqa.yaml.

config/packages/emporiqa.yaml
3

Configure & sync

Set credentials in .env.local, then run a full sync.

bin/console emporiqa:sync:all
Full step-by-step setup guide

Bundle registration, event subscribers, service decoration, and troubleshooting.

Built for How Sylius Works

Channels, locales, event subscribers, service decoration. All handled.

Proper Symfony bundle

Composer install, bundle registration, YAML config, DI services behind interfaces. All standard Symfony.

Event subscribers

Listen on sylius.product.post_update, sylius.order.post_complete, etc.

Channel-aware

Each channel maps to a distinct catalog scope with its own locales, currencies, and pricing.

Locale-aware translations

All product translations sync together. Cross-language search across every configured locale.

Service decoration

Every service decoratable via standard Symfony decoration. Override filtering, mapping, or sync logic without forking.

Console commands

bin/console emporiqa:sync:all for bulk sync, emporiqa:test-connection for health.

Hybrid product search

Vector + BM25. Meaning-based with exact match fallback.

Cart operations in chat

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

Conversion tracking

Attributed revenue, funnel data, CSAT ratings.

Visual search

Shoppers upload a photo (something they saw on social, a style they like) and the chat finds the closest match in your Sylius 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 Sylius

Quick answers. Full Sylius FAQ →

Is it a proper Sylius plugin?

Yes. Symfony bundle installed via Composer, with event subscribers, service decoration, and channel-aware logic following Sylius conventions.

What Sylius versions are supported?

Sylius 1.12, 1.13, and 2.0. Symfony 6.x or 7.x. PHP 8.1 or higher.

Does it handle channels and locales?

Yes. Each channel maps to a catalog scope with its own locales and currencies. Translations sync together so cross-language search works across all configured locales.

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