Productivity & CRM Integration Guide
Test HubSpot Webhooks Online
Test HubSpot CRM contact created, deal updated, and workflow action webhooks with v3 signature check.
Direct Answer / Quick Summary
To test HubSpot webhooks, open HubSpot Developer Account > Apps > Webhooks, set your target URL to your SafeWebhook endpoint, subscribe to contact or deal events, and trigger an edit in your HubSpot CRM.
Key Capabilities & Testing Highlights
- •Validate complex HubSpot v3 signature schemes.
- •Inspect contact.creation, deal.propertyChange, and company.associationChange.
- •Test HubSpot workflow custom code action payloads.
- •Forward CRM events to localhost development servers.
Signature Header
X-HubSpot-Signature-v3
Cryptographic Scheme
HMAC-SHA256 (Method + URI + Body + Timestamp Scheme)
Payload Retention
100% Client-Side
Step-by-Step HubSpot Webhook Setup
Follow these 4 simple steps to capture real-time HubSpot events in your browser:
1
In HubSpot Developer Account, open your App settings.
2
Click "Webhooks" in the sidebar and enter your SafeWebhook URL into "Target URL".
3
Click "Create subscription" and select event types (e.g. contact.creation).
4
Create a test contact in HubSpot CRM to trigger an event.
Sample HubSpot Webhook Payload
application/json[
{
"eventId": 100,
"subscriptionId": 2891029,
"portalId": 8921849,
"appId": 102938,
"occurredAt": 1755541200000,
"subscriptionType": "contact.propertyChange",
"attemptNumber": 0,
"objectId": 12345,
"propertyName": "email",
"propertyValue": "lead@example.com",
"changeSource": "CRM"
}
]HubSpot Signature Verification Recipes
Copy-paste production-ready HMAC verification code for your backend:
Node.js / Express Recipecrypto.timingSafeEqual
const crypto = require('crypto');
function verifyHubSpotV3(method, uri, rawBody, timestamp, signature, clientSecret) {
const sourceString = method + uri + rawBody + timestamp;
const hash = crypto.createHmac('sha256', clientSecret).update(sourceString).digest('base64');
return crypto.timingSafeEqual(Buffer.from(hash), Buffer.from(signature));
}Python / Flask / FastAPI Recipehmac.compare_digest
import hmac
import hashlib
import base64
def verify_hubspot_v3(method, uri, raw_body, timestamp, signature, secret):
source = f"{method}{uri}{raw_body.decode('utf-8')}{timestamp}".encode('utf-8')
computed = base64.b64encode(hmac.new(secret.encode('utf-8'), source, hashlib.sha256).digest()).decode('utf-8')
return hmac.compare_digest(computed, signature)Frequently Asked Questions: HubSpot Webhooks
What is included in the HubSpot v3 signature hash?
HubSpot v3 signatures concatenate HTTP Method + Request URI + Request Body + Timestamp header before HMAC-SHA256 hashing.
Ready to test HubSpot webhooks in real-time?
Get your free, private edge endpoint instantly. Zero signup, zero credit card, 100% free forever.