Кейсы

Поиск Контактов, Компаний, Сделок, Лидов, Задач и Сотрудников. Приложение для Битрикс24

Коллеги, приветствую. На связи Юрий Павлюк, команда Digital for Sales. В этом видео я расскажу о нашем приложении, которое помогает осуществлять поиск по контактам, компаниям, лидам, сделкам, задачам и сотрудникам — всего по шести сущностям. Здесь четыре стандартные сущности CRM плюс задачи и сотрудники.

Изначально мы хотели сделать шесть отдельных приложений и каждое из них развивать отдельно, с описанием, скринами, видео. Но правила маркетплейса Bitrix24 заставили объединить их в один бандл, в одну коллекцию. О ней сегодня и поговорим. Принцип работы у всех шести роботов одинаковый, поэтому я разберу одно приложение, а вы поймете логику всех.

В Bitrix24, конечно, есть поиск и штатные роботы. Но часто поиск нужен как промежуточный этап, чтобы передать результаты следующему роботу или бизнес-процессу. Например, нам нужно быстро получить общее число найденных элементов: сколько задач по таким-то условиям, сколько сделок, сколько компаний. Эти цифры можно выводить себе в Telegram с помощью нашего приложения для отправки сообщений или накапливать для дашбордов, или отдавать ответственным сотрудникам, чтобы они видели, сколько у них сейчас задач или сделок.
Следующий вариант результата поиска — массив ID. Например, мы нашли 13 компаний и получили массив ID. Сам по себе список чисел бесполезен, но если передать его итератору и внутри итератора вызвать другие роботы, то можно собрать, например, список email адресов контактов по определенным критериям, выгрузить дополнительные данные, подготовить выборку для рассылки, аналитики или любых других целей.

Третий результат — самый ранний элемент, то есть минимальный ID. Это нужно, например, при поиске дублей. Допустим, есть две одинаковые компании, по обеим уже есть история. Надо понять, какую считать основной. Как правило, оставляют ту, что создана раньше. Самый маленький ID и есть самая старая сущность. Дальше можно уведомить ответственных, договориться, как объединять поля, что оставить, что перезаписать.

Итак, у нас три результата: общее количество найденных элементов, массив ID и самый маленький ID.
Теперь перейдем к роботам. После установки приложения у вас появится шесть роботов — по каждой сущности. Они работают откуда угодно. Например, находясь в сделке, можно искать задачи. Это удобно, потому что штатные роботы обычно ищут только внутри своей сущности. Часто в реальной жизни нужно, находясь в сделке, найти задачи, связанные с компанией, которая к этой сделке привязана.

Покажу пример. Предположим, мне нужно найти задачи с определенным названием. Можно добавлять несколько фильтров — хоть десять, если надо. Например, задачи с таким названием и в статусе «в работе».

Поля подгружаются автоматически — и стандартные, и пользовательские. Названия тоже отображаются корректно, даже если пользовательские поля имеют технические названия.
Дальше я добавляю робота «Комментарий», чтобы увидеть результаты: массив ID, количество и первый ID. Сохраняю роботов, выхожу в сделку и жду выполнения.

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

В моем примере сначала ничего не находилось. Оказалось, что дело в правах доступа. Метод поиска по задачам очень жестко привязан к правам пользователя. Как админ я вижу все задачи, но если ставлю фильтр, например «в работе», это уже задачи между сотрудниками, где я не участвую, и обычный список задач такие мне не покажет. Чтобы видеть такие задачи, нужно включать фильтр «показать задачи, в которых я не участвую». Поэтому робот, запущенный от моего имени, возвращал ноль результатов.
Решение — запускать робот от имени пользователя, у которого есть права на эти задачи. Я выбрал сотрудницу Полину, и сразу получили результат: 25 задач в работе, которые доступны ей и ее подчиненным.

Это частая причина жалоб: «приложение не работает». В итоге оказывается, что робот запускается от пользователя без доступа к сущностям. Особенно важно, когда речь о сделках — если пользователь не может их редактировать, робот тоже не сможет.

Поэтому лучше запускать все роботы от технического пользователя с максимальными правами — так админы могут меняться, а технический аккаунт остается.
Подытожим. В приложении есть шесть роботов — по каждой сущности. Они работают из любой точки. Фильтров можно ставить сколько угодно. На выходе вы получаете количество, массив ID и минимальный ID. Эти данные передаются в итераторы, Telegram-ботов, копятся для аналитики, идут в дашборды или внешние системы. При этом обязательно смотрите, от имени кого выполняется робот — это критично.

Это был самый длинный обзор из всех, но здесь, по сути, шесть приложений в одном. Если что — пишите прямо в виджет на маркетплейсе, сообщение попадет ко мне. Я Юрий Павлюк, команда Digital for Sales. Пусть наши приложения приносят пользу вашему бизнесу. До встречи.
Лендинг приложения: https://searchfields.digitalforsales.ru
Made on
Tilda