pex

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:

ActuatorPurposeStatus
ExperimentsA/B tests that modify page elements or behaviorActive (core feature)
TasksAction items generated from insightsPlanned
BudgetAutomated budget allocation recommendationsPlanned
ApprovalsReview gates for high-impact changesPlanned
Outbound WebhooksHTTP POST to your endpoints when triggers fireAvailable
Slack NotificationsMessages to Slack channels when triggers fireAvailable

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 significance
  • experiment.started — A new experiment begins collecting data
  • task.created — A new task is generated
  • budget.recommendation — A budget reallocation is suggested
  • model.drift — Scoring model drift is detected
  • scoring.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