Webhooks
Overview
Webhooks let you receive HTTP POST notifications when certain events occur. Configure webhooks in the app dashboard under Settings → Webhooks.
Events
| Event | Description |
|---|---|
model.trained | A new ML model has been trained for your store |
model.level_up | Your store’s recommendation engine advanced to a new level |
usage.limit_reached | Session usage reached the plan limit |
usage.near_limit | Session usage reached 80% of the plan limit |
Payload Format
All webhook payloads follow this structure:
{ "event": "model.trained", "shop": "your-store.myshopify.com", "timestamp": "2025-01-15T10:30:00Z", "data": { "modelLevel": 2, "accuracy": 0.87, "trainingEvents": 15234 }}model.trained
{ "event": "model.trained", "data": { "modelLevel": 2, "accuracy": 0.87, "trainingEvents": 15234, "previousAccuracy": 0.82 }}model.level_up
{ "event": "model.level_up", "data": { "previousLevel": 1, "newLevel": 2, "message": "ML-powered recommendations are now active" }}usage.limit_reached
{ "event": "usage.limit_reached", "data": { "plan": "growth", "sessionCount": 10000, "sessionLimit": 10000 }}Verification
Each webhook request includes an X-SimplerSuite-Signature header containing an HMAC-SHA256 signature of the payload. Verify this against your webhook secret (available in the dashboard) to confirm authenticity.
X-SimplerSuite-Signature: sha256=abc123...Retry Policy
Failed deliveries (non-2xx responses) are retried up to 3 times with exponential backoff (1 minute, 5 minutes, 30 minutes).