Main Header

Slack for SignalPress

Updated on July 30, 2026

Use Settings to configure delivery, 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 Slack when activity on your site should become a channel alert.

Slack is a premium SignalPress service. The active license must include service_slack or *.

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

Slack setup

  1. Create or open a Slack app at [Your Apps](https://api.slack.com/apps).
  2. Open Incoming Webhooks and activate incoming webhooks.
  3. Select Add New Webhook to Workspace, choose a channel, and authorize the app.
  4. Copy the generated https://hooks.slack.com/services/... URL.
  5. Activate Slack in SignalPress, paste the URL into Webhook URL, set Minimum Level and Signal payload, enable the service, and save.
  6. Send a test signal and confirm it appears in the selected channel.

Settings

FieldPurpose
Webhook URLIncoming webhook URL (secret).
Minimum LevelService-level gate inside delivery. Default: warning.
Signal payloadInclude redacted JSON in the message. Default: on.

Delivery thresholds

SignalPress applies two independent level checks:

  1. Routing → Routing Minimum Level (Tier 1+) — filters events before they are offered to Slack.
  2. Settings → Minimum Level — final gate inside the Slack service.

An event must pass both before SignalPress sends the signal.

The webhook URL is a secret. Do not publish it or include it in source control. SignalPress also accepts GovSlack hooks.slack-gov.com webhook URLs.

Send a signal

PHP

sp_capture(
    'backup_failed',
	[ 'message' => 'The nightly backup failed.', 'level' => 'error' ],
	[ 'source' => 'backup-worker', 'services' => [ 'slack' ] ]
);

Recognized levels are debug, info, warning, error, and critical. Missing or invalid levels are informational. Messages use Slack Block Kit and can include a redacted JSON payload limited to 2,500 characters.

The signalpress/slack/payload filter can adjust the final webhook request body.

Connection test

A successful test requires HTTP 200 and a response body of ok (case-insensitive). Normal signal delivery is non-blocking.