Webhooks fire when contacts change, campaigns send, enrichment completes, or meetings are booked. Connect to Zapier, Make, n8n, or your own endpoint.
Three steps to start receiving events.
Go to Settings → Webhooks in your Kolvera account and enter the URL Kolvera should POST events to. Your endpoint must accept HTTPS requests and return a 2xx status.
Choose from 14 event types. You can subscribe to all events or only the ones your integration needs. Events not subscribed to are never sent.
Kolvera sends POST requests with JSON payloads. Each request includes an X-Kolvera-Signature header — verify it with HMAC-SHA256 using your webhook secret to confirm authenticity.
All 14 event types and when they fire.
| Event | Category | Fires when |
|---|---|---|
contact.created |
Contact | A new contact is added to your workspace |
contact.updated |
Contact | Contact details are changed |
contact.enriched |
Contact | An email address or phone number is found for this contact |
contact.phone_found |
Enrichment | A phone number is discovered via enrichment |
company.created |
Company | A new company record is added |
company.updated |
Company | Company details are changed |
campaign.activated |
Campaign | A campaign is moved from draft to active |
campaign.completed |
Campaign | All enrolled contacts have finished the full sequence |
campaign.email.sent |
Campaign | An individual campaign email is delivered |
campaign.email.replied |
Campaign | A reply is detected on a campaign email |
campaign.email.bounced |
Campaign | A campaign email bounces |
meeting.booked |
Meeting | A meeting is created in the meetings list |
meeting.completed |
Meeting | A meeting is marked as attended |
enrichment.completed |
Enrichment | A bulk enrichment job finishes processing |
Verify that requests come from Kolvera, not a third party.
X-Kolvera-Signature header containing an HMAC-SHA256 hex digest
hmac.compare_digest in Python, crypto.timingSafeEqual in Node.js
# Python — verify an incoming webhook request
import hmac, hashlib
def verify_webhook(payload: bytes, signature: str, secret: str) -> bool:
expected = hmac.new(
secret.encode(), payload, hashlib.sha256
).hexdigest()
return hmac.compare_digest(expected, signature)
// Node.js — verify an incoming webhook request
const crypto = require('crypto');
function verifyWebhook(payload, signature, secret) {
const expected = crypto
.createHmac('sha256', secret)
.update(payload)
.digest('hex');
return crypto.timingSafeEqual(
Buffer.from(expected),
Buffer.from(signature)
);
}
Webhooks work natively with the most popular automation platforms.
Create a Zap with a "Webhooks by Zapier" trigger set to "Catch Hook". Paste the generated URL into Kolvera's Webhooks settings.
Add a "Webhooks" module with the "Custom Webhook" trigger. Copy the webhook URL and register it in Kolvera. Make parses the JSON payload automatically.
Use the "Webhook" trigger node in your n8n workflow. Set the HTTP method to POST and register the production URL in Kolvera's Webhooks settings.
Common patterns to get you started.
| Trigger event | Automation idea |
|---|---|
contact.created |
Add a new row to a Google Sheet prospect tracker |
campaign.email.replied |
Post a Slack notification to your team channel |
meeting.booked |
Create or update a deal in your CRM |
contact.enriched |
Push the updated contact to HubSpot or Salesforce |
campaign.email.bounced |
Flag the contact in your CRM for manual review |
enrichment.completed |
Trigger a downstream pipeline job in Make or n8n |
Webhooks are available on all plans — free trial, 50 credits, no card required.
Start free trial