Webhook și Respond to Webhook (API pentru un agent AI) în n8n & Automatizări AI

Cum expui un flux AI ca endpoint HTTP: Webhook primește cererea, iar Respond to Webhook trimite răspunsul construit de agent.

Configurare nod & expresie
Webhook (HTTP Method: POST, Path: asistent, Respond: Using 'Respond to Webhook' Node)
  -> AI Agent (Prompt: {{ $json.body.intrebare }})
  -> Respond to Webhook (Respond With: JSON)

Ce face Webhook și Respond to Webhook (API pentru un agent AI)

Webhook pornește fluxul la o cerere HTTP și poate întoarce datele produse la final, deci fluxul devine un endpoint de API. Nodul are două URL-uri: test, înregistrat cât timp asculți din editor (Listen for Test Event) și afișat cu datele în editor, și production, înregistrat când publici fluxul. Calea de test implicită este /webhook-test/.

Cu Respond pe Using ‘Respond to Webhook’ Node, cererea primește răspunsul definit în nodul Respond to Webhook, după ce agentul termină. Cu Streaming response, răspunsul curge în timp real, dacă fluxul are noduri cu streaming (de exemplu AI Agent).

Autentificarea poate fi Basic auth, Header auth, JWT auth, n8n User Auth (OAuth2) sau None. Opțiunea IP(s) Allowlist limitează adresele care pot apela URL-ul. În expresia opțiunii Only Run If, cererea apare ca { body, headers, params, query }.

Sintaxă și opțiuni

Opțiune / Parametru Descriere
HTTP Method / Path Metoda și calea. Calea acceptă parametri de rută, de exemplu /:variable.
Authentication Basic auth, Header auth, JWT auth, n8n User Auth (OAuth2), None.
Respond Immediately, When Last Node Finishes, Using ‘Respond to Webhook’ Node, Streaming response.
Allowed Origins (CORS) / IP(s) Allowlist / Ignore Bots / Only Run If Opțiuni de acces ale nodului Webhook.
Respond With Respond to Webhook: All Incoming Items, Binary File, First Incoming Item, JSON, JWT Token, No Data, Redirect, Text.
Response Code / Response Headers Codul HTTP și antetele răspunsului.
Enable Streaming Respond to Webhook: trimite datele în streaming; cere un trigger cu Response mode Streaming.

Exemple practice

Exemplul 1: Apel din linia de comandă

curl -X POST https://n8n.exemplu.ro/webhook/asistent \
  -H "X-Api-Key: secret" \
  -H "Content-Type: application/json" \
  -d '{"intrebare": "Care e starea comenzii 104?"}'

Exemplul 2: Corpul răspunsului în Respond to Webhook (Respond With: JSON)

{ "raspuns": {{ JSON.stringify($json.output) }} }

Greșeli frecvente și bune practici

  • Lași în aplicație URL-ul de test după publicare. URL-ul de producție nu conține -test.
  • Pui Respond pe Immediately și aștepți răspunsul agentului; primești doar mesajul Workflow got started.
  • Expui un endpoint care consumă credite AI fără autentificare sau listă de IP-uri permise.

Comenzi înrudite