Xcellerate OPS tworzy zdarzenie za każdym razem, gdy coś się dzieje: powstaje zgłoszenie, oferta zostaje zaakceptowana, zostaje wystawiona faktura, połączenie zostaje nieodebrane. Dzięki webhookom wychodzącym wysyłasz te zdarzenia jako JSON na własny URL, aby Zapier, Make, n8n, Power Automate lub Twój system mogły od razu na nie zareagować. Ten poradnik jest dla administratorów w MSP i firmach usługowych, którzy chcą, by OPS sterował ich innymi narzędziami.
TL;DR
- Otwórz Settings → Data and security (Dane i bezpieczeństwo) → Notifications and webhooks (Powiadomienia i webhooki) i dodaj jeden URL na zdarzenie.
- OPS od razu wysyła jeden JSON
POSTna zdarzenie, opcjonalnie podpisany HMAC-SHA256.- Każda dostawa jest wysyłana raz, bez ponowień: wybierz odbiorcę, który jest zawsze dostępny i szybko odpowiada.
Zanim zaczniesz
- Masz rolę admin w swoim obszarze roboczym OPS.
- Masz endpoint, który przyjmuje żądania
POSTzContent-Type: application/jsoni odpowiada w ciągu 8 sekund. - URL wskazuje na adres publiczny. Adresy prywatne lub wewnętrzne są odrzucane. Najlepiej używaj HTTPS.
- Opcjonalnie: wspólny sekret, dzięki któremu odbiorca sprawdzi podpis.
Konfiguracja webhooka wychodzącego
Krok 1: Otwórz stronę zdarzeń
Przejdź do Settings → Data and security (Dane i bezpieczeństwo) → Notifications and webhooks (Powiadomienia i webhooki). Zdarzenia są pogrupowane według obszarów. Ich nazwy są wyświetlane po angielsku z kluczem technicznym, np. „Ticket created” (ticket.created).
Strona Notifications and webhooks z opcjami dla każdego zdarzenia: powiadomienie osoby przypisanej, e-mail do klienta, szablon e-maila i przycisk dodania webhooka.
Krok 2: Dodaj webhook do zdarzenia
Znajdź zdarzenie, które chcesz przekazywać, i kliknij Add webhook (Dodaj webhook). Wpisz URL odbiorcy.
Krok 3: Ustaw sekret podpisu (opcjonalnie)
Wypełnij pole Signing secret (optional) (Sekret podpisu, opcjonalnie). Każde żądanie zawiera wtedy nagłówek X-Signature: sha256=<hex>: HMAC-SHA256 surowej treści JSON, obliczony z Twoim sekretem. Odbiorca oblicza tę samą wartość i porównuje. Po zapisaniu sekret nie jest już wyświetlany. Jeśli przy zapisie zostawisz pole puste, zapisany sekret zostanie zachowany.
Krok 4: Wyślij test
Kliknij Test, aby wysłać przykładowy payload dla tego zdarzenia. Test potwierdza tylko, że OPS mógł wysłać żądanie. Nie mówi, co Twój endpoint z nim zrobił. Dlatego zawsze sprawdzaj po stronie odbiorcy, w historii lub logach swojego narzędzia, czy przykład dotarł i został poprawnie przetworzony.
Krok 5: Zapisz i powtórz
Kliknij Save (Zapisz) u góry strony. Powtórz dla każdego zdarzenia, które chcesz przekazywać: ustawiasz jeden URL na typ zdarzenia.
Co dzieje się po połączeniu
- Kierunek: z OPS na Twój URL. Jeden
POSTna zdarzenie, wysyłany w chwili, gdy ono następuje. - Treść: każda wiadomość ma tę samą strukturę. Pole
dataróżni się w zależności od zdarzenia.
{
"event": "ticket.created",
"label": "Ticket created",
"occurredAt": "<ISO-8601>",
"title": "…",
"link": "/tickets/…",
"data": { … }
}
- Zakres: ponad 160 typów zdarzeń, m.in. zgłoszenia, klienci i kontakty, zadania CRM, projekty, budżety, karty czasu pracy, faktury, umowy, oferty, zasoby, połączenia, szanse sprzedaży, czas pracy, zmiany, problemy i incydenty ITIL oraz współpracownicy AI.
- Powiadomienia: na tej samej stronie ustawiasz dla każdego zdarzenia powiadomienia w aplikacji, Notify assignee (Powiadom osobę przypisaną) i szablony e-maili do klientów dla zdarzeń zgłoszeń.
Zobacz też automatyzację w OPS oraz integracje UE i bezpieczeństwo.
Dobrze wiedzieć
- Wysyłane raz, bez ponowień. Nie ma ponownych prób ani dziennika dostaw. Jeśli odbiorca jest niedostępny lub zbyt wolny, zdarzenie do niego nie dotrze. Używaj niezawodnego odbiorcy: platformy automatyzacji lub własnego endpointu, który zapisuje wiadomość, od razu odpowiada i przetwarza ją później.
- Limit czasu 8 sekund, przekierowania nie są obsługiwane. Używaj docelowego URL.
- Jeden URL na typ zdarzenia. Jeśli to samo zdarzenie ma trafić do kilku systemów, niech odbiorca rozdzieli je dalej.
- Importy masowe i scalanie rekordów nigdy nie wywołują webhooków.
- Podczas wysyłki URL jest ponownie sprawdzany pod kątem adresu publicznego.
Rozwiązywanie problemów
- „Sample payload sent.” Żądanie testowe zostało wysłane. Sprawdź u odbiorcy, czy zostało też przetworzone.
- „Webhook test failed: ” Błąd na poziomie połączenia, np. DNS, przekroczenie czasu lub TLS.
- Błąd walidacji przy zapisie. URL jest nieprawidłowy lub wskazuje na adres prywatny albo wewnętrzny.
- Prawdziwe zdarzenia nie docierają, choć test się udał. Sprawdź, czy endpoint odpowiada szybko, bez przekierowań, i nadal jest dostępny pod adresem publicznym.
Zacznij
Chcesz, aby OPS przekazywał zgłoszenia, oferty i faktury do Twoich pozostałych narzędzi? Zacznij za darmo i skonfiguruj pierwszy webhook w ustawieniach.


