Skip to Content
DocsWebhooksConfiguration

Webhook Configuration

This guide covers how to configure your webhook endpoint and settings.

Finding Your Webhook URL

  1. Log in to Lead Warmer
  2. Go to Settings > Webhooks
  3. Copy your webhook URL

Your URL looks like:

https://api.leadwarmer.net/webhooks/ingest/abc123-def456-ghi789

Webhook Secret

Your webhook secret is used to sign requests. Find it in Settings > Webhooks > Secret Key.

Keep this secret secure and never expose it in client-side code.

Configuration Options

Ingestion Rules

Control which leads are accepted:

SettingDescriptionDefault
require_emailReject leads without emailtrue
require_first_nameReject leads without first namefalse
allowed_sourcesWhitelist of allowed source values[] (all allowed)
blocked_domainsEmail domains to reject[]

Example Configuration

{ "ingestion_rules": { "require_email": true, "require_first_name": true, "allowed_sources": ["hubspot", "salesforce", "website"], "blocked_domains": ["test.com", "example.com"] } }

De-duplication

Lead Warmer automatically prevents duplicate processing:

  • Window: 5 minutes
  • Key: Combination of lead_id and email
  • Behavior: Duplicate requests return 202 with existing lead ID

Disable De-duplication

To process the same lead multiple times, include a unique identifier:

{ "lead_id": "lead-001-v2", "email": "john@example.com", "dedup_key": "unique-request-id-123" }

Testing Your Webhook

Using cURL

curl -X POST https://api.leadwarmer.net/webhooks/ingest/{webhook-id} \ -H "Content-Type: application/json" \ -H "X-Signature-Key: {your-secret}" \ -d '{ "lead_id": "test-001", "email": "test@example.com", "first_name": "Test", "last_name": "User" }'

Expected Response

{ "success": true, "lead_id": "generated-uuid", "message": "Lead accepted for processing" }

Webhook Logs

View webhook activity in Settings > Webhooks > Logs:

  • Request timestamp
  • Payload received
  • Processing status
  • Error details (if any)

Next Steps