Main Header

Per-Service Routing Behavior

Updated on July 30, 2026

Every integration shares the same Advanced Event Routing fields on its Routing tab, but a few services add extra gates or different log behavior. This page summarizes those differences so you know what to expect in delivery logs and Local records.

Configure routing from SignalPress → Integrations → {Service} → Routing.

Shared behavior (most integrations)

For PostHog, Webhooks, RequestBin, Pushover, analytics sinks, and most Pro integrations:

Local

BehaviorDetail
Routing tabSame event filters as other services
Filtered eventsNot logged; not stored in Local records
sp_capture() resultStill true for the local key when filtered

Use Local for debugging captures that pass routing; do not rely on Local to audit filtered events.

Email

BehaviorDetail
Routing UICustom Single Message / Message templates UI — Email Routing
Templates modeGlobal client routing skipped; per-row evaluation inside Email
Minimum level (Settings)Silent skip before send
Routing Minimum Level (Routing)filtered log when Single Message path runs

Slack, Discord, Microsoft Teams

Chat integrations add Minimum level on the Settings tab (default warning):

PHP

sp_capture(
	'cache_cleared',
	[ 'message' => 'Object cache flushed.', 'level' => 'info' ],
	[ 'services' => [ 'slack' ] ]
);

With Settings Minimum level at warning, this info event is skipped silently — no filtered log row, and sp_capture() still returns true for slack.

Routing tab Routing Minimum Level still produces filtered rows when it blocks delivery.

Analytics-capable services (PostHog, Mixpanel, GA4, Sentry, Datadog)

ChannelRouting
PHP sp_capture()Full routing + request rules
JavaScript SignalPress.capture()Full routing + request rules (via server)
JavaScript SignalPress.analytics()Not gated by server Routing tab — Client-side analytics

Server capture and browser analytics are separate channels.

Dispatch order reminder

For each targeted, enabled service:

  1. signalpress/should_deliver_to_service (Tier 1+)
  2. signalpress/service_event (Tier 1+)
  3. Advanced signal routing (+ request rules on Tier 2)
  4. Service-specific gates (minimum_level on Email/Slack/Discord/Teams)
  5. Provider capture()

Email Message templates replace step 3 with per-row evaluation inside the Email service.

Tier summary

FeatureTier
Signal filters (Routing tab)1+
Request rules2
Email Message templates2
Hooks before routing1+

See Free vs SignalPress Pro.