Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Webhooks Laravel Package

liberusoftware/webhooks

A Laravel package for handling webhooks, offering tools to receive, verify, and dispatch webhook requests between your application and external services with a simple, framework-friendly API.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

Architecture fit

  • The feature list (endpoint registration, signing, filtering, delivery evidence, backoff, rotation, replay, logs) describes an outbound webhook delivery subsystem — the publisher side of a SaaS integration surface. It is not an inbound webhook receiver. Confirm this before scoping: teams frequently mis-map "webhooks package" to the wrong direction and discover the gap after sprint planning.
  • If the product need is "let customers subscribe to our events with signed, retryable, replayable deliveries," the scope is unusually complete for a single package. That is the strongest argument in its favor: signing + rotation + backoff + replay + evidence in one place is normally 3–6 weeks of build plus ongoing hardening.
  • Expected Laravel conventions (service provider, publishable config/migrations, queued jobs, events) make it structurally idiomatic. The module- repository prefix and liberusoftware vendor namespace suggest it is designed for an opinionated modular Laravel ecosystem; standalone behavior in a vanilla app is unverified.
  • Poor fit if you need: inbound webhook ingestion, multi-tenant isolation guarantees, or a delivery engine you can reason about without reading vendor source.

Integration feasibility

  • MIT license and Composer distribution remove legal and packaging blockers. Integration effort is dominated by verification, not wiring.
  • The real feasibility question is standalone operability: does it require a module loader or host-application contracts? A one-hour install spike in a throwaway Laravel app answers this definitively and should gate any further investment.

Technical risk

  • Adoption risk (high): 0 stars, 0 dependents, and an overall score of ~19.8 indicate no production validation. The opportunity score of 44.9 says the problem space is real and underserved — not that this implementation is proven.
  • Bus factor (high): single-vendor package with no visible contributor base. No community support path, no CVE response process, no deprecation policy.
  • Security risk (high, and disqualifying if unmitigated): webhook signing is a security primitive. Verify constant-time HMAC comparison, encrypted secret storage at rest, replay-window enforcement, key rotation overlap windows, and — critically — SSRF protection on registered endpoint URLs, since consumers control those URLs and your infrastructure fetches them.
  • Metadata anomaly (medium): last release dated 2026-10-27 is a future/placeholder date. Treat release cadence and version stability as unverified; do not assume semver discipline.
  • Supply-chain risk (medium): the package ships migrations and executable code into your app. Pin exact versions and review the diff on every upgrade.

Key questions

  1. Outbound only, or does it also handle inbound?
  2. Does it run standalone in a vanilla Laravel 10/11/12 app, or does it require the Liberu module framework?
  3. What is the signing algorithm and secret lifecycle — is rotation graceful (dual-secret overlap) or a hard cutover?
  4. Are delivery records and replay bounded by retention and idempotency, or can replay duplicate side effects?
  5. Is there endpoint URL validation (scheme allowlist, private-IP blocking) to prevent SSRF?
  6. What is the test suite coverage, and is CI visible?
  7. Who is the maintainer, and is there any commercial support or SLA?
  8. What are the queue, scheduler, and multi-tenant assumptions?

Integration Approach

Stack fit

  • Requires a functioning Laravel queue (Redis/SQS preferred over database at volume) and scheduler for backoff. If the app already runs Horizon or equivalent, operational fit is good.
  • Delivery evidence and logs imply new tables with append-heavy write patterns. Confirm the storage engine and expected growth against current database sizing before committing.
  • Best fit: B2B SaaS with a modest number of tenant endpoints (tens to low thousands) and event volumes under a few hundred deliveries per second.

Migration path

  • Wrap the package behind a thin internal interface (e.g., WebhookDispatcher, EndpointRegistry) so the vendor surface is one adapter, not scattered call sites. This is the single highest-leverage decision: it converts an abandonment risk into a contained rewrite rather than a platform outage.
  • For teams with existing bespoke webhook code, run the package in shadow mode — dual-emit, compare signatures and delivery outcomes, no customer impact — before cutover.
  • Maintain your own delivery_events audit table (or replicate) so replay history survives a vendor swap.

Compatibility

  • Verify Composer constraints against your PHP and Laravel versions; a narrow constraint may force a framework upgrade or a fork.
  • Check migration and config publish tags for namespace collisions, and confirm route prefixes and middleware groups do not conflict with existing API surfaces.
  • Multi-tenant support is unconfirmed: validate whether endpoints, secrets, and logs are tenant-scoped, or whether you must add scoping via global scopes or a wrapper.

Sequencing

  1. Install spike (1 day): fresh Laravel app, publish config/migrations, register an endpoint, force one signed delivery.
  2. Security review (2–3 days): signing, secret storage, SSRF, replay window, timing-safe comparison. Gate here.
  3. Adapter layer + shadow mode (1 week): internal interface, dual-emit against a staging consumer.
  4. Failure-mode rehearsal (3–5 days): kill a consumer, force 5xx storms, rotate secrets mid-flight, replay a batch.
  5. Pilot (2–4 weeks): 2–3 design-partner tenants, feature-flagged, with an internal runbook.
  6. GA: only after replay and rotation are exercised under real traffic.

Operational Impact

Maintenance

  • Assume internal ownership of the code path. With no dependents and no community, upstream fixes are not a plan; a vendored fork or a hard pin plus in-house patching capability is the realistic model.
  • Budget ~10–15% of one engineer's time for upgrades, security patches, and drift. Pin exact versions; review every diff before bumping.

Support

  • No external support channel. Your on-call team is the support tier. Produce runbooks for: rotating a customer secret, replaying a failed batch, disabling a poisoned endpoint, and draining a retry backlog.
  • Ramp-up is non-trivial despite idiomatic Laravel: webhook delivery has subtle semantics (ordering, at-least-once, idempotency). Expect 2–3 days for an engineer to be productive, plus the security review time.

Scaling

  • Throughput is bounded by queue worker capacity and consumer responsiveness, not by your infrastructure. Slow customer endpoints will consume workers; enforce per-endpoint concurrency caps and timeouts or one bad consumer degrades all deliveries.
  • Backoff schedules interact badly with fan-out: a wide event broadcast to many failing endpoints can create retry amplification. Validate that backoff includes jitter and a max-attempt ceiling.
  • Evidence and log tables grow monotonically and are the most likely capacity surprise. Define retention and partitioning up front.

Failure modes

  • Retry storm / queue backlog: poisoned or slow endpoints starve shared queues. Mitigation: dedicated queue, per-endpoint limits, circuit breaking.
  • Secret rotation blast radius: a botched rotation can 401 every delivery to a tenant at once. Mitigation: dual-secret overlap, staged rollout, per-tenant controls.
  • Replay duplication: replay without idempotency keys causes duplicate side effects in customer systems — a reputational incident, not just a bug. Mandate idempotency headers and document replay semantics.
  • SSRF: a tenant registering an internal URL can exfiltrate metadata or probe the VPC. Non-negotiable mitigation.
  • Package abandonment or breaking release: contained only if the adapter layer exists.
  • Migration rollback: schema changes on an append-heavy table can be slow; validate rollback in staging at realistic row counts.

Recommendation: Conditional go. The functional scope is a genuine accelerator and the opportunity signal is real, but the package is unvalidated and security-sensitive. Proceed only if the install spike passes, the security review clears, and the adapter layer plus a fork-or-replace contingency are funded from day one. If the security review cannot be completed by someone qualified, build the delivery engine in-house — the risk of shipping unvetted signing code outweighs the saved sprint.

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
pharaonic/laravel-notification-dependencies
beautinow/translug
dev-brainiac/bot-cloaked
octoberrain/html
octoberrain/extension
octoberrain/exception
octoberrain/contracts
frankyso/ipaymu
3mdikram/worldmoneywords
snowsoft/config
itmosoft/laravel-subscriptions
larva/laravel-ai-qwen
adachsoft/api-version-bundle
cgv/localized-resource
noith/settings
kda/laravel-package
kda/filament-dynamic-navigation
bypersoft/signbox
pairus/product-data
fayne/laravel-filament-cms-core