Main Header

Webhooks for SignalPress

Updated on July 30, 2026

Use Settings to manage endpoints, Routing to select events, Logs to inspect delivery history, and Help for this guide. Routing requires Tier 1; Tier 2 adds request rules. Log visibility, payload previews, and deletion can be delegated separately with Tier 2 role permissions.

Send signals to Webhooks when custom HTTPS endpoints should receive the SignalPress envelope.

Webhooks is a SignalPress Pro service that sends the standard SignalPress event envelope to custom HTTPS endpoints.

  • The license must include service_webhooks.

Hub service ID: webhooks. Index: Integrations Overview. Target from PHP: Service Targeting.

  • Tier 1 permits one saved webhook.
  • Tier 2 and above permit unlimited webhooks.
  • Downgrades preserve excess endpoints but do not deliver to them.
  • Endpoint URLs are masked in the list and excluded from delivery logs.

Each endpoint can be added, edited, enabled, disabled, tested, or removed from the Webhooks service page.

Setup

  1. Activate Webhooks from SignalPress → Integrations.
  2. Open Webhooks → Settings, enable the service, and add an HTTPS endpoint.
  3. Give the endpoint a recognizable name and leave it enabled.
  4. Test the endpoint. A successful test requires an HTTP 2xx response.
  5. Use Routing to control which server-side events are offered to the Webhooks service.

Every enabled endpoint receives the same event envelope. Ordinary event delivery is non-blocking, does not follow redirects, and uses WordPress safe-request validation.

Each POST includes headers:

  • Content-Type: application/json
  • X-SignalPress-Event — event name
  • X-SignalPress-Webhook — endpoint ID

Connection tests do not require a Project name (unlike most integrations).

Send an event only to Webhooks

PHP

sp_capture(
	'order_exported',
	[
		'order_id'    => 123,
		'destination' => 'warehouse',
	],
	[ 'source' => 'order-export', 'services' => [ 'webhooks' ] ]
);

The services option targets the Webhooks service. The service's Routing tab then makes the final delivery decision. If multiple endpoints are enabled, every one receives the event.

Route selected events

Add warehouse_* to Include Event Patterns, then capture:

PHP

sp_capture(
	'warehouse_inventory_low',
	[ 'sku' => 'ABC-123', 'remaining' => 4, 'level' => 'warning' ],
	[ 'source' => 'inventory-monitor', 'services' => [ 'webhooks' ] ]
);

Security and troubleshooting

  • Only HTTPS endpoint URLs are accepted.
  • Saved URLs are masked in the interface and excluded from delivery logs.
  • Do not include passwords, tokens, personal data, or secrets in event payloads.
  • A connection test is blocking and validates the response. Normal delivery is non-blocking, so downstream failures may not be available immediately.
  • Check Webhooks → Logs for accepted, filtered, and failed test records.