Входящий Webhook в n8n
Как принимать внешние запросы (формы, сервисы, боты) в n8n.
Webhook в n8n — это URL, на который можно отправить HTTP-запрос (GET или POST). Данные из запроса попадают в workflow.
Как добавить
- Создайте workflow, добавьте ноду Webhook.
- Настройте:
- HTTP Method: GET или POST (чаще POST для тел с данными).
- Path: часть URL после хоста, например
form-lead— итоговый URL будетhttps://ваш-n8n.ru/webhook/form-lead.
- Сохраните workflow и включите его (Active). Только тогда webhook начнёт принимать запросы.
- Скопируйте Production URL из ноды — его нужно указать во внешнем сервисе (форма, бот, скрипт).
Примеры использования
- Форма на сайте отправляет данные на webhook, n8n пишет в Google Таблицу и шлёт уведомление в Telegram.
- Внешний сервис при событии вызывает webhook, n8n обрабатывает и запускает другие действия.
- Telegram-бот (вне n8n) получает команду и дергает webhook n8n — n8n обрабатывает и возвращает ответ.
Данные в следующих нодах
Тело запроса (JSON) приходит в объекте body. В нодах ниже по цепочке обращайтесь к полям так: {{ $json.body.имя_поля }}. Например, если форма отправляет { "name": "...", "contact": "...", "message": "..." }, то в ноде Telegram (Send Message) в поле Text укажите {{ $json.body.message }}, а не {{ $json.text }} — иначе текст будет пустым.
Чтобы в Telegram приходили все поля формы (имя, контакт, сообщение), в ноде Telegram в поле Text подставьте все три поля, например одной строкой выражения:
Имя: {{ $json.body.name }}
Контакт: {{ $json.body.contact }}
Сообщение: {{ $json.body.message }}
Либо соберите текст в одной ноде Set / Edit Fields и передайте результат в Telegram.
Важно
- Для приёма webhook n8n должен быть доступен из интернета по HTTPS (см. «Домен» и «Telegram-бот в n8n»).
- Не храните в URL секреты; для проверки подлинности используйте заголовки или секретный параметр в теле запроса.