← Spec Hub | Category: Messaging & Bots

n8n ➔ Slack API Webhook Pipeline Specification Webhook Integration Spec

Technical Integration Summary

Developer documentation for integrating n8n ➔ Slack API Webhook Pipeline Specification webhooks into backend applications. Secure your endpoint with HMAC signature checking and payload validation.

Supported Events: message.new callback_query inline_query message.reaction

Authentication & Request Headers

Security validation specs for n8n ➔ Slack API Webhook Pipeline Specification endpoints:

Authorization: Bearer sec_live_f3a4855e30b9554b

Signature Verification Implementations

Node.js (Express)

const crypto = require('crypto');
const expected = crypto.createHmac('sha256', secret).update(rawBody).digest('hex');
const isValid = crypto.timingSafeEqual(Buffer.from(expected), Buffer.from(signature));

Python (Flask / FastAPI)

import hmac, hashlib
expected = hmac.new(secret.encode(), raw_body, hashlib.sha256).hexdigest()
is_valid = hmac.compare_digest(expected, incoming_sig)

Sample Event Payload (message.new)

{
  "id": "evt_n8n-to-slack.html_13268",
  "event": "message.new",
  "created_at": 1789764055,
  "data": {
    "resource_id": "res_385",
    "status": "active"
  }
}

cURL Request Simulation

curl -X POST https://your-domain.com/webhook/n8n-to-slack.html \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer sec_live_f3a4855e30b9554b" \
  -d '{"id": "evt_n8n-to-slack.html_13268", "event": "message.new", "created_at": 1789764055, "data": {"resource_id": "res_385", "status": "active"}}'

HTTP Response Rules

Status CodeStatus MeaningIntegration Action
200 OKSuccessEvent payload validated and queued.
400 Bad RequestMalformed PayloadCheck payload structure and JSON formatting.
401 UnauthorizedSignature MismatchVerify secret key and digest computation.
500 ErrorServer ErrorTriggers provider automated retry backoff.

Security Best Practices for n8n ➔ Slack API Webhook Pipeline Specification

Always process incoming events asynchronously using a message queue. Never perform long-running DB queries or external API calls synchronously within the HTTP response handler.

Frequently Asked Questions

Should I restrict incoming IP addresses for n8n ➔ Slack API Webhook Pipeline Specification?

While signature verification is primary, restricting traffic to published origin IP ranges adds a robust layer of perimeter security.

Why does signature validation fail on Express/Flask?

Your framework might be auto-parsing JSON. HMAC generation requires the exact raw byte buffer of the request body before JSON middleware alters keys or spacing.

How to verify n8n ➔ Slack API Webhook Pipeline Specification webhook authenticity?

Compute the HMAC SHA-256 hash on the raw request body using your shared secret and compare it against the incoming signature header using time-constant comparison.