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.
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.
Workspace Feeds
Push structured updates to your engineering or community management channels. Automatically tags relevant squads based on the affected game title or region.
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.
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}}
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.
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'); }
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.