Перейти к основному содержимому

Действие «CRM»

«CRM» — действие в сценарии действий, которое связывает бот с AmoCRM или Bitrix24 без написания HTTP-запросов вручную. Поддерживается весь основной функционал: сделки, контакты, компании, задачи, примечания, теги, события.

Работает в двух режимах:

  1. Принять из CRM — события из AmoCRM/Bitrix приходят в бот (новый лид, смена статуса, задача).
  2. Отправить в CRM — бот сам создаёт/изменяет сущности в CRM.

Когда использовать

ЗадачаДействие
Каждая заявка из бота — в AmoCRM как лидОтправить → создать сделку
Менеджер сменил статус сделки → бот клиенту сообщилПринять → событие смены статуса
Бот спросил телефон → записал в контактОтправить → создать/обновить контакт
Создать задачу менеджеру при обращенииОтправить → создать задачу
Найти данные клиента по emailОтправить → получить контакт
Уведомлять клиента о новом примечанииПринять → событие примечания

Часть 1. Подключение CRM

AmoCRM

  1. В AmoCRM создайте интеграцию (Раздел «Интеграции» → «Создать»).
  2. Получите client_id и client_secret, redirect_uri.
  3. В Квесче: Интеграции → CRM → AmoCRM → подключите аккаунт.

Bitrix24

  1. В Bitrix24: «Разработчикам»«Другое»«Входящий вебхук».
  2. Скопируйте URL вебхука с правами crm, task, imopenlines.
  3. В Квесче: Интеграции → CRM → Bitrix24 → вставьте URL.

→ Подробно: Подключение CRM.


Часть 2. Структура действия

В сценарии действий → «Добавить действие»«CRM».

ПолеЧто выбрать
Работа с CRMПринять из CRM / Отправить в CRM
CRMПодключённый AmoCRM или Bitrix24

После выбора CRM появляется блок настройки операций.

Действие CRM

Скриншот 1. Выбор режима и CRM.


Часть 3. Приём событий из CRM

Шаг 1. Вебхук

При сохранении сценария Квесча выдаёт адрес вебхука:

  • AmoCRM: https://api.quescha.com/amocrm/webhook
  • Bitrix24: https://api.quescha.com/bitrix/webhook

Зарегистрируйте его в настройках CRM:

  • AmoCRM → Интеграции → ваша интеграция → Вебхуки.
  • Bitrix24 → Приложение → Обработчики событий.

Шаг 2. События AmoCRM

Поддерживаются ~30 событий:

ГруппаСобытия
СделкиСоздание, обновление, удаление, восстановление, смена ответственного, смена этапа
КонтактыСоздание, обновление, удаление, восстановление, смена ответственного
КомпанииСоздание, обновление, удаление
ПокупателиВсе CRUD-события
ЗадачиСоздание, обновление, удаление, смена ответственного
ПримечанияПо сделке/контакту/компании/покупателю

Шаг 3. События Bitrix24

ГруппаСобытия
СделкиСоздание, обновление, удаление + пользовательские поля + регулярные сделки
КонтактыСоздание, обновление, удаление + пользовательские поля
КомпанииТо же
ЛидыТо же
ЗадачиСоздание, обновление, удаление
КомментарииПо сделке/задаче

Шаг 4. Привязка данных к переменным

Для выбранного события → выберите параметр (например, Сумма сделки, Email контакта) и переменную для сохранения.

После события переменные доступны в сценарии:

  • #{lead_sum} — сумма;
  • #{contact_email} — email;
  • #{lead_status} — этап и т.д.

Шаг 5. Результат приёма

В переменную «Имя переменной (результат)» сохраняется:

  • 1 — событие принято и обработано;
  • 0 — ошибка.

Часть 4. Отправка в AmoCRM — операции

ГруппаОперации
Сделкиget_lead, add_lead, edit_lead
Контактыget_contact, add_contact, edit_contact
Компанииget_company, add_company, edit_company
Задачиget_task, add_task, edit_task
Примечанияпо сделке/контакту: get_note_*, add_note_*, edit_note_*

Заполнение операции

Каждая операция = выбор параметров + значения.

Пример: Создать сделку (add_lead):

ПараметрЗначение
Название сделкиЗаявка от [Name]
Бюджет#{order_sum}
Воронка(ID воронки)
Этап(ID этапа)
Ответственный(ID менеджера)
Тегибот,telegram
Кастомное поле «source»quescha
Контакт (привязать)по #{client_phone}

После выполнения возвращается #{lead_id} — ID созданной сделки.

Шаблон [Self]

Используется для работы с сущностью, привязанной к текущему подписчику:

  • [Self] в ID сделки → текущая сделка клиента;
  • [Self] в ID контакта → текущий контакт.

Полезно, когда клиент уже в CRM и нужно его обновить без поиска по ID.


Часть 5. Отправка в Bitrix24 — операции

Аналогичный набор:

ГруппаОперации
Сделкиget_deal, add_deal, update_deal, delete_deal
Контактыget_contact, add_contact, update_contact, delete_contact
Компанииget_company, add_company, update_company, delete_company
Лидыget_lead, add_lead, update_lead, delete_lead
Задачиget_task, add_task, update_task
Комментарииget_comment, add_comment

Также [Self] для текущей сущности подписчика.


Часть 6. Типовые сценарии

Сценарий 1. Заявка из бота в AmoCRM

Блок «Спасибо за заявку»
Сценарий действий «До»:
1. Операции с данными — собрать #{client_name}, #{client_phone}, #{order_sum}
2. CRM → AmoCRM → Отправить:
- add_contact: name=#{client_name}, phone=#{client_phone}, email=#{client_email}
→ сохранить ID в #{amo_contact_id}
- add_lead: name="Заявка от #{client_name}", budget=#{order_sum},
contact=#{amo_contact_id}, tags="бот,telegram", pipeline=2, stage=1
→ сохранить ID в #{amo_lead_id}
3. Список «Заявки» addrow: ClientID, lead_id = #{amo_lead_id}
Сообщение: «Заявка #{amo_lead_id} принята! Менеджер свяжется за час.»

Сценарий 2. Бот сообщает клиенту о статусе сделки

В AmoCRM сменили статус сделки → летит событие → вебхук в Квесчу

Цепочка «Статус сменился» (триггер: CRM-событие)
Действие «До» в блоке:
- CRM → AmoCRM → Принять:
событие «У сделки сменился этап»
параметры: lead_id → #{lead_id}, new_stage → #{new_stage}
- Список «Заявки» find по lead_id = #{lead_id} → клиент = #{client_id}
Сообщение клиенту: «Ваш заказ перешёл в статус: #{new_stage}»

Сценарий 3. Создать задачу менеджеру при обращении

Триггер «сообщение не обработано»
Сценарий действий «До»:
- CRM → AmoCRM → add_task:
type = "звонок"
text = "Клиент [Name] ([ClientID]) пишет в боте: [Answer]"
complete_at = [AddDate([CurrentDate],1)]
responsible = (ID менеджера из глобальной переменной)
contact_id = [Self]
Сообщение клиенту: «Передал ваш вопрос менеджеру»

Сценарий 4. Обновить контакт после анкеты

Сценарий «Уточнение данных»
Сценарий действий «После»:
- CRM → AmoCRM → edit_contact:
id = [Self]
phone = #{new_phone}
email = #{new_email}
custom (city) = #{new_city}

Сценарий 5. Уведомление при новом примечании менеджера

В AmoCRM менеджер пишет примечание к сделке → событие → вебхук
Цепочка «Новое примечание» (триггер CRM)
Сценарий действий «До»:
- CRM → Принять событие «Создание примечания сделки»:
lead_id → #{lead_id}
text → #{note_text}
Сообщение клиенту: «📝 Сообщение от менеджера: #{note_text}»

Часть 7. Архитектура

Принцип 1. Привязка клиента к контакту в CRM

При первом контакте бота с клиентом создавайте контакт в CRM и сохраняйте contact_id в глобальную переменную клиента или список. Это позволит дальше работать через [Self].

Принцип 2. Все заявки — в одну воронку

Создайте отдельную воронку «Из бота» — так менеджеры видят источник и не путают с лидами с сайта.

Принцип 3. Теги — для аналитики

При создании сделки ставьте теги: бот, telegram, название цепочки (приветствие, каталог). Аналитика в CRM будет понятнее.

Принцип 4. Custom-поля для бот-специфики

Создайте в CRM custom-поля: BotID, Messenger, Цепочка, ChainID. Заполняйте через [BotID], [Messenger]. Менеджер сразу видит контекст.

Принцип 5. Резерв в списке Квесчи

Если CRM упала или превысили лимиты API — заявка не должна потеряться. Параллельно с CRM пишите в локальный список — потом синхронизируете.

Принцип 6. Не отправляйте всё подряд

Отправляйте в CRM только квалифицированные лиды. Случайно зашедших клиентов держите в списках Квесчи, переводите в CRM при первой покупке.


Часть 8. Сравнение AmoCRM и Bitrix24

AmoCRMBitrix24
Простота setupПроще (OAuth)Сложнее (вебхуки)
ВоронкиГибкие, основаЕсть, но не центр
ЗадачиЧерез сделкиПолноценный модуль
ЦенаДорожеЕсть бесплатный план
API лимитыЖёстчеМягче
Подойдёт дляПродаж, отдел продажКомплексной CRM + проекты

Частые ошибки

  • 401 Unauthorized — токен интеграции просрочен. Переподключите CRM в разделе «Интеграции».
  • Вебхук не приходит — не зарегистрирован адрес в CRM, либо CRM не отправляет события вашего типа. Проверьте через Webhook.site.
  • Создаётся дубль сделки — каждый запуск сценария создаёт новую. Для обновления используйте edit_* или сначала get_* для проверки.
  • [Self] не работает — контакт ещё не привязан к подписчику. Сначала add_contact или get_contact по phone/email.
  • Кастомные поля не сохраняются — неправильный ID поля. Возьмите ID из CRM (не название).
  • Сделка в неправильной воронке — не указан или неверный ID воронки/этапа.

Что дальше