Здесь разберемся, что такое вебхук, чем он отличается от обычного 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):

  1. n8n каждые 5 минут спрашивает форма-сервис: “Есть ли новые заявки?”
  2. Форма-сервис отвечает (или молчит, если нет новых)
  3. Проверка идёт, даже когда заявок нет (зря тратим ресурсы)
  4. Задержка до 5 минут перед обработкой

С вебхуком (push):

  1. Пользователь отправляет форму
  2. Форма-сервис сразу отправляет данные на вебхук-URL в n8n
  3. n8n получает данные и сразу запускает сценарий
  4. Сценарий добавляет строку в Google Sheets через Google Sheets API
  5. Обработка занимает секунды

Как вебхук выглядит в n8n

В n8n вебхук — это триггер-узел:

  1. Вы добавляете в сценарий узел “Webhook”

  2. n8n выдает вам уникальный URL:

    https://n8n.yourinstance.com/webhook/abc123def456...
  3. Вы берете этот URL и вставляете в настройки внешнего сервиса (форма, Telegram бот и т.д.)

  4. Когда на форме отправляется данные, форма-сервис отправляет их на этот URL

  5. 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:

  1. Вы создаете сценарий в n8n с узлом “Webhook” (это триггер)
  2. n8n выдает URL вебхука (например, https://yourn8n.com/webhook/telegram123)
  3. Вы настраиваете Telegram бота (через API) получать обновления на этот URL (setWebhook)
  4. Когда пользователь пишет боту, Telegram отправляет данные на вебхук n8n
  5. n8n получает сообщение и запускает сценарий:
    • Извлекает текст из JSON: {{ $json.message.text }}
    • Добавляет строку в Google Sheets через Google Sheets API (с вашим API ключом)

Результат: От отправки сообщения в 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 вебхука в приватных переменных или документах, не публиковать его в интернете.

Что делать дальше

  1. Посмотрите документацию вашего сервиса на предмет поддержки вебхуков. Поищите слова “webhooks”, “push notifications”, “callbacks” или “real-time events”.

  2. Создайте первый вебхук в n8n:

    • Откройте n8n и создайте новый сценарий
    • Добавьте узел “Webhook” как триггер
    • n8n выдаст вам уникальный URL
    • Используйте это URL в любом сервисе (форме, боте и т.д.)
    • Отправьте тестовые данные и посмотрите, как они приходят в n8n
  3. Комбинируйте вебхук с действиями:

    • Триггер: Вебхук (получаем данные)
    • Обработка: Извлекаем нужные поля из JSON
    • Действие: Добавляем в Google Sheets через Google Sheets API (с вашим API ключом)
  4. Запомните главное: Вебхук и API — это разные направления общения:

    • API: вы запрашиваете (pull) — нужен API ключ для доступа
    • Вебхук: сервис отправляет (push) — нужен URL вебхука для приема

    В одном сценарии n8n вы можете использовать оба: вебхук как триггер и API другого сервиса как действие.

Обсудить статью с ботом

@ask_aimindset_bot — бот поддержки

Дальше

201 Mindset