Рассылка в телеграм через Make и Sheets — тёплые в личку, не копипаст

!

Важно

Берите 1-2 идеи за раз и внедряйте сразу — это даёт результат быстрее, чем теория.

x

Ошибка

Не пытайтесь внедрить всё за день: перегрузка убивает стабильность и дисциплину.

>

Шаг

После чтения выберите один процесс и переведите его в повторяемый сценарий.

*

Инсайт

Рост приходит не от объёма контента, а от системной связки: стратегия -> публикация -> аналитика.

Обложка: рассылка в телеграм — база есть, клиенты в личке молчат

Хотите написать своей базе в Telegram, а вместо спокойной кампании — теряете время на копипаст «всем по одному» или страх «софта рассылки». Неясно, где взять адресатов и с чего начать без программиста. Ниже — маршрут «делай вместе»: бот → таблица → Make (это конструктор сценариев без кода) → тест на трёх своих. Открытый вопрос: почему без колонки статуса и фильтра сценарий жжёт всех сразу — разберём по шагам.

Соберите Google Sheets с колонками chat_id (это адрес диалога после /start) и status. Берите только opt-in базу после /start. В Make: Search Rows с Filter pending → Send a Text Message → Update a Row sent. За вечер при тесте на 3–5 своих: три сообщения в личке, три статуса sent, сценарий ON. Без спам-софта и без парсинга чужих контактов.

Это не email-рассылка и не ответ на входящее. Стрелка наружу: список из таблицы уходит в личку бота. Рядом с запросом «рассылка в телеграм» люди часто ищут «софт» и «спам» — опасный путь. Официальный FAQ Telegram говорит иначе: только своя база после диалога и не быстрее ~30 сообщений в секунду. Цель — одна исходящая кампания своим тёплым, а не каталог «сервисов без бана».

Сначала граница: исходящая кампания, не соседние гайды

Таблица границ: исходящая рассылка vs автоответчик, заявки и email

Выберите задачу до кнопок в Make. Одно слово «рассылка» в поиске тянет три чужих маршрута — если взять не тот, вечером снова тишина или чужой канал доставки.

Задача Что делает Куда идти
Письма из Sheets Email, не личка Telegram email-рассылка Make + Sheets
Ответ на входящее Клиент написал — бот ответил автоответчик в Telegram
Заявка → строка Входящий лид в таблицу бот для заявок
Кампания своей базе Sheets → Send в личку opt-in Этот гайд

Ориентир: если человек не нажал /start у бота, в список его не кладите. Не делайте ставку на парсинг чужих контактов и холодные ЛС с user-аккаунта — бот по правилам Telegram первым холодным не пишет.

Прогресс: выбрана исходящая кампания своей базе, не email и не Reply.

Создайте бота в @BotFather и спрячьте токен

Схема: BotFather, токен и подключение бота в Make

Без бота Make некуда стучаться. Откройте в Telegram @BotFather и сделайте бота по шагам:

  1. Шаг 1. Отправьте /newbot, задайте имя и username.
  2. Шаг 2. Скопируйте token (длинный ключ) в менеджер паролей.
  3. Шаг 3. Не публикуйте токен в чат и не кладите в открытую таблицу.
  4. Шаг 4. Напишите боту /start со своего аккаунта — так появляется диалог.
  5. Шаг 5. Если бот уже был — не создавайте второго «на всякий случай».

Проверьте: бот отвечает на /start, токен только у вас. Типичная ошибка — светить токен коллеге в пересылке: у кого ключ, тот управляет ботом. Уберите ключ из публичных заметок до первого теста. На практике хватает одного бота и одного токена в менеджере паролей.

Прогресс: бот создан, /start со своего аккаунта пройден.

Соберите Google Sheets: chat_id и status

Скрин Google Sheets: колонки chat_id и status для рассылки

Соберите таблицу — это ваш список адресатов. Колонки: chat_id | name | optin_at | status | last_sent_at. В status держите pending и sent: так видно, кому ещё писать.

Как получить chat_id: человек пишет боту /start, id диалога появляется в апдейте — через Watch Updates (это модуль «слушать входящие» в Make) или getUpdates. Для теста внесите вручную 3–5 своих id после /start.

  1. Шаг 1. Создайте новую Google-таблицу с заголовками выше.
  2. Шаг 2. Впишите 3–5 строк только с реальными chat_id после /start; в status — pending.
  3. Шаг 3. Убедитесь: нет пустых ячеек и нет «0» вместо id.
  4. Шаг 4. Сохраните ссылку на таблицу для connection в Make.

Проверьте таблицу глазами: три–пять pending и живые id. Если chat_id пустой или «0» — человек ещё не в диалоге; исправьте строку, не гоните сценарий. Холодных без /start не добавляйте — результат будет тишина или ошибка Send.

Подключите Make: Search Rows только с Filter pending

Откройте Telegram в Make и Google Sheets в Make. Сначала connection: token бота и доступ к таблице.

В Search Rows укажите Filter на status=pending и лимит 3–5. Иначе сценарий пролетит по всей базе — пачка и дубли. На community Make это частый сюжет: без фильтра «ещё не отправлено» уходит всё сразу. Например, одна забытая галочка Filter — и Run once шлёт всем pending разом.

  1. Шаг 1. New scenario → Google Sheets → Search Rows.
  2. Шаг 2. Укажите таблицу и лист с вашими колонками.
  3. Шаг 3. Добавьте Filter: status Equals pending и лимит 3–5 строк на тест.
  4. Шаг 4. Сохраните модуль и посмотрите preview: только pending.

Проверьте preview: видны только тестовые pending. Если уходит «всем сразу» — вернитесь к Filter и лимиту, не жмите большую кнопку.

Прогресс: Search Rows режет базу до pending и лимита теста.

Отправьте текст и пометьте строку sent

Дальше два кубика. Send a Text Message — текст в личку; в Chat ID подставьте chat_id из строки Search Rows. Текст кампании один: польза + ссылка. Черновик сначала в заметках — меньше опечаток в живой рассылке.

После успешной отправки добавьте Update a Row: status = sent и дата в last_sent_at. Без Update при повторном прогоне те же люди получат дубль — типичная ошибка новичка.

  1. Шаг 1. Добавьте Telegram → Send a Text Message.
  2. Шаг 2. Chat ID = значение из колонки chat_id текущей строки.
  3. Шаг 3. Вставьте заранее написанный текст кампании.
  4. Шаг 4. Добавьте Google Sheets → Update a Row.
  5. Шаг 5. Запишите status sent и время отправки.
  6. Шаг 6. Цепочка на холсте: Search Rows → Send → Update.

Настройте имена модулей понятно («TG рассылка MVP»). Если Send падает красным — сначала сверьте chat_id и /start, а не пересобирайте весь сценарий. Второй частый сбой — Chat ID из «ручного» поля вместо колонки строки: проверьте маппинг в Send.

Прогресс: цепочка Search → Send → Update собрана на холсте.

Запустите тест на трёх своих и включите сценарий

Запустите Run once (это один ручной прогон в Make). Смотрите лички тестовых и колонку status. Если «сценарий зелёный, а в чате тишина» — почти всегда пустой chat_id, а не «сломанный» Telegram.

  1. Шаг 1. Нажмите Run once при лимите 3–5 pending.
  2. Шаг 2. Проверьте лички: пришло одно заранее написанное сообщение.
  3. Шаг 3. Проверьте таблицу: у этих строк status стал sent.
  4. Шаг 4. Посмотрите History: прогон зелёный, без красных на Send.
  5. Шаг 5. Снова Run once на тех же строках — новых сообщений быть не должно: Filter уже не видит pending.
  6. Шаг 6. Только после этого снимите лимит на большую базу осторожно.
  7. Шаг 7. Включите сценарий ON, если тест чистый.

Если второе сообщение всё же пришло — исправьте Update и повторите тест на одной строке. На большой базе помните FAQ: ~30 сообщений/сек; при 429 (это ответ «подожди, слишком быстро») — пауза и растяните рассылку на часы.

Результат, который сможете увидеть до большой кнопки: три спокойных сообщения своим, три sent, холодных без /start в списке нет.

Прогресс: три своих получили текст, таблица помечена sent, сценарий готов к ON.

Ветки поломок: всем сразу, дубли, ответ «подожди»

Когда Run once «пролетел» по таблице, почти всегда виноваты не «магия Make», а отсутствие статуса. Разведите сбои по веткам — быстрее, чем пересоздавать бота.

  • Если ушло всем сразу — верните Filter pending и лимит 3–5.
  • Если пришли дубли — проверьте, что после Send строка стала sent.
  • Если в логе 429 — уменьшите параллель, поставьте паузу; FAQ советует растягивать большие волны на 8–12 часов.

Исправьте одну ветку за раз, снова запустите тест на трёх pending. Сможете отличить «нет адреса» (пустой chat_id) от «слишком быстро» (429) и от «нет памяти об отправке» (нет Update).

Прогресс: знаете, какую ветку чинить до расширения базы.

Что дальше после первой спокойной рассылки

Вернёмся к вечеру копипаста и страху «софта». Теперь Run once не жжёт всех подряд: Filter pending и Update sent держат одну кампанию. Сэкономьте время на ручной рассылке — база в Sheets, кнопка в Make.

Дальше: автоворонка без кода, отложенный постинг, Make или n8n (это другой конструктор сценариев), автоматизация маркетинга. События с сайта — первый webhook (это сигнал с сайта в Make).

Разборы и шаблоны — в Telegram t.me/maya_pro и в MAX max.ru/maya_pro. Курс по Make — на kv-ai.ru/obuchenie-po-make, если захотите углубить стек после рабочей рассылки.

Материал проверен: Артур Хорошев, CEO Maya AI, автор курса по Make.com и вайбкодингу. Профиль: kv-ai.ru/artur-horosheff.

Опора на источники: core.telegram.org/bots и /bots/faq (opt-in, ~30 msg/sec, 429; 2026-07-20); apps.make.com/telegram и apps.make.com/google-sheets; community.make.com #93240 (Search Rows без Filter); Wordstat region 225 на 2026-07-20 («рассылка в телеграм» 1312 рядом с «софт»/«спам»).

Частые вопросы

Подойдёт ли рассылка через Make без опыта кода?

Да. Маршрут выше — BotFather, колонки Sheets и три модуля Make. Программист не нужен для MVP на 3–5 своих.

Чем эта рассылка отличается от автоответчика?

Автоответчик ждёт входящее и отвечает. Здесь вы сами запускаете кампанию списку pending из таблицы. Если нужен ответ «здесь и сейчас» — берите гайд про автоответчик.

Где взять chat_id, если таблица пустая?

Только после /start у бота. Для теста впишите свои id вручную. Для потока — допишите Watch Updates → Add a Row из гайда заявок, но ядро B65 — исходящее Send, не склад лидов.

Что делать, если Run once шлёт всем сразу?

Добавьте Filter status=pending и лимит 3–5. После Send обязательно Update sent. Без статуса community-сценарии часто дублируют.

Можно ли писать тем, кто не нажимал /start?

Нет. Бот не начинает диалог с холодным. Парсинг чужих и «софт без бана» — не этот гайд и не безопасный путь.

Что значит ошибка 429 при большой базе?

Telegram просит подождать: bulk через Bot API (это официальный канал бота к Telegram) около 30 сообщений в секунду. Сделайте паузу, растяните рассылку, не долбите повторным Run once без статуса.

Нужен ли сразу платный Paid Broadcasts?

Нет. Для новичка в первый вечер — Free-лимиты и тест на троих. Paid Broadcasts в BotFather — про рост, не про первую кампанию.

Часто задаваемые вопросы по теме (FAQ)

Для чего нужны AI-агенты и автоматизация в контенте?

AI-агенты (например, в связке с Make.com и Cursor) позволяют заменить рутинные задачи: сбор данных, написание постов, рерайт и даже автопостинг в Telegram или WordPress. Это экономит десятки часов в неделю и позволяет масштабировать бизнес без расширения штата.

Как быстро можно запустить свой контент-завод?

Базовый контент-завод (генерация текстов по RSS или из других источников) с автопостингом собирается без программирования (No-Code) за 1-2 дня. Сложные сценарии (с видео, аудио и кастомными MCP) внедряются за 1-2 недели.

Нужно ли уметь программировать?

Нет, большинство систем собираются визуально в Make.com (No-Code). Для сложных задач можно использовать вайбкодинг — генерацию кода с помощью Cursor AI через промпты на естественном языке.