When your AI agent is handling customer conversations, there will be moments where a human needs to step in — whether a customer is frustrated, the agent can't find an answer, or a specific situation requires personal attention. This is called **escalation**.
What Is Escalation?
By default, your AI agent handles conversations automatically in a dedicated folder — separate from your main inbox to keep things organized. When an escalation is triggered, the conversation is turned into a ticket and optionally assigned to a human agent for follow-up. Escalated conversations can also be forwarded to integrated service desk tools, such as Zendesk, Gorgias, or Freshdesk.
Where to Find Escalation Settings
In the left-hand navigation, click Charles AI
Select your AI agent (e.g., Charles AI Squad)
Click on the Escalation Settings tab
Step 1: Define Your Escalation Triggers
Escalation triggers are the conditions that tell charles: "This conversation needs a human."
You can activate one or more of the following:
Escalate on Negative Sentiment
Automatically escalates a conversation when a customer sends a certain number of consecutive negative messages.
How to set it up:
Toggle the switch to enable this trigger
Set the number of consecutive negative messages that should trigger escalation (default: 2)
Example: If a customer sends 2 frustrated messages in a row, the conversation is automatically escalated to a human agent.
Escalate When the AI Agent Gets Stuck
Automatically escalates when the AI agent repeatedly fails to provide a helpful response (called a "fallback").
How to set it up:
Toggle the switch to enable this trigger
Set the number of fallbacks within the last messages that should trigger escalation (default: 2)
Example: If the agent says "I'm not sure about that" twice in a row, it's a signal the customer needs human help.
Escalate on Specific Conditions
Define your own business rules in plain language. You can add as many custom conditions as you need.
How to set it up:
Toggle the switch to enable this trigger
Click + Add new to add a custom rule
Write your condition in natural language
Examples of custom conditions:
"When the customer mentions a competitor product"
"When the customer asks to speak to a manager"
This gives you full flexibility to escalate based on what matters most to your business.
Step 2: Assign a Human Agent
Once an escalation is triggered, charles automatically opens a ticket and assigns it to a human agent from your team.
How to set it up:
Scroll to the Assign conversations in charles section
Use the Select agent(s) dropdown to choose one or more team members who should handle escalated conversations
💡 Tip: Assign agents who are best equipped to handle sensitive or complex customer issues.
Step 3: Set Up a Handoff Message
When a conversation is escalated, your AI agent will automatically send a message to the customer to let them know a human is taking over. You can customize what this message says.
How to set it up:
Scroll to the Send automated handoff message section
Enter your instructions in plain language — the AI will use them to craft the message
Examples:
"Let the customer know our support team is available Monday–Friday, 9 AM to 5 PM"
"Only say 'Please wait, transferring you now' and nothing else"
You don't need to write the exact message word for word — just give the AI clear instructions and it will handle the rest.
Step 4 (Optional): Connect a Service Desk
If your team uses a service desk tool like Zendesk, Freshdesk, or Gorgias, you can automatically create a ticket in that system whenever an escalation happens in charles.
How it works:
Go to Journeys and create a new flow
Add a keyword trigger (e.g., the word "Customer Service")
Add the Create Ticket node for your connected service desk (Zendesk, Freshdesk, or Gorgias)
Back in your Escalation Settings, reference that keyword in your handoff message prompt
Example handoff message instruction:
"We understand you're having issues. To speak to a human, please say 'Customer Service'."
When the customer replies with that keyword, the Journey flow is triggered and a ticket is created in your service desk automatically.
What gets forwarded?
The last 5 messages from the conversation are sent to your service desk
A ticket is also opened in charles simultaneously
When the ticket is closed in your service desk, it is automatically closed in charles too
💡 Recommended setup: Create the escalation flow with just two elements — the escalation trigger and the Create Ticket node. Keep it simple and focused.
Once done, click “Save” in the top right corner.
Escalations on the Conversation Screen
Once an escalation is triggered, it shows up directly in your Inbox in charles — here's how to navigate it efficiently.
The Left Sidebar: Finding the Right Conversations
The left sidebar of your Inbox is organized into two main sections to help you and your team focus on what needs attention:
Tickets
This is where all escalated conversations live — the ones that require a human response. You'll see three views:
View | What it shows |
All | Every open ticket across your team |
Assigned to me | Tickets that have been assigned specifically to you |
Unassigned | Tickets that haven't been picked up by anyone yet |
💡 Start your day by checking Assigned to me to see exactly which customer issues are waiting for your response.
Conversations → Archived The Archived folder contains all conversations that are being handled automatically — this includes conversations managed by your AI agents as well as any active Journey flows. These do not require human action and are kept out of your main inbox to avoid noise and overload.
Think of Archived as your AI's workspace — it's running in the background so you don't have to.
What an Escalated Conversation Looks Like
When you open an escalated ticket, you'll see a clear timeline of what happened:
A system notification confirms that a ticket was created (e.g., "Ticket #1234 created")
A purple escalation reason label explains why the conversation was escalated (e.g., "The conversation was escalated because the customer expressed bad sentiment") — so you immediately understand the context without reading the full chat history
The AI-generated handoff message sent to the customer is visible in the thread, so you can see exactly what the customer was told before you took over
This means your human agents always arrive in a conversation fully informed — no need to scroll back through the entire chat to understand the situation.
The Customer Profile Panel
On the right-hand side of every escalated conversation, you'll find a detailed customer profile to help you personalize your response:
Contact details — phone number, email address, location
Tags — e.g., VIP user, subscription status, churn risk
Orders, deals, and opt-in data — pulled directly from your connected integrations
System information — charles properties you can update directly from this view
Having all this context in one place means your agents can respond faster and more personally — without switching between tools.
Need Help?
If you're unsure how to set up your escalation flow or connect a service desk, reach out to our support team via the chat bubble in the bottom right corner of your charles account. We're happy to help! 💛


