> This page is for Omni Channel.

> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.hams.ai/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.hams.ai/_mcp/server.

# Post-chat analysis

> Set up analysis profiles and read the outcome, sentiment, summary, and labels that post-chat analysis gives each closed conversation cycle.

Post-chat analysis reads each closed [conversation cycle](/omni-channel/conversation-cycles). It records how the cycle ended for the customer, the mood of the customer, why the customer wrote, a short summary, and labels. Analysis profiles tell the system which conversations to analyze and how.

> **Note**
>
> Post-chat analysis is off by default. Hams support turns on **Post-chat Analysis** for your account. The **AI** menu in the sidebar shows only when **Workflows + Agent** is also on. Only administrators can manage analysis profiles and start an analysis. All users who can see a cycle can see its analysis result.

## How the analysis works

1. A cycle closes when a person, the AI agent, or the system resolves the conversation.
2. Approximately 5 seconds later, the system finds the first profile that is on and matches the conversation. It checks the profiles from the top of the list to the bottom.
3. The system sends the messages of the cycle for analysis. The result shows when it is ready.

The system does not analyze a cycle in these cases:

* No profile that is on matches the conversation. The drawer of the cycle shows **Not analysed: no enabled profile matched this conversation.**
* The customer sent no messages in the cycle. The result shows **Not analysed: the customer sent no messages in this cycle.**
* Post-chat analysis was off for your account when the cycle closed. The result shows nothing.
* Hams support turned off post-chat analysis after the cycle closed and before the analysis ran. The result shows **Not analysed: post-chat analysis was turned off before this conversation was analysed.**
* The system closed the cycle later because the cycle stayed open after the resolve. See [How a cycle starts and ends](/omni-channel/conversation-cycles#how-a-cycle-starts-and-ends).

If no profile matched, or the cycle closed without an analysis, an administrator can start the analysis manually. See [Run the analysis again](#run-the-analysis-again). A manual start does not help if the customer sent no messages.

If an analysis gets no result, the system sends the cycle again. It does this up to 2 times. If there is still no result, the result shows **The analysis failed.** An administrator can run the analysis again. See [Run the analysis again](#run-the-analysis-again).

The system checks the profile conditions when the analysis runs, not when the cycle closes. If the conversation changes between the two times, a different profile can match.

## Result fields

| Field              | Values                                                                                                                                                               |
| ------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Outcome**        | How the cycle ended for the customer: **Resolved**, **Unresolved**, **Escalated**, or **Customer went silent**.                                                      |
| **Sentiment**      | The mood of the customer at the start and at the end of the cycle. The values are **Very negative**, **Negative**, **Neutral**, **Positive**, and **Very positive**. |
| **Contact reason** | 1 short sentence that tells why the customer wrote.                                                                                                                  |
| Summary            | 2 or 3 sentences: what the customer wanted, what the agent did, and how the cycle ended.                                                                             |
| Labels             | The labels that apply to the conversation. The profile sets whether the system adds them or only suggests them.                                                      |

The outcome and the sentiment use these API values: `resolved`, `unresolved`, `escalated`, `customer_silent`, and `very_negative`, `negative`, `neutral`, `positive`, `very_positive`.

* **Escalated** means that the conversation went to a human agent or another team and did not end in this cycle.
* If the outcome is **Customer went silent**, the system does not show the sentiment at the end.
* The summary and the contact reason use the language of the profile.
* If a conversation is very long, the system analyzes only its beginning and its end. The result then shows **Long conversation: only its beginning and end were analysed.**

## Analysis profiles

A profile sets which conversations to analyze, which labels the analysis can use, what to do with the labels, and the language of the result. To open the profiles, click **AI** in the sidebar. Then click **Analysis profiles**. The page opens at `/app/accounts/{account_id}/hams-agent/analysis`.

If **Workflows + Agent** is off for your account, the sidebar has no **AI** menu. Open `/app/accounts/{account_id}/hams-agent/analysis` in your browser. In this path, `{account_id}` is the number of your account in the dashboard URL.

![The Analysis profiles page: the conditions, the labels, the label mode, and the language of each profile, in match order.](/_fern-img/15c0de2e801aa66bcfd7121da1eb12c5a4ace17b0031f06109d8dd9565dc3fa2.webp)

The list has these columns: **Name**, **Runs on**, **Labels it may use**, **Label mode**, **Language**, and **Enabled**. A profile with no conditions shows **Catch-all** and runs on **Every resolved conversation**.

The order of the list is the match order. To change the order, drag a profile by its handle. The system saves the new order. You cannot drag a profile while you search the list.

If a catch-all profile is on and is above a profile, the lower profile shows **Never runs: a catch-all profile above it matches first**. Move the catch-all profile to the bottom of the list.

To turn a profile on or off, use its **Enabled** switch. The actions menu of each profile has **Edit**, **Duplicate**, and **Delete**. If you delete a profile, the system keeps the results that the profile already gave.

### Create a profile

#### Open the profiles

Click **AI** in the sidebar. Click **Analysis profiles**. If the sidebar has no **AI** menu, open the page from its URL.

#### Open the form

Click **New profile**. The **New profile** drawer opens.

#### Name the profile

Enter a **Name**.

#### Set the conditions

Under **Analyse conversations when**, click **Add condition**. Select an attribute, an operator, and a value. If necessary, add more conditions.

#### Set the labels

Under **Labels the analysis may use**, click **Add a label**. Select the labels. If you add no label, the analysis can use all labels of the account.

#### Set the label mode

Under **What to do with the labels**, select **Apply automatically** or **Suggest**.

#### Set the language

Select the **Summary language**: **Arabic** or **English**.

#### Add instructions

Enter **Extra instructions** for the analysis, if necessary. The limit is 1,000 characters.

#### Save the profile

Click **Create**. If a catch-all profile exists, the new profile appears above it. If not, the new profile appears at the end of the list.

The conditions work like the conditions of a workflow. They use the conversation attributes, for example the inbox, the team, or a label, and some contact attributes. The **AND** and **OR** operators join the conditions. If a profile has no conditions, it matches all resolved conversations.

The default values of a new profile are **Apply automatically** and **Arabic**. The **Enabled** switch of a new profile is on.

### Label modes

| Mode                    | What happens                                                                                                                                                                                         |
| ----------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Apply automatically** | The system adds the labels to the conversation when the analysis finishes. It never removes a label. The list shows this mode as **Auto**. A label that the conversation already has stays as it is. |
| **Suggest**             | Agents see the labels with an **Apply** button. The conversation does not change until an agent clicks **Apply**.                                                                                    |

## Where you see the results

* **Conversation sidebar**: each closed cycle in the **Conversation Cycles** section shows its outcome. A cycle with an analysis in progress shows **Analysing**. A failed cycle shows **Failed**. See [Conversation cycles](/omni-channel/conversation-cycles).
* **Cycle drawer**: the **Analysis** tab shows the profile, the summary, the **Sentiment** at the start and the end, the **Contact reason**, and the labels. The drawer opens from the conversation sidebar and from the conversation log.
* **Contact details**: the **Analysis** panel shows the outcome and the end mood of the last 3 analyzed cycles of the contact. It shows how many analyzed cycles of the contact ended as resolved. It shows the contact reason of each recent cycle, with a link to its conversation. When 3 recent cycles exist, it also shows the most frequent mood at the end. The panel shows only when the contact has an analyzed cycle.
* **Conversation log**: the table has the **Profile**, **Outcome**, **Sentiment**, and **Contact reason** columns. The **Analysis** and profile filters narrow the table. The **Analysed** card shows the percentage of closed cycles with a result. See [Conversation log](/omni-channel/reports/conversation-log).

The conversation log also has these analysis charts:

| Chart                       | What it shows                                                                                                                                                                                                                                                   |
| --------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **How conversations ended** | A donut chart of the outcomes, with the percentage of resolved cycles in the center.                                                                                                                                                                            |
| **Customer sentiment**      | The mood of the customers at the **Start** and at the **End**. It also shows **Ended positive** and **Mood improved**. The colors go from red for **Very negative** to indigo for **Very positive**. People with red-green color blindness can tell them apart. |
| **Top labels**              | Up to 10 labels that the analysis suggested most. Each bar compares **Suggested** with **Applied**.                                                                                                                                                             |

The charts count only the cycles that you can see. For an agent, these are the cycles of their inboxes and their teams.

![The Analysis panel of a contact: the outcome and mood of the last cycles, and why the contact wrote each time.](/_fern-img/e259db1ed8e3f2cfbb7e652b5bff8ed98d3d92952a58131f239b564800840ecf.webp)

### Apply suggested labels

If the profile mode is **Suggest**, the **Analysis** tab shows **Suggested labels**. Click **Apply** next to a label to add it to the conversation. A label that the conversation already has shows no **Apply** button. If 2 or more suggested labels are not on the conversation, click **Apply all** to add them all. An applied label shows a check mark.

If the profile mode is **Apply automatically**, the tab shows **Labels added automatically**. Click a label to see the conversations with that label.

### Run the analysis again

Only administrators can start an analysis. On the **Analysis** tab of the cycle drawer, click **Rerun**. If the cycle has no result, click **Analyse**. In the conversation log, you can also use the actions menu of a row.

#### Open the cycle

Open the cycle drawer from the conversation log or from the conversation sidebar.

#### Start the analysis

On the **Analysis** tab, click **Rerun**. If the cycle has a completed result, the **Rerun the analysis?** dialog opens.

#### Confirm

In the dialog, click **Rerun**. The drawer shows a placeholder until the new result is ready. The table and the conversation sidebar show **Analysing**.

The new result replaces the current result. Labels that an earlier result applied stay on the conversation. If the profile applies labels automatically, the system adds the new labels again.

You cannot start an analysis in these cases:

* The cycle is open.
* An analysis of the cycle is in progress.
* No profile is on. The tooltip of the button shows **Turn on a profile to rerun the analysis**.

If an analysis fails, the result shows **The analysis failed.** Click **Rerun** to try again.

## Related

* [Conversation cycles](/omni-channel/conversation-cycles)
* [Conversation log](/omni-channel/reports/conversation-log)
* [AI agent reports](/omni-channel/ai-agent/reports)
* [Workflows](/omni-channel/workflows)