Chat agent — auto-closed (inactivity timeout) chats don't trigger analysis or chat_analyzed webhook

Hi all,

Hoping someone can confirm whether this is expected or a known issue.

I have a chat agent (not voice) with a post-chat webhook configured at the agent level and chat_analyzed enabled. Chats that end explicitly work perfectly — analysis runs automatically, chat_analyzed fires, and the data reaches my endpoint.

The problem is with chats that auto-close on the inactivity timeout (user walks away without ending the chat):

  • The chat reaches “Ended” status and the transcript is retained.
  • But the post-chat analysis does not run automatically — summary, sentiment and custom fields stay empty until I manually click “Rerun”.
  • Clicking “Rerun” populates everything correctly (so the data is all there), but it doesn’t fire the chat_analyzed webhook — so these chats never reach my system.

So auto-closed chats end successfully but never trigger the automatic analysis or webhook, and I lose every abandoned chat.

Config: data storage = everything, auto-close enabled (6 min), webhook at agent level with chat_analyzed on, currently on the free trial.

I came across a thread suggesting this was a known issue that had been fixed — can anyone confirm whether the fix is live, or whether there’s a setting I’m missing? And has anyone found a reliable way to capture chats where the user abandons the conversation without explicitly ending it?

Thanks!

Hey @insights Could you please share your Agent ID and the Chat Widget ? This will help us investigate the issue further.

Haven’t had this issue, commenting to follow.

Hey, thanks for the detailed write-up.

Honesty up front, the docs confirm the mechanism you’d expect (chat agents fire chat_started, chat_ended and chat_analyzed, and chat_analyzed only fires once analysis completes), but they say nothing about how auto-close on the inactivity timeout is meant to behave. So I can’t confirm whether that fix you saw mentioned is actually live, and I don’t think you’re missing a setting. Looks more like the auto-close path just isn’t running analysis the way an explicit end does. Worth raising with Retell support directly with a couple of chat_ids so they can check it server side.

In the meantime, two things to get those abandoned chats flowing again:

  1. Check whether chat_ended is firing on the auto-closed ones. It carries the full chat object minus chat_analysis, so even without the summary and sentiment you’d at least catch the transcript and know the chat ended. If chat_ended fires but chat_analyzed doesn’t, that pins the bug down nicely.
  2. More reliable: stop leaning on Retell’s auto-close and end the chats yourself. Run your own inactivity timer and call the End Chat API (PATCH /end-chat/{chat_id}) when a user goes quiet. Explicit ends already analyse and fire chat_analyzed correctly for you, so this sidesteps the whole problem.

Are you seeing chat_ended come through on the abandoned ones, or nothing at all? That’d help work out where it’s dropping.

Russell