Skip to main content

Troubleshoot Webhook errors

Diagnosing and resolving the most common webhook errors, including disabled webhooks, delivery failures, misconfigured triggers, and payload issues.

Written by Heather

Webhook errors can stop your integrations from receiving updates from the CRM. You'll see webhook errors when a webhook fails to deliver, is disabled, or is misconfigured. Use the sections below to find the error you're seeing and the steps to resolve it.

šŸ“Œ Note: You can check the status of your webhooks and any logged error details on the Configure Webhook page.


Webhook disabled due to repeated errors

The most common webhook issue. When a webhook fails to deliver repeatedly, the CRM automatically disables it to prevent further failed attempts. You will typically receive an email notification informing you that the webhook has been temporarily disabled.

Re-enable a disabled webhook

  1. Follow the link in the notification email to review the error details for your webhook.

  2. Identify and fix the underlying issue.

  3. In your CRM, go to Settings > System Settings. Search for 'Webhook' and click Click to Configure.

  4. Select the disabled webhook and re-enable it.

Once the underlying issue is resolved, the webhook will resume delivering on future events.


HTTP errors from the destination endpoint

If your webhook fires but the destination endpoint returns an HTTP error, such as 401, 400, or 500, the delivery will be logged as failed. Common causes and resolutions are listed in the table below.

HTTP Status Code

Likely Cause

Resolution

401 Unauthorized

Expired or invalid authentication token (PAT or API key) used by the receiving integration.

Regenerate a new Personal Access Token (PAT) from your security settings and update all integrations with the new token.

400 Bad Request

The payload format or field references do not match what the destination expects.

Check your field mappings and ensure the webhook body references valid field names. See the 'Field mapping and payload errors' section below.

500 Internal Server Error

A problem on the destination server, often triggered by unexpected data or a configuration issue in the integration.

Review the integration logs on the receiving side (e.g. Azure Logic Apps, n8n, Zapier) to identify what caused the error. Refresh credentials if applicable.


Webhook not triggering on expected records or events

If a webhook appears active but does not fire when you expect it to, check the following.

Incorrect entity or action level

Webhooks are configured for a specific entity type, such as Company or Opportunity, and action, such as Create, Update, or Delete. If the webhook is set at the wrong level, for example Company Group instead of Company Division, it will not fire on the events you expect.

  1. In your CRM, go to Settings > System Settings, then click Webhook and open the webhook in question.

  2. Verify the Webhook Entity and Webhook Action fields match the record type and event you want to trigger on.

  3. Correct the configuration and save.

Webhook only fires on saved field changes

An Update webhook only fires when a record field is actually changed and saved. Simply viewing a record or opening it without making changes will not trigger the webhook. Ensure you are making a genuine field edit and clicking Save.

OData restriction

Webhooks are only triggered through OData. Web baskets are not created through OData and will not trigger webhooks. Order Confirmation for CMS orders goes through OData, so these will trigger correctly.


Field mapping and payload errors

Webhooks can deliver successfully but still cause integration errors if the payload references fields that do not exist or are named incorrectly.

Common field mapping mistakes

  • Referencing a property that does not exist on the record, for example using 'Name' for a Contact when the CRM stores first and last name as separate fields.

  • Using a nested field path that does not exist in the webhook payload sent to Zapier or another integration.

  • Field names that differ between record types, always verify field names by checking OData or your integration logs.

Steps to resolve:

  1. Review the error message from your integration tool to identify the problematic field.

  2. Cross-reference the field name against the OData schema or test the webhook payload by triggering a test event.

  3. Update your integration's field mapping to reference the correct field path.

  4. Re-test by saving a record change to confirm the webhook delivers without error.


Webhook-triggered emails not being received

If a webhook successfully fires but the resulting email notification is not received, the issue is likely with email deliverability rather than the webhook itself.

Steps to investigate:

  1. Confirm the destination email address in the webhook or integration is correct.

  2. Check the recipient's spam or junk folder.

  3. If your company has recently changed its domain name, your sender authentication settings may need to be investigated and updated.


Platform or cloud provider outages

On rare occasions, elevated webhook error rates can be caused by an infrastructure issue, for example an outage affecting a cloud provider, Zapier, or the CRM platform itself. If this is the case, the issue is not with your webhook configuration.

  1. Check the status pages for any third-party services your webhook delivers to, such as Zapier Status or AWS Status.

  2. Check our platform status page for any active incidents.

  3. During a platform incident, affected webhook events are replayed once the issue is resolved; no action is required on your end.


Still having issues?

If you have worked through the steps above and the webhook is still not behaving as expected, contact your webhook developer to further investigate. We'd recommend including the following information to help investigate:

  • The name of the webhook and the entity/action it is configured for.

  • The destination URL or integration tool being used.

  • Any error messages shown in the webhook error log or your integration platform.

  • The date and time of the last failed delivery attempt.

Did this answer your question?