Webhook

trigger_webhook · trigger · Triggers · Available · v2.0.0

Description

Trigger the workflow when an HTTP request reaches the webhook URL. The URL is generated automatically and shown in the "Webhook URL" panel below once the node is selected. Supports multiple auth methods, CORS, raw body and custom paths. To return a custom response (HTML, JSON, redirect, binary file, etc.) add a "Webhook: Respond" node at the end of the workflow.

⚙️ Configuration parameters

Fields shown in the editor when configuring the node. Generated directly from the NodeDefconfigFields.

FieldTypeRequiredDefaultDescription
method
Metodo HTTP accettato
enum
POSTGETPUTPATCHDELETEHEADOPTIONSANY
yesPOSTPOST = riceve payload nel body (default per la maggioranza dei webhook). GET = solo query string (ping/test/pagine). PUT/PATCH/DELETE per REST. HEAD = solo headers (health check). OPTIONS = preflight CORS. ANY = accetta qualsiasi metodo. Solo questo metodo è accettato — gli altri ritornano 405.
customPath
Percorso URL personalizzato
stringno
tesi oppure webhook/orders
Se vuoto: usa il path auto-generato /webhooks/:workflowId/:token. Se valorizzato: il webhook è raggiungibile anche su /webhooks/c/<percorso>/:token (es. "tesi" → /webhooks/c/tesi/:token). Utile per URL brand-friendly o compatibili con sistemi che non accettano UUID nel path.
authMode
Autenticazione richiesta
enum
noneheader-tokenbasic-authhmac-signaturejwt
nononenone = aperto (PROTEGGI con IP allowlist sotto). header-token = "Authorization: Bearer <token>". basic-auth = HTTP Basic standard. hmac-signature = firma HMAC del body (Stripe, GitHub, Shopify, Twilio). jwt = JSON Web Token firmato (verifica issuer/audience/exp).
authSecret
Token / Password
string (encrypted)noheader-token: il token segreto. basic-auth: la sola password (lo username va sotto).
basicAuthUsername
Username (basic-auth)
stringno
es. webhook-client
Username dell'header Authorization: Basic. Il client costruisce base64(user:pass).
hmacSecret
Chiave HMAC condivisa
string (encrypted)noChiave segreta del mittente. Tipicamente fornita dal provider (es. Stripe Signing Secret).
hmacHeader
Nome header con la firma
enum
X-Hub-Signature-256X-Signature-SHA256X-SignatureStripe-SignatureX-Shopify-Hmac-Sha256X-Twilio-SignatureX-Webhook-Signature
noX-Hub-Signature-256GitHub/GitLab = X-Hub-Signature-256. Stripe = Stripe-Signature. Shopify = X-Shopify-Hmac-Sha256.
hmacAlgo
Algoritmo HMAC
enum
sha256sha1sha512
nosha256sha256 = standard moderno. sha1 = legacy. sha512 = paranoico.
jwtSecret
JWT Secret / Public Key
string (encrypted)noPer HS256: la chiave condivisa. Per RS256/ES256: la public key del firmatario (PEM).
jwtAlgo
Algoritmo JWT
enum
HS256HS384HS512RS256RS384RS512ES256ES384
noHS256HS = HMAC (symmetric). RS = RSA. ES = ECDSA. Auth0/Cognito usano RS256.
jwtIssuer
Issuer atteso (opzionale)
stringno
https://auth.example.com/
Se valorizzato, il claim "iss" del token DEVE matchare esattamente. Lascia vuoto per non controllare.
jwtAudience
Audience attesa (opzionale)
stringno
flowforge-api
Se valorizzato, il claim "aud" DEVE matchare. Lascia vuoto per non controllare.
ipAllowlist
IP allowlist
chip-listno
es. 192.168.1.0/24
Lista IP/CIDR autorizzati. Vuoto = qualsiasi IP. Es. "203.0.113.42, 10.0.0.0/8".
ignoreBots
Ignora bot
booleannofalseSe on: respinge richieste con User-Agent contenente "bot", "crawler", "spider", "scrape" (non è una difesa di sicurezza — è un filtro contro indicizzatori che vedono l'URL nei log).
corsOrigin
CORS Allowed Origin
stringno
* oppure https://miosito.com
Header Access-Control-Allow-Origin sulla response. Necessario se il webhook viene chiamato da browser (es. fetch() da una webapp su un altro dominio). "*" = qualsiasi origine (permissivo). Per produzione metti il dominio specifico.
corsAllowCredentials
CORS Allow Credentials
booleannofalseSe on: Access-Control-Allow-Credentials: true (permette cookies cross-origin). NON usabile insieme a Origin="*".
rawBody
Preserva raw body (per HMAC)
booleannofalseSe on: il body grezzo (stringa esatta dei bytes ricevuti) viene incluso nell'output del trigger come campo "rawBody". OBBLIGATORIO se vuoi rifare la validazione HMAC fuori da FlowForge — Stripe e GitHub firmano i bytes esatti, non il JSON dopo parse/serialize.
responseMode
Come rispondere al chiamante
enum
immediatewait-for-workflowuse-respond-node
noimmediateimmediate = 202 Accepted appena ricevuta (raccomandato per webhook esterni). wait-for-workflow = aspetta il workflow e ritorna {runId, status} JSON. use-respond-node = aspetta il workflow E usa un nodo "Webhook: Respond" alla fine per personalizzare body/status/headers (per HTML pages, redirect, ecc.).
responseShape
Shape dell'output (modalità wait-for-workflow)
enum
envelopelast-step-outputall-steps-output
noenvelopeenvelope = {runId, status} (default). last-step-output = ritorna solo l'output dell'ultimo nodo come JSON. all-steps-output = array completo di tutti gli step. Ignorato se responseMode=immediate o use-respond-node.

💡 Configuration example

JSON snippet of the node as it appears in the workflow. Values are derived fromdefaultValue and from required parameters.

{
  "id": "node-trigger_webhook-1",
  "defId": "trigger_webhook",
  "label": "Webhook",
  "config": {
    "method": "POST",
    "authMode": "none",
    "hmacHeader": "X-Hub-Signature-256",
    "hmacAlgo": "sha256",
    "jwtAlgo": "HS256",
    "ignoreBots": false,
    "corsAllowCredentials": false,
    "rawBody": false,
    "responseMode": "immediate",
    "responseShape": "envelope"
  }
}

🔗 Related nodes in the same category

Ready to use Webhook?

Available now on all FlowForge plans. Try it free without a credit card.

Start freeBrowse all nodes