Review every AI voice call and escalate the bad ones

By General Input

Every hour on weekdays, we score each voice conversation for frustration and failure, then open a support ticket only when a call actually went wrong.

Integrations

  • Hume
  • Zendesk
  • Slack Bot

Type

Agentic Task

Categories

  • Customer Support
  • Operations

Every hour between 9am and 6pm, Monday through Friday, review the customer conversations my Hume EVI voice agent has just finished and escalate only the ones that went badly.

Start with Hume's List Chats operation to pull the EVI chats that ended in the last hour. Hume's list endpoints are paginated with a zero-indexed page number and a page size that defaults to 10 and maxes out at 100, so keep paging until you have the whole window rather than stopping at the first page. Skip chats that are still active, and only consider chats whose end time falls inside the last hour so consecutive runs do not re-review the same calls.

For each chat in the window, use Hume's List Chat Events operation to pull the full transcript: the caller's utterances, the voice agent's replies, and the emotion features Hume attaches to the caller's messages. Those emotion scores are the point here, so read them alongside the words instead of summarizing the text on its own.

Score each conversation on how it actually went. Look for the caller sounding frustrated, angry or confused, judged from both the emotion features and the wording. Look for the voice agent failing to answer a question or giving a non-answer. Look for the caller explicitly asking for a human, a person or an agent. Look for the same question being asked more than once because the first answer did not land. And look for the conversation hitting a dead end or cutting off without resolution. Combine these into a simple score, and treat a call as an escalation when it trips one serious signal such as an explicit request for a person, or several of the softer ones together.

Before escalating anything, make sure the same chat is never escalated twice. Include the Hume chat ID in every ticket you create, and use Zendesk's Search Tickets operation to check whether a ticket already references that chat ID. If one already exists, skip that call completely and do not post about it in Slack either.

For each conversation that scores badly and has not already been escalated, use Zendesk's Create Ticket operation to open a ticket. The ticket should carry a short plain-language summary of what went wrong, the caller's apparent emotional state, two or three key quotes from the transcript that show the problem, and a suggested next step for the support team. Tag it so the team can see at a glance that it came from a voice call, include the Hume chat ID so the call can be traced back, and set the priority to high whenever the caller explicitly asked to speak to a person. Otherwise leave it at normal priority.

Then post one message per escalated call to the support channel in Slack using the Send a Message operation. Keep it to a few lines: what went wrong, how the caller sounded, and a reference to the Zendesk ticket that was just created. One message per escalated call, not one per problem found inside a call.

Finish every run with a single short roll-up in the same Slack channel saying how many calls were reviewed and how many were escalated. When nothing was escalated, that roll-up should be the only message the run posts. Conversations that went fine must never create a ticket or a per-call Slack message, because this is only useful if the channel stays quiet when the voice agent is doing its job.

Related prompts

Explore more prompts
A brand asset library your marketing team actually searchesTurn Mailjet email clicks into ranked HubSpot follow-upsClean out the Looker dashboards and Looks nobody opensLiveKit live operations console for room moderationWake up dormant Keap leads with a researched reasonLiveChat coverage board for planning next week's shiftsPhone routing control panel for LiveKit voice agentsLinkedIn Ads budget pacing dashboard for every client accountGive your team Looker numbers without buying more seatsPause marketing emails to escalated customers, then restore them