Конструктор роботов S-WEBS для Битрикс24

Как настроить робота: получить или создать контакт для лида

18 шагов с 22 скриншотами: входы и выходы, семь блоков, ветви, моделирование, публикация и проверка результата.

Содержание руководства

В «Конструкторе роботов» вы создаёте собственного робота в визуальном редакторе по принципу бизнес-процесса: соединяете действия, задаёте условия и ветвления, обрабатываете данные. Внутри одного робота можно собрать несколько связанных шагов, последовательные циклы и вызов другого сохранённого сценария.

Далее приведён пошаговый пример для администратора Битрикс24: робот найдёт или создаст контакт и свяжет его с лидом. Схема собирается из блоков, а источники значений выбираются в форме. Для проверки приведён образец JSON с тестовыми ответами. Сначала настройте и проверьте схему, затем подключите её к автоматизации лидов.

Что получится в конце

Когда лид попадёт на выбранную стадию, робот проверит, есть ли подходящий контакт. Если контакт есть, робот использует его. Если контакта нет, создаст его из данных лида. Затем свяжет контакт с лидом и передаст результат следующему роботу.

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

Пример не конвертирует лид и не создаёт сделку. Если это нужно вашему процессу, соответствующий робот Битрикс24 ставится следующим и получает отдельное условие успешного завершения.

Перед началом: четыре понятия

Понятие Простое объяснение
Сценарий Схема действий, которую вы редактируете в конструкторе.
Версия Сохранённый снимок схемы. После создания он не меняется.
Публикация Регистрация версии, после которой её можно найти в каталоге роботов Битрикс24.
Робот на стадии Опубликованная версия, добавленная в конкретную стадию с конкретными параметрами запуска.

Сохранить схему недостаточно: до настоящего запуска нужно пройти все четыре этапа.

Приложение входит в подписку Битрикс24 Маркетплейс. Для установки и регистрации нужен администратор. Исполнитель должен иметь доступ к лидам и контактам и право на соответствующие изменения CRM. У приложения должны быть разрешения для CRM, сведений о пользователях и регистрации роботов (bizproc).

Шаг 1. Откройте приложение и подготовьте доступ

  1. Откройте установленный «Конструктор роботов» внутри своего Битрикс24.
  2. Перейдите в раздел «Доступ».
  3. Если сценарий будет создавать другой сотрудник, выберите его в «Авторах сценариев» и нажмите «Назначить автором».
  4. Под учётной записью будущего исполнителя нажмите «Предоставить личную авторизацию».
  5. В окне подтверждения проверьте свою учётную запись и нажмите «Подтверждаю авторизацию».
  6. Проверьте, что авторизация «Активна».

Что проверить: приложение открыто внутри портала, у автора есть доступ к сценариям, у исполнителя активна личная авторизация.

Исполнитель и ответственный за новый контакт задаются отдельно. Исполнитель определяет права робота; ответственный записывается в новую карточку контакта.

Шаг 1. Личная авторизация исполнителя: проверьте, что она активна
Шаг 1. Личная авторизация исполнителя: проверьте, что она активна

Шаг 2. Откройте готовый сценарий или создайте свой

  1. Перейдите в «Сценарии».
  2. Если «Получить или создать контакт для лида» уже есть, найдите его и нажмите «Редактировать». Для отдельного варианта воспользуйтесь «Копировать».
  3. Если сценария нет, задайте название «Получить или создать контакт для лида» и нажмите «Создать пустой».
  4. Для просмотра готовой последовательности выберите «Простой». Для ручной настройки связей выберите «Графовый».

Встроенный «Пример из пяти блоков» относится к другому сценарию. Он не создаёт автоматически пример поиска и создания контакта.

Шаг 2. Редактор сценария: подготовка, параметры и последовательность блоков
Шаг 2. Редактор сценария: подготовка, параметры и последовательность блоков

Шаг 3. Объявите два входа и два выхода

  1. Откройте «Параметры робота».
  2. В «Что получает» добавьте два входа по таблице.
  3. В «Что возвращает» добавьте два выхода по таблице.
  4. Для всех четырёх параметров включите «Обязательное». «Несколько значений» оставьте выключенным.
Направление Код (введите точно) Название Тип
Вход lead_id ID текущего лида Целое число
Вход responsible_id Ответственный за новый контакт ID пользователя
Выход contact_id ID контакта Целое число
Выход created Создан новый контакт Да/нет

Для lead_id не задавайте постоянный номер лида по умолчанию. При подключении к стадии вы передадите сюда ID текущего документа.

Для responsible_id используйте сотрудника своего портала. Если задаёте значение по умолчанию, проверьте его на своём портале: номера пользователей между порталами не совпадают.

Шаг 3. Вход ID текущего лида: код lead_id, тип «Целое число», обязательное значение
Шаг 3. Вход ID текущего лида: код lead_id, тип «Целое число», обязательное значение

Шаг 4. Добавьте семь блоков

Откройте «Блоки» и используйте «Найти блок». Поиск и создание находятся в CRM → Контакты, привязка находится в CRM → Связи CRM. Найдите нужный тип, выберите карточку в каталоге и нажмите «Добавить». В настройках карточки задайте название из третьего столбца.

Если «Начало» и «Результат» уже есть в пустой схеме, используйте их. Если редактируете готовый пример, проверьте семь существующих блоков вместо повторного добавления.

Порядок Тип блока Удобное название карточки
1 Начало Начало
2 Найти контакт для лида Найти контакт по данным лида
3 Условие Контакт уже найден?
4 Создать контакт из лида Создать контакт из лида
5 Слияние ветвей Использовать найденный или новый контакт
6 Привязать контакт к лиду Привязать контакт к лиду
7 Результат «Контакт готов — завершить робот»

«Создать контакт из лида» должен находиться только в ветви «Нет» условия. В ветви «Да» создавать ничего не нужно.

Шаг 4. Каталог блоков: найдите специализированные операции для контакта и лида
Шаг 4. Каталог блоков: найдите специализированные операции для контакта и лида

Шаг 5. Соедините блоки

  1. Выберите «Графовый» и откройте «Блоки».
  2. Прокрутите левую панель вниз: под списком «Найти блок на схеме» находится раздел «Связи».
  3. Выберите «Исходный блок», «Выход источника» и «Следующий блок» по таблице, затем нажмите «Создать связь».
  4. Повторите для семи строк. Уже существующую связь добавлять повторно не нужно; кнопка для неё может быть неактивна.
Шаг 5. Панель «Связи» находится внизу раздела «Блоки» в графовом виде
Шаг 5. Панель «Связи» находится внизу раздела «Блоки» в графовом виде
Исходный блок Выход Следующий блок
Начало Продолжить Найти контакт по данным лида
Найти контакт по данным лида Продолжить Контакт уже найден?
Контакт уже найден? Да Использовать найденный или новый контакт
Контакт уже найден? Нет Создать контакт из лида
Создать контакт из лида Продолжить Использовать найденный или новый контакт
Использовать найденный или новый контакт Продолжить Привязать контакт к лиду
Привязать контакт к лиду Продолжить «Контакт готов — завершить робот»

Что проверить: две ветви сходятся в одном блоке слияния. После слияния идут привязка и результат.

Шаг 5. Две ветви условия: создание контакта выполняется только по ветви «Нет»
Шаг 5. Две ветви условия: создание контакта выполняется только по ветви «Нет»

Шаг 6. Настройте поиск контакта

  1. Нажмите карточку «Найти контакт по данным лида».
  2. В «Настройках блока» найдите «ID лида».
  3. В «Откуда взять значение» выберите «Параметр робота → ID текущего лида».

Блок сначала проверит связи лида с контактами. Если связи нет, выполнит поиск по телефону или email. При нескольких совпадениях выберет контакт с наименьшим ID. Дубли при этом не объединяются и не удаляются.

Шаг 6. Поиск получает ID лида из параметра робота
Шаг 6. Поиск получает ID лида из параметра робота

Шаг 7. Настройте условие «Контакт уже найден?»

  1. Откройте настройки блока условия.
  2. Для «Первого значения» выберите результат поиска «Контакт найден» (found).
  3. Выберите сравнение «Равно».
  4. Для «Второго значения» выберите ввод значения типа «Да/нет» и значение «Да (true)».

Что проверить: если found=true, выполняется ветвь «Да»; если found=false, выполняется ветвь «Нет» с созданием контакта.

Шаг 7. Условие сравнивает результат «Контакт найден» со значением Да
Шаг 7. Условие сравнивает результат «Контакт найден» со значением Да

Шаг 8. Настройте создание нового контакта

  1. В ветви «Нет» выберите «Создать контакт из лида».
  2. Для «ID лида» выберите «Параметр робота → ID текущего лида».
  3. Для «Ответственного за новый контакт» выберите одноимённый параметр робота.

Блок переносит имя, фамилию, отчество, телефоны и email. Если имя пустое, использует название лида. Перед записью ещё раз проверяет, не появился ли контакт: тогда вернёт существующий ID и признак created=false.

Произвольные поля и пользовательские поля лида этот блок не копирует. Если контакт требует дополнительное обязательное поле, которое блок не может заполнить, создание завершится ошибкой. Сначала проверьте требования своего портала.

Шаг 8. Создание получает ID лида и ответственного из входных параметров
Шаг 8. Создание получает ID лида и ответственного из входных параметров

Шаг 9. Настройте слияние двух ветвей

В «Слиянии ветвей» создайте два выхода: contact_id и created. Заполните каждую входящую ветвь отдельно:

Входящая ветвь Значение contact_id Значение created
Из условия по ветви «Да» ID контакта из поиска Ввести значение «Нет (false)»
Из «Создать контакт из лида» ID контакта из создания «Контакт создан» из создания

Не ставьте для второй ветви постоянное «Да»: перед созданием может обнаружиться существующий контакт, и блок правильно вернёт «Нет».

Если изменили связи, нажмите «Обновить строки по входящим ветвям» и проверьте таблицу ещё раз.

Шаг 9. Слияние выбирает ID контакта и признак создания из выполненной ветви
Шаг 9. Слияние выбирает ID контакта и признак создания из выполненной ветви

Шаг 10. Настройте привязку контакта к лиду

  1. Выберите «Привязать контакт к лиду».
  2. Для «ID лида» выберите параметр «ID текущего лида».
  3. Для «ID контакта» выберите contact_id из блока «Использовать найденный или новый контакт».

Что проверить: ID контакта приходит из слияния. Благодаря этому привязка работает и для найденного, и для нового контакта.

Шаг 10. Привязка получает общий ID контакта после слияния
Шаг 10. Привязка получает общий ID контакта после слияния

Шаг 11. Настройте результат и сохраните схему

  1. Выберите «Контакт готов — завершить робот».
  2. Для «ID контакта» выберите ID из результата блока привязки.
  3. Для «Создан новый контакт» выберите created из блока слияния.
  4. Нажмите «Сохранить».
  5. Убедитесь, что показано «Сохранено».
Шаг 11. Робот возвращает ID привязанного контакта и признак создания
Шаг 11. Робот возвращает ID привязанного контакта и признак создания

Шаг 12. Проверьте схему без записи в CRM

  1. Нажмите «2. Проверить».
  2. Нажмите «Проверить схему».
  3. Дождитесь сообщения «Схема прошла проверку».
  4. В «Входах моделирования» включите «Задать значение» для обоих входов. Если включено «Пустое значение (null)», снимите флажок. Введите 9001 для ID лида и 9002 для ответственного. Это вымышленные числа для расчёта, существование таких карточек и сотрудников не требуется.
  5. В «Данных для имитации портальных блоков» задайте тестовые ответы по образцу ниже. Данные не берутся автоматически из CRM.
  6. Нажмите «Моделировать» и проверьте выходы.

В панели перечислены пути внешних блоков. Скопируйте путь поиска, создания и привязки. В образце замените ключи ПУТЬ_ПОИСКА, ПУТЬ_СОЗДАНИЯ, ПУТЬ_ПРИВЯЗКИ на пути вашей схемы, сохранив кавычки. Название карточки вместо пути не подойдёт.

Для пробы «контакт не найден, создать новый» вставьте:

{
  "ПУТЬ_ПОИСКА": {
    "port": "success",
    "outputs": {"found": false, "contact_id": null, "match_count": 0}
  },
  "ПУТЬ_СОЗДАНИЯ": {
    "port": "success",
    "outputs": {"contact_id": 9010, "created": true}
  },
  "ПУТЬ_ПРИВЯЗКИ": {
    "port": "success",
    "outputs": {"contact_id": 9010}
  }
}

Ожидайте итог ID контакта = 9010, Создан новый контакт = Да. Для второй пробы поменяйте ответ поиска на {"found": true, "contact_id": 9009, "match_count": 1} и ID в ответе привязки на 9009. Создание будет пропущено; итог: 9009, Нет. Ответ создания можно оставить: пропущенный блок его не использует.

Для ответа поиска нужны found, contact_id, match_count; для создания: contact_id, created; для привязки: contact_id. В JSON используйте true и false, без кавычек. Для отсутствующего контакта: found=false, contact_id=null, match_count=0.

Проба Ожидаемый результат
Поиск вернул найденный контакт Создание пропущено, ID контакта возвращён, created=false.
Поиск ничего не нашёл, создание вернуло новый контакт Создание и привязка выполнены, created=true.
Создание при повторной проверке вернуло существующий контакт Привязка выполнена, created=false.

Моделирование не создаёт контакты и не меняет лиды. Оно проверяет маршрут по указанным ответам. Реальные права, поиск и запись проверяются отдельным запуском на тестовом лиде.

Шаг 12. Проверка структуры и моделирование сценария
Шаг 12. Проверка структуры и моделирование сценария
Шаг 12. Вторая проба: контакт найден, создание пропущено, итоговый признак: Нет
Шаг 12. Вторая проба: контакт найден, создание пропущено, итоговый признак: Нет

Шаг 13. Создайте неизменяемую версию

  1. Проверьте, что черновик сохранён.
  2. Откройте «Версии сценария».
  3. Нажмите «Создать версию».
  4. Проверьте входы, выходы и схему созданной версии.

На скриншоте версия уже создана для текущего сохранённого состояния, поэтому кнопка неактивна. Если у вас есть подходящая версия, используйте её. Новая версия понадобится после изменения и сохранения черновика.

Если позднее измените черновик, существующий робот продолжит использовать прежнюю версию. Для обновлённого поведения нужна новая версия и проверка её подключения в автоматизации.

Шаг 13. Создание версии сохраняет отдельный неизменяемый снимок
Шаг 13. Создание версии сохраняет отдельный неизменяемый снимок

Шаг 14. Зарегистрируйте версию как робот для лидов

  1. Под администратором нажмите «3. Опубликовать» → «Перейти к публикации».
  2. Выберите проверенную «Неизменяемую версию».
  3. Включите «Робот CRM» → «Подготовить эту публикацию».
  4. Выберите активное «Разрешение исполнителя».
  5. Для «Основного документа CRM» выберите «Лид».
  6. Нажмите «Проверить настройку», прочитайте подтверждение и нажмите «Подтвердить подготовку».
  7. Нажмите «Зарегистрировать в Битрикс24».
  8. Проверьте регистрацию кнопкой «Проверить регистрацию на портале».

«Зарегистрировано» означает, что робот доступен в каталоге. На стадию он сам не добавляется и по лидам сам не запускается.

Шаг 14. Публикация выбранной версии как робота CRM
Шаг 14. Публикация выбранной версии как робота CRM

На примере публикация уже подготовлена, поэтому часть элементов формы неактивна. Проверьте существующую публикацию и её статус; повторно готовить ту же версию не нужно.

Шаг 14. Успешная регистрация: статус «Зарегистрировано»
Шаг 14. Успешная регистрация: статус «Зарегистрировано»

Шаг 15. Добавьте робот на нужную стадию

  1. Откройте CRM → Лиды → Роботы.
  2. Найдите стадию, на которой нужно подготовить контакт.
  3. Нажмите «+» под нужной стадией либо откройте каталог через «Создать». В каталоге проверьте «Добавить на стадию»: там должна быть ваша целевая стадия, а не первая стадия по умолчанию.
  4. Найдите название «Получить или создать контакт для лида» с нужным номером версии.
  5. Добавьте робот и откройте настройки.
Шаг 15. Найдите опубликованную версию в каталоге роботов лидов
Шаг 15. Найдите опубликованную версию в каталоге роботов лидов

Шаг 16. Передайте ID текущего лида и ответственного

  1. В «ID текущего лида» выберите поле ID текущего документа средствами выбора значений Битрикс24.
  2. Если открыто окно «Настройки шага сценария», для ID используйте источник «Ссылка или выражение Битрикс24».
  3. Для «Ответственного за новый контакт» выберите нужного активного сотрудника текущего портала. Для постоянного сотрудника подходит источник «Заданное значение».
  4. Нажмите «Передать значения в форму».
  5. Сохраните саму форму робота в Битрикс24 и настройки автоматизации.
  6. Снова откройте робот и проверьте оба входа.

В уже настроенном примере ID текущего документа показан как {{ID}}, а источник указан как «Сохранить текущее значение». Это выражение Битрикс24, его можно оставить. Для новой настройки выберите «Ссылка или выражение Битрикс24» и поле ID текущего документа.

Не вписывайте один номер лида постоянным значением: тогда все запуски будут обрабатывать один и тот же лид. Выражение Битрикс24 также нельзя передавать как обычное постоянное число.

Шаг 16. Параметры шага: выберите источник ID текущего документа
Шаг 16. Параметры шага: выберите источник ID текущего документа

Шаг 17. Разрешите следующий робот только после успеха

Если дальше стоит конвертация, создание сделки или смена стадии:

  1. Укажите выполнение после контактного робота.
  2. Добавьте отдельное условие по выходу этого робота: swb_ok = Да. Вместо него можно использовать swb_status = succeeded.
  3. Если следующему шагу нужен контакт, передайте contact_id.
  4. Сохраните настройки.

Один порядок «После предыдущего» задаёт последовательность, но не проверяет успешный результат. Без отдельного условия следующий робот может продолжить работу после ошибки поиска, создания или привязки.

Шаг 17. Системные выходы робота: «Успешно», «Статус» и данные результата для следующих шагов
Шаг 17. Системные выходы робота: «Успешно», «Статус» и данные результата для следующих шагов

На скриншоте показаны доступные выходы. Само условие продолжения задайте в настройках следующего робота Битрикс24.

Шаг 18. Проверьте результат на тестовом лиде

Настоящий запуск создаёт записи CRM. Используйте тестовый лид с понятными данными и проверяйте сначала отдельно от обработки рабочих обращений.

  1. Проверьте лид с существующим контактом: должен использоваться найденный контакт, created=false.
  2. Проверьте лид, для которого нужен новый контакт: должны появиться контакт и связь, created=true.
  3. Откройте в приложении «Запуски», найдите нужный запуск и проверьте состояние и contact_id.
  4. Откройте лид: в нём должна быть видна связь с нужным контактом.
  5. Для нового контакта проверьте имя, телефон/email и ответственного.
  6. Убедитесь, что следующий робот выполнился по условию успеха и достиг нужного результата.

Наличие робота в каталоге или успешное моделирование не заменяет эту проверку.

В журнале используйте фильтры по сценарию, состоянию и источнику, чтобы найти проверяемый запуск. Откройте его подробности и сверьте итоговые значения с CRM.

Шаг 18. Фильтры журнала помогают найти нужный запуск
Шаг 18. Фильтры журнала помогают найти нужный запуск
Шаг 18. Журнал позволяет проверить состояние, шаги и результат запуска
Шаг 18. Журнал позволяет проверить состояние, шаги и результат запуска

В колонке доставки может быть указано «API принял; потребление не подтверждено». Это квитанция передачи результата: использование результата следующим роботом проверьте отдельно по его работе.

Если что-то не получилось

Что видите Что сделать
Не можете открыть сценарии Проверить учётную запись и назначение автора в «Доступе».
Исполнитель недоступен Проверить и при необходимости повторно подтвердить личную авторизацию.
Робот отсутствует в каталоге Проверить регистрацию именно нужной версии для документа «Лид» и разрешение bizproc.
Ошибка доступа к лиду или контакту Проверить входной ID и права исполнителя. Это не означает, что контакта нет.
Ошибка обязательного поля контакта Проверить требования CRM: специализированный блок не заполняет произвольные поля.
Контакт создан, но привязка не завершилась Проверить созданный контакт и связи лида до нового запуска. Создание не откатывается.
Неизвестный исход записи или тайм-аут Сначала проверить журнал и фактическую CRM. Повторный запуск может создать ещё одну запись.
Изменили схему, а робот работает по-старому Проверить версию опубликованного робота: правка черновика не меняет прежний снимок.
Следующий робот сработал после ошибки Проверить отдельное условие swb_ok=Да и ссылку на выход нужного робота.

Чего этот пример не делает

  • Не объединяет и не удаляет дубли контактов.
  • Не гарантирует отсутствие дублей, если другие роботы или сотрудники одновременно создают контакты.
  • Не копирует пользовательские поля, адреса, реквизиты и произвольные данные лида.
  • Не меняет ответственного существующего контакта, лида или сделки.
  • Не выполняет конвертацию и не меняет стадию.
  • Не отменяет уже подтверждённую запись после ошибки.

Проверка готовности перед включением

  1. У исполнителя активна авторизация и достаточные права.
  2. Вход lead_id связан с ID текущего лида.
  3. Выбран ответственный своего портала.
  4. Создание находится только в ветви «Нет».
  5. Слияние правильно передаёт contact_id и created из обеих ветвей.
  6. Опубликована и подключена нужная версия для лидов.
  7. Настройки переданы в форму и сохранены в Битрикс24.
  8. Следующий робот проверяет swb_ok=Да.
  9. На тестовом лиде подтверждены результат, связь с контактом и поведение следующего шага.