Триггеры и вебхуки в n8n: как запускается воркфлоу
Виды триггеров в n8n и работа с вебхуками: чем тестовый URL отличается от боевого, почему вебхук не приходит, ответ вызывающей стороне, расписание и таймзоны, защита публичного эндпоинта.
Все статьи гида n8n · 18
Триггер - это ответ на вопрос «когда этот воркфлоу должен выполниться». Он всегда первый и всегда один: воркфлоу не может начинаться с двух точек входа.
Виды триггеров
Вебхук - n8n даёт публичный URL, и выполнение стартует, когда туда приходит запрос. Это основной способ реагировать на события снаружи: оплаты, формы, колбэки API.
Расписание - запуск по времени или cron-выражению. Для отчётов, синхронизаций и регулярных проверок.
Триггеры сервисов - готовые блоки под конкретные системы: новое письмо, новая строка в таблице, сообщение в чате. Под капотом это либо вебхук, либо периодический опрос - и разница важна: опрос узнаёт о событии не мгновенно, а на следующей проверке.
Ручной запуск - кнопка в редакторе. Для отладки, не для продакшена.
Тестовый и боевой URL - главная путаница
У ноды вебхука два разных адреса, и большая часть вопросов «почему не работает» растёт отсюда.
Тестовый живёт, только когда вы нажали в редакторе кнопку прослушивания. Он ждёт один запрос, показывает пришедшие данные и замолкает. Это инструмент отладки: удобно один раз посмотреть, что реально шлёт сервис.
Боевой работает постоянно, но только у активированного воркфлоу. Не активировали - адрес отвечает ошибкой.
Отсюда практическое следствие: интеграция, настроенная на тестовый URL, перестанет работать, как только вы закроете редактор. При переносе в прод нужно сменить адрес у вызывающей стороны, а не только включить тумблер.
Почему вебхук не приходит
Порядок проверки, который закрывает почти все случаи:
- Воркфлоу активен? Самая частая причина.
- Тот ли URL? Тестовый вместо боевого - вторая по частоте.
- n8n знает свой публичный адрес? Если не задан
WEBHOOK_URL, интерфейс покажетlocalhost- см. установку. - HTTPS есть? Многие сервисы не отправляют вебхуки на http.
- Метод совпадает? Нода ждёт POST, а сервис шлёт GET - запрос не найдёт обработчик.
- Прокси не режет? Слишком строгий таймаут или лимит размера тела на реверс-прокси обрывает запрос до n8n.
Если сомневаетесь, кто виноват - n8n или отправитель, - проверьте адрес обычным curl. Ответ снимает половину гипотез сразу.
Ответ вызывающей стороне
По умолчанию вебхук отвечает сразу, не дожидаясь конца воркфлоу. Это правильно в большинстве случаев: отправитель получил подтверждение и не висит.
Но иногда нужно вернуть результат работы - например, вы делаете API-эндпоинт. Тогда режим ответа переключается на возврат данных из указанной ноды, и здесь появляется ограничение, о котором стоит помнить: вызывающая сторона ждёт. Если воркфлоу выполняется полминуты, отправитель полминуты держит соединение - и его собственный таймаут может сработать раньше вашего ответа.
Рабочее правило: если обработка длинная, отвечайте сразу «принято», а результат отдавайте отдельно - колбэком, сообщением или записью в базу.
Расписание и таймзоны
Расписание задаётся интервалом или cron-выражением. Главная ловушка здесь не в синтаксисе, а в часовом поясе: по умолчанию n8n живёт в UTC, и «каждый день в 9:00» означает 9 утра по UTC, а не по-вашему. Задайте таймзону при установке - это одна переменная, которая избавляет от регулярного недоумения.
Вторая деталь: у частых расписаний выполнения могут накладываться. Если запуск раз в минуту, а работа длится две, вы получите параллельные копии, конкурирующие за одни данные. Либо ставьте интервал с запасом, либо делайте воркфлоу устойчивым к параллельному запуску.
Защита публичного эндпоинта
Вебхук - это открытый адрес в интернете. Его найдут: сканеры перебирают пути постоянно.
Минимальный набор мер:
- Секрет в запросе - заголовок или токен, который вы проверяете первой же нодой и обрываете выполнение, если он не совпал.
- Проверка подписи, если сервис её присылает. Так делают платёжные системы и GitHub - это надёжнее токена, потому что подтверждает и содержимое.
- Ничего не выполнять до проверки. Валидация должна стоять раньше любых действий с внешним миром.
И отдельно: не считайте, что «длинный случайный путь» - это защита. Он не секрет, он просто адрес; он утечёт в логи, в историю браузера и в настройки сервиса, который его вызывает.
Вопросы и ответы
Почему вебхук в n8n не срабатывает?
Чаще всего воркфлоу не активирован - тестовый URL слушает одно выполнение и только пока открыт редактор, а боевой работает лишь у активного воркфлоу. Вторая по частоте причина: n8n не знает свой публичный адрес, поэтому выдаёт localhost, куда внешний сервис достучаться не может.
Чем отличаются тестовый и боевой URL вебхука?
Тестовый ждёт один вызов, пока вы нажали «прослушать» в редакторе, и показывает пришедшие данные для отладки. Боевой работает постоянно, но только когда воркфлоу активен. Это разные адреса, и перенос интеграции в прод почти всегда означает смену URL у вызывающей стороны.
Ещё по теме
- n8n: полный практический гид по автоматизации воркфлоуГид
- Установка n8n в Docker: self-hosted на своём сервереКак поднять n8n на своём сервере через Docker: docker compose, том для данных, ключ шифрования, HTTPS и вебхуки за реверс-прокси, переход на PostgreSQL и что бэкапить, чтобы не потерять доступы.
- Данные и выражения в n8n: элементы, $json и почему нода срабатывает много разКак устроены данные в n8n: массив элементов вместо объекта, выражения $json и $node, обращение к предыдущим нодам, работа с вложенным JSON, объединение и разбиение потоков и типичные ошибки с пустыми данными.
- Обработка ошибок в n8n: ретраи, error workflow и надёжная автоматизацияКак сделать воркфлоу n8n устойчивым: настройки ошибок на уровне ноды, повторы и таймауты, отдельный error workflow для уведомлений, идемпотентность при повторной обработке и почему автоматизация ломается тихо.
Сделаю под ключ
Соберу автоматизацию на n8n или кодом
Заявки, таблицы, CRM и Telegram связаны между собой, и никто больше не переносит данные руками.
от 300 $ · 3-7 дней
«Спасибо Павлу, поставленная задача выполнена. Всегда на связи, дал подробную инструкцию и руководство, буду обращаться, всем рекомендую.»