Webhook events reference
Every event Funkel can send, payload shape, and when each one fires.
Funkel AI sends signed JSON events to public HTTPS endpoints.
Use the developer webhook reference for payload fields, setup, and examples.
Events
lead.discovered: an agent finds a lead.lead.approved: a found lead is approved, by you or automatically.reply.received: a lead replies on LinkedIn, by email, or on X.message.received: an incoming LinkedIn or X message matches a known lead.reaction.received: a lead reacts to one of your messages.action.executed: a campaign sends an invite, message, or other action.campaign.paused: a campaign is paused. Thereasonfield says why.account.disconnected: a connected sender account disconnects.
What each event includes
Events include the product, campaign, and list they belong to, when there is one, with IDs and names.
Lead events include the lead’s name, company, title, LinkedIn URL, email when known, and the sender account. contact_id is the same person across every event, so you can link a found lead to its later replies.
Envelope and signatures
Every envelope contains id, event, timestamp, and data. id is unique per event.
The headers are X-Funkel-Event, X-Funkel-Event-Id, and X-Funkel-Signature.
Verify signatures over the exact raw request body.
Delivery and retries
Each destination attempt has a ten-second timeout. Individual failures and non-2xx responses do not trigger retries.
Delivery has no ordering or exactly-once guarantee.
Store received events before processing, and use the envelope id to drop duplicates.
Use REST reads to reconcile current state when needed.