Skip to main content

Documentation Index

Fetch the complete documentation index at: https://pomoc.wenetasystent.ai/llms.txt

Use this file to discover all available pages before exploring further.

Co to jest webhook

Webhook to adres URL Twojego systemu (CRM, Slack, Notion, Google Sheets, własna aplikacja), pod który Asystent AI wysyła dane za każdym razem, gdy klient zostawi swoje dane kontaktowe podczas rozmowy. Dzięki temu nowe leady mogą trafiać do Twoich workflow w czasie rzeczywistym, bez ręcznego przepisywania.
Webhook wysyłany jest po zdarzeniu lead.captured — czyli wtedy, gdy klient w rozmowie z chatbotem poda swoje dane kontaktowe (imię, e-mail, telefon).

Jak skonfigurować webhook

1

Wygeneruj URL w docelowym narzędziu

W Make.com, Zapier, n8n lub własnym backendzie utwórz endpoint, który będzie odbierał żądania POST. Skopiuj jego adres (musi zaczynać się od https://). Przykłady poniżej w sekcji Gotowe scenariusze.
2

Otwórz Ustawienia → Integracje

Zaloguj się do app.wenetasystent.ai. W menu po lewej kliknij koło zębate (Ustawienia), a następnie zakładkę Integracje.
3

Wklej URL w karcie „Przekazywanie zapytań ofertowych”

W polu Adres URL webhooka wklej skopiowany endpoint i kliknij Zapisz.
4

Wyślij testowy payload

Kliknij Wyślij test. Asystent AI prześle syntetyczny payload (kontakt „Jan Testowy”) pod podany adres. Sprawdź, czy Twój workflow odebrał dane.
5

Włącz integrację suwakiem

Po udanym teście włącz suwak w prawym górnym rogu karty. Od tego momentu każdy nowy lead będzie wysyłany automatycznie.
Wymagany jest protokół HTTPS. Adresy http:// zostaną odrzucone przez panel.

Struktura wysyłanych danych

Każde żądanie to POST z nagłówkami i ciałem JSON.

Nagłówki HTTP

NagłówekWartość
Content-Typeapplication/json
X-Asystent-Eventlead.captured
X-Asystent-Signaturesha256=<HMAC_SHA256_payloadu> (do weryfikacji autentyczności)

Payload

{
  "event": "lead.captured",
  "event_id": "evt_V1StGXR8_Z5jdHi6B-myT",
  "api_version": "2026-03",
  "timestamp": "2026-04-28T09:14:33.218Z",
  "data": {
    "contact": {
      "first_name": "Jan",
      "last_name": "Kowalski",
      "email": "jan@firma.pl",
      "phone": "+48123456789"
    },
    "summary": "Klient zainteresowany wdrożeniem dla 20-osobowego zespołu, budżet do 5000 zł/mc.",
    "transcript": [
      { "role": "assistant", "content": "Cześć! W czym mogę pomóc?", "timestamp": 1745832823000 },
      { "role": "user",      "content": "Szukam chatbota dla mojej firmy.", "timestamp": 1745832867000 }
    ],
    "widget_id": "widget_chat_id",
    "consents": [
      { "id": "rodo", "label": "Zgoda RODO", "required": true, "enabled": true }
    ]
  }
}

Pola payloadu

PoleTypOpis
eventstringZawsze lead.captured
event_idstringUnikalne ID zdarzenia (evt_<nanoid>) — do deduplikacji po stronie odbiorcy
api_versionstringWersja schematu payloadu (obecnie 2026-03)
timestampstring (ISO 8601)Moment wysłania webhooka
data.contactobjectImię, nazwisko, e-mail, telefon klienta
data.summarystring | nullStreszczenie rozmowy wygenerowane przez AI
data.transcriptarrayPełny zapis rozmowy (rola, treść, timestamp ms)
data.widget_idstringID rozmowy w panelu Asystent AI
data.consentsarrayLista zgód (np. RODO) zaakceptowanych przez klienta
Dziennik dostarczeń (sukcesy, błędy, status HTTP) jest zapisywany po stronie Asystent AI — w razie problemów napisz na pomoc@wenetasystent.ai, pomożemy zdiagnozować.

Niezawodność i bezpieczeństwo

  • Retry: jeśli Twój endpoint zwróci błąd (status ≥ 400) lub nie odpowie w 10 sekund, system ponowi próbę — łącznie do 3 prób z exponential backoff
  • Deduplikacja: użyj event_id po stronie odbiorcy, żeby nie zaksięgować tego samego leada dwa razy
  • Weryfikacja HMAC (opcjonalna, zalecana dla custom backendów): policz HMAC-SHA256 z ciała żądania używając swojego sekretu (kontakt z supportem) i porównaj z nagłówkiem X-Asystent-Signature. Make.com / Zapier / n8n mają wbudowane narzędzia do tego (sekcja niżej).

Gotowe scenariusze

Poniższe instrukcje pokazują najszybszą drogę do podpięcia webhooka w trzech popularnych narzędziach.

Make.com (dawniej Integromat)

1

Utwórz nowy scenariusz

Zaloguj się do make.com i kliknij Create a new scenario.
2

Dodaj moduł „Webhooks → Custom webhook”

Wyszukaj moduł Webhooks, wybierz Custom webhook i kliknij Add, aby utworzyć nowy webhook (nadaj mu nazwę, np. „Asystent AI — leady”). Make wygeneruje unikalny URL — skopiuj go.
3

Wklej URL w panelu Asystent AI

W Ustawienia → Integracje wklej URL w polu Adres URL webhooka i zapisz.
4

Wyślij test z panelu Asystent AI

Kliknij Wyślij test w panelu. Wróć do Make i kliknij Re-determine data structure lub Run once — Make rozpozna strukturę pól (data.contact.email, data.summary itd.) i będzie je można mapować w kolejnych modułach.
5

Dodaj kolejne moduły workflow

Po module webhooka dodaj np. HubSpot — Create a contact, Google Sheets — Add a row lub Slack — Send a message. Mapuj pola z payloadu do parametrów modułów.
6

Włącz scenariusz

Kliknij Run i przełącz scheduler w pozycję ON w lewym dolnym rogu edytora.
Aby weryfikować HMAC w Make: dodaj moduł Tools → Compose a string lub Crypto → Create HMAC z ustawieniami algorithm: SHA-256, key: <Twój sekret>, data: <body webhooka>, a następnie porównaj z nagłówkiem X-Asystent-Signature w Router lub Filter.

Zapier

1

Utwórz nowego Zapa

W zapier.com kliknij Create Zap.
2

Trigger: Webhooks by Zapier → Catch Hook

Jako trigger wybierz Webhooks by Zapier (wymaga planu Starter+). Akcja: Catch Hook. Zapier wygeneruje Custom Webhook URL — skopiuj go.
3

Wklej URL w panelu Asystent AI i wyślij test

W Asystent AI wklej URL w Ustawienia → Integracje, zapisz, kliknij Wyślij test. Wróć do Zapiera i kliknij Test trigger — zobaczysz strukturę pól z payloadu (data__contact__email, data__summary).
4

Dodaj akcję

Wybierz akcję — np. Google Sheets → Create Spreadsheet Row, HubSpot → Create or Update Contact, Pipedrive → Create Lead, Slack → Send Channel Message. Zmapuj pola z triggera do parametrów akcji.
5

Publikuj Zapa

Kliknij Publish. Od teraz każdy webhook z Asystenta AI uruchomi Twój workflow.
Zapier po stronie triggera „Catch Hook” nie weryfikuje HMAC out-of-the-box. Jeśli potrzebujesz weryfikacji autentyczności, dodaj krok Code by Zapier (Python) który policzy HMAC-SHA256 i zwróci Continue / Stop przez Filter by Zapier.

n8n

1

Utwórz nowy workflow

W swojej instancji n8n (cloud lub self-hosted) kliknij New workflow.
2

Dodaj node Webhook

Wyszukaj node Webhook. Ustaw:
  • HTTP Method: POST
  • Path: dowolna nazwa, np. asystent-leads
  • Authentication: None (HMAC zweryfikujesz w kolejnym node)
  • Response Mode: Last node (lub Immediately z kodem 200)
Skopiuj Production URL wygenerowany przez n8n.
3

Wklej URL w panelu Asystent AI

Wklej Production URL w Ustawienia → Integracje i zapisz. Aktywuj workflow w n8n (przełącznik Active w prawym górnym rogu).
4

Wyślij test i podejrzyj payload

Kliknij Wyślij test w Asystent AI. W n8n otwórz node Webhook → zakładka Executions — zobaczysz odebrany payload i wszystkie nagłówki.
5

Dodaj kolejne nodes

Po node Webhook dodaj np. HubSpot, Google Sheets, Slack, Postgres lub HTTP Request do własnego API. Mapuj pola wyrażeniami {{$json.data.contact.email}}, {{$json.data.summary}} itd.
Weryfikacja HMAC w n8n: po node Webhook dodaj node Crypto z operacją HMAC, algorytm SHA256, kluczem ustawionym na Twój sekret i wartością {{$json.body}} (raw body). Następnie node IF porównaj wynik z {{$json.headers["x-asystent-signature"]}} (po usunięciu prefiksu sha256=). Tylko zgodne żądania przepuszczaj dalej.

Rozwiązywanie problemów

  • Status 4xx — Twój endpoint odrzucił żądanie. Sprawdź logi po stronie odbiorcy (Make/Zapier/n8n). Najczęstsze powody: nieaktywny scenariusz, brak ustawienia Catch Hook na nasłuchiwanie, błąd w mapowaniu pól.
  • Status 5xx — błąd po stronie odbiorcy. Spróbuj jeszcze raz; jeśli problem się powtarza, sprawdź dostępność endpointu.
  • Brak odpowiedzi / timeout — endpoint nie odpowiedział w 10 sekund. Skróć logikę po stronie odbiorcy lub przekaż dane do kolejki i odpowiedz natychmiast.
  • Sprawdź, czy suwak integracji jest włączony (prawy górny róg karty „Przekazywanie zapytań ofertowych”).
  • Upewnij się, że klient faktycznie zostawił dane kontaktowe podczas rozmowy — webhook startuje dopiero po uzupełnieniu kontaktu.
  • Jeśli używasz Make.com: scenariusz musi być w stanie ON (nie tylko zapisany).
To efekt mechanizmu retry — jeśli Twój endpoint odpowie błędem lub timeoutem, system ponowi próbę. Użyj pola event_id jako klucza deduplikacji w bazie / arkuszu / CRM-ie. Zwracaj 2xx jak najszybciej (np. od razu po przyjęciu payloadu), a logikę przenieś do kolejki.
Tak, można równolegle. Webhook (np. do n8n) i bezpośrednia integracja Firmao CRM działają niezależnie. Każda rozmowa, w której klient zostawi dane, uruchomi obie integracje.