Actuators
Actuators are how Apex takes action on the signals it detects. While sensors bring data in, actuators push information out — sending notifications, triggering workflows, and keeping your team informed when something important happens.
Actuator Types
The Actuators page (/dashboard/actuators) shows six execution capabilities:
| Actuator | Purpose | Status |
|---|---|---|
| Experiments | A/B tests that modify page elements or behavior | Active (core feature) |
| Tasks | Action items generated from insights | Planned |
| Budget | Automated budget allocation recommendations | Planned |
| Approvals | Review gates for high-impact changes | Planned |
| Outbound Webhooks | HTTP POST to your endpoints when triggers fire | Available |
| Slack Notifications | Messages to Slack channels when triggers fire | Available |
Outbound Webhooks
Webhooks send a JSON payload to your endpoint whenever a configured trigger fires.
Setting Up a Webhook
Navigate to Settings
Open Settings in the dashboard sidebar.
Create a webhook
Add a new notification with type webhook. Provide the URL where Apex should send events.
Choose triggers
Select which events should fire the webhook:
experiment.completed— An experiment reaches statistical significanceexperiment.started— A new experiment begins collecting datatask.created— A new task is generatedbudget.recommendation— A budget reallocation is suggestedmodel.drift— Scoring model drift is detectedscoring.changed— A scoring model is activated or modified
Save
Apex generates a signing secret (whsec_...) that you can use to verify webhook authenticity on your end.
Webhook Payload
Each webhook delivery sends a JSON body:
{
"trigger": "experiment.completed",
"data": {
"experimentId": "exp-123",
"winner": "variant_b",
"conversionLift": 12.5
},
"timestamp": "2026-03-28T15:30:00Z"
}
Verifying Signatures
Every webhook includes an X-Apex-Signature header containing an HMAC-SHA256 signature of the request body, signed with your webhook secret. Verify this signature on your server to ensure the request came from Apex.
Retry Behavior
If your endpoint returns a non-2xx status code, Apex retries up to 3 times with exponential backoff. Each delivery attempt is logged and visible in the delivery log.
Slack Notifications
Slack notifications send formatted messages to a Slack channel via an Incoming Webhook URL.
Setting Up Slack
Create a Slack Incoming Webhook
In your Slack workspace, create an Incoming Webhook and copy the webhook URL.
Add the notification
In Apex Settings, add a new notification with type slack. Paste the webhook URL and optionally specify a channel (defaults to #general).
Choose triggers
Select the same trigger events as webhooks — experiment completions, scoring changes, drift alerts, etc.
Slack messages include an emoji icon, the trigger type as a title, and a summary of the event data.
Delivery Logs
Both webhook and Slack notifications maintain delivery logs. Each log entry records:
- The trigger event and timestamp
- Whether delivery succeeded or failed
- The HTTP status code returned
- Retry attempts (if any)
Next Steps
- Connect sensors — sensors provide the data that triggers actuator events
- Run experiments — experiment lifecycle events can trigger webhooks
- Configure scoring models — scoring changes can trigger notifications