Queuety
Features

Webhooks

Queuety can send HTTP POST notifications to external URLs when specific events occur. Use webhooks to integrate with monitoring systems, Slack, or custom dashboards.

Supported events

EventFired when
job.completedA job finishes successfully
job.failedA job throws an exception
job.buriedA job exhausts all retry attempts
workflow.failedA workflow step fails permanently

Registering webhooks

Via PHP:

$id = Queuety::webhook_notifier()->register( 'job.buried', 'https://hooks.slack.com/services/...' );

Via CLI:

wp queuety webhook add job.buried https://hooks.slack.com/services/...
wp queuety webhook add workflow.failed https://monitoring.example.com/queuety

Listing webhooks

$webhooks = Queuety::webhook_notifier()->list();
wp queuety webhook list

Removing webhooks

Queuety::webhook_notifier()->remove( $webhook_id );
wp queuety webhook remove 3

Payload format

When an event fires, Queuety sends an HTTP POST request with a JSON body. The payload always has the shape:

{
    "event": "job.buried",
    "data": {
        "job_id": 42,
        "handler": "send_email",
        "queue": "emails",
        "error_message": "Connection timed out"
    },
    "timestamp": "2025-03-15T14:30:00Z"
}

For workflow failures:

{
    "event": "workflow.failed",
    "data": {
        "workflow_id": 7,
        "job_id": 42,
        "handler": "CallLlmStep",
        "error_message": "API rate limit exceeded"
    },
    "timestamp": "2025-03-15T14:30:00Z"
}

Webhook delivery is fire-and-forget. Queuety uses a very short timeout and ignores delivery failures so workers are not blocked by slow or unavailable webhook endpoints.

Use cases

  • Slack alerts. Get notified when jobs are buried or workflows fail.
  • PagerDuty integration. Trigger incidents for critical job failures.
  • Custom dashboards. Stream events to your own monitoring infrastructure.
  • Audit trail. Forward events to an external logging service.

On this page