smaily / smailyformagento
Smaily Connect for Magento 2 — newsletter sync, marketing automations, abandoned cart, RSS product feeds and Campaign Intelligence
Package info
github.com/sendsmaily/smaily-magento-extension
Type:magento2-module
pkg:composer/smaily/smailyformagento
Requires
- php: ~8.1.0 || ~8.2.0 || ~8.3.0 || ~8.4.0
- ext-json: *
- guzzlehttp/guzzle: ^7.4
- magento/framework: ^103.0.4
- magento/module-backend: ^102.0
- magento/module-catalog: ^104.0
- magento/module-catalog-inventory: ^100.4
- magento/module-checkout: ^100.4
- magento/module-config: ^101.2
- magento/module-cookie: ^100.4
- magento/module-customer: ^103.0
- magento/module-newsletter: ^100.4
- magento/module-quote: ^101.2
- magento/module-sales: ^103.0
- magento/module-store: ^101.1
- magento/module-ui: ^101.2
- magento/module-widget: ^101.2
Requires (Dev)
- bitexpert/phpstan-magento: ^0.43.0
- magento/magento-coding-standard: *
- phpstan/extension-installer: ^1.4
- phpstan/phpstan: ^1.10 || ^2.0 <2.2.6
- phpunit/phpunit: ^9.6 || ^10.5
Suggests
- magento/module-inventory-api: Campaign Intelligence re-syncs a product when a Multi-Source Inventory source item is saved (plugin on SourceItemsSaveInterface); without MSI the legacy stock observer covers it.
- magento/module-inventory-source-deduction-api: Campaign Intelligence re-syncs a product when a shipment deducts stock or a credit memo returns it under MSI (plugin on SourceDeductionServiceInterface); without MSI the legacy stock observer covers it.
Provides
None
Conflicts
None
Replaces
None
- dev-master
- 3.0.0-rc12
- 3.0.0-rc11
- 3.0.0-rc10
- 3.0.0-rc9
- 2.8.1
- 2.8.0
- 2.7.7
- 2.7.6
- 2.7.5
- 2.7.4
- 2.7.3
- 2.7.2
- 2.7.1
- 2.7.0
- 2.6.0
- 2.5.0
- 2.4.0
- 2.3.1
- 2.3.0
- 2.2.0
- 2.1.0
- 2.0.0
- 1.2.0
- 1.0.2
- 1.0.1
- 1.0.0
- 0.9.3
- 0.9.2
- 0.9.1
- 0.9.0
- dev-docs/status-session-end-2026-10-12
- dev-erkki/pro-4065-transactional-woo-parity
- dev-erkki/pro-4062-transactional-settings
- dev-erkki/pro-4057-storefront-translations
- dev-erkki/pro-2461-browse-empty-sku-fallback
- dev-docs/status-after-rc12-generic
- dev-docs/status-after-rc12
- dev-erkki/pro-4053-upgrade-from-app-code
- dev-release/3.0.0-rc12
- dev-erkki/pro-4037-import-card-sync-inactive
- dev-erkki/pro-4041-legacy-sync-without-row
- dev-erkki/pro-4040-newsletter-emails-when-sync-inactive
- dev-erkki/pro-4036-contact-sync-waits-for-contacts-step
- dev-refactor/tighten-2026-10-09-changes
- dev-erkki/pro-4016-start-import-before-save
- dev-erkki/pro-4017-when-contact-sync-starts
- dev-docs/status-after-rc11
- dev-erkki/pro-4020-hyva-one-command-docs
- dev-erkki/pro-4020-hyva-companion-publish
- dev-release/3.0.0-rc11
- dev-erkki/pro-4011-composer-install-docs
- dev-erkki/pro-4018-hyva-companion-install
- dev-erkki/pro-4015-no-workflow-notice
- dev-erkki/pro-4007-customers-import-notice
- dev-erkki/pro-3953-guide-site-live
- dev-docs/orchestrator-merges
- dev-erkki/pro-4008-erased-marker-active-cart
- dev-erkki/pro-4010-contacts-step-keeps-sync
- dev-erkki/pro-4013-abandoned-cart-carry-over
- dev-erkki/pro-4012-website-picker
- dev-erkki/pro-4009-welcome-carry-over
- dev-erkki/pro-3967-upgrade-walk
- dev-erkki/pro-3964-erased-cart-marker-retention
- dev-docs/status-handoff-2026-10-08
- dev-dev/match-linux-user
This package is auto-updated.
Last update: 2026-10-12 14:18:05 UTC
README
Smaily email marketing, automations and Campaign Intelligence for Magento 2, Adobe Commerce and Mage-OS. Feature-aligned with the Smaily Connect plugins for WooCommerce and Shopify.
Features
- Contact synchronization — near-real-time, two-way: new contacts flow to Smaily instantly; unsubscribes in Smaily mirror back to Magento.
- Contact sync modes — lawful-basis presets: subscribers only (consent, default), all customers (legitimate interest), or checkout opt-in only.
- Marketing automations — welcome, first order and abandoned cart events trigger your Smaily workflows, with per-language routing for multilingual stores.
- Abandoned cart — configurable cutoff, rich product payloads and a secure recovery link that restores the exact cart.
- Checkout opt-in — a newsletter checkbox in the checkout payment step (guests and customers, double opt-in respected).
- Product RSS feed — for the Smaily template editor, with category, limit and sort parameters and storefront-accurate pricing.
- Campaign Intelligence (optional) — catalog, customer, order and browse data power personalized recommendations, attribution and engine-run automations (replenishment, win-back, …); a CMS widget shows each shopper their recommendations on the store's pages.
- Operational visibility — durable delivery queues with automatic retries, admin event logs with one-click retry, health notices, and chunked historical imports that never block live traffic.
- Privacy-first — encrypted credentials, GDPR export/erase tooling and a shopper personalization opt-out page.
- Translated — ships with English and Estonian (
et_EE) translation packs for the admin and the storefront, and storefront texts in Russian, Finnish, Latvian and Lithuanian (machine translations awaiting a native review).
Requirements
- Magento Open Source / Adobe Commerce 2.4.4+ or Mage-OS
- PHP 8.1 – 8.4
- A working Magento cron (ideally every minute)
Installation
composer require smaily/smailyformagento:3.0.0-rc12 bin/magento module:enable Smaily_Connect bin/magento setup:upgrade
Until 3.0.0 is released, require the release candidate's exact version, as
the releases page
names it: without a version, composer installs the old 2.8.1. A store in
production mode also needs maintenance mode, setup:di:compile and
setup:static-content:deploy — the full sequence is in the
User Guide.
Manual install: extract the release ZIP to app/code/Smaily/Connect and
run the same bin/magento commands. Each release also carries a .sha256
file next to the ZIP — sha256sum -c smaily-connect-magento2.zip.sha256
confirms you downloaded the archive we built.
Upgrading from 2.8.x? Settings migrate automatically, but
composer update alone stays on 2.8.x — follow the commands in
UPGRADING.md.
Documentation
| User Guide | Setup, every setting explained, CLI reference, FAQ — in English and Estonian |
| Installing from the ZIP | Manual install without composer: verify, extract, set up, update, remove |
| Upgrading | Migrating from Smaily for Magento 2.8.x |
| Architecture | How the module works inside (for developers) |
| Hyvä Support | Hyvä theme compatibility: audit, compat module, verification results |
| Headless Storefronts | What works with a separate storefront application, and what its team must add |
| Testing | Test suites, sandbox, upgrade verification |
| Contributing | Development environment and quality gates |
Quick start
- Run the wizard: Marketing > Smaily Connect opens the guided setup on a fresh install — connect your Smaily account, choose your audience, map automations and (optionally) Campaign Intelligence in five steps.
- Everything after that: Marketing > Smaily Connect > Dashboard (health and activity at a glance), Settings (the same options as always-available tabs, including historical imports) and Log (every delivery, with retry).
Everything is configured on the module's own pages — there is no separate Stores > Configuration entry. Installs with more than one website get an explicit website selector on Settings (and a website-picker step in the wizard) so each website keeps its own connection and settings.
Development
composer install # Magento packages via the Mage-OS mirror vendor/bin/phpunit --testsuite unit vendor/bin/phpcs vendor/bin/phpstan analyse vendor/bin/phpunit -c phpunit.integration.xml.dist # needs MySQL, see TESTING.md docker compose up -d # Magento 2.4.8 sandbox on http://localhost:8080
License
GPL-3.0 — see LICENSE.txt.
Legacy note: the 2.8.x extension (Smaily_SmailyForMagento) is no longer
developed. Its releases stay available under their tags, the last one
2.8.1.