Webhook Delivery Logs & Troubleshooting

Every lead delivery attempt in LeadCapture is logged, whether it succeeds or fails. Delivery logs give you full visibility into what was sent, what response was received, and whether any errors occurred. This applies to webhooks, Zapier, LeadProsper, LeadByte, and email notifications.

Viewing Delivery Logs

  1. Go to Leads in your dashboard.
  2. Click on a specific lead to open its detail page.
  3. Scroll to the Webhook Deliveries section (or the integration-specific deliveries section).

Each delivery attempt shows:

  • Integration name: Which webhook, Zapier subscription, LeadProsper, or LeadByte delivered the lead.
  • Status: Success or Failed.
  • Response code: The HTTP status code returned by your endpoint (e.g., 200, 400, 500).
  • Response body: The raw response from your endpoint.
  • Payload sent: The full data that was sent (expandable).
  • Error message: If the delivery failed, the specific error.
  • Attempt number: Which retry attempt this was (1 through 5).
  • Timestamp: When the delivery attempt occurred.

Understanding Delivery Status

Status What It Means
Success Your endpoint returned a 2xx status code.
Failed Your endpoint returned an error, timed out, or was unreachable. May be retried.
Pending The delivery is queued and has not been attempted yet.

Retry Behavior

When a delivery fails, LeadCapture automatically retries up to 5 times with increasing delays:

Attempt Delay After Failure
1st (initial) Immediate
2nd 1 minute
3rd 5 minutes
4th 30 minutes
5th 2 hours

After all 5 attempts fail, the delivery is marked as permanently failed. You can still resend it manually at any time.

Resending Failed Deliveries

If a delivery failed and you have fixed the issue on your end (e.g., your endpoint was down and is now back up):

  1. Go to the lead detail page.
  2. Find the failed delivery in the Webhook Deliveries section.
  3. Click the Resend button.

This queues a new delivery attempt with the same payload that was originally sent.

Common Issues and Solutions

Webhook returns 401 or 403 (Unauthorized/Forbidden)

Your endpoint requires authentication that is missing or incorrect.

  • Check that your custom headers include the correct authorization token.
  • Verify the API key or Bearer token has not expired.
  • Ensure the token has the necessary permissions to create leads.

Webhook returns 400 (Bad Request)

Your endpoint received the payload but rejected it.

  • Review the response body in the delivery log for specific error details.
  • Check that required fields are included and properly named.
  • Verify field data types match expectations (e.g., zip code as integer vs. string).

Webhook returns 500 (Internal Server Error)

Your endpoint encountered an error while processing the lead.

  • Check your endpoint's error logs for the root cause.
  • The lead data is valid; the issue is on the receiving end.
  • LeadCapture will automatically retry the delivery.

Webhook times out

Your endpoint took too long to respond.

  • Ensure your endpoint responds within a reasonable time (under 30 seconds).
  • If your processing is slow, accept the lead immediately and process it asynchronously on your end.

Webhook not being triggered

No delivery log entry appears for a lead.

  • Verify the webhook is toggled to Active in Lead Delivery settings.
  • Check that the webhook URL is correct and reachable.
  • Ensure the funnel has been saved after adding the webhook.

Lead data missing from payload

Your endpoint receives the webhook but some fields are missing.

  • Check the Field Mapping section. Fields with the "Exclude" toggle enabled will not be sent.
  • Verify the field is not empty. Empty fields are included but have null or empty string values.
  • Expand the "Payload Sent" section in the delivery log to see exactly what was delivered.

Duplicate leads delivered

Your endpoint receives the same lead more than once.

  • This can happen if your endpoint returned a non-2xx status code on the first attempt and the delivery was retried.
  • Use the lead_id field to deduplicate leads on your end.

Independent Delivery Queues

Each integration type (webhooks, Zapier, LeadProsper, LeadByte, email notifications) has its own delivery queue. This means:

  • If one integration fails, others are not affected.
  • Retries for one integration do not re-deliver to other integrations.
  • You can track delivery status independently for each integration on the lead detail page.

Pro Tips

  • Always check the Response Body in the delivery log when troubleshooting. Your endpoint's error messages are captured there.
  • Use the Test button in webhook settings to validate your configuration before sending real leads.
  • If you are developing your own endpoint, use a tool like webhook.site or RequestBin to inspect payloads before connecting your production system.
  • The delivery log retains the full payload sent, so you can see exactly what data your endpoint received for any lead.
Did this answer your question? Thanks for the feedback There was a problem submitting your feedback. Please try again later.