# Distribution Rules

Distribution Rules help you automatically route meetings to the right team members based on specific criteria and conditions. These rules ensure efficient and intelligent distribution of meetings across your sales team.

Distribution Rules allow you to:

* Route meetings based on specific criteria from your forms or CRM data
* Implement round-robin distribution among team members
* Set up territory-based routing
* Create custom routing logic based on multiple conditions

## Creating a Distribution Rule

{% stepper %}
{% step %}
Navigate to the Form Routers tab in the sidebar

<figure><img src="/files/OINgOlRwE3z4fL0qH6e6" alt=""><figcaption></figcaption></figure>
{% endstep %}

{% step %}
Select "Distribution Rules"
{% endstep %}

{% step %}
Click "+ New Distribution Rule"
{% endstep %}

{% step %}
Enter a descriptive name for your rule (e.g., "Team NA if Territory is NA")

<figure><img src="/files/Z5qjfPh8RkOZS3SSukTj" alt=""><figcaption></figcaption></figure>
{% endstep %}
{% endstepper %}

## Setting Up Your Distribution Rule

### Adding Conditions

Additional conditions allow you to refine when a Distribution Rule should be applied. You can base condition on the form data or a CRM record.

<details>

<summary>Scenario 1: Territory-Based Routing</summary>

```
Group Logic: AND
Conditions:
- Lead Country = "United States"
- Lead State = "California"
Action: Assign to West Coast Team
```

</details>

<details>

<summary>Scenario 2: Deal Size Distribution</summary>

```
Group Logic: OR
Conditions:
- Deal Size > 100000
- Company Employee Count > 1000
Action: Assign to Enterprise Team
```

</details>

#### Condition

Each condition consists of three parts:

1. **Field** - The CRM field you want to check
2. **Operator** - How you want to compare the field value
3. **Value** - What you're comparing against

<figure><img src="/files/kHXSOvdE90Q9dzFykjYk" alt=""><figcaption></figcaption></figure>

#### Condition Groups

* Conditions can be organized into groups
* Each group can use either:
  * **AND logic** - All conditions in the group must be true
  * **OR logic** - Any condition in the group can be true

<figure><img src="/files/79qSmr1eVzVEOXm6Dktx" alt=""><figcaption></figcaption></figure>

### Assign Meeting

There are two main ways to distribute meetings among team members:

{% tabs %}
{% tab title="All Members" %}

* Assigns meetings to all members of the selected team
* Uses an intelligent round-robin system that considers multiple factors
* Ensures fair distribution across the entire team
  {% endtab %}

{% tab title="Selected Members" %}

* Allows you to choose specific team members for meeting distribution
* Useful when only certain team members should receive meetings
* Each selected member can be assigned different weights
  {% endtab %}
  {% endtabs %}

Meeting assignments also takes into consideration the selected distribution method in your Form Router.

#### Strict Round-Robin

{% @mermaid/diagram content="%%{init: { 'theme': 'base', 'themeVariables': { 'primaryColor': '#6366f1', 'primaryTextColor': '#ffffff', 'primaryBorderColor': '#4f46e5', 'lineColor': '#6366f1', 'secondaryColor': '#818cf8', 'tertiaryColor': '#f3f4f6', 'background': '#f3f4f6' } }}%%

graph TD subgraph "Strict Distribution" A1\[New Meeting Request] --> B1\[Check Recent Assignments] B1 --> C1{Same Contact\
within 2hrs?}

```
    C1 -->|Yes| D1[Assign to<br>Previous Member]
    
    C1 -->|No| E1[Get Team Members]
    E1 --> F1[Check Vacation Status]
    F1 --> G1[Calculate Member Weights]
    G1 --> H1[Check Monthly<br>Assignment Count]
    H1 --> I1[Select Member with<br>Best Weight Ratio]
    
    D1 --> J1[Create Assignment<br>History]
    I1 --> J1
end
```

style A1 fill:#6366f1,color:#fff style J1 fill:#6366f1,color:#fff" %}

#### Flexible Round-Robin

{% @mermaid/diagram content="%%{init: { 'theme': 'base', 'themeVariables': { 'primaryColor': '#6366f1', 'primaryTextColor': '#ffffff', 'primaryBorderColor': '#4f46e5', 'lineColor': '#6366f1', 'secondaryColor': '#818cf8', 'tertiaryColor': '#f3f4f6', 'background': '#f3f4f6' } }}%%

graph TD subgraph "Flexible Distribution" A2\[New Meeting Request] --> B2\[Check Recent Assignments] B2 --> C2{Same Contact\
within 2hrs?}

```
    C2 -->|Yes| D2[Check Previous<br>Member Availability]
    D2 -->|Available| E2[Assign to<br>Previous Member]
    D2 -->|Not Available| F2[Get Team Members]
    
    C2 -->|No| F2
    F2 --> G2[Check Calendar<br>Availability]
    G2 --> H2[Filter Available<br>Members]
    H2 --> I2[Count Monthly<br>Assignments]
    I2 --> J2[Select Available Member<br>with Least Assignments]
    
    E2 --> K2[Create Assignment<br>History]
    J2 --> K2
end
```

style A2 fill:#6366f1,color:#fff style K2 fill:#6366f1,color:#fff " %}

#### Assign weightage

Weights determine how many meetings each team member receives compared to others. Think of it like sharing a pie: if one person has a weight of 2 and another has a weight of 1, the first person will get about twice as many meetings over time.

{% hint style="info" %}
For example, in a team where most members have a weight of 1, giving someone a weight of 3 means they'll receive roughly three times more meetings than others.
{% endhint %}

The system tracks monthly assignments to maintain this ratio while ensuring no one gets overloaded. For new team members, the system automatically adjusts their weight based on when they joined, helping them integrate gradually into the rotation.

{% hint style="success" %}
Pro Tip: Start with equal weights (1) for everyone and adjust based on capacity and performance needs. Monitor the distribution and fine-tune as needed.
{% endhint %}

<figure><img src="/files/Bg4iA0xuFgLNytjmAz5u" alt=""><figcaption></figcaption></figure>

### Update CRM Owner

When a Distribution Rule is triggered, you can automatically update the record owner in your CRM (HubSpot or Salesforce). This ensures that the ownership in your CRM stays synchronized with your routing assignments.

{% hint style="danger" %}
The ownership update happens when the ownership rule matches (during form submission), not when the meeting is actually booked.

**There will be no ownership update if the router distribution method is set to flexible (because ownership is only performed once the meeting is booked).**
{% endhint %}

{% tabs %}
{% tab title="HubSpot" %}
For HubSpot, the system will find your Contact using either their HubSpot ID or email address, then update the owner property to match your routing assignment. All updates are monitored to ensure proper synchronization between your routing assignments and HubSpot ownership.
{% endtab %}

{% tab title="Salesforce" %}
For Salesforce, the system will locate your **Lead** or **Contact** using either their Salesforce ID or email address, then update the owner field accordingly. All updates are tracked to ensure successful synchronization between your routing assignments and Salesforce ownership.
{% endtab %}
{% endtabs %}

<figure><img src="/files/Q2q5C5pjzNSsNKurGl3F" alt=""><figcaption></figcaption></figure>

### Advanced Meeting Options

Advanced meeting options allow you to customize additional settings for meetings that are booked through this rule. These settings help you ensure consistency and save time by automating guest additions and meeting type selection.

{% hint style="danger" %}
Be aware that Distro will not check the availability of the additional guests
{% endhint %}

**Override default meeting settings: l**ets you use different meeting settings than what's configured in your router.

<figure><img src="/files/eOcd5FK5ZhUM0ThHFnCQ" alt=""><figcaption></figcaption></figure>


---

# 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://help.distro.so/routing-rules/distribution-rules.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.
