๐งช 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
