Интеграция Telegram-бота с amoCRM: что реально работает
Webhook — это минимум. Native-интеграция с amoCRM — это другой продукт. Разбираем архитектуру связки Telegram-бот ↔ amoCRM: Salesbot против внешних решений, 2-way sync, что реально попадает в воронку, и почему 80% интеграций ломаются на третьей неделе.
Две архитектуры интеграции
Когда говорят «бот связан с amoCRM», это может означать два совершенно разных продукта.
Архитектура А: Webhook one-way
Бот отправляет JSON в amoCRM через входящий webhook. Что внутри:
- У amoCRM есть URL вида
https://ваш_аккаунт.amocrm.ru/api/v4/leads/webhook - Бот POST'ит JSON с данными лида (имя, телефон, задача)
- amoCRM создаёт сделку (leads) в выбранной воронке
Плюсы: работает с любым ботом, настраивается за 15 минут, дешево.
Минусы:
- Односторонне. Бот не знает, что изменилось в amoCRM
- Нет синхронизации статусов (если менеджер переместил в «Отказ» — бот не знает)
- Нет доступа к списку сделок, задач, контактов
- При изменении воронки в amoCRM — надо перенастраивать webhook
Типичное использование: простая передача лидов без последующего возврата в диалог.
Архитектура Б: Native API integration (OAuth2 + long-polling)
Бот становится полноценным OAuth-приложением в amoCRM. Что внутри:
- Клиент устанавливает ваше приложение в своём аккаунте amoCRM
- Получает
access_token+refresh_token - Бот через REST API:
- Создаёт/обновляет сделки, контакты, задачи
- Слушает webhook'и на изменения в CRM
- Синхронизирует статусы в обе стороны
Плюсы:
- 2-way sync: бот знает про все изменения в CRM
- Можно писать боту в Telegram и закрывать сделки из CRM
- Работает с любой воронкой клиента
- Подключение в 2 клика для клиента
Минусы:
- Требует регистрации как «Виджет» в amoCRM Marketplace (или использования OAuth через приватное приложение)
- Сложнее в разработке (OAuth flow, refresh tokens, retry logic)
- Обычно стоит дороже (отдельный тариф или плата за интеграцию)
Что amoCRM Salesbot не умеет
amoCRM имеет встроенный Salesbot — rule-tree сценарии внутри CRM. Он:
- Только rule-tree (условия, кнопки, переменные)
- Не LLM, не понимает свободный текст
- Работает только внутри каналов amoCRM (WhatsApp API, Telegram через «Открытые каналы»)
- Не умеет подключаться к внешнему Telegram-боту через Bot API
Если у вас обычный Telegram-бот через @BotFather — Salesbot его не видит. Нужна либо миграция на «Открытые каналы amoCRM», либо внешняя интеграция.
Типичные ошибки при настройке
1. Забыли настроить маппинг полей
Salebot/BotHelp при webhook'е передают поля своими именами (name, phone, tag), а amoCRM ждёт их кастомные поля с ID вида field_id: 123456. Без маппинга данные попадают в «Примечание» и не используются в воронке.
Проверка: откройте сделку, созданную через бот. Если телефон не в поле «Телефон», а в «Примечаниях» — маппинг сломан.
2. Не обрабатывают refresh_token
amoCRM access_token живёт 24 часа. После этого бот должен обменять refresh_token на новый access_token. Если логика не реализована — через сутки интеграция ломается молча. Менеджер замечает через неделю когда недосчитаются 30 сделок.
3. Не проверяют rate limits
amoCRM API имеет лимит 7 запросов/секунду на аккаунт. При росте потока (праздники, распродажа, вирусная реклама) бот упирается в лимит и начинает терять обращения.
Решение: очередь с backoff, кэширование частых запросов, batch-операции.
4. Нет retry при ошибках amoCRM
amoCRM API периодически отдаёт 503, 504, 429. Без retry-логики — те лиды, которые пришли в момент сбоя, просто теряются.
Правильно:
- Сохранить лид локально
- Retry с exponential backoff (1с, 2с, 5с, 15с, 1мин)
- После 5 попыток — в dead-letter queue с уведомлением
5. Не импортировали существующие контакты
Клиент включил бота, он начал создавать сделки, но существующие контакты в amoCRM игнорируются. Лид «Иванов 79991234567» дублируется, если Иванов уже был в CRM.
Правильно: перед созданием сделки искать контакт по телефону, и если есть — привязывать сделку к нему, не создавать дубликат.
Как это устроено в Tyaga Lab
Наша amoCRM-интеграция:
- Native OAuth2 приложение в Marketplace amoCRM (подключение в 2 клика)
- 2-way sync через webhook amoCRM → бот + обратно
- Поиск дубликатов по телефону/email перед созданием сделки
- Rate limit protection с очередью на 7 RPS
- Retry + DLQ через 3 попытки с backoff, потом — в
webhook_outboxтаблицу для ручной обработки - Refresh token rotation каждые 23 часа
- Per-customer custom field mapping — интегратор настраивает в UI, не требует кода
Подключение стандартной интеграции занимает 30 минут (включая маппинг полей, настройку воронки, тест лида). Входит в тариф Бизнес.
Что вам реально нужно
Если у вас <100 лидов в месяц и простая воронка — хватит webhook'а Salebot/BotHelp за 3 000 ₽. Риски низкие, потеря одного лида незаметна.
Если у вас >500 лидов в месяц или сложная воронка (несколько менеджеров, передачи, фильтры) — нужна нативная интеграция. Потеря 2-3% лидов на сбоях — это прямой убыток, и он быстро перекрывает разницу в цене.
Как выбрать Telegram-бот для бизнеса в 2026: 10 критериев
Рынок RU чатботов тренирует на цене 2-3 тысячи рублей в месяц. Это хорошо, пока бот не падает раз в день или не теряет интеграцию с amoCRM. Вот 10 критериев выбора, по которым можно сравнивать провайдеров честно.
YClients + Telegram-бот: полный гайд по интеграции
YClients стоит в 40% салонов красоты, стоматологий и фитнес-клубов РФ. Если ставите бот в эти ниши — YClients-интеграция критична. Вот полный гайд: что возможно, как это устроено, и где прячутся подводные камни.
Как снизить неявки в стоматологии на 40% без найма
No-show 18-20% — это средний показатель для частных стоматологий в Москве, СПб и Екатеринбурге. В деньгах: клиника на 3 кресла теряет ~1.9 млн ₽ в месяц. Разбираем три механизма снижения: депозит, умные напоминания, квалификация срочности.
Раз в неделю — одна статья без воды
Новые разборы кейсов, обновления по 152-ФЗ, инсайты из реальных внедрений.
Нажимая «Подписаться», вы соглашаетесь с политикой ПД.