Review every AI voice call and escalate the bad ones

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.

Agentic Task
HumeZendeskSlack BotCustomer SupportOperationsFeedback TriageNotifications & Alerts
PromptCreate

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.

What does this prompt do?

  • Checks in every hour during business hours and reviews every conversation your voice agent just finished, instead of spot-checking a handful by hand.
  • Scores each call for the things that signal a bad experience: a frustrated, angry or confused caller, a question the agent could not answer, a request to speak to a person, or a conversation that dead ends.
  • Opens a support ticket for the calls that went badly, carrying a short summary of what went wrong, how the caller sounded, the key quotes and a suggested next step.
  • Posts each escalation to your support channel and closes the run with a short roll-up of how many calls were reviewed and how many need attention.

What do I need to use this?

  • A Hume account running your customer conversations through its voice agent
  • A Zendesk account where the support tickets should be created
  • A Slack workspace and the channel your support team watches

How can I customize it?

  • Change the schedule. Hourly between 9am and 6pm on weekdays suits a business-hours support line, but you can widen it to evenings and weekends or check less often.
  • Decide what counts as a bad call. You can raise or lower the bar, or narrow it to the signals you care about most, such as callers explicitly asking for a person.
  • Point the output wherever your team works, including which Zendesk group picks the tickets up and which Slack channel gets notified.

FAQs

Will this create a ticket for every call?
No. Calls that went fine are reviewed and then left alone, with no ticket and no Slack message. Only conversations that score badly get escalated, so your queue and your channel stay quiet when the voice agent is doing its job.
Can the same conversation get escalated twice?
No. Each conversation is recorded on the ticket it creates, and before escalating anything the workflow checks whether a ticket already exists for that call. If one does, it skips it, so overlapping runs never produce duplicates.
How does it know the caller was frustrated?
Hume captures emotional signals alongside what was actually said during the call. The review reads those signals together with the wording of the conversation, so a caller who sounds annoyed while saying polite words is still picked up.
What happens when someone asks to speak to a human?
That is treated as a serious signal. The call is escalated and the ticket is set to high priority so your team sees it ahead of the rest, with the quotes showing exactly where the caller asked.
Does this work if we handle a lot of calls an hour?
Yes. Each run works through the full hour of conversations rather than just the most recent few, so busy periods are reviewed as completely as quiet ones.

Related templates

Share of voice dashboard for your brand and competitors

See how your brand's news coverage and sentiment stack up against four competitors, then let an assistant write the weekly report for you.

GDELT
Notion
Slack Bot
App
Approval war room for every social post awaiting sign-off

One screen showing every social post waiting on approval, sorted by deadline, so reviewers can approve or reject without leaving the page.

Hootsuite
Slack Bot
App
Turn champion job changes into new pipeline in Attio

Every Monday, find the past champions and closed-won contacts who changed jobs, update Attio, and get the moves worth chasing in Slack.

Boomerang
Attio
Slack Bot
Agentic Task
Collect social post requests and schedule them in Hootsuite

Staff submit what happened, your social manager edits the copy, picks the accounts and puts it on the calendar without a single spreadsheet.

Hootsuite
Slack Bot
General Input Database
App
Voice agent QA review board for your Hume EVI calls

Open one board each morning, see which voice calls went badly, replay the exact moment the caller got frustrated, and file the fix.

Hume
Linear
Slack Bot
App
Clear your Guru verification backlog in one weekly app

A personal queue of every overdue Guru card, sorted by how late it is, with one-click verify, reassign, comment, and an agent that drafts the refresh for you.

Guru
Slack Bot
App

Stop spot-checking your voice calls.

Review every conversation your voice agent has and hear about the ones that went wrong within the hour, not at the end of the month.