# Workload balancing

The **Assign user(s)** action lets you distribute conversations across your team. When you select multiple users, you choose how to assign them:

<figure><img src="https://3242897856-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F1If7JwIQhfz5wGM9LiIU%2Fuploads%2FSw6nxwPfcUzjqO94pMKv%2Fimage.png?alt=media&#x26;token=3f4b1c23-4e99-45bb-a050-4e4348142112" alt="Assign user action showing distribution options" width="563"><figcaption></figcaption></figure>

## Distribution methods

1. All at once
2. Randomly
3. Round-robin (in turn)
4. Least busy first (fewest assigned conversations)

#### 1. All at once

Every new conversation is assigned to all selected teammates simultaneously.

Example: If you have three support agents and four new requests, all three agents will see the four conversations in their inbox.

{% hint style="info" %}
Use this when your team handles messages collaboratively or when everyone should stay aware of all new conversations.
{% endhint %}

#### 2. Randomly

Missive assigns new conversations to teammates at random, without considering workload or order.

Example: A conversation might go to any teammate in the group, regardless of who handled the last one.

{% hint style="info" %}
Use this when team members have similar roles and workloads, and fairness matters more than balance.
{% endhint %}

#### 3. Round-robin

Round-robin is one of the most popular ways to distribute conversations evenly across a team. It automatically assigns new conversations to teammates in rotation, following a set order.

*Example: If you have three support agents:*

* The first new conversation goes to Agent A
* The next goes to Agent B
* Then Agent C

  The pattern then repeats from Agent A

{% hint style="info" %}
Use this to ensure an even and predictable distribution of new requests across the team.
{% endhint %}

#### 4. Least busy first

Missive assigns new conversations to the teammate with the fewest assigned conversations at that moment.

Example: If Agent A has 6 assigned conversations, Agent B has 5, and Agent C has only 1, the next new request will go to Agent C.

{% hint style="info" %}
Use this for real-time balancing when workloads fluctuate throughout the day.
{% endhint %}

### When to use each method

<table><thead><tr><th width="183.71484375">Method</th><th>Best for</th><th>Why it’s useful</th></tr></thead><tbody><tr><td>All at once</td><td>Shared inboxes, collaboration-heavy teams</td><td>Everyone can see and respond to every new message.</td></tr><tr><td>Randomly</td><td>Small teams with equal responsibilities</td><td>Keeps assignment fair without added logic.</td></tr><tr><td>Round-robin</td><td>Structured support or sales teams</td><td>Ensures even distribution and consistency.</td></tr><tr><td>Least busy first</td><td>High-volume or dynamic support teams</td><td>Prevents overload by keeping workloads balanced in real time.</td></tr></tbody></table>

You can combine workload balancing rules with filters or conditions.

For example:

* Assign billing inquiries using *round-robin*
* Assign technical issues to the *least busy* teammate

This gives you full control over how each type of conversation is handled.

## Out of office handling

By default, users marked as **Out of office** are skipped when assigning conversations.

If all selected users are out of office:

* The conversation moves back to the team inbox
* No one gets assigned until someone returns

To assign conversations even when users are away, disable the **Skip out of office users** option in the assignment action.

### How to set it up

1. Go to **Rules** > **Create rule**
2. Add conditions
3. Select the **Assign user(s)** action
4. Select your teammates
5. In **Assign selected users** choose one of the assignment methods

Once saved, Missive will automatically assign new conversations according to your selected method.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://missiveapp.com/docs/advanced-features/rules/workload-balancing.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
