Trackz logoTrackz
Back to Wiki

How to Use Webhooks to Integrate Trackz with Any Tool

Send Trackz alert payloads as HTTP POST requests to any endpoint — connect to Zapier, Make, custom servers, or any tool that accepts webhooks.

Updated April 21, 2026

Overview

The Webhook integration POSTs a JSON payload to any URL whenever an alert fires. This makes it possible to connect Trackz to virtually any tool — automation platforms like Zapier or Make, custom backend servers, incident management systems like PagerDuty, or even another monitoring service.

Prerequisites

  • An HTTP endpoint that accepts POST requests with a JSON body
  • A Trackz account on any plan

Step 1: Add the Integration in Trackz

  1. In your Trackz dashboard, go to Settings → Integrations.
  2. Click Add Integration.
  3. Select Webhook from the integration picker.
  4. Enter a name for this integration.
  5. Enter the destination URL (must be a valid https:// or http:// address).
  6. Optionally enter a signing secret for payload verification (see Securing Webhooks below).
  7. Select which event types should trigger this webhook, or leave all unchecked to receive every event.
  8. Click Save.

Payload Structure

Trackz sends a POST request with Content-Type: application/json. The body follows this schema:

{
  "title": "Downtime detected: api.example.com",
  "message": "Your monitor api.example.com is not responding. HTTP status: 503.",
  "meta": {
    "monitor": "api.example.com",
    "event": "uptime.down",
    "statusCode": 503,
    "url": "https://api.example.com/health",
    "timestamp": "2026-04-21T14:32:00.000Z"
  }
}

Supported Event Types

Event Triggered when
uptime.down A monitor fails to respond or returns an error status code
uptime.up A previously failing monitor recovers
ssl.expiring An SSL certificate is within the expiry warning window
smtp.fail An SMTP connectivity check fails
performance.regression A Lighthouse or Core Web Vitals score drops below threshold

Leave the event filter empty to receive all event types.

Securing Webhooks

If you enter a signing secret when creating the integration, Trackz includes an X-Trackz-Signature header with each request. You can verify this header in your receiving endpoint to confirm the request genuinely came from Trackz.

Note: Signature verification is currently reserved for a future release. The secret is stored and will be used for HMAC signing once the feature ships.

Integration Examples

Zapier

  1. In Zapier, create a new Zap and choose Webhooks by Zapier → Catch Hook as the trigger.
  2. Copy the webhook URL Zapier provides.
  3. Paste it into the URL field in Trackz when adding the integration.
  4. Send a test from Trackz, then click Test trigger in Zapier to capture the payload.
  5. Map title, message, and meta fields to your desired action (Slack, email, Jira, etc.).

Make (formerly Integromat)

  1. In Make, add a Webhooks → Custom Webhook module as the trigger.
  2. Copy the generated URL.
  3. Paste it into Trackz and send a test payload.
  4. Make will detect the structure automatically — map fields to any downstream module.

Custom Server (Node.js example)

app.post('/trackz-webhook', (req, res) => {
  const { title, message, meta } = req.body;
  console.log(`[${meta.event}] ${title}`);
  // your logic here
  res.sendStatus(200);
});

Trackz considers a delivery successful if the endpoint returns any 2xx status code.

Testing Your Integration

  1. Use webhook.site to get a temporary URL for testing — paste it into Trackz as the webhook URL.
  2. Click Send test in Settings → Integrations.
  3. webhook.site will display the raw request headers and JSON body in real time.

Troubleshooting

Delivery fails with a non-2xx response

  • Check Settings → Integrations → [your integration] → History for the exact error returned by your endpoint.
  • Ensure your endpoint is publicly reachable — local localhost URLs will not work. Use ngrok to expose a local server during development.

Webhook fires for every alert, ignoring my event filter

  • Verify that you saved the integration after selecting events. Re-open the integration detail page to confirm the filter is applied.

Payload arrives but fields are missing

  • Some events include fewer metadata fields than others. For example, ssl.expiring will not include a statusCode. Always treat meta fields as optional in your receiving code.