.agents/skills/configuring-horizon/references/notifications.md
Search with search-docs:
"horizon notifications" for Horizon's built-in notification routing helpers"horizon long wait detected" for LongWaitDetected event detailswaits in config/horizon.php controls the LongWaitDetected thresholdThe waits array (e.g., 'redis:default' => 60) defines how many seconds a job can wait in a queue before Horizon fires a LongWaitDetected event. This value is set in the config file, not in Horizon's notification routing. If alerts are firing too often or too late, adjust waits rather than the routing configuration.
HorizonServiceProviderConfigure notifications in the boot() method of App\Providers\HorizonServiceProvider using Horizon::routeMailNotificationsTo(), Horizon::routeSlackNotificationsTo(), or Horizon::routeSmsNotificationsTo(). Horizon already wires LongWaitDetected to its notification sender, so the documented setup is notification routing rather than manual listener registration.
Horizon's 12.x documentation covers built-in long-wait notifications. Do not assume the docs provide a JobFailed listener example in HorizonServiceProvider. If a user needs failed job alerts, treat that as custom queue event handling and consult the queue documentation instead of Horizon's notification-routing API.