I’ve configured a webhook through the Event API to monitor opportunity record changes, but it’s exhibiting strange behavior - it fires perfectly when new opportunities are created, but completely ignores updates to existing records.
Webhook configuration:
{
"event": "Opportunities.update",
"url": "https://our-system.com/zoho/webhook",
"method": "POST"
}
The webhook was set up using an API user with “Administrator” profile. When I test with record creation, our endpoint receives the payload within seconds. But when updating fields like Amount, Stage, or Close Date, nothing arrives. I’ve verified our endpoint is accessible and logging all incoming requests - the webhook simply isn’t being triggered for updates.
I’ve checked the Event API documentation and the configuration looks correct. The webhook trigger configuration appears to support both create and update events. Is there something specific about update event handling that I’m missing? Could this be related to API user permissions even though the profile is Administrator?
Double-check your webhook status in the Zoho CRM setup. Sometimes webhooks get automatically disabled if they fail repeatedly (like returning 500 errors or timing out). Navigate to Setup > Developer Space > Actions > Webhooks and verify your webhook shows as “Active”. If it’s been auto-disabled due to failures during create events, it won’t trigger for any subsequent events including updates. Also review the webhook execution logs in that same section - Zoho logs why events aren’t firing.
There’s a known issue in Zoho CRM 2021 where webhooks registered through the Event API don’t properly handle bulk updates. If the opportunity records are being updated via bulk operations (import, mass update, workflow rules, or another API call), the webhook events get suppressed to avoid flooding. Test by manually editing a single opportunity record through the UI - if the webhook fires then, you’ve confirmed it’s a bulk update suppression issue. The workaround is to use Zoho’s notification rules instead of webhooks for bulk operation monitoring.
I ran into this exact problem last year. The issue wasn’t the webhook configuration itself, but the API user’s field-level permissions. Even with an Administrator profile, if the API user doesn’t have edit permission on specific fields, webhooks won’t trigger when those fields are updated. Go to Setup > Users & Control > Security Control > Field Level Security and verify that your API user has edit access to all the fields you’re monitoring (Amount, Stage, Close Date). This is a common gotcha that trips up a lot of integrations.
Check your webhook’s event subscription scope. When you register the webhook via API, there’s an optional “fields” parameter that specifies which field changes should trigger the event. If you didn’t include this parameter or set it incorrectly, the webhook might only fire on record creation (which doesn’t require field monitoring). Try adding a fields array to your webhook config that explicitly lists the fields you want to track: [“Amount”, “Stage”, “Close_Date”]. Without this, some Zoho versions default to create-only triggering.