An Azure event routing service designed for high availability, consistent performance, and dynamic scale.
Hi @Dustin Chavez ,
Thanks for the confirmation, glad the issue is resolved.
This issue is solved by allowing the event grid access to the function app.
The “UndeliverableDueToClientError” with only 1 delivery attempt almost always means Event Grid saw a 400 or 413 and gave up right away.
Here’s how you can troubleshoot and remediate:
- Verify your Function endpoint & auth
- Make sure the Function URL you configured in the event subscription is still correct.
- If you’re using a function key, double-check it hasn’t expired or been rotated.
- If you’ve recently enabled App Service Authentication (Easy Auth) or IP restrictions, confirm Event Grid is allowed through.
- Check Function App logs
- Look in Application Insights or your Function’s Log stream for any incoming requests or errors. If you see no hits at all, Event Grid isn’t even reaching your function.
- If you do see requests, note the HTTP status code returned—Event Grid dead-letters on 400 or 413 immediately.
- Enable Event Grid diagnostics & metrics
- Turn on diagnostic logging for your Event Grid topic/subscription to capture request/response details: https://docs.microsoft.com/azure/event-grid/enable-diagnostic-logs-topic
- View delivery metrics and see what status codes are coming back: https://docs.microsoft.com/azure/event-grid/monitor-event-delivery
- Test your subscription endpoint
- In the Azure Portal, open your Event Subscription and click “Test” to send a sample event. Observe the response code.
- You can also curl or Postman the Function URL directly (including the key) to ensure it returns HTTP 2xx.
- Review networking & private endpoints
- If your Function App is in a VNet or you’ve locked down outbound calls, make sure Event Grid’s IP ranges are allowed.
- If you moved your storage account behind firewall/private endpoint, ensure the Event Grid service can still publish to it.
- Redeploy/Re-create subscription (if necessary)
- Sometimes updating the endpoint URL or regenerating a key and then saving the event subscription refreshes its handshake. If you suspect the subscription is corrupted, recreate it from scratch.
Hope this helps!
If the resolution was helpful, kindly take a moment to click on and click on Yes for was this answer helpful. And, if you have any further query do let us know.