> ## Documentation Index
> Fetch the complete documentation index at: /help/llms.txt
> Use this file to discover all available pages before exploring further.

# Who gets new contacts, and hot contacts

> Give new contacts to your teammates in turn (round robin) or to whoever has the fewest open contacts, and see how engaged each contact is with an engagement score that tells you when a contact gets hot.

Two settings in one page: **Settings > Lead routing**. Everyone in the workspace can see it; owners and admins change it. Every change is saved as soon as you make it.

![Settings > Lead routing: round robin between two teammates, and engagement points changed from the defaults](https://mintcdn.com/kerux-f37add41/hxXnH5J2aAMkPLq4/images/routing.png?fit=max\&auto=format\&n=hxXnH5J2aAMkPLq4\&q=85\&s=e31d8b169f3d1229e227d34a15bc7bf1)

## Who gets new contacts

| Choice | What happens |
| - | - |
| **Nobody automatically** | New contacts have no owner until someone picks one on the contact page (or a campaign's **Assign to teammate** step does). This is the default. |
| **Round robin** | Each new contact goes to the next teammate in the list, in turn. |
| **Fewest open contacts** | Each new contact goes to the teammate who owns the fewest open contacts (contacts on **Won** or **Lost** in the [pipeline](/help/leads/pipeline.md) don't count). When two have the same number, it goes in turn. |

It works for every new contact, however it comes in: added by hand, imported, from the [API](/help/developers/api.md), a form, a signal or a LinkedIn event. Contacts that already have an owner are left alone. Every assignment shows on the contact's history as **Owner changed**.

**1. Open the settings**

Click **Settings > Lead routing**.

**2. Pick how**

Under **Who gets new contacts**, click **Round robin** or **Fewest open contacts**.

**3. Pick the teammates**

Tick the teammates who should get contacts. It turns on as soon as one is ticked.

Kerux remembers whose turn it is, so the rotation stays fair after pauses and imports, and two contacts that arrive at the same moment never both go to the same person by mistake. Someone who leaves the workspace (or can now only view it) is skipped; the page tells you so.

### In a campaign

The **Assign to teammate** step can do the same: open the step and pick **Round robin (each in turn)** or **Fewest open contacts** under **Who gets the contact**, then tick the teammates. Each step keeps its own turn. A **Create task** for "the contact's owner" right after it goes to the teammate it picked. See [Team and AI steps](/help/campaigns/team-and-ai-steps.md).

## Engagement score

Each contact earns points every time it interacts with you. These are the defaults; change any of them under **Engagement score** (0 stops counting a signal, 100 is the most one signal can be worth). To stop counting altogether, untick **Count engagement**.

| Signal | Points |
| - | - |
| Replied (LinkedIn, email, WhatsApp, text) | 10 |
| Positive reply (extra, when the reply type is **Positive** or **Wants a meeting**) | 15 |
| Meeting booked | 30 |
| Form sent (a hosted form, a form in a campaign, an ad lead form) | 15 |
| Invitation accepted | 5 |
| Reacted to a message | 5 |
| Email link clicked | 5 |
| Email opened | 2 |

Each event counts once, however many times it reaches Kerux. A STOP text never counts.

> [!NOTE]
>
> The engagement score is not the **ICP fit score**. The ICP fit score says how well a contact matches your [ideal customer](/help/leads/signals.md); the engagement score says how much the contact interacts with you.

### Hot contacts

When a contact's score reaches **Hot at (points)** (50 by default), it becomes hot, once:

* It shows a **Hot** badge on the contact page, and a star next to its score in the **Contacts** list.
* Its owner gets a notification in **My tasks** (owners and admins when it has no owner). Turn this off with **Tell the contact's owner in the app when a contact becomes hot**.
* Campaigns with the **Contact became hot** Kerux event start (see [Start a campaign from what happens in Kerux](/help/campaigns/kerux-triggers.md)).
* Webhooks get `lead.engagement_hot` (see [Webhooks](/help/developers/webhooks.md)).

To be told on Slack, add a campaign that starts on **Contact became hot** with a [Slack](/help/integrations/slack.md) step (Slack is part of Pro and Agency, and the free trial).

### Points that fade

Under **Points count for**, pick 30, 60, 90 or 180 days to let old points fade (they stay in the contact's history, marked as faded). A hot contact whose score falls back under the threshold is no longer hot, and can become hot again later. **Always** keeps points forever.

New points and thresholds apply from now on; points a contact already earned stay as they were.

## See it on a contact

The contact page has an **Engagement** card with the score, since when it's hot, and its latest signals. In **Contacts**, the **Engagement** column shows the score. Click **Filters** to show only **Hot now** or **Any engagement**, and pick **Order: Highest engagement first**.

## With the API

* `GET` / `PUT /v1/workspace/lead-assignment`: `mode` (`off`, `round_robin`, `least_open`) and `user_ids`.
* `GET` / `PUT /v1/workspace/engagement`: `points`, `hot_threshold`, `decay_days`, `hot_alert`, `enabled`.
* `GET /v1/leads/{id}/engagement`: the score, `hot_at` and the latest signals.
* `GET /v1/leads?sort=engagement&hot=true&min_engagement=20`; every contact has `engagement_score` and `engagement_hot_at`.

## Common problems

> [accordion] New contacts don't get an owner
>
> Check that **Round robin** or **Fewest open contacts** is picked and at least one teammate is ticked. Viewers and people who left the workspace are skipped; if nobody in the list can own contacts, new contacts stay without an owner.

> [accordion] A contact has points but isn't hot
>
> Its score is under **Hot at (points)**. Lowering the threshold makes contacts hot on their next signal.

> [accordion] A contact became hot but nothing started
>
> Add the **Contact became hot** Kerux event to the campaign, and check the campaign is on. A contact becomes hot only once until it cools down.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.