Live tracking: Overwatch 2 · League of Legends · Valorant · CS2
Start Free Trial

Webhooks & Integrations

Real-time game updates, simplified.

Setup Guide

Connect PatchPulse to your existing communication channels or custom automation pipelines in under three minutes. Our webhook endpoints push structured JSON payloads the moment a title crosses the 95% rollout threshold.

Navigate to Dashboard > Developer > Webhooks and click Create Endpoint. You’ll receive a unique URL and a signing secret. Paste the URL into Discord’s server integration panel, Slack’s incoming webhook settings, or your Postman collection. Toggle the verify_ssl flag if your internal network requires certificate bypass, then hit save. PatchPulse will immediately fire a `ping` event to confirm connectivity.

Discord

Channel Notifications

Route patch milestones directly to `#esports-alerts` or `#meta-shifts`. Supports rich embeds with game logos, patch version strings, and direct links to the full breakdown.

Slack

Workspace Feeds

Push structured updates to your engineering or community management channels. Automatically tags relevant squads based on the affected game title or region.

Custom Scripts

Raw JSON Endpoint

For internal dashboards or CI/CD pipelines, use the raw webhook URL. Returns a 200 OK on success, 4xx on validation failure, and automatically retries with exponential backoff up to 5 times.

Payload Examples

Every webhook request follows a strict schema. Monitor the `event_type` field to route logic for new patches, rollback notices, or scheduled maintenance windows.

Below is a standard `patch.deployed` payload triggered when a title like Overwatch 2 pushes a live update. All timestamps use ISO 8601 UTC format. Numeric fields represent exact version builds or player impact percentages.

Event: patch.deployed

New Version Rollout

{"event": "patch.deployed", "timestamp": "2024-11-14T08:30:00Z", "title": "Overwatch 2", "version": "1.0.1482", "region": "NA-EAST", "changelog_url": "https://patchpulse.gg/ow2/ep8-act2", "metrics": {"avg_download_mb": 4.2, "estimated_completion_min": 12}}

Event: maintenance.scheduled

Server Downtime Alert

{"event": "maintenance.scheduled", "timestamp": "2024-11-15T02:00:00Z", "title": "League of Legends", "duration_hours": 3, "reason": "Champion balance hotfix", "affected_modes": ["Ranked", "ARAM"]}

Security & Signature Verification

Protect your endpoints from spoofed requests and replay attacks. PatchPulse signs every webhook payload using HMAC-SHA256 before transmission.

When configuring your listener, always validate the `X-PatchPulse-Signature` header. The signature is generated by hashing the raw request body against your endpoint’s signing secret. If the computed hash does not match the header value, reject the request with a 401 Unauthorized response. We recommend implementing a strict 5-minute timestamp tolerance check to discard delayed or cached payloads.

Implementation

Verify in Node.js

const crypto = require('crypto'); const signature = crypto.createHmac('sha256', process.env.WEBHOOK_SECRET).update(rawBody).digest('hex'); if (signature !== req.headers['x-patchpulse-signature']) { return res.status(401).send('Invalid signature'); }

Best Practices

Endpoint Hardening

Restrict inbound traffic to PatchPulse’s IP ranges (52.21.44.0/28 and 104.18.32.0/24). Rotate your signing secret quarterly via the dashboard, and enable IP allowlisting if your firewall supports dynamic updates.