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

Nova Webhooks Laravel Package

opscale-co/nova-webhooks

opscale-co/nova-webhooks adds webhook management to Laravel Nova. Create and manage outgoing webhook endpoints, configure events, and monitor deliveries from your Nova admin panel. A straightforward tool for integrating webhook support into Laravel applications.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

Architecture fit

  • This is a Nova admin surface plus an outbound dispatcher inside the host Laravel app. It is not a standalone webhook service; it inherits the app's queue, auth, and deployment model. The TPM framing matters here: the value proposition is admin visibility and kill-switch capability without custom screens, not webhook transport itself.
  • Two hard prerequisites gate the whole business case: (a) the product already runs Laravel Nova, and (b) there is a durable queue backend with managed workers. If either is missing, this package is really a Trojan horse for a Nova license purchase plus a queue-architecture initiative. Those should be funded and decided on their own merits — do not let "we want webhooks" smuggle them in.
  • The scope boundary that drives estimation: this package solves the producer side only. Signature verification, idempotency, replay protection, and error handling on the receiver are the customer's problem and are routinely where integration projects blow their budget.

Integration feasibility

  • Install path is conventional: Composer, publish config/migrations, migrate, register the Nova tool, provision workers. No bespoke infrastructure.
  • Feasible for any team already fluent in Laravel and Nova. The feasibility question is not technical — it is whether the product has an owner for the consumer-facing integration contract (signature scheme, retry semantics, delivery-ID headers) that customers will build against. That contract, once published, is expensive to change.

Technical risk

  • The release itself is the top risk. v1.2.0's sole substantive change is "adopt opscale-co/actions v4" — a major dependency bump shipped inside a minor package release. The changelog does not state whether behavior changed. A major bump to the dispatch/action layer is exactly where retry semantics, job payload shape, middleware, or PHP/Laravel floors shift — precisely the behaviors a smoke test will not catch.
  • Adoption risk is dominated by project maturity signals: 0 stars, unknown maintainer count, no visible security disclosure process, and a dependency chain where two packages from the same vendor org sit in the delivery path. For a component that touches every outbound customer integration, that concentration should be a documented, accepted risk with a mitigation plan — not an implicit one.
  • Duplication risk: if the org already runs spatie/laravel-webhook-server or an in-house dispatcher, this adds a second delivery mechanism and a second place to look during incidents.
  • Semver trust risk: if minor releases can carry transitive majors, Dependabot auto-merge must be disabled for this package. That's a policy decision the TPM should make up front, not after an incident.

Key questions

  1. What changed in opscale-co/actions v4 — minimum PHP/Laravel, job payload, retry/backoff defaults, signing, middleware?
  2. Does v1.2.0 raise this package's own PHP/Laravel/Nova floors? Read composer.json, don't infer from the changelog.
  3. Is delivery at-least-once or at-most-once? Are delivery IDs / idempotency keys exposed so customers can dedupe?
  4. What is the signature scheme — HMAC algorithm, timestamp/replay protection, dual-secret rotation window?
  5. Do delivery logs have retention/pruning controls, or do they grow unbounded with every retry attempt?
  6. Is there a support commitment — issue responsiveness, release cadence, CI coverage, maintainer count?
  7. Does this replace or duplicate an existing dispatcher, and who owns the customer-facing contract doc?

Integration Approach

Stack fit

  • Requires Laravel (confirm 10/11/12 from composer.json) with Nova 4 or 5, plus a queue driver suited to outbound HTTP (Redis + Horizon, or SQS). Sync-queue operation defeats the purpose entirely — it converts third-party latency into user-facing latency.
  • Verify outbound egress policy: arbitrary customer endpoints, non-standard ports, and varied TLS configurations are the norm. If egress allowlisting is required, that is a procurement and network-policy task with lead time, not a code task.

Migration path

  • Greenfield: composer require, publish, migrate, register tool, configure queue and workers, define subscriptions.
  • If an in-house dispatcher exists, run dual-delivery in shadow mode — new package delivers to internal-only receivers while the old path stays authoritative — before any cutover. Do not plan a big-bang switch on a system customers depend on.
  • If Nova is not yet adopted, treat that as a separate program with its own business case; this package becomes a dependent deliverable, not a driver.

Compatibility

  • Pin exact versions; treat the opscale-co/actions v4 constraint as the binding constraint and test it against the existing lockfile before committing.
  • Validate the Nova major-version constraint explicitly — a Nova upgrade is the most likely forced upgrade trigger, and it will arrive on Nova's schedule, not yours.
  • Confirm the PHP floor against the full fleet, including any legacy runtime still in service.

Sequencing

  1. Diff the manifests, not the changelog — compare composer.json v1.1.0 vs v1.2.0. Fifteen minutes that converts most of the risk above into facts.
  2. Spike on a branch: install v1.2.0, deliver to a request-capture endpoint, verify headers, signature, retry behavior, log persistence.
  3. Staging against a receiver that deliberately returns 4xx/5xx to exercise retry and dead-letter paths.
  4. Production behind per-subscription feature flags, starting with one internal consumer. The active/inactive toggle is the package's best operational asset — use it as the rollout mechanism.
  5. Open to external customers only after the retry/dead-letter runbook and the customer-facing integration guide exist.

Operational Impact

Maintenance

  • Ongoing cost is a two-package vendor chain plus Nova's own major cadence. Budget a recurring dependency-review line item, not a one-time install.
  • Because minor releases can carry transitive majors, lockfile diffs must be reviewed on every bump. Auto-merge is inappropriate here.

Support

  • Support posture is the weakest signal available. Unknown maintainers, unknown responsiveness, no visible security disclosure process. For a component on the outbound path to customer endpoints, that is a risk to accept explicitly and mitigate structurally.
  • Mitigation: keep the integration thin. No business logic inside the package's extension points or payload transformers; centralize serialization in app code so the package is swappable. If support degrades, replacing it should be a sprint, not a rewrite.

Scaling

  • Throughput is bounded by worker concurrency and per-endpoint HTTP timeouts — not by this package. Size workers against peak event volume, not average.
  • Fan-out amplification is the number to model: one event × N subscriptions = N outbound requests and N log rows. For high-fan-out entities this drives both queue depth and storage.
  • Delivery-log tables grow on every attempt including retries. Without a retention policy this becomes the dominant storage cost. Confirm pruning support before launch, not after the table is huge.
  • Retry storms against a flapping consumer endpoint are the classic failure; verify exponential backoff with jitter.

Failure modes

  • Queue backlog → delayed deliveries with no user-visible signal unless queue lag is monitored and alerted.
  • Consumer downtime → retry exhaustion → silent loss if dead-letter handling is absent.
  • Secret rotation without a dual-secret window → signature mismatches and customer-side outages.
  • Duplicate deliveries causing double-charges or double-provisioning on customers who assume exactly-once. This must be stated in the integration contract.
  • Misconfigured queue → blocking HTTP calls in the request path, degrading the primary application.
  • Version-floor drift: a future patch silently raising the PHP/Laravel floor via the actions chain.

Ramp-up

  • 1–2 engineer-days for install, config, and a verified end-to-end delivery in staging for a Laravel/Nova-fluent team.
  • ~1 sprint to production-hardened: queue-lag and delivery-failure-rate monitoring, dead-letter handling, secret rotation runbook, per-subscription flags, and a published customer-facing guide covering signature verification, retry expectations, and idempotency.
  • If the team is new to Nova, add onboarding for the admin-tooling model — a real cost routinely omitted from webhook estimates, and one that also implies a licensing and upgrade-ownership decision above this package's pay grade.
  • TPM success metrics to instrument from day one: delivery success rate by endpoint, p95 delivery latency, queue lag, dead-letter count, and percentage of subscriptions still active after 30 days (a proxy for whether the admin-visibility value proposition is actually landing).
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.
shitoudev/permissionmanager
johannesclimacus/laravel-tui
hocvt/seotools
vitalybaev/sypexgeo
amphibee/themosis-ignition
gito-me/fast-excel
frankyso/laravel-ipaymu
geolize-studio/laravel-chile
boomerangui/chat
jinas/dhivatar
store-doc/laravel-storage-driver
plus-it/laravel-translation-manager
diephp/perhaps
diephp/telegraph
osmaviation/spreadsheet
microsoft/fluentui-system-icons
mmccook/php-json-canonicalization-scheme
middlewares/firewall
qubiqx/montapacking
nyoncode/laravel-package-console