SignalPress adds one event API to WordPress so your code can send signals to logging, analytics, notification, and automation services. A signal is a structured alert or activity update — the same concept you'll see on the SignalPress marketing site. This guide walks through installing the plugin, opening the admin screens, and getting your first integration ready.
New to licensing? Read Free vs SignalPress Pro first if you plan to use premium destinations. Activation details: License activation.
Requirements
Before you install SignalPress, confirm your site meets these minimums:
- WordPress 6.2 or newer
- PHP 7.4 or newer
- An administrator account (SignalPress admin screens require administrator access by default; Permissions and Access covers Tier 2 role grants)
Premium integrations such as PostHog, Slack, and Datadog require SignalPress Pro and a valid license. The free plugin includes Local, Email, and RequestBin without a license. See Integrations Overview for the full catalog.
Install the free plugin
- Upload the
signalpressfolder towp-content/plugins/, or install the plugin zip through Plugins → Add New → Upload Plugin. - Go to Plugins in the WordPress admin.
- Find SignalPress and click Activate.
After activation, a top-level SignalPress item appears in the left admin menu.
Install SignalPress Pro (optional)
If you purchased SignalPress Pro:
- Upload the
signalpress-profolder towp-content/plugins/(or install the Pro zip the same way as the free plugin). - Activate SignalPress Pro — the free SignalPress plugin must be active first.
- Open SignalPress → Settings (General tab) and scroll to the SignalPress Pro license section.
- Enter your license key and click Activate — License activation.
Until Pro is installed, the Plugins page shows an Upgrade to Pro link on the SignalPress row.
Pro unlocks premium integrations on the Integrations page. Until Pro is installed and licensed, those integrations appear as preview cards with upgrade links. Details: Free vs SignalPress Pro.
Open the SignalPress admin menu
The left submenu includes:
| Menu item | Purpose |
|---|---|
| Settings | Plugin-wide options (see tabs below) |
| Recent Activity | Delivery history across all services — see Your First Connection Test |
| System Logs | PHP error log viewer (Plus tier and above) |
| sp_capture Builder | Compose sample PHP or JavaScript sp_capture() calls — sp_capture Builder |
| Integrations | Browse, activate, and upgrade integrations — Integrations Overview |
| Active integrations | Quick links to each activated service |
Help, About, Permissions, Delivery Queue, and Debugging are tabs on the Settings page, not separate left-menu items.
Open SignalPress → Settings, then use the tab bar:
| Tab | Purpose |
|---|---|
| Settings | Project, environment, event delivery, plugin status endpoint (Tier 2), license |
| Permissions | Role-based admin access (Tier 2) — Permissions and Access, Role-based permissions |
| Delivery Queue | Background delivery and server cron (Tier 2) — Reliable Delivery and Event IDs |
| Debugging | Basic sp() (all tiers), Pro debugging and related tools (Tier 2) — Debugging overview |
| About | Version and credits |
| Help | General SignalPress developer documentation |
Non-administrator users only see menu items and tabs their role permissions allow.
Configure general settings first
On SignalPress → Settings → Settings, review:
- Project — default project or site label attached to events (also set per event — Event Context and Options)
- Environment — production, staging, development, or local
- Event delivery — master switch; when unchecked,
sp_capture()returns an empty array and nothing is dispatched — Capturing Events with sp_capture() - Capture origin (free) — record plugin, file, and line metadata in logs and observability integrations — Capture Origin
- Plugin status endpoint (Tier 2) — REST health JSON at
/wp-json/signalpress/v1/statusfor monitoring
These values apply across integrations unless a service overrides them.
Activate an integration
SignalPress separates two ideas that are easy to mix up:
- Integration activation — whether the integration is turned on in SignalPress and visible in the admin menu
- Service enabled — whether that integration is allowed to send events right now
An integration can stay active with its settings saved while Enable service is unchecked. That is useful when you want to pause delivery without losing credentials.
See Integrations Overview for the full activation vs delivery explanation.
Turn on your first integration
- Open SignalPress → Integrations.
- Choose a service — Local is a good starting point because it is free and active by default.
- Click Activate on the integration card if it is not already active.
- Open the integration from the submenu (for example SignalPress → Local).
Configure the service
Every active integration page has four tabs:
| Tab | What it contains |
|---|---|
| Settings | Enable/disable the service, credentials, connection test, developer diagnostics, and optional capture toasts |
| Routing | Filters that control which events this service receives — Advanced Event Routing |
| Logs | Delivery history for that service — Connection Tests and Delivery Log |
| Help | Setup guide and examples for that specific integration |
Typical first-time flow:
- Open Settings.
- Check Enable service.
- Enter the required credentials or destination (varies by integration).
- Click Save changes.
- Click Send test signal to confirm the connection — Your First Connection Test.
If the test succeeds, you should see a new row in the service Logs tab and, for remote services, an entry on Recent Activity.
Local is enabled by default
Local stores events in your WordPress database and is useful for development and debugging. It is active when you install SignalPress and does not require external credentials.
To verify SignalPress is working:
- Open SignalPress → Local → Settings.
- Confirm Enable service is checked.
- Send a test signal.
- Open the Logs tab to inspect the stored record.
Add a remote integration
When you are ready to connect an external service:
- Activate the integration on Integrations.
- Open that service’s Help tab for credential instructions — each integration documents where to find API keys, webhook URLs, or OAuth setup.
- Save settings and run a connection test before sending live traffic from your theme or plugin code.
Use the ? icons beside settings fields in the plugin to jump directly to the relevant section of that service’s help doc.
When you target specific destinations in code, use exact service IDs from Service Targeting.
Pause or remove an integration
- Pause delivery — uncheck Enable service on the integration’s Settings tab. Saved credentials remain.
- Hide the integration — deactivate it from Integrations. Settings are preserved if you activate it again later.
- Uninstall SignalPress — deactivate both SignalPress and SignalPress Pro from Plugins. Review whether you want to export or clear delivery logs first.
Quick setup checklist
Use this checklist on a new site:
- [ ] Install and activate SignalPress
- [ ] Install and activate SignalPress Pro (if licensed) — Free vs SignalPress Pro
- [ ] Enter and activate your license key
- [ ] Set Project and Environment under Settings
- [ ] Activate at least one integration on Integrations
- [ ] Enable the service, save credentials, and send a test signal
- [ ] Confirm the event appears in Logs or Recent Activity
- [ ] Add
sp_capture()calls in your code — Capturing Events with sp_capture()
What to read next
- Integrations Overview — how free, Pro, and premium services fit together
- Your First Connection Test — interpret test results and delivery history
- Capturing Events with sp_capture() — send your first real signal from PHP
- sp_capture Builder — compose PHP or JavaScript calls without writing syntax by hand
- Permissions and Access — delegate admin access on Tier 2 sites
- Service Targeting — limit which integrations receive a signal
- Debugging overview — troubleshoot with
sp(), Clockwork, and System Logs - Licensing, tiers, and permissions — tiers, activation, and upgrade paths
If something fails during setup, open the integration’s Logs tab first. Failed tests and deliveries include a status, message, and redacted payload preview. See Connection Tests and Delivery Log for column definitions and retention rules.