Webhooks fire when contacts change, campaigns send, research 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 18 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 18 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 |
company.created |
Company | A new company record is added |
company.updated |
Company | Company details are changed |
campaign.activated |
Campaign | A campaign is started or resumed |
campaign.paused |
Campaign | A campaign is paused |
campaign.completed |
Campaign | A contact finishes the full sequence |
campaign.replied |
Campaign | A reply is detected on a campaign email |
campaign.bounced |
Campaign | A campaign email hard-bounces |
meeting.created |
Meeting | A meeting is scheduled |
meeting.status_changed |
Meeting | A meeting's status is updated (booked / attended / no-show / cancelled) |
research.completed |
Research | A Deep Research job finishes processing |
credit.low |
Credit | Your credit balance drops to 10 or below |
email.opened |
Engagement | A recipient opens a campaign email |
link.clicked |
Engagement | A recipient clicks a tracked link in a campaign email |
enrolment.complete |
Campaign | A contact completes its enrolment in a campaign |
scrape.complete |
Pipeline | A job-board scrape finishes and new leads are available |
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.replied |
Post a Slack notification to your team channel |
meeting.created |
Create or update a deal in your CRM |
contact.enriched |
Push the updated contact to HubSpot or Pipedrive |
campaign.bounced |
Flag the contact in your CRM for manual review |
research.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