dropsofsteel
05/21/2026, 10:32 AMAI Evy
05/21/2026, 10:32 AMAI Evy
05/21/2026, 10:33 AMcall_inbound or chat_inbound event . The webhook must respond within 10 seconds with a 200 status code, and you can override agent settings, set dynamic variables, or reject the call in the response .
Regular agent webhooks (like call_started, call_ended, call_analyzed) are event notifications that fire during or after the call [(2) ]() . These are configured at the agent level or account level .
Why you might see different behavior:
1. **Different event payloads**: The inbound webhook expects a specific payload structure with call_inbound or chat_inbound event type [(1) ]() , while regular webhooks send different event types like call_started or call_ended [(2) ]() .
2. **Response expectations**: The inbound webhook expects a JSON response with fields grouped under call_inbound or chat_inbound [(1) ]() , while regular event webhooks just need a 200 OK acknowledgment [(2) ]() .
3. **Configuration location**: Inbound webhooks are set via inbound_webhook_url on the phone number configuration [(1) ](AI Evy
05/21/2026, 10:33 AMwebhook_url on the agent [(2) ]() .
If your webhook returns 404 for inbound but 200 for outbound, your webhook handler might not be routing the call_inbound event type correctly, or the endpoint path differs between the two configurations.AI Evy
05/21/2026, 10:33 AMAI Evy
05/21/2026, 10:33 AMdropsofsteel
05/21/2026, 10:34 AMAI Evy
05/21/2026, 10:34 AMAI Evy
05/21/2026, 10:34 AMAI Evy
05/21/2026, 10:34 AMAI Evy
05/21/2026, 10:34 AMwebhook_url field when creating or updating an agent) works identically for both inbound and outbound calls [(1) ]() [(2) ]() .
When you set webhook_url on an agent, any event associated with that agent will be pushed to that webhook URL [(1) ]() . The webhook receives the same event types (call_started, call_ended, call_analyzed, etc.) regardless of whether the call is inbound or outbound .
Regarding the 404 error with your inbound agent:
Since the same webhook URL returns 200 OK for the outbound agent but 404 for the inbound agent, the issue is likely not with Retell's webhook system but with your webhook endpoint implementation. Here are potential causes:
1. **Routing logic**: Your webhook handler might have conditional routing based on the payload content (like direction field being "inbound" vs "outbound") [(4) ]() [(5) ]()
2. **Agent ID filtering**: Your endpoint might be checking the agent_id in the payload and only accepting certain agent IDs [(1) ]() [(4) ]()
3. **Event type handling**: Verify your endpoint handles all event types (call_started, call_ended, call_analyzed) [(1) ]()
The webhook will POST tAI Evy
05/21/2026, 10:34 AMdropsofsteel
05/21/2026, 10:36 AMAI Evy
05/21/2026, 10:36 AMAI Evy
05/21/2026, 10:37 AMwebhook_url configured [(1) ]() [(3) ]() . When you set the webhook_url field on an agent, events for that agent are pushed to that URL [(1) ]() .
2. Webhook signature verification
Check if your webhook endpoint is verifying the x-retell-signature header . If verification is failing for one agent but not the other, it could return different status codes.
3. Server-side URL handling
The 404 suggests your server can't find the endpoint. Double-check:
- Both agent webhook URLs are identical (no trailing slashes, query parameters, or typos)
- Your server logs to see what URL path is actually being requested
- Whether your hosting provider has any rate limiting or request filtering
4. Webhook timeout
The webhook has a 10-second timeout [(1) ]() [(3) ]() . If your inbound agent calls are triggering slower processing, the request might be timing out and Retell is interpreting it as a 404.
Debug steps:
1. Check your server access logs for both webhook requests
2. Verify the exact URLs configured in both agents match character-for-character
3. Test your webhook URL directly with a POST request containing a sample call_started payload [(1AI Evy
05/21/2026, 10:37 AMAI Evy
05/21/2026, 10:37 AM