Здесь разберемся, что такое вебхук, чем он отличается от обычного API и когда его использовать в n8n. Это поможет вам строить более эффективные автоматизации.
Ключевые понятия
- Вебхук (Webhook): Способ, которым сервис отправляет данные вам без того, чтобы вы их просили. Это обратный API — не вы запрашиваете данные, а сервис вам их отправляет.
- API (в контексте вебхуков): Обычный способ, когда вы запрашиваете данные у сервиса через API ключ.
- Polling (опрос): Вы периодически (например, каждые 5 минут) спрашиваете сервис “есть ли новые данные?“.
- Push (толчок): Сервис сам отправляет данные вам мгновенно, когда что-то происходит.
- Payload: Данные, которые сервис отправляет через вебхук. Обычно это JSON.
Главное
Разница между API (Pull) и вебхуком (Push)
Чтобы понять разницу, представьте простую аналогию:
- API (Pull-модель) — это как звонить другу каждые 5 минут и спрашивать: «Ну что, новости есть?». Это создает нагрузку и может быть несвоевременно.
- Вебхук (Push-модель) — это как получить SMS от друга, как только у него появятся новости. Это мгновенно и эффективно.
Теперь рассмотрим подробнее.
API (Pull) — вы спрашиваете сервис:
Вы (в n8n): "Эй, Gmail, есть ли новые письма?" (GET запрос через API)
Gmail: "Да, вот они" → приходят письма
Вы: (через 5 минут) "А теперь есть новые?"
Gmail: "Да, вот еще одно"Это polling — вы периодически проверяете наличие данных через API.
Проблемы с polling:
- Приходится часто запрашивать, даже если ничего нового нет
- Задержка (если вы спрашиваете раз в час, письмо может ждать час перед обработкой)
- Потребляет ресурсы (много пустых запросов)
Вебхук (Push) — сервис вас уведомляет:
[Пришло новое письмо в Gmail]
Gmail: "Эй! Пришло письмо!" → отправляет данные на ваш вебхук в n8n
n8n: Получили данные, сразу обработали и добавили в Google SheetsЭто push — сервис активно отправляет данные вам, когда что-то происходит.
Преимущества вебхука:
- Мгновенное срабатывание (без задержек, данные обрабатываются сразу)
- Экономия ресурсов (вы не спрашиваете постоянно, сервис сам вам сообщает)
- Лучше для редких событий (зачем каждые 5 минут спрашивать, если событие происходит раз в день?)
Когда использовать вебхук в n8n:
- Нужна мгновенная реакция (например, платеж, заявка через форму, сообщение в Telegram)
- Событие происходит редко и непредсказуемо (не имеет смысла опрашивать каждые 5 минут)
- Важна низкая задержка между событием и обработкой
Как работает вебхук на практике в n8n
Пример 1: Заявка через форму → Google Sheets
Без вебхука (polling через API):
- n8n каждые 5 минут спрашивает форма-сервис: “Есть ли новые заявки?”
- Форма-сервис отвечает (или молчит, если нет новых)
- Проверка идёт, даже когда заявок нет (зря тратим ресурсы)
- Задержка до 5 минут перед обработкой
С вебхуком (push):
- Пользователь отправляет форму
- Форма-сервис сразу отправляет данные на вебхук-URL в n8n
- n8n получает данные и сразу запускает сценарий
- Сценарий добавляет строку в Google Sheets через Google Sheets API
- Обработка занимает секунды
Как вебхук выглядит в n8n
В n8n вебхук — это триггер-узел:
-
Вы добавляете в сценарий узел “Webhook”
-
n8n выдает вам уникальный URL:
https://n8n.yourinstance.com/webhook/abc123def456... -
Вы берете этот URL и вставляете в настройки внешнего сервиса (форма, Telegram бот и т.д.)
-
Когда на форме отправляется данные, форма-сервис отправляет их на этот URL
-
n8n получает данные и запускает остальную часть сценария
Пример: что приходит в вебхук:
Когда пользователь заполняет форму:
{
"name": "Иван",
"email": "ivan@example.com",
"message": "Интересуюсь услугой",
"timestamp": "2025-10-22T14:30:00Z"
}Этот JSON сразу попадает в n8n, и вы можете использовать эти данные (например, {{ $json.name }}, {{ $json.email }}) в следующих узлах для добавления в Google Sheets через Google Sheets API с вашим API ключом.
Вебхуки vs. встроенные интеграции в n8n
Сценарий 1: Gmail → Google Sheets (встроенная интеграция)
n8n имеет встроенную интеграцию с Gmail. Там есть готовые узлы:
- Узел “Gmail” (с API ключом) для опроса писем
- Узел “Google Sheets” (с API ключом) для добавления строк
- n8n спрашивает Gmail каждые N минут: “Есть ли новые письма?” (это polling через API)
- Просто, работает, но задержка до N минут
Используйте встроенные интеграции когда:
- Есть готовый узел в n8n для этого сервиса
- Задержка в несколько минут вас устраивает
Сценарий 2: Кастомная форма → Google Sheets (вебхук)
Ваша кастомная форма на сайте — n8n её не знает. Решение:
- Добавляете узел “Webhook” в n8n
- n8n выдает вам URL вебхука
- Вставляете этот URL в форму
- Форма отправляет данные на вебхук мгновенно
- n8n запускает сценарий и добавляет в Google Sheets
Используйте вебхук когда:
- Нет встроенного узла в n8n для вашего сервиса
- Нужна мгновенная реакция (платеж, заявка)
- Кастомное приложение или форма
Когда вебхук необходим, а когда достаточно поллинга
| Ситуация | Используйте | Почему |
|---|---|---|
| Редкое событие (форма, платеж) | Вебхук | Полинг был бы пустой тратой |
| Частое событие (проверка каждые 30 сек) | Полинг/интеграция | Вебхук даёт то же, что полинг |
| Нужна мгновенная реакция | Вебхук | Нельзя ждать следующего цикла полинга |
| Событие непредсказуемо | Вебхук | Не знаете, когда оно произойдет |
| Много параллельных событий | Вебхук | Полинг не масштабируется |
Конкретный пример в n8n: Telegram бот → Google Sheets
Задача: Когда пользователь пишет боту сообщение, оно автоматически добавляется в Google Sheets.
Решение с вебхуком в n8n:
- Вы создаете сценарий в n8n с узлом “Webhook” (это триггер)
- n8n выдает URL вебхука (например,
https://yourn8n.com/webhook/telegram123) - Вы настраиваете Telegram бота (через API) получать обновления на этот URL (
setWebhook) - Когда пользователь пишет боту, Telegram отправляет данные на вебхук n8n
- n8n получает сообщение и запускает сценарий:
- Извлекает текст из JSON:
{{ $json.message.text }} - Добавляет строку в Google Sheets через Google Sheets API (с вашим API ключом)
- Извлекает текст из JSON:
Результат: От отправки сообщения в Telegram до добавления в Google Sheets проходит меньше секунды. Никакого polling, никаких задержек.
Безопасность вебхуков в n8n
Когда вебхук отправляет данные на ваш URL в n8n, нужно убедиться, что это на самом деле от того сервиса.
Как это работает
Популярные сервисы (Telegram, Stripe, GitHub) отправляют подпись вместе с данными:
- Сервис вычисляет хеш данных + ваш secret ключ
- Отправляет этот хеш в заголовке запроса (например,
X-Signature) - n8n может проверить хеш
Если хеш совпадает — это точно от того сервиса, а не от злоумышленника.
В n8n
- n8n автоматически защищает вебхук URL (он уникален и сложен, не угадать)
- Для популярных сервисов (Telegram, Slack и т.д.) n8n может проверить подпись
- Главное правило: никому не делитесь URL вебхука
Если кто-то получит ваш URL, он может отправлять туда произвольные данные, и n8n будет их обрабатывать.
Частые ошибки
Ошибка 1: Используете полинг, когда нужен вебхук
Проблема: Вы создаете сценарий, который каждые 5 минут спрашивает форму “есть ли новые заявки?” Медленно и ресурсоёмко.
Решение: Настройте форму отправлять данные на вебхук URL в n8n. Мгновенно и эффективно.
Ошибка 2: Вебхук, когда достаточно встроенной интеграции
Проблема: Вы создаете вебхук для Gmail, хотя у n8n есть встроенный узел “Gmail”. Усложняете без нужды.
Решение: Используйте встроенный узел Gmail (он может быть полингом, но это нормально и удобно).
Ошибка 3: Делитесь URL вебхука
Проблема: Вы публикуете URL вебхука в Telegram или GitHub. Кто-то получит ваш URL и может отправлять туда произвольные данные.
Решение: Хранить URL вебхука в приватных переменных или документах, не публиковать его в интернете.
Что делать дальше
-
Посмотрите документацию вашего сервиса на предмет поддержки вебхуков. Поищите слова “webhooks”, “push notifications”, “callbacks” или “real-time events”.
-
Создайте первый вебхук в n8n:
- Откройте n8n и создайте новый сценарий
- Добавьте узел “Webhook” как триггер
- n8n выдаст вам уникальный URL
- Используйте это URL в любом сервисе (форме, боте и т.д.)
- Отправьте тестовые данные и посмотрите, как они приходят в n8n
-
Комбинируйте вебхук с действиями:
- Триггер: Вебхук (получаем данные)
- Обработка: Извлекаем нужные поля из JSON
- Действие: Добавляем в Google Sheets через Google Sheets API (с вашим API ключом)
-
Запомните главное: Вебхук и API — это разные направления общения:
- API: вы запрашиваете (pull) — нужен API ключ для доступа
- Вебхук: сервис отправляет (push) — нужен URL вебхука для приема
В одном сценарии n8n вы можете использовать оба: вебхук как триггер и API другого сервиса как действие.
Обсудить статью с ботом
— @ask_aimindset_bot — бот поддержки