IntegrationsOutbound Webhooks
DocsIntegrationsOutbound Webhooks

Outbound Webhooks

IntegrationsLast updated July 2026

Overview

Outbound webhooks let Scoor push real-time events to any external URL — your CRM, a Zapier workflow, a GHL inbound webhook, or your own backend. When something happens in Scoor (lead created, scored, stage changed), Scoor fires an HTTP POST to your endpoint within seconds.

Creating a webhook

  1. Go to Settings → Integrations → Webhooks
  2. Click Add Webhook
  3. Enter your destination URL (must be publicly accessible HTTPS)
  4. Select the events you want to receive
  5. Optionally add a secret for signature verification
  6. Click Save — use the Test button to send a sample payload
ℹ️
Scoor retries failed webhook deliveries up to 5 times with exponential backoff (1s, 5s, 30s, 5min, 30min). A delivery is considered failed if your endpoint returns a non-2xx status or doesn't respond within 10 seconds.

Events

EventTriggered when
lead.createdA new lead is added to Scoor
lead.scoredAI scoring + enrichment completes
lead.stage_changedLead moves to a new pipeline stage
lead.updatedAny field on the lead is updated
lead.assignedLead is assigned to a team member
call.completedA Power Dialer call ends

Payload format

All webhooks use JSON with this envelope:

POST your-endpoint.com/webhook
{
  "event": "lead.scored",
  "timestamp": "2026-07-04T10:00:00Z",
  "workspaceId": "ws_abc123",
  "data": {
    "id": "lead_xyz789",
    "name": "Sarah Johnson",
    "email": "sarah@techcorp.com",
    "phone": "+61412345678",
    "leadScore": 84,
    "tier": "hot",
    "source": "facebook",
    "fbCampaignName": "High-Ticket Coaching - July",
    "company": "TechCorp Pty Ltd",
    "linkedinUrl": "https://linkedin.com/in/sarah-johnson",
    "pipelineStage": "new",
    "enriched": true,
    "createdAt": "2026-07-04T09:58:00Z"
  }
}

Signature verification

If you set a webhook secret, Scoor signs every request with an HMAC-SHA256 signature in the X-Scoor-Signature header. Verify it on your server:

Node.js — signature verification
const crypto = require('crypto');

function verifyScoorWebhook(payload, signature, secret) {
  const expected = crypto
    .createHmac('sha256', secret)
    .update(payload, 'utf8')
    .digest('hex');
  return crypto.timingSafeEqual(
    Buffer.from(expected),
    Buffer.from(signature)
  );
}

// In your Express handler:
app.post('/webhook', (req, res) => {
  const sig = req.headers['x-scoor-signature'];
  const valid = verifyScoorWebhook(
    JSON.stringify(req.body), sig, process.env.SCOOR_WEBHOOK_SECRET
  );
  if (!valid) return res.status(401).send('Invalid signature');
  // process event...
  res.sendStatus(200);
});

Was this page helpful?