amjadiqbal/laravel-webhook-console
Laravel Webhook Console adds a dashboard for capturing, inspecting, and debugging incoming webhooks. Review payloads, headers, and delivery history, then replay or test requests to troubleshoot integrations faster.
Architecture fit: This is a Laravel-native webhook package: it persists inbound/outbound webhook deliveries, exposes a dashboard UI for inspection and replay, ships Artisan commands (webhooks:replay, webhooks:prune), and indexes stored payloads for search. That is a good fit for any Laravel service that already owns a queue worker and a relational database — there is no separate broker, no sidecar, no external service to operate. The package occupies the "webhook observability and remediation" niche rather than the transport niche, so it complements rather than replaces an existing HTTP client or queue setup.
Integration feasibility: High. Installation is Composer + service provider + migrations, consistent with the rest of a Laravel stack. The main integration work is not the package itself but the surrounding decisions: which events are dispatched through it, retention window, dashboard authorization, and whether replay is allowed against production endpoints.
Technical risk: v1.0.2 is a security patch and worth reading closely, because the defects are the kind that recur:
Key questions:
Stack fit: Assumes Laravel with a relational database and a working queue. The dashboard is server-rendered, so no frontend build step is introduced. Before committing, confirm the package's supported Laravel and PHP version matrix against our current runtime — a 1.0.x package often lags the newest framework major, and that constraint can propagate into our upgrade planning.
Migration path: Treat this as an additive capability, not a replacement. If we already log webhook deliveries ad hoc into application tables or log files, the migration is: install and migrate, route new deliveries through the package, run both paths in parallel for a defined window, verify parity, then retire the ad hoc path. Do not backfill historical payloads into the package's tables unless retention policy explicitly permits it — importing old data increases the blast radius of any future disclosure bug for no operational gain.
Compatibility: v1.0.2 is a patch release with no stated breaking changes, so it is the correct baseline to adopt rather than pinning to 1.0.1. Pin to a caret constraint and treat minor bumps as review-required. The one behavioral change to watch is the search notice: if any internal runbook or dashboard documentation describes the match-count output, it needs updating.
Sequencing:
webhooks:prune into the scheduler; verify the corrected "1 day" pluralization output in logs.Maintenance: Low ongoing effort in the steady state — one Composer dependency, one migration set, one scheduled prune. The real cost is policy upkeep: retention window, redaction rules, and dashboard access review. Assign those to a named owner; unowned retention policies drift into unbounded storage growth and expanding disclosure risk.
Support: Support load concentrates on two areas — replay failures (the exact path the security patch touched) and user confusion about why a webhook is missing from search results. Because v1.0.2 deliberately suppresses match counts and only shows the "newest matches checked" notice when something is visible, users will perceive search as silently truncating. Document the search semantics in the runbook before rollout to preempt tickets.
Scaling: The package is database-backed, so scale is governed by write volume and table growth, not by the package. Two levers: prune aggressively, and keep payload search off the hot path if payload columns are large. Payloads can be bulky; index carefully and expect the search feature to be the first thing to slow down under volume.
Failure modes:
Ramp-up: A Laravel developer can install and use this in under a day. The non-obvious learning is operational, not technical: understanding what the dashboard reveals, what replay actually does to downstream systems, and why search behaves the way it does. Budget a short written runbook — authorization model, retention policy, replay restrictions, search semantics — rather than relying on tribal knowledge. That documentation is also the artifact an auditor will ask for.
How can I help you explore Laravel packages today?