Two ecosystems,
One big event.
November 5, 2026. Lyon
Save your seat >>
No reviews yet

Webhook Outbox

Product Webhook Outbox Image

Outgoing webhooks for Sylius that are never lost: transactional outbox, Standard Webhooks signatures, retries, dead letters and replay from the admin.

Sylius version
2.2
Downloads
< 1K

The problem

Your ERP, CRM or iPaaS wants to know when an order is placed, paid, shipped or cancelled, when a customer signs up, when stock moves. Sylius 2 has no outgoing webhooks, and an HTTP call in a listener loses events when the call fails, sends events for rolled-back changes, and leaves no trace.

Features

  • Transactional outbox: events are inserted in the same database transaction as the business change, whatever the entry point (shop, API, admin, CLI).

  • Events: order.placed, order.paid, order.cancelled, order.shipped, customer.created, customer.updated, product_variant.stock_changed, webhook.ping.

  • Stable payloads: versioned envelope, own normalizers, no passwords or tokens; JSON Schemas included.

  • Standard Webhooks v1 signatures, tested against the specification vectors; receiver snippets for PHP and Node.

  • Retries over about three days, Retry-After honoured, 410 Gone disables the endpoint; then dead letters.

  • Admin: endpoints (secret shown once, regenerate, ping), deliveries grid, delivery detail, retry now, replay (single and bulk).

  • Safe HTTP client: private networks blocked after DNS resolution, no redirects, HTTPS only, timeouts.

  • Workers: cron or long-running worker, SKIP LOCKED claims with a lease.

  • GDPR: retention purge and customer anonymisation commands.

  • Extensible: register your own event types through a tagged registry.

Installation

  1. composer require tmonier/sylius-webhook-outbox-plugin

  2. Register Tmonier\SyliusWebhookOutboxPlugin\TmonierSyliusWebhookOutboxPlugin in config/bundles.php.

  3. Import @TmonierSyliusWebhookOutboxPlugin/config/config.yaml and the admin routes.

  4. Run bin/console doctrine:migrations:migrate.

  5. Run the worker tmonier:webhook:dispatch and schedule tmonier:webhook:purge; set framework.router.default_uri.

Compatibility

Sylius 2.2 and 2.3; MySQL 8+, MariaDB 10.6+, PostgreSQL 10+.

Languages

English, French, German, Spanish, Italian, Dutch, Polish.

Categories / tags

Integrations, Webhooks, ERP, Developer tools, Events

Reviews

No reviews yet

No reviews yet. Be the first to review this product!

Loading
  • Free updates
  • Community support

Have already account? Sign in
See how it works
Compatibility & requirements
  • Compatible with Sylius 2.2 and higher

No reviews yet
17 plugins
Since 12.10.2026

Free, open source (MIT) Sylius 2 plugins for European merchants: compliance (Factur-X, EU withdrawal, GPSR), B2B (quick order, volume pricing, quotes) and back-office productivity. Tested, PHPStan max, 7 languages.

Read more
Sylius Addons Marketplace

Discover plugins, themes, and resources from trusted vendors, helping you get the most out of your work.

© 2026 Sylius. All rights reserved.

Powered by Stripe