# Создавать лид для каждого входящего звонка

По умолчанию модуль только регистрирует звонок, а Битрикс24 сам по номеру телефона ищет лид/контакт, в который нужно записать этот звонок. Новый лид/контакт по умолчанию создается только в случае, если номер телефона не известен.

Чтобы **создавать новый лид при каждом входящем звонке,** нужно сделать запрос на создание лида через кастомизацию.

{% hint style="info" %}
Запросы REST API Битрикс24 из кастомизации поддерживаются начиная с версии 3.4.0.

Функция для создания лида (`Bitrix::createLead`) поддерживается начиная с версии 3.4.2.

Подробности в статье [Запросы в Битрикс из кастомизации](/custom_bx/zaprosy-v-bitriks-iz-kastomizacii.md#sozdanie-lida).
{% endhint %}

### 1. Включить **кастомизацию параметров регистрации разговора**

В веб-интерфейсе настройки модуля в разделе **Настройки -> Модуль** нужно поставить галочки **"Включить кастомизацию:"** и **"параметров регистрации разговора":**

![](/files/1sD4huF5740q1dFoJ98H)

{% hint style="warning" %}
При использовании запросов в Битрикс24 из кастомизаций нужно устанавливать достаточный **Таймаут скрипта кастомизации** (в случае одного запроса нужно установить хотя бы 2 секунды).

Значение зависит от количества запросов и особенностей сети и портала Битрикс24: в случае использования нескольких запросов в одной кастомизации, и/или большой загруженности портала имеет смысл значительно увеличить таймаут.
{% endhint %}

### 2. Добавить код в файл кастомизации

{% hint style="info" %}
Кастомизация параметров регистрации разговора настраивается в файле **/opt/itgrix\_bx/customizer/actions/process\_registration\_params.php.**
{% endhint %}

Пример:

```php
$phone = $params['PHONE_NUMBER'];

if ($params['TYPE'] === 2) { // входящий
    $this->logInfo("Create lead for incoming call");

    // Поля в документации:
    // https://dev.1c-bitrix.ru/rest_help/crm/leads/crm_lead_add.php
    $leadResult = Bitrix::createLead(
        array(
            'TITLE' => sprintf("%s - Входящий звонок", $phone),
            'PHONE' => array(array('VALUE' => $phone, 'VALUE_TYPE' => 'WORK')),
            'ASSIGNED_BY_ID' => $params['USER_ID'],
            'STATUS_ID' => 'NEW',
            'OPENED' => 'Y',
        ),
        array(
            // Произвести регистрацию события добавления лида в живой ленте.
            // Дополнительно будет отправлено уведомление ответственному за лид.
            'REGISTER_SONET_EVENT' => 'Y',
        ));

    if ($leadResult === false) {
        return array(
            'state' => 'error',
            'data'  => 'failed to create lead',
        );
    }

    $leadId = $leadResult['result'];

    $this->logInfo("Register call for lead ID $leadId");

    $params['CRM_CREATE'] = 0;
    $params['CRM_ENTITY_TYPE'] = 'LEAD';
    $params['CRM_ENTITY_ID'] = $leadId;
}
```


---

# 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://docs.itgrix.ru/custom_bx/always-create-lead-on-incoming.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.
