> ## Documentation Index
> Fetch the complete documentation index at: https://docs.squawkvoice.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Email Analytics

> Track email containment, resolution rates and response-time trends, and review individual email threads end to end

The *Email Analytics* page is the reporting view for your email channel. It shows how much of your email volume your AI agents are handling on their own and how quickly customers are getting a reply. Its companion view, **Email History**, lets you read any single thread in full — and step into one that is still running.

## Getting there

<Steps>
  <Step>In the left navigation expand **Optimize**.</Step>
  <Step>Select **Email Analytics** for the dashboard, or open **Advanced → Email History** to work with individual threads.</Step>
</Steps>

<Note>
  Email figures only start appearing once at least one of your agents is working email. Email agents pick tickets up from a connected Freshdesk mailbox — see [Email Agents](/build/ai-agents/email-agents) for the connection steps.
</Note>

## What the dashboard tracks

<ResponseField name="Containment" type="chart">
  How much of your email volume your AI agents handled without a person getting involved — the share of conversations the agent resolved itself, against those that were escalated or ended without a resolution.
</ResponseField>

<ResponseField name="Resolution rate" type="chart">
  The proportion of email conversations that reached a resolution, so you can see whether the channel is actually closing customer questions rather than simply moving them along.
</ResponseField>

<ResponseField name="Response-time trends" type="chart">
  How long customers are waiting for a reply, plotted over the selected period so a slowdown shows up as a shape rather than a single number.
</ResponseField>

<ResponseField name="Outcome mix" type="chart">
  The breakdown of how email conversations ended. See [Email outcomes](#email-outcomes) below for how each conversation is bucketed.
</ResponseField>

## Email outcomes

Every email conversation is filed against one outcome once it ends. Two outcomes are built in:

* **Contained** – the AI agent resolved the thread on its own.
* **User Abandoned** – the conversation ended without a resolution because the customer stopped replying.

Abandoned covers two situations that look different but count the same way: a customer who simply walked away mid-thread, and a thread that ran out of time through inactivity. Both are reported as abandoned, so a timeout is not a separate bucket to reconcile.

Conversations handed to a human agent are reported as escalations, and any custom email outcomes you have added to the agent appear alongside the two built-in ones. See [Email Agents](/build/ai-agents/email-agents).

## Email History

**Optimize → Advanced → Email History** lists your email conversations so you can review threads, replies and escalations across tenants. Select **View** on any row to open the full transcript drawer for that thread, with the customer's messages and the agent's replies in the order they were sent.

### Supervisor controls

Email History is also where a supervisor can end a conversation that is still running.

<Steps>
  <Step>Switch on the in-progress filter so the list shows only live conversations.</Step>
  <Step>Each live row's action cell now carries a **View** button plus a chevron menu. Open the menu to reach **Escalate** and **Resolve**. The same two controls appear as an **Actions** dropdown in the header of the transcript drawer when the conversation you have open is in progress.</Step>
  <Step>Pick the one you want. A spinner appears while the request is in flight, then the row leaves the list and the drawer closes.</Step>
</Steps>

| Control      | What it does                                                    | Confirmation              |
| ------------ | --------------------------------------------------------------- | ------------------------- |
| **Resolve**  | Marks the conversation complete.                                | *Email session resolved*  |
| **Escalate** | Hands the conversation to a human agent, and then completes it. | *Email session escalated* |

If the request does not go through you will see *Failed to resolve email session* or *Failed to escalate email session* instead, and the conversation is left as it was.

<Warning>
  Only a conversation that is still in progress can be ended this way. Once a conversation has completed — whether the agent resolved it, it was escalated, or it was abandoned — **Escalate** and **Resolve** no longer apply to it, and the row offers **View** only.
</Warning>

<Tip>
  Both controls are safe to click twice. A second click on the same conversation does not escalate or resolve it again, so a double-click or an impatient retry cannot produce a duplicate handoff.
</Tip>

### Behaviour worth knowing

* The in-progress list now reflects reality. A conversation that ended in an error used to sit in it indefinitely, so supervisors saw live threads that were not live; errored conversations now leave the list.
* Exporting from Email History gives you your email conversations. The export previously produced a file of voice calls instead.
* **Escalate** does two things in one step — it hands the conversation to a human and then completes it. Use it when a person needs to take the thread over, and **Resolve** when the conversation is finished and simply needs closing out.

## Where to go next

<Columns cols={2}>
  <Card title="Email Agents" icon="envelope" href="/build/ai-agents/email-agents">
    Connect a Freshdesk mailbox and configure how your agent replies, resolves and escalates.
  </Card>

  <Card title="Chat Analytics" icon="message-dots" href="/analyze/chat-analytics">
    View the equivalent analytics dashboard for your chat channel.
  </Card>
</Columns>
