Документация › Инструменты › Исходящие диалоги
Исходящие диалоги (бот пишет первым)
Есть база заявок, но руки не доходят обзвонить? Бот сам напишет первым в WhatsApp по каждому номеру, аккуратно, по капле, с паузами и лимитами, чтобы не спалить номер.
⏱ 11 мин · 👤 для владельца и оператора · 🟢 live
За 30 секунд:
- Исходящие = бот сам инициирует диалог с человеком из заявки (пишет первым), а не ждёт входящего.
- Работает только через подключённый WhatsApp-канал (QRDOS).
- Это серый режим: WhatsApp может забанить номер за сообщения незнакомцам. Включает только владелец, под свою ответственность.
- Текст первого сообщения вы пишете сами (готовые варианты, без ИИ). Бот шлёт случайный из списка, с подстановкой имени и услуги.
- Три шага: Сценарий (что писать) → Источники (кому) → Запуск.
- Рассылка по списку номеров бесплатна (готовый текст, ИИ не тратится).
⚠️ Сначала прочтите про риск
Исходящие, это серый режим. Вы пишете первыми незнакомым номерам. WhatsApp считает это спам-паттерном и может заблокировать номер, а это ваш основной рабочий номер: при бане теряется вся переписка с текущими клиентами.
Все встроенные защиты (лимиты, паузы, прогрев, проверка номера, автопауза) только снижают риск, но не убирают его.
🚫 Не включайте на главном номере, если не готовы к риску бана. Лучше отдельный номер под холодную рассылку.
Перед запуском обязательно прочтите Гигиену и антибан.
Включить Исходящие может только владелец проекта, поставив галку «Понимаю риск и беру ответственность на себя».
Что нужно до старта
- Подключённый WhatsApp-канал (QRDOS). См. Подключение WhatsApp. Без живого канала бот физически не сможет писать: лиды будут копиться в очереди, но не отправляться. В кабинете вы увидите красное предупреждение «WhatsApp-канал не подключён».
- Роль владельца. Включение и приём ответственности доступны только владельцу.
Баланс для рассылки по списку не требуется: первое сообщение это готовый текст, ИИ не участвует, токены не тратятся.
Шаг 1. Сценарий: что бот пишет первым
Вкладка «Сценарий». Здесь вы задаёте типы заявок и текст первого сообщения для каждого.
Тип заявки это категория обращений со своим текстом. Например, заявки на «SMM», «Таргет», «Сайт»: заведите три типа, для каждого свой текст. Если заявки однотипные, хватит одного типа «Основной».
Как заполнить:
- Текст первого сообщения (обязательно). Вы пишете готовое сообщение, бот отправит его как есть, без ИИ.
- Несколько вариантов (по желанию, до 10). Бот каждому новому человеку отправит случайный из списка. Это «ротация»: снижает риск блокировки, WhatsApp не любит, когда со всех номеров летит один и тот же текст.
- Название типа (по желанию). Только для вас. Пустое → «Основной».
- Авто-подбор типа (по желанию). Если в данных заявки есть поле с определённым значением (например,
услуга = SMM), бот сам выберет нужный тип.
Подстановки
В текст можно вставить переменные:
{{имя}}: подставится имя из заявки.{{услуга}}: подставится услуга.
Если в заявке имени или услуги нет, кусочек аккуратно уберётся (включая предлог перед ним), сырые скобки клиенту никогда не уходят.
📌 Пример: «Здравствуйте, {{имя}}! Вы оставляли заявку на {{услуга}}: подскажите, актуально?» → для заявки без имени и услуги превратится в «Здравствуйте! Вы оставляли заявку: подскажите, актуально?»
💡 В кабинете есть кнопки-примеры («пример 1», «пример 2»), нажмите, чтобы вставить готовый текст и отредактировать под себя. А кнопка «Показать пример сообщения» (на вкладке «Источники») покажет, что именно бот напишет конкретному номеру, не отправляя.
Дожимы (необязательно)
Тут же можно задать напоминания тем, кто не ответил на первое сообщение. Это тоже готовый текст (с подстановкой {{имя}}), а не ИИ. Например: первое напоминание через 24 часа, второе через 72.
Дожимы работают только пока человек молчит. Как только он ответит, напоминания прекращаются и диалог переходит в обычный режим (подключается основной бот проекта). Подробнее про механику, Дожимы.
Шаг 2. Источники: кому бот напишет
Вкладка «Источники». Три способа добавить номера.
Способ 1. Вставить список (самый простой)
- Вставьте номера в поле, по одному в строке. Можно с именем через запятую:
+7 705 123 45 67, Айгерим(имя необязательно). Или нажмите «Загрузить CSV». - (по желанию) «Показать пример сообщения» или «Проверить список» (сколько номеров валидных, сколько уже в работе, сколько в стоп-листе).
- «Загрузить в очередь»: номера станут лидами.
Номера сохранятся в очередь и станут «лидами» (вкладка «Лиды»). Бот напишет им не все разом, а по капле: по одному, с паузами и дневным лимитом. Например, 100 номеров при лимите 20 в день разойдутся примерно за 5 дней.
⚠️ Старые базы номеров = выше риск бана. Свежие заявки безопаснее.
Способ 2. Telegram-ловец заявок (автоматически)
Если заявки с рекламы падают в Telegram-группу (таргетолог / форма / CRM), можно поставить отдельного бота в этот чат: он сам распознает заявки, вытянет номер и превратит их в лидов. Ручные списки не понадобятся.
Настройка (только владелец):
- В @BotFather создайте нового бота, скопируйте токен. Там же
/setprivacy→ Disable (иначе бот не видит сообщения группы). - Добавьте бота в вашу группу с заявками.
- Узнайте ID чата (например, через @getidsbot), обычно начинается с
-100. - Впишите токен и ID чата в кабинете, «Подключить ловец».
🔧 Как это работает: сначала бот бесплатно ищет телефон в тексте (regex). Если телефона нет, сообщение игнорируется без затрат. Если телефон есть, дешёвый ИИ-классификатор решает, заявка это или болтовня, и вытягивает имя/услугу. Только этот шаг тратит токены (лимит по умолчанию 200 распознаваний в сутки, нужен положительный баланс). Телефон всегда берётся из реального сообщения, ИИ его не выдумывает.
Способ 3. API (для разработчика)
Заявки с формы сайта можно слать прямо в очередь. Нужен API-ключ проекта (создаётся в настройках проекта).
POST https://dosai.pro/api/projects/<id>/outreach/intake
Authorization: Bearer dos_sk_live_...
Content-Type: application/json
{"phone":"+77051234567","name":"Айгерим","fields":{"услуга":"SMM"}}Шаг 3. Запуск
Есть два режима (вкладка «Безопасность»):
- Ручной (по умолчанию): после загрузки номеров зайдите во вкладку «Лиды» и нажмите «Начать» (или «Начать все новые»). Только тогда бот возьмёт их в очередь.
- Авто: бот сам берёт новые номера в работу в ближайшие минуты, кнопку жать не надо.
После запуска следите за статусами во вкладке «Лиды» и за доставкой во вкладке «Статистика».
Безопасность и лимиты
Всё настраивается на вкладке «Безопасность». Значения по умолчанию подобраны консервативно.
| Защита | По умолчанию | Что делает |
|---|---|---|
| Дневной лимит | 20 в день | Больше этого числа первых сообщений в сутки бот не отправит. |
| Прогрев номера | день 1-2: до 5, день 3-6: до 10, с дня 7: полный лимит | Свежий номер разгоняется постепенно, резкий старт = красный флаг для WhatsApp. |
| Паузы между сообщениями | 60-180 сек | Случайная пауза, чтобы не выглядело как робот-рассылка. |
| Только в рабочие часы | включено | Бот пишет только в часы работы из расписания проекта (если оно задано). |
| Свежесть заявки | 10 мин (только для API-лидов) | Старые заявки из API не холодятся (по спискам это правило не действует). |
| Согласие | требуется для API-лидов | Для списков и Telegram согласие покрыто модалкой ответственности. |
| Автопауза | 30% недоставленных из последних 10 | Если много сообщений не доходит (мёртвые номера / блокировки), кампания сама встаёт на паузу и владельцу приходит уведомление. |
Плюс защиты, которые работают всегда, без настройки:
- Пауза после подключения канала, 15 минут. Сразу после подключения WhatsApp бот не пишет ещё 15 минут (это самое опасное окно для свежего соединения).
- Проверка номера в WhatsApp. Перед отправкой бот проверяет, есть ли номер в WhatsApp. Нет → пропускает (отправка на несуществующий номер = сигнал бана).
- Не пишет в существующий диалог. Если с номером уже есть переписка, бот не влезает (это уже не холодный контакт).
- Не пишет на ваш собственный номер (тот, что подключён как канал).
- Стоп-лист. Номер, добавленный в стоп-лист, бот больше никогда не тронет.
🚨 Функция остановки диалога. Чтобы бот умел остановиться по просьбе клиента («не пишите мне»), в проекте должна быть включена встроенная функция остановки. На вкладке «Безопасность» видно, включена она (✓) или нет (✗).
Стоп всё. В любой момент кнопкой «Стоп всё» (красная, вверху) можно мгновенно поставить всю кампанию на паузу.
Как читать статусы лидов
Вкладка «Лиды» показывает, что с каждым номером. Наведите на статус, всплывёт подсказка.
| Статус | Значение |
|---|---|
| Новый | Загружен, но не запущен. Нажмите «Начать». |
| В очереди | Ждёт отправки. Бот напишет по капле. |
| Открывается | Прямо сейчас бот открывает диалог. |
| Отправлено | Бот написал первым, ждём ответа. |
| Ответил | Лид ответил! Диалог перешёл в обычный режим (см. Диалоги). |
| Ошибка | Не удалось отправить. Можно повторить. |
| Пропущен | Номер пропущен, рядом причина (см. ниже). |
| Устарел | Слишком долго ждал в очереди, снят автоматически. |
Причины у статуса «Пропущен»: нет в WhatsApp, это ваш номер, уже есть диалог, в стоп-листе, нет согласия, заявка устарела.
Во вкладке «Статистика» видно воронку (сколько отправлено / ответило) и доставку первого сообщения (дошло ли ✓✓ и прочитал ли лид, с временем прочтения).
Как проверить, что всё работает (пошагово)
Прежде чем запускать на реальной базе, прогоните тест на своём втором номере.
- Подключите WhatsApp-канал (если ещё не подключён) и убедитесь, что он «на связи».
- Подождите 15-20 минут после подключения. Это не поломка: 15 минут длится защитная пауза после подключения, плюс бот-рассыльщик просыпается раз в 5 минут. Сразу после подключения бот писать не начнёт.
- Возьмите свежий номер для теста. Тестовый номер не должен иметь прошлой переписки с этим ботом (иначе статус будет «Пропущен: уже есть диалог») и не должен быть тем же номером, что подключён как канал («Пропущен: это ваш номер»).
- Заполните Сценарий (хотя бы один тип с текстом) и загрузите тестовый номер во вкладке «Источники».
- Запустите: в ручном режиме нажмите «Начать» во вкладке «Лиды».
- Проверьте рабочие часы. Если в проекте задано расписание и сейчас нерабочее время, включите отправку круглосуточно (снимите «Только в рабочие часы») или тестируйте в рабочие часы.
- Следите за статусом лида: «В очереди» → «Отправлено». На тестовый телефон придёт первое сообщение. Ответьте с него, статус лида станет «Ответил», диалог переедет в «Диалоги».
✅ Если через ~20 минут при подключённом канале и свежем номере пришло сообщение, а ответ перевёл лид в «Ответил», фича работает end-to-end.
❌ Если тишина, откройте вкладку «Лиды», статус номера подскажет причину: «Пропущен» (и почему), «Ошибка», или он всё ещё «В очереди» (значит не прошёл гейт: чаще всего рабочие часы или пауза после подключения).
💬 Простыми словами
Обычно бот отвечает тем, кто написал вам сам. Исходящие переворачивают это: бот сам пишет первым людям из вашей базы заявок, как будто менеджер обзванивает лиды, только в WhatsApp и автоматически.
Вы делаете три вещи: пишете, что сказать (готовый текст, бот его не сочиняет), даёте список, кому написать, и жмёте «Начать». Дальше бот пишет по одному, с паузами, чтобы номер не забанили.
Главное помнить: это рискованно для номера (WhatsApp не любит, когда пишут незнакомцам), поэтому не ставьте на свой главный номер и начинайте с маленькой свежей базы. И не ждите, что бот напишет мгновенно после подключения: первые 15-20 минут он специально молчит, это защита.
🔧 Под капотом (для разработчика)
- Отправка идёт только через self-hosted WhatsApp-канал (QRDOS). На других провайдерах проект молча пропускается.
- Рассыльщик, отдельный cron-тик (раз в 5 минут). За один тик, не больше 2 сообщений на проект и не больше 6 суммарно, с паузами.
- Первое сообщение собирается без ИИ: случайный вариант из типа заявки + подстановка
{{имя}}/{{услуга}}. Ноль токенов. Поэтому рассылка по списку бесплатна. - Холодный диалог не считается «диалогом» в аналитике, пока лид не ответит (чтобы не портить конверсию). Как ответит, засчитывается один раз.
- Telegram-ловец, единственное место, где в Исходящих участвует ИИ (классификатор «заявка / не заявка»), поэтому у него отдельный дневной лимит распознаваний и нужен баланс.
Не получилось?
- Бот молчит: если сообщения не уходят.
- Канал недоступен: если WhatsApp-канал отвалился.
- Проверьте статус конкретного лида во вкладке «Лиды»: он почти всегда прямо называет причину.