## **Overview**

The advanced assignment introduces a comprehensive policy-based conversation assignment system. This provides centralized management, advanced algorithms, and enterprise-grade capacity controls.

## Feature Availability

* **Open Source**: Assignment policies with round-robin algorithm

* **Enterprise and Business**: All OSS features plus balanced assignment and agent capacity management

## **Core Concepts**

### **Assignment Policies**

Assignment policies are centralized rules that control how conversations are automatically assigned to agents. Each policy defines:

* **Assignment Order**: How agents are selected (round-robin or balanced)

* **Conversation Priority**: Which conversations get assigned first

* **Fair Distribution**: Rate limiting to prevent agent overload

### **Agent Capacity Policies (Enterprise)**

Capacity policies set conversation limits per agent with inbox-specific granularity and advanced filtering rules.

## **Assignment Policies**

![](https://app.chatwoot.com/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBCT1NyekFJPSIsImV4cCI6bnVsbCwicHVyIjoiYmxvYl9pZCJ9fQ==--f24c68492616afdb348599d34c025ad079d55e96/image.png?cw_image_width=698px)

### **Creating Assignment Policies**

1. Navigate to **Settings → Agent assignment → Assignment policy**

2. Click **Create Assignment Policy**

3. Configure the following:

#### **Basic Configuration**

* **Name**: Unique policy identifier

* **Description**: Optional policy description

* **Enabled**: Toggle policy activation

#### **Assignment Settings**

* **Assignment Order**:

  * `Round Robin`: Cycles through available agents sequentially (OSS & Enterprise)

  * `Balanced`: Distributes based on current workload, equal assignment (Enterprise only)

* **Conversation Priority**:

  * `Earliest Created`: Assigns oldest conversations first

  * `Longest Waiting`: Prioritizes conversations with longest wait times

* **Fair Distribution:**

  * **Limit**: Maximum conversations per agent within time window (default: 100)

  * **Window**: Time period in seconds for rate limiting (default: 3600)

![](https://app.chatwoot.com/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBCR0d0ekFJPSIsImV4cCI6bnVsbCwicHVyIjoiYmxvYl9pZCJ9fQ==--c2dbb570a90cc372f327b16aa52aead043338950/image.png?cw_image_width=717px)

### **Linking Policies to Inboxes**

1. Go to **Settings → Agent Assignment**

2. Edit a policy.

3. Add an Inbox.

   ![](https://app.chatwoot.com/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBCRnl4ekFJPSIsImV4cCI6bnVsbCwicHVyIjoiYmxvYl9pZCJ9fQ==--6349b4917312c54c06d67da4c6d12586604939eb/image.png?cw_image_width=661px)

## **Agent Capacity Management (Enterprise)**

![](https://app.chatwoot.com/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBCRUd5ekFJPSIsImV4cCI6bnVsbCwicHVyIjoiYmxvYl9pZCJ9fQ==--c27e1f7e0057230c1f6e9b619368ef044b84902e/image.png?cw_image_width=721px)

### **Creating Capacity Policies**

1. Navigate to **Settings → Assignment Policy → Capacity**

2. Click **Create Capacity Policy**

3. Configure:

   1. **Basic Settings**

      1. **Name**: Policy identifier

      2. **Description**: Optional description

   2. **Inbox Capacity Limits**

      1. For each inbox, set:

      2. **Conversation Limit**: Maximum open conversations per agent

   3. **Exclusion Rules (JSON Configuration)**

      1. **Excluded Labels**: Conversations with these labels won't be auto-assigned

      2. **Age Threshold**: Exclude conversations older than specified hours

   ![](https://app.chatwoot.com/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBCR2kxekFJPSIsImV4cCI6bnVsbCwicHVyIjoiYmxvYl9pZCJ9fQ==--2f44296bac64a47e1d7d44d9d82f8ab0817ba9e5/image.png?cw_image_width=680px)

### **Assigning Capacity Policies to Agents**

1. Go to **Assignment Policy → Agent Capacity Policy**

2. Select an Agent Capacity Policy

3. Add Inbox capacity limits

4. Assign agents to the policy

![](https://app.chatwoot.com/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBCRHEzekFJPSIsImV4cCI6bnVsbCwicHVyIjoiYmxvYl9pZCJ9fQ==--f1e66032d115014b91870bd36de06c331be999ff/image.png?cw_image_width=726px)

## **Assignment Algorithms**

### **Round Robin (OSS & Enterprise)**

Cycles through available agents sequentially, ensuring equal distribution over time.

### **Balanced Assignment (Enterprise)**

Intelligently distributes conversations based on:

* Current agent workload

* Equal assignment

## **Troubleshooting**

### **Common Issues**

#### **Conversations Not Being Assigned**

* Verify assignment policy is enabled and linked to inbox

* Check if agents are available and online

* Ensure agents haven't reached capacity limits (Enterprise)

* Verify exclusion rules aren't filtering out conversations

#### **Uneven Distribution**

* Review fair distribution settings

* Consider switching to balanced assignment (Enterprise)

* Check agent availability patterns

### **Debugging Steps**

1. Check assignment policy configuration

2. Verify inbox-policy linkage

3. Review agent capacity settings (Enterprise)

4. Monitor assignment service logs

5. Validate agent availability status

Assignment V2 provides a robust, scalable solution for conversation management that grows with your organization's needs while maintaining optimal agent workload distributio