Học n8n Automation tiếng Việt — Miễn phí & Open Source

n8n Webhook là gì? Hướng dẫn sử dụng

Webhook là gì?

Webhook là một cơ chế cho phép ứng dụng gửi dữ liệu real-time đến một URL khi có sự kiện xảy ra. Thay vì phải liên tục hỏi (polling) “có gì mới không?”, webhook sẽ tự động “đẩy” thông tin đến hệ thống của bạn ngay lập tức. Đây là nền tảng của tự động hóa hiện đại.

So sánh hosting cho n8n
14 nhà cung cấp từ 89k/tháng

Trong n8n, Webhook node là một trong những trigger phổ biến nhất. Nó cho phép workflow của bạn nhận dữ liệu từ bất kỳ ứng dụng nào hỗ trợ webhook — từ form submit, payment gateway, CRM, đến các hệ thống custom.

Webhook Trigger Node trong n8n

Cách hoạt động

Khi bạn tạo một Webhook node trong n8n, hệ thống sẽ cung cấp cho bạn một URL duy nhất. Bất kỳ HTTP request nào gửi đến URL này sẽ kích hoạt workflow chạy. Node hỗ trợ các HTTP methods:

  • GET — nhận dữ liệu qua query parameters
  • POST — nhận dữ liệu qua request body (phổ biến nhất)
  • PUT — cập nhật dữ liệu
  • DELETE — xóa dữ liệu
  • HEAD/PATCH — các method bổ sung

Cấu hình Webhook Node

Các tùy chọn quan trọng khi cấu hình:

  1. HTTP Method: Chọn method phù hợp (thường là POST)
  2. Path: Đường dẫn tùy chỉnh (ví dụ: /form-submit, /payment-callback)
  3. Authentication: Basic Auth, Header Auth, hoặc None
  4. Response Mode: Immediately (trả về ngay) hoặc Last Node (chờ workflow hoàn tất)
  5. Response Code: HTTP status code trả về (200, 201, etc.)

Thiết lập Webhook đầu tiên — Step by step

Bước 1: Tạo workflow mới

Mở n8n editor, click “Add workflow” và đặt tên mô tả (ví dụ: “Form Contact Handler”).

Bước 2: Thêm Webhook node

Click dấu + và tìm “Webhook”. Kéo vào canvas. Cấu hình:

HTTP Method: POST
Path: /contact-form
Authentication: None (cho testing)
Response Mode: Immediately
Response Data: First Entry JSON

Bước 3: Test webhook

Click “Listen for Test Event” trên node. n8n sẽ hiển thị Test URL dạng:

https://your-n8n-domain.com/webhook-test/contact-form

Gửi request test bằng cURL:

curl -X POST https://your-n8n-domain.com/webhook-test/contact-form 
  -H "Content-Type: application/json" 
  -d '{"name": "Nguyen Van A", "email": "test@example.com", "message": "Xin chào"}'

Bước 4: Xử lý dữ liệu

Sau khi nhận data, bạn có thể thêm các node xử lý: gửi email, lưu Google Sheets, tạo task trong Notion, hoặc reply Telegram.

Production URL vs Test URL

n8n cung cấp 2 loại URL cho mỗi webhook:

Loại Khi nào dùng Yêu cầu
Test URL Khi đang phát triển, debug Phải click “Listen for Test Event”
Production URL Khi deploy thực tế Workflow phải được Activate

Lưu ý quan trọng: Production URL chỉ hoạt động khi workflow đã được bật (Active). Test URL chỉ hoạt động khi bạn đang ở chế độ listening trong editor.

Bảo mật Webhook

Basic Authentication

Thêm username/password để xác thực request:

Authentication: Basic Auth
User: my_webhook_user
Password: super_secret_password_123

Header Authentication

Kiểm tra header tùy chỉnh:

Authentication: Header Auth
Header Name: X-Webhook-Secret
Header Value: your-secret-token-here

IP Whitelist

Nếu biết IP nguồn gửi webhook, bạn có thể cấu hình firewall hoặc reverse proxy (Nginx/Caddy) chỉ cho phép IP đó truy cập endpoint.

5 ví dụ thực tế với Webhook

1. Form liên hệ website → Email + Sheets

Webhook nhận form submit → Function node format data → Gmail node gửi thông báo → Google Sheets node lưu trữ lead.

2. Stripe payment callback

Stripe gửi webhook khi thanh toán thành công → n8n xử lý → cập nhật trạng thái đơn hàng → gửi email xác nhận cho khách.

3. GitHub push notification

GitHub webhook khi có push mới → n8n trigger deployment script → thông báo team qua Telegram/Slack.

4. Chatbot webhook

Telegram Bot API gửi message đến webhook → n8n xử lý tin nhắn → gọi AI (OpenAI) → trả lời tự động.

5. WooCommerce new order

WooCommerce webhook “Order Created” → n8n nhận đơn hàng → tạo invoice PDF → gửi email + lưu Google Sheets.

Xử lý lỗi và Debug

Các lỗi phổ biến

  • 404 Not Found: Workflow chưa được Activate (đang dùng Production URL) hoặc path sai
  • Timeout: Workflow xử lý quá lâu — tăng timeout trong settings hoặc dùng Response Mode “Immediately”
  • 401 Unauthorized: Sai credentials authentication
  • 500 Internal Error: Lỗi trong workflow — kiểm tra execution log

Tips debug

  1. Luôn test với Test URL trước khi chuyển sang Production
  2. Sử dụng webhook.site để xem request thực tế
  3. Kiểm tra Execution Log trong n8n để xem data nhận được
  4. Đảm bảo Content-Type header đúng (application/json cho JSON data)

Webhook với n8n Self-hosted

Khi self-host n8n, bạn cần đảm bảo:

  • Domain/subdomain trỏ đúng đến server n8n
  • SSL certificate (Let’s Encrypt) để dùng HTTPS — nhiều service yêu cầu HTTPS cho webhook
  • Port forwarding nếu n8n chạy sau NAT/firewall
  • Biến môi trường WEBHOOK_URL phải set đúng domain public
# docker-compose.yml
environment:
  - WEBHOOK_URL=https://n8n.yourdomain.com/
  - N8N_HOST=n8n.yourdomain.com
  - N8N_PROTOCOL=https

Kết luận

Webhook là “cánh cổng” quan trọng nhất để kết nối n8n với thế giới bên ngoài. Một khi bạn thành thạo Webhook node, bạn có thể tích hợp n8n với hầu hết mọi ứng dụng — kể cả những app không có sẵn integration trong n8n. Hãy bắt đầu với một webhook đơn giản và mở rộng dần.

Dùng thử n8n Cloud
Miễn phí 14 ngày

Tham khảo: n8n Documentation · GitHub n8n

Không muốn tự cài? Từ 199K

Giao VPS cho chúng tôi — nhận n8n hoàn chỉnh trong ngày. Docker, SSL, backup, hỗ trợ sau setup.

Xem dịch vụ setup →