https://retellai.com/?utm_source=discord&utm_medium=seo logo
2026-04-09 00:08:36
# ❓・ai-evy-support
t
@AI Evy 2026-04-09 00:08:36.601 call_15aff5a1cfdec472210598f88c6 info: Webhook triggered for call_analyzed 2026-04-09 00:08:37.014 call_15aff5a1cfdec472210598f88c6 info: Webhook retry 1 for call_analyzed 2026-04-09 00:08:37.499 call_15aff5a1cfdec472210598f88c6 info: Webhook retry 2 for call_analyzed 2026-04-09 00:08:38.168 call_15aff5a1cfdec472210598f88c6 error: Error triggering webhook for call_analyzed Axios Error: error code: ERR_BAD_REQUEST, error message: Request failed with status code 403 response status: 403 response data: ["user is not authorized"] what is this error
a
Thanks for tagging me @trx598. I'll look through relevant sources and get back to you shortly.
Feel free to tag @AI Evy with additional questions. I also appreciate feedback, it helps me improve.
### Answer The error "user is not authorized" with a 403 status code indicates your webhook endpoint is rejecting Retell's POST request [(1) ]() . This is an authorization issue on your server side, not with Retell. Common causes: 1. Missing or incorrect authentication on your endpoint - Your webhook URL may require authentication that Retell isn't providing, or you're validating the wrong credentials 2. Signature verification failing - If you're verifying the
x-retell-signature
header, ensure you're using the correct Retell API key and comparing against the raw request body 3. IP allowlisting - If you're restricting access by IP, make sure to allowlist Retell's IP address:
100.20.5.228
To fix this: - Verify your webhook endpoint accepts POST requests from Retell without requiring additional authentication beyond the signature verification - If using signature verification, ensure you're using
express.raw({ type: "application/json" })
and validating against the raw body, not
JSON.stringify(req.body)
- Check that your server isn't blocking Retell's IP address The webhook will timeout after 10 seconds and retry up to 3 times (which you're seeing in your logs) , but if your endpoint continues returning 403, the webhook will ultimately fail .
​ To learn more, see the sources I considered: [[1] Webhook Overview](https://docs.retellai.com/features/webhook-overview) ​
t
which webhooks are these
@AI Evy WHICH webhooks are these
a
Thanks for the follow-up, @trx598. I'll get back to you soon.
### Answer Based on your logs showing "Webhook triggered for call_analyzed", this is the
call_analyzed
webhook event
[(1) ]() . The
call_analyzed
event is triggered when call analysis is complete and includes the full call data with the
call_analysis
object . This webhook contains post-call analysis information such as call summary, sentiment, user sentiment, call success status, and any custom analysis data you've configured [(1) ]() [(2) ]() . Webhook types in Retell AI: [(1) ]() For voice calls: -
call_started
- triggered when a new call begins -
call_ended
- triggered when a call completes, transfers, or encounters an error -
call_analyzed
- triggered when call analysis is complete (this is what you're seeing) -
transcript_updated
- triggered on turn-taking transcript updates -
transfer_started
,
transfer_bridged
,
transfer_cancelled
,
transfer_ended
- transfer-related events You can configure which webhook events are delivered per agent using the
webhook_events
field when creating or updating an agent . The default events for voice agents are
call_started
,
call_ended
, and
call_analyzed
. The 403 error you're experiencing means your webhook endpoint is rejecting the
call_analyzed
event POST request from Retell .
​ To learn more, see the sources I considered: [[1] Webhook Overview](https://docs.retellai.com/features/webhook-overview) [[2] Consume the analysis data](https://docs.retellai.com/features/post-call-analysis-consumption) ​
Feel free to tag @AI Evy with additional questions. I also appreciate feedback, it helps me improve.