CRM Роботы + AI 2.0

Замена текста

Робот «Замена текста» для Битрикс24: наводим порядок в данных CRM без программирования

Что делает робот «Замена текста»

Робот ищет и заменяет фрагменты в текстовых полях CRM — названиях компаний, телефонах, адресах, примечаниях к сделкам. Работает внутри бизнес-процессов Битрикс24 и срабатывает сам при создании или изменении элемента: лида, сделки, контакта, компании.

Ручная правка — это когда один менеджер пишет «ООО Ромашка», второй — «ромашка ооо», а третий вообще забывает поправить. Робот применяет одни и те же правила ко всем записям. Результат не зависит от того, кто заполнил поле и в каком настроении. Никакого человеческого фактора: данные во всей CRM приводятся к единому виду автоматически.

Робот умеет два режима: точное совпадение (замена конкретной строки) и регулярные выражения (замена по шаблону). Второй режим — вот где настоящая мощь. Выделяете части текста в группы, меняете их местами, вырезаете мусор. Замены можно делать цепочкой: несколько правил применяются одно за другим к одному и тому же тексту. Скажем, из строки «ООО „Ромашка“» сначала убираем префикс «ООО », потом вырезаем кавычки — на выходе чистое «Ромашка». Два правила, пара секунд.

Сценарии: что можно автоматизировать

1. Нормализация названий компаний

Менеджеры вносят названия как попало: «ООО Ромашка», «ООО „Ромашка“», «ромашка ооо». Для отчётов и интеграции с 1С нужно единообразие. Робот приводит всё к одному стандарту.

Как настроить: два правила точного совпадения подряд. Первое заменяет «ООО » на пустую строку, второе — кавычки «„» и «“» на пустую строку.

До: ООО „Ромашка“
После: Ромашка

2. Очистка телефонных номеров

Клиенты пишут номера как угодно: с кодом страны, без него, в скобках, через дефис. Для прозвона через телефонию или отправки в SMS-шлюз нужны голые цифры. Робот чистит номера сам, без ручного причёсывания каждого.

Как настроить: режим регулярного выражения, шаблон \D (всё, что не цифра), замена — пустая строка.

До: +7 (999) 123-45-67
После: 79991234567

Один шаблон убирает скобки, пробелы, дефисы и плюс из любого номера — неважно, как его ввёл клиент.

3. Смена формата дат

При импорте из внешних систем или старых Excel-файлов даты часто приходят как ДД.ММ.ГГГГ, а для API или отчётов нужен ГГГГ-ММ-ДД. Робот перелопачивает тысячи записей без ошибок — руками такое делать бессмысленно.

Как настроить: режим регулярного выражения, шаблон (\d{2})\.(\d{2})\.(\d{4}), замена: $3-$2-$1.

До: 31.12.2026
После: 2026-12-31

Шаблон выделяет день, месяц и год в отдельные группы, а обратные ссылки собирают их в нужном порядке с новым разделителем.

4. Перестановка имени и фамилии

Выгрузка даёт «Фамилия Имя», а для письма или документа нужно «Имя Фамилия». Ручное переключение в сотнях записей отнимает часы. Одно правило с регуляркой — и готово.

Как настроить: режим регулярного выражения, шаблон ^(\S+)\s+(\S+), замена $2 $1.

До: Ромашкин Семен
После: Семен Ромашкин

Шаблон выделяет два непробельных слова в начале строки и меняет их местами. Работает для любых пар «Фамилия Имя».

5. Добавление маркера к номеру заявки

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

Как настроить: режим регулярного выражения, шаблон ^(\d+), замена $1/1.

До: 2442 Ромашкин Семен Игоревич
После: 2442/1 Ромашкин Семен Игоревич

Шаблон находит число в начале строки и добавляет суффикс /1. Остальной текст не трогается. Если нужно — значение суффикса можно брать из другого поля, робот подставит его как обычную переменную.

6. Замена обозначения валюты

В примечаниях и комментариях валюту пишут по-разному: «руб.», «р.», «RUB», «₽». Бухгалтерской выгрузке нужен единый формат.

Как настроить: режим точного совпадения, три правила: «руб.» → «RUB», «р.» → «RUB», «₽» → «RUB». Либо одно правило с регулярным выражением и флагом «Не учитывать регистр».

До: Сумма: 1000.00 (руб.)
После: Сумма: 1000.00 RUB

7. Ограничение количества замен

Бывает, нужно поправить только первое вхождение, а остальные не трогать — например, заголовок поправили, а такой же текст в теле документа пусть остаётся.

Как настроить: параметр «Максимум замен» = 1. Робот найдёт первое совпадение, заменит и остановится.

До: Ромашка — надёжный поставщик. Ромашка работает с 2010 года.
После (максимум замен = 1): ООО Ромашка — надёжный поставщик. Ромашка работает с 2010 года.

Настройка робота в бизнес-процессах

Когда добавляете робота в бизнес-процесс, заполняете несколько параметров. Разберём каждый.

Текст — исходная строка, которую робот будет обрабатывать. Можно указать значение конкретного поля (название сделки, комментарий, телефон) или текстовую переменную, сформированную другим роботом. Подставляется как фиксированное значение или ссылка на поле — {=deal:UF_CRM_...}.

Режим замены — переключатель между «Точное совпадение» и «По шаблону (регулярное выражение)». Точное совпадение — когда знаете, какой именно текст заменить: убрать «ООО», исправить опечатку, заменить код валюты. Режим шаблона — для неструктурированных данных: телефонов, дат, имён. Точное значение неизвестно, но формат понятен. В шаблоне работают круглые скобки для групп и обратные ссылки $1, $2, ${1} в строке замены.

Что заменить — строка поиска (можно несколько). В точном совпадении — конкретный текст: «ООО », «руб.», «г. Москва». В шаблоне — регулярка: \d{2}\.\d{2}\.\d{4} для дат, \D для нецифровых символов. Если указать несколько значений, робот применит их последовательно к одному тексту. Порядок важен: результат первой замены — вход для второй.

На что заменить — строка замены. Пустое поле — найденный фрагмент удалится. В режиме шаблона работают обратные ссылки: $1 — содержимое первой группы скобок, $2 — второй, и так далее.

Не учитывать регистр — включили флаг, и робот не различает заглавные и строчные. «Ромашка», «ромашка» и «РОМАШКА» — одно и то же. Удобно, когда данные приходят в смешанном регистре: одно правило «ромашка» → «Ромашка» с флагом затронет все варианты.

Максимум замен — сколько раз сработает правило. 0 или пусто — все совпадения. 1 — только первое. 5 — первые пять. Пригождается, когда надо поправить начало строки, не трогая остальное.

Что робот возвращает: переменные

После выполнения робот отдаёт набор переменных. Их можно использовать в следующих действиях бизнес-процесса: записать в поле CRM, подставить в условие ветвления, передать другому роботу.

  • result — итоговый текст после всех замен. Основное значение: его вы подставляете в поле CRM или передаёте дальше.
  • count — сколько замен выполнено (целое число). Позволяет понять масштаб: одна правка или десяток.
  • changed — признак изменений: Y, если хотя бы одна замена сработала, N — текст не изменился. На эту переменную удобно вешать условную логику: changed=Y → отправить уведомление, changed=N → пропустить шаг.
  • status — успешность выполнения: Y — отработал без ошибок, N — сбой (например, кривое регулярное выражение).
  • error — текст ошибки, если status=N. Обычно достаточно подробный, чтобы понять, что не так с шаблоном.

Переменная changed особенно полезна для разветвлённых процессов. Название компании изменилось после нормализации — проверяем дубли. Телефон очистился от мусора — запускаем валидатор. Ничего не изменилось — пропускаем лишние проверки, экономим время процесса.

Связка с другими роботами: цепочки автоматизации

Сам по себе «Замена текста» — штука полезная, но настоящая сила раскрывается в цепочках.

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

После получения письма. «Поиск подстроки в письмах» извлекает тело email, затем «Замена текста» вырезает подписи, дисклеймеры, цепочки пересылки. Остаётся только содержательная часть. Дальше — AI-аналитика или чат-бот: модель не тратит токены на служебный мусор и точнее понимает суть.

Перед формированием документа. В сделке есть поле с суммой, датой или другими данными для печатной формы. «Замена текста» приводит их к нужному формату, следующий робот генерирует PDF или коммерческое предложение. Типичная цепочка: форматирование даты → генерация документа → отправка письма клиенту. Три робота, ни одного ручного действия.

В связке с AI-роботами. Перед отправкой текста в нейросеть «Замена текста» вырезает технические пометки, служебные символы, HTML-теги — всё, что не несёт смысла, но раздувает запрос и путает модель. Чистый текст на входе — точный ответ на выходе.

Цепочка валидации. Типовой сценарий для сделки: очистка телефона → валидатор проверяет, что номер стал ровно 11 цифр → если нет — уведомление менеджеру с задачей на уточнение. Одна цепочка заменяет три ручных действия.

Типичные ошибки при настройке

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

1. Точное совпадение там, где нужен шаблон. Пытаетесь найти «+7 (999) 123-45-67» точным совпадением — робот найдёт именно эту строку, но пропустит «+7 (999) 123-45-68». Телефоны, email, даты — всё с переменной частью требует регулярных выражений.

2. Синтаксическая ошибка в шаблоне. Незакрытая скобка, лишний обратный слеш — робот падает с status=N. В переменной error будет описание проблемы. Совет: сложные выражения сначала обкатывайте на одном тестовом элементе, а не на всей CRM разом.

3. Обратные ссылки в точном совпадении. $1, $2 работают только в режиме регулярного выражения — там есть группы захвата в круглых скобках. Если написать $1 в строке замены при точном совпадении, робот честно вставит символы «$1», а не содержимое группы.

4. Слишком жадный шаблон. .+ или .* захватывает всё, до чего дотянется. Замена .+ на пустую строку сотрёт поле целиком. Используйте конкретные символьные классы: \d — цифры, \w — буквы и цифры, \s — пробелы. Добавляйте ? для минимального захвата: .+? вместо .+.

5. Порядок правил. Робот применяет замены строго последовательно. Если первое правило удалило текст, на который должно было сработать второе, — второе не сработает. Пример: сначала удаляем кавычки, потом пытаемся найти конструкцию с кавычками. Ставьте правила от общего к частному: сначала крупные конструкции, потом детали внутри.

6. Забыли проверить changed. После робота идёт действие, которое должно выполняться только при наличии изменений, но условие на changed не настроено. Действие выполняется всегда — в том числе для записей, которые робот не трогал. Лишняя нагрузка на процесс, повторные уведомления, ложные срабатывания.