Webhook Setup: Sending Leads to Your CRM
Webhooks let you automatically send lead data to your CRM, lead management platform, or any external system the moment a lead is captured. Every time someone fills out your funnel, LeadCapture sends a POST request with all form data and system metadata to the URL you configure. This works for both complete and partial leads.
How Webhooks Work
When a lead submits your funnel, LeadCapture delivers the data to your webhook endpoint in the background. The delivery happens asynchronously, so it does not slow down the user experience. If your endpoint is temporarily unavailable, LeadCapture automatically retries delivery up to 5 times with increasing delays.
Setting Up a Webhook
- Open your funnel in the builder.
- Click the Lead Delivery tab in the left panel.
- Click Add Webhook.
- Enter a Name for the webhook (e.g., "My CRM Webhook").
- Paste your Webhook URL. This is the endpoint where lead data will be sent.
- Choose a Payload Format: JSON (default), XML, or Form Data.
- Optionally add Custom Headers for authentication (e.g., an Authorization header with a Bearer token).
- Click Save.
Choosing a Payload Format
LeadCapture supports three payload formats to match your endpoint requirements:
| Format | Content-Type | Best For |
|---|---|---|
| JSON | application/json | Most CRMs and modern APIs |
| XML | application/xml | Legacy systems and SOAP APIs |
| Form Data | application/x-www-form-urlencoded | Simple HTTP endpoints and some lead buyers |
Adding Custom Headers
Many CRMs require authentication via HTTP headers. To add a custom header:
- In the webhook configuration, click Add Header.
- Enter the header Key (e.g.,
Authorization). - Enter the header Value (e.g.,
Bearer your-api-key). - Add as many headers as needed.
Header values are masked in the UI for security. Only the first and last few characters are visible after saving.
Testing Your Webhook
Before going live, use the Test button in the webhook configuration. This sends a sample payload to your endpoint so you can verify it is receiving data correctly. The test payload includes sample field values like "Test" for the first name and "test@example.com" for the email.
Enabling and Disabling Webhooks
Each webhook has an active/inactive toggle. When you disable a webhook, LeadCapture stops sending data to that endpoint. You can re-enable it at any time without losing your configuration. You can also configure multiple webhooks per funnel, and each one operates independently.
Retry Behavior
If your endpoint returns an error or is unreachable, LeadCapture automatically retries delivery:
| Attempt | Delay |
|---|---|
| 1st attempt | Immediate |
| 2nd attempt | 1 minute |
| 3rd attempt | 5 minutes |
| 4th attempt | 30 minutes |
| 5th attempt | 2 hours |
After 5 failed attempts, the delivery is marked as failed. You can manually resend it from the lead detail page at any time.
Pro Tips
- Use a webhook testing tool (like webhook.site) to inspect payloads before connecting to your CRM.
- If your CRM requires specific field names, use Field Mapping to customize the keys sent in the payload. See the "Field Mapping and Data Transformations" article for details.
- You can set up multiple webhooks on the same funnel to send leads to different systems simultaneously.
- Check the Webhook Delivery Logs on any lead detail page to troubleshoot delivery issues.