> For the complete documentation index, see [llms.txt](https://en.help.firstline.cc/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://en.help.firstline.cc/feature/other/conversion-state-list.md).

# Conversation status

## Overview

When a customer or agent sends a message through any channel, the system automatically creates a conversation. A conversation is an entity used to track and manage the dialogue between the customer and the agent. It contains the exchanged messages and a status used to indicate the current progress.

Conversations can have multiple statuses, which are used to indicate different stages or conditions of the conversation.

```mermaid
flowchart TD

A["Customer or agent sends a message<br/>Create conversation"]
B{"Handled by bot?"}
C["Bot<br/>Automatic reply / Knowledge base / Keywords"]
D{"Need to transfer to human?"}
E["Waiting<br/>Queued for customer service"]
F{"Is there a qualifying agent?"}
G["Assigning<br/>System searching for agent"]
I{"Agent accepts"}
J["In progress<br/>Agent serving customer"]
K{"Is the issue resolved?"}
H["Done<br/>Conversation closed"]

A --> B
B -->|Yes| C
B -->|No| E

C --> D
D -->|No| H
D -->|Yes| E

E --> F
F -->|No| E
F -->|Yes| G

G --> I
I -->|Success| J

J --> K
K -->|No| J
K -->|Yes| H


%% Color styles
classDef bot fill:#e8f1ff,stroke:#3b82f6,stroke-width:3px,color:#0f172a;
classDef waiting fill:#f3e8ff,stroke:#a855f7,stroke-width:3px,color:#0f172a;
classDef assigning fill:#e6fffb,stroke:#14b8a6,stroke-width:3px,color:#0f172a;
classDef processing fill:#fff9db,stroke:#facc15,stroke-width:3px,color:#0f172a;
classDef done fill:#dcfce7,stroke:#22c55e,stroke-width:3px,color:#0f172a;

class C bot
class E waiting
class G assigning
class J processing
class H done
```

## Status list details

<table><thead><tr><th width="111">Category</th><th width="115.33333333333331">Status</th><th>Description</th></tr></thead><tbody><tr><td><strong>Assigning</strong></td><td>Assigning</td><td><p>Indicates the system is performing assignment for the conversation to find an agent who meets the required criteria.<br></p><p><strong>The maximum assigning limit is three times the number of online ready agents</strong>. For example, if there are 5 agents online and ready, up to 15 conversations can be in progress simultaneously. But if<strong>no agents are online or all agents have reached their service capacity</strong>,<strong>then no conversations will be assigned.</strong><br></p><p>If there are agents who are ready and can take more service but the conversations in "assigning" do not match their skills or other conditions, the system will select conversations from the waiting queue that match that agent's conditions and immediately assign them to that agent. This action is called "dynamic assignment."</p></td></tr><tr><td><strong>Waiting</strong></td><td>Waiting</td><td><p>The customer has indicated (by entering specific keywords or through the bot conversation script) that they are ready to be transferred to a human agent. However, because the current assignment limit is full or qualifying agents cannot take the conversation, the customer is queued and waiting in order.<br></p><p><strong>At this stage, the conversation has left the bot flow, so if the customer sends a message it will not trigger any bot responses or automated processes.</strong></p></td></tr><tr><td><strong>In progress</strong></td><td>In progress</td><td>The conversation has been accepted by an agent, and the agent is providing service or answering the customer's questions.</td></tr><tr><td><strong>Bot</strong></td><td>Conversation script</td><td>The customer enters the conversation script flow, which may be in progress or completed.</td></tr><tr><td><strong>Bot</strong></td><td>Bot</td><td>The customer is interacting via bot keywords, knowledge base responses, etc.</td></tr><tr><td><strong>Complete</strong></td><td>Completed</td><td>The conversation has been successfully handled. It may have been resolved via the bot script flow or by an agent directly responding and resolving the customer's issue, with the service manually closed.</td></tr></tbody></table>
