Skip to main content

Overview

Outgoing webhooks send HTTP POST requests to your endpoint when events occur in your Stover account.

Setup

  1. Go to your Stover Dashboard
  2. Navigate to Settings > Webhooks > Outgoing
  3. Click Create Webhook
  4. Enter your endpoint URL and select events
  5. Copy the webhook secret for signature verification

Available Events

CRM Events

Social Media Events

Fired for every platform (LinkedIn, X, Instagram, Threads, TikTok, YouTube). The payload carries a platform field. An event fires when a post enters the state, so re-syncing metrics on an already-published post does not re-fire it.

Attribution Events

Meeting Events

Proposal Events

Payload Format

Signature Verification

Every webhook includes a signature header for verification:
t is the Unix timestamp at which the request was signed, and v1 is HMAC-SHA256(secret, "<t>.<raw body>") in lowercase hex. The timestamp is part of the signed material, so a captured delivery cannot be replayed later with a fresh header. Verify against the raw request body, exactly as received. Re-serialising the parsed JSON can reorder keys and change the bytes you hash.
The secret is shown once, when the webhook is created. It is never sent with a delivery — the signature is the only credential in the request.

Verify in Node.js

Retry Policy

Failed deliveries are retried automatically: After 5 failed attempts, the delivery is marked as failed.

Best Practices

  • Respond quickly - Return 200 within 30 seconds
  • Process async - Queue heavy processing for later
  • Verify signatures - Always validate webhook authenticity
  • Handle duplicates - Use id field for idempotency