CRM роботы

Парсинг текста

Когда полезен парсинг текста

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

Регулярные выражения подходят для повторяющихся форматов: «Заказ №…», «ИНН: …», «Итого: …». Они работают предсказуемо и не требуют обращения к ИИ. Для свободного текста, где важен смысл фразы, лучше выбрать разбор по промпту.

Робот рассчитан на интеграторов Битрикс24 и администраторов, которые настраивают бизнес-процессы.

Как настроить робота

Настройка робота для парсинга текста

  1. Передайте в поле «Текст для анализа» письмо, комментарий, значение поля CRM или результат предыдущего шага.
  2. Добавьте регулярные выражения в нужном порядке. Каждому шаблону соответствует отдельное поле: «Результат 1», «Результат 2» и далее.
  3. После робота проверьте обязательные результаты, нормализуйте значения при необходимости и только затем записывайте их в CRM.
Главное перед настройкой
  • Один шаблон возвращает первое найденное совпадение.
  • В результат попадает первая группа захвата в круглых скобках. Для служебных вариантов используйте (?:...).
  • Если совпадения нет или выражение содержит ошибку, результат будет пустым, хотя общий статус может остаться успешным.
  • Флаг (?i) в начале выражения отключает учёт регистра.
  • Регулярное выражение проверяет формат, но не достоверность ИНН, даты, VIN или банковских реквизитов.
  • Проверяйте шаблон на правильной строке и на примерах, где совпадения быть не должно.

Быстрый переход к примерам

Документы и номера

Номер заказа→ 4582

Исходный текст: «Перенесите доставку по заказу №4582 на пятницу».

Регулярное выражение:
(?i)заказ(?:у|а)?\s*(?:№|номер|[:#])?\s*([A-ZА-Я]*(?:-\d|\d)[A-ZА-Я0-9/-]*)

Результат: 4582.

Проверка: выражение также вернёт AB-2048 из строки «Заказ: AB-2048», но не примет слово «оформлен» за номер. Идентификатор должен содержать хотя бы одну цифру.

Номер договора→ А-17/24

Исходный текст: «Оплата по договору №А-17/24 поступит завтра».

Регулярное выражение:
(?i)договор(?:у|а)?\s*№?\s*([A-ZА-Я0-9/-]+)

Результат: А-17/24.

Номер счёта→ С-981

Исходный текст: «Просьба оплатить счёт №С-981 до 15 августа».

Регулярное выражение:
(?i)сч[её]т(?:у|а)?\s*№?\s*([A-ZА-Я0-9/-]+)

Результат: С-981.

Номер заявки→ REQ-2048

Исходный текст: «Статус заявки №REQ-2048 изменён».

Регулярное выражение:
(?i)заявк[аи]\s*№?\s*([A-ZА-Я0-9-]+)

Результат: REQ-2048.

Промокод→ SALE-2026

Исходный текст: «Примените промокод: SALE-2026».

Регулярное выражение:
(?i)(?:промокод|promo)\s*[:№-]?\s*([A-ZА-Я0-9-]+)

Результат: SALE-2026.

Контакты и реквизиты

Телефон→ +7 (999) 123-45-67

Исходный текст: «Свяжитесь со мной: +7 (999) 123-45-67».

Регулярное выражение:
(\+7[\s(.-]*\d{3}[\s).-]*\d{3}[\s.-]*\d{2}[\s.-]*\d{2})

Результат: +7 (999) 123-45-67.

Робот сохраняет исходное форматирование. Для поиска дублей сначала приведите номер к единому виду.

Email→ order.manager@example.ru

Исходный текст: «Ответ отправьте на order.manager@example.ru».

Регулярное выражение:
([A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,})

Результат: order.manager@example.ru.

ИНН→ 7707083893

Исходный текст: «ООО Вектор, ИНН: 7707083893, КПП 770701001».

Регулярное выражение:
(?i)ИНН\s*[:№-]?\s*(\d{10}|\d{12})

Результат: 7707083893. Контрольная сумма не проверяется.

КПП→ 770701001

Исходный текст: «ООО Вектор, ИНН 7707083893, КПП: 770701001».

Регулярное выражение:
(?i)КПП\s*[:№-]?\s*(\d{9})

Результат: 770701001.

ОГРН или ОГРНИП→ 1027739131375

Исходный текст: «Реквизиты: ОГРН 1027739131375».

Регулярное выражение:
(?i)ОГРН(?:ИП)?\s*[:№-]?\s*(\d{13}|\d{15})

Результат: 1027739131375.

БИК→ 044525225

Исходный текст: «Банк получателя, БИК 044525225».

Регулярное выражение:
(?i)БИК\s*[:№-]?\s*(\d{9})

Результат: 044525225.

Ответственный сотрудник→ Иван Петров

Исходный текст: «Ответственный: Иван Петров».

Регулярное выражение:
(?i)ответственн(?:ый|ая)\s*:\s*([А-ЯЁ][а-яё-]+\s+[А-ЯЁ][а-яё-]+)

Результат: Иван Петров.

Шаблон рассчитан на имя и фамилию из двух слов; двойную фамилию нужно учесть отдельно.

Суммы, даты и количество

Сумма в рублях→ 125 430,50

Исходный текст: «Итого к оплате: 125 430,50 руб.».

Регулярное выражение:
(?i)(\d[\d\s]*(?:[.,]\d{1,2})?)\s*(?:руб(?:\.|лей)?|₽)

Результат: 125 430,50. Перед записью в денежное поле очистите пробелы и приведите десятичный разделитель к нужному формату.

Процент скидки→ 12,5

Исходный текст: «Согласована скидка 12,5% для партнёра».

Регулярное выражение:
(\d+(?:[.,]\d+)?)\s*%

Результат: 12,5.

Дата→ 21.08.2026

Исходный текст: «Доставка: 21.08.2026 после обеда».

Регулярное выражение:
(?i)(?:дата|доставка|до)\s*[:№-]?\s*(\d{2}[./-]\d{2}[./-]\d{4})

Результат: 21.08.2026. Шаблон проверяет вид записи, но не существование даты.

Интервал времени→ 14:30–17:00

Исходный текст: «Интервал доставки: 14:30–17:00».

Регулярное выражение:
(?i)(?:интервал(?:\s+доставки)?|доставка)\s*[:=]?\s*((?:[01]?\d|2[0-3]):[0-5]\d\s*[-–]\s*(?:[01]?\d|2[0-3]):[0-5]\d)

Результат: 14:30–17:00.

Количество товара→ 24

Исходный текст: «Количество: 24 штуки».

Регулярное выражение:
(?i)(?:количество|кол-во)\s*[:=]?\s*(\d+)

Результат: 24.

Товары, адреса и доставка

Артикул или SKU→ CHAIR-48/B

Исходный текст: «Товар: кресло, артикул CHAIR-48/B».

Регулярное выражение:
(?i)(?:артикул|sku)\s*[:№-]?\s*([A-ZА-Я0-9._/-]+)

Результат: CHAIR-48/B.

Название товара в кавычках→ Бухгалтерия Проф

Исходный текст: «Товар: «Бухгалтерия Проф», лицензия на год».

Регулярное выражение:
(?i)товар\s*:\s*[«"]([^»"]+)[»"]

Результат: Бухгалтерия Проф.

Почтовый индекс→ 603000

Исходный текст: «Почтовый индекс: 603000, Нижний Новгород».

Регулярное выражение:
(?i)(?:индекс|почтовый индекс)\s*[:№-]?\s*(\d{6})

Результат: 603000.

Город после подписи→ Нижний Новгород

Исходный текст: «Город: Нижний Новгород, улица Ильинская».

Регулярное выражение:
(?i)(?:город|г\.)\s*[:.-]?\s*([А-ЯЁ][а-яё-]+(?:\s+[А-ЯЁ][а-яё-]+)?)

Результат: Нижний Новгород.

Для города из трёх слов или названия со служебным словом выражение нужно адаптировать.

Трек-номер отправления→ RU123456789CN

Исходный текст: «Отправление: RU123456789CN».

Регулярное выражение:
(?i)(?:трек|отправление)\s*[:№-]?\s*([A-Z0-9]{10,14})

Результат: RU123456789CN.

VIN автомобиля→ XTA210990Y1234567

Исходный текст: «Автомобиль, VIN: XTA210990Y1234567».

Регулярное выражение:
(?i)VIN\s*[:№-]?\s*([A-HJ-NPR-Z0-9]{17})

Результат: XTA210990Y1234567. Контрольные данные VIN не проверяются.

Ссылки и маркетинговые метки

Ссылка→ example.ru/orders/4582

Исходный текст: «Карточка доступна по адресу https://example.ru/orders/4582».

Регулярное выражение:
(https?://[^\s<>"')\]]+)

Результат: https://example.ru/orders/4582.

UTM-источник→ yandex

Исходный текст: https://site.ru/form?utm_source=yandex&utm_campaign=summer.

Регулярное выражение:
(?i)[?&]utm_source=([^&#\s]+)

Результат: yandex.

UTM-кампания→ summer_sale

Исходный текст: https://site.ru/form?utm_source=yandex&utm_campaign=summer_sale.

Регулярное выражение:
(?i)[?&]utm_campaign=([^&#\s]+)

Результат: summer_sale.

Для остальных UTM-параметров добавьте отдельное выражение с нужным именем параметра.

Как встроить парсинг в бизнес-процесс

Входной текст → парсинг → проверка пустого результата → нормализация → запись в CRM
  1. Получите текст письма, формы или комментария и передайте его роботу.
  2. Проверьте каждое обязательное значение. Если результата нет, создайте задачу менеджеру или отправьте запись на ручную проверку.
  3. Нормализуйте телефон, сумму и дату перед поиском дублей или записью в типизированное поле.
  4. Используйте стабильный порядок шаблонов и подпишите соответствие: результат 1 — ИНН, результат 2 — КПП, результат 3 — email и так далее.

Типичные ошибки

  • Слишком общий шаблон. Выражение (\d+) найдёт первые цифры, но не обязательно нужное значение. Добавляйте контекст: «заказ», «ИНН», «доставка».
  • Жадный захват. Конструкция (.*) может забрать слишком большой фрагмент. Ограничивайте допустимые символы и границы.
  • Несколько групп захвата. Робот возвращает первую группу. Для служебных вариантов используйте (?:...).
  • Ожидание всех совпадений. Один шаблон возвращает первое значение, а не весь список.
  • Пустой результат принимают за успешный. Всегда добавляйте условие перед записью данных в CRM.

Когда выбрать другой способ

Не используйте регулярные выражения для длинных писем, где клиенты каждый раз описывают задачу по-разному, а также для определения намерения, тональности или категории обращения. Для таких сценариев подойдёт приложение «CRM-роботы 2.0 AI».

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

Следующий шаг

Установить приложение и открыть инструкцию или вернуться ко всем роботам приложения.