Funkcja eksperymentalna. Integracja n8n nie jest jeszcze w pełni przetestowana. Administrator włącza ją świadomie w Ustawieniach → Zaawansowane → Inne; dopóki jest wyłączona, zakładka n8n i ten rozdział instrukcji są ukryte, a endpointy
/api/n8n/*nieaktywne. Integracja n8n należy do planu Pro. W planie Standard karty „Inne” z jej przełącznikiem nie ma, więc integracji nie da się włączyć.
Co to jest n8n?
n8n to platforma do automatyzacji procesów. Integracja z Task Manager działa w dwie strony:
- Webhooki wychodzące (Task Manager → n8n) - aplikacja sama wysyła powiadomienia do Twojego workflow w n8n, gdy coś się wydarzy (utworzono zadanie, zmieniono status, dodano wiadomość, zbliża się termin itp.).
- API przychodzące (n8n → Task Manager) - n8n może wywoływać aplikację, aby tworzyć zadania, dodawać wiadomości czy pobierać dane.
Włączenie integracji
Kliknij ikonę koła zębatego (⚙) → zakładka n8n. Zakładka dzieli się na dwie części: „Osobiste automatyzacje" - konfiguracja dotycząca wyłącznie Ciebie, oraz „Globalne automatyzacje" - ustawienia systemowe wspólne dla wszystkich użytkowników, widoczne tylko dla administratora. Aby zdarzenia były wysyłane, administrator musi włączyć przełącznik „Włącz integrację n8n" w części globalnej.
A. Webhooki wychodzące - powiadomienia z aplikacji do n8n
Konfiguracja
- W zakładce n8n kliknij „Nowy webhook".
- Podaj nazwę webhooka oraz adres URL webhooka skopiowany z n8n (node Webhook jako trigger, metoda POST).
- Zaznacz zdarzenia, które mają być wysyłane.
- (Opcjonalnie) ustaw sekret - aplikacja podpisze nim żądania (HMAC), aby n8n mógł zweryfikować autentyczność.
- Zapisz. Możesz wysłać testowy ping, aby sprawdzić połączenie.
Dostępne zdarzenia (wybrane)
- Zadania:
task.created,task.updated,task.status_changed,task.completed,task.deleted,task.deadline_approaching,task.overdue - Czaty / wiadomości:
chat.message_sent,chat.mention,chat.file_uploaded - Użytkownicy / workspace:
user.created,user.login,user.logout,workspace.created - Systemowe:
system.daily_summary,system.weekly_summary
Każde żądanie do n8n zawiera nazwę zdarzenia oraz dane (data) z kontekstem (np. id zadania, workspace, autor).
B. API przychodzące - n8n steruje aplikacją
Konfiguracja
- W zakładce n8n kliknij „Nowy klucz API".
- Skopiuj wygenerowany token (pokazywany tylko raz).
- W n8n użyj node HTTP Request z nagłówkiem autoryzacji:
Akcje wykonywane są w kontekście użytkownika, który utworzył klucz (jego uprawnienia i dostęp do workspace'ów).Authorization: Bearer TWÓJ_TOKEN
Dostępne endpointy
GET /api/n8n/ping.php- test tokenu i healthcheck (zwraca info o kluczu i użytkowniku).GET /api/n8n/workspaces.php- lista dostępnych workspace'ów.GET /api/n8n/users.php- lista użytkowników (tylko klucze utworzone przez administratora globalnego).GET /api/n8n/tasks.php?workspace_id=&status=&limit=- lista zadań.POST /api/n8n/tasks.php- utworzenie zadania. Body JSON:
Opis jest czyszczony z niebezpiecznego HTML tak samo jak w aplikacji i ma ten sam limit rozmiaru.{ "workspace_id": 1, "subject": "Nowe zadanie z n8n", "description": "Opcjonalny opis", "priority": "high", "deadline_date": "2025-12-31", "status": "none", "assignees": [2, 5] }PATCH /api/n8n/tasks.php- aktualizacja istniejącego zadania, m.in. zmiana statusu. Body JSON (task_idwymagane, reszta pól opcjonalna - podajesz tylko to, co chcesz zmienić):{ "task_id": 42, "status": "in_progress", "priority": "high", "deadline_date": "2026-08-01", "subject": "Nowy temat", "description": "Nowy opis" }status:none|in_progress|done|cancelled. Zmiana statusu działa dokładnie tak jak z aplikacji: w wątku zadania pojawia się wpis „zmienił(a) status na…", przypisane osoby dostają powiadomienie e-mail, a do n8n leci webhooktask.status_changed(oraztask.completedprzydone).deadline_date: nullczyści termin. Zmiana terminu przesuwa przypomnienia przypięte do niego.- Pozostałe pola wysyłają webhook
task.updated. descriptionzapisuje się tak samo jak przy edycji z okna zadania: niebezpieczny HTML jest usuwany, przy włączonym szyfrowaniu opis trafia do bazy zaszyfrowany, a odhaczenia na liście to-do zostają przy swoich pozycjach, także gdy w nowym opisie pozycje zmieniły kolejność. Zadanie dostaje oznaczenie „(edytowane)” tylko wtedy, gdy temat albo treść opisu naprawdę się zmieniły.- Gdy nowy opis usuwa listę to-do, do której ktoś dopisał własne pozycje, nic się nie zapisuje (także status z tego samego żądania) i dostajesz
409z kodemDOPISKI_BEZ_LISTYoraz polemindeksy. Żeby mimo to usunąć listę razem z dopiskami, wyślij tę samą zmianę jeszcze raz z polem"usun_dopiski"równym liście z polaindeksy. - Najpierw zapisują się temat, termin, priorytet i opis, dopiero potem status - odmowa zapisu opisu nie zostawia zmienionego statusu.
- Ustawienie tego samego statusu ponownie niczego nie wysyła (bezpieczne przy ponowieniach w n8n).
- Jeśli Twój node HTTP nie obsługuje metody PATCH - wyślij to samo body przez POST: obecność
task_idprzełącza endpoint w tryb aktualizacji. - Kody błędów:
400braktask_id, brak pól do zmiany albo za dużo pozycji listy to-do (TOO_MANY),413za duży opis (PAYLOAD_TOO_LARGE, zwykle wklejony obrazek),422nieprawidłowa wartość (status/priorytet/format daty),404zadanie nie istnieje lub jest poza dostępem klucza,403brak uprawnień do zmiany statusu/edycji,409opis usuwa listę z cudzymi dopiskami.
POST /api/n8n/messages.php- dodanie wiadomości do zadania lub czatu. Body JSON:{ "entity_type": "task", "entity_id": 42, "content": "Treść wiadomości" }
Przykładowe scenariusze automatyzacji
- Formularz Google → n8n →
POST /api/n8n/tasks.php(nowe zadanie w Task Manager) - E-mail z Gmaila z określonym tematem → n8n → zadanie z opisem z treści e-maila
- Zmiana statusu w Jira → n8n → wiadomość/aktualizacja powiązanego zadania
- Webhook wychodzący
task.created→ n8n → wpis w arkuszu Google / powiadomienie na Slack task.deadline_approaching→ n8n → przypomnienie e-mail/SMS o zbliżającym się terminie
Rozwiązywanie problemów
- Brak powiadomień w n8n - sprawdź, czy integracja jest włączona, webhook aktywny, a URL poprawny. Użyj „testowego pingu" i diagnostyki w zakładce n8n: pokazuje, czy adres webhooka odpowiada (sprawdzany tak samo jak przy wysyłce - bez przekierowań i z weryfikacją certyfikatu, więc n8n z certyfikatem self-signed wyjdzie jako nieosiągalny), ile zdarzeń czeka w kolejce ponowień i kiedy ostatnia wysyłka się udała.
- Sekret webhooka jest przechowywany w bazie zaszyfrowany. Po zmianie klucza
ENCRYPTION_KEYwconfig.phpzapisane sekrety stają się nieczytelne - aplikacja wysyła wtedy zdarzenia bez podpisu, więc wygeneruj nowy sekret przy webhooku i wpisz go w n8n. - Brak autoryzacji (401) w API przychodzącym - token jest nieprawidłowy lub został usunięty. Utwórz nowy klucz API i zaktualizuj nagłówek
Authorizationw n8n. - Zadanie nie zostaje utworzone - upewnij się, że
workspace_idistnieje i że użytkownik klucza ma do niego dostęp oraz uprawnienie do dodawania zadań.
