π§ͺ Beta FeatureReseller Webhook Simulations is currently in beta. The core functionality is stable, but additional event types and options will be added in future releases.
π Overview
The Simulations page lets you send a realistic, cryptographically signed test payload to your reseller webhook endpoint β without waiting for a real employee desktop event to fire. Use simulations to:- Verify your endpoint URL is reachable
- Confirm your HMAC signature verification logic is correct
- Inspect the exact payload structure for each event type
- Debug response errors before going live
π Real SignaturesSimulation payloads are signed with the same HMAC SHA256 algorithm as live events. Your serverβs signature verification code will work identically for both.
π How to Run a Simulation
- Go to Resellers β Simulations
- Select a Webhook from the dropdown β lists all configured reseller webhooks with their URLs
- Select an Event Type β only events subscribed to on the selected webhook are shown:
desktop.app_tracking.captureddesktop.screenshot_tracking.captureddesktop.activity_tracking.captured
- Review the Request Payload Preview (right panel) to see the exact JSON that will be sent
- Click Send Test Event
- View the Simulation Result panel for the full response details
π¦ Request Payload Preview
Before sending, the right panel shows a formatted preview of the payload that will be delivered to your endpoint. The preview updates automatically when you change the webhook or event selection. All simulation payloads include"simulation": true so you can distinguish them from live events in your server logs.
π¨ Payload Structures
App Tracking Event β desktop.app_tracking.captured
Screenshot Tracking Event β desktop.screenshot_tracking.captured
πΌοΈ imageBuffer in SimulationsIn simulation payloads,
imageBuffer contains a placeholder string instead of a real binary image. In live events, this field carries the actual screenshot binary. Make sure your server handles both gracefully.Activity Tracking Event β desktop.activity_tracking.captured
Fired when an employee switches between Work Mode and Privacy Mode on their desktop app.
workMode: trueβ Employee switched to Work Mode (tracking active)workMode: falseβ Employee switched to Privacy Mode (tracking paused)
π Simulation Result Panel
After sending, the result panel shows:| Field | Description |
|---|---|
| HTTP Status | Response code from your server (2xx = success, 4xx/5xx = error) |
| Latency | Round-trip time in milliseconds |
| Result | β Delivered or β Failed |
| Delivery Headers | The x-webhook-signature and x-webhook-timestamp headers sent with the request |
| Sent Payload | The full JSON body that was POSTed to your endpoint |
| Endpoint Response | The raw response body your server returned |
π Signature Verification
The simulation sends the same headers as a live webhook:| Header | Description |
|---|---|
x-webhook-signature | HMAC SHA256 of timestamp.body signed with your webhook secret |
x-webhook-timestamp | Unix timestamp in milliseconds when the request was sent |
β Error Reference
| HTTP Status | Error Shown | Meaning |
|---|---|---|
404 | Webhook not found | The webhook was deleted after selection |
400 | Event type not registered | The selected event is not in this webhookβs subscribed events |
503 | Service unavailable | Simulation service is temporarily down β retry in a moment |
| Network error | Network error | Your endpoint is unreachable from Trackpilots servers |
| Other | Simulation failed | Unexpected error β check your endpoint logs |
π§ͺ Test Locally with ngrok
To test simulations against a local server:- Start your local webhook server (e.g. on port
3000) - Run ngrok to expose it:
- Copy the generated HTTPS URL (e.g.
https://abc123.ngrok.io) - Create or edit a reseller webhook with this URL
- Run a simulation β your local server will receive the signed payload
β οΈ ngrok URLs are Temporaryngrok URLs change each session (on the free plan). Update your webhook URL each time you restart ngrok.
β Summary
| Step | Action |
|---|---|
| 1 | Select a configured reseller webhook |
| 2 | Choose an event type to simulate |
| 3 | Preview the request payload |
| 4 | Click Send Test Event |
| 5 | Inspect status, latency, headers, payload, and response |
π No webhooks yet?You need at least one reseller webhook configured before running simulations.
π Create a Reseller Webhook
