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.

Co to jest n8n?

n8n to platforma do automatyzacji procesów. Integracja z Task Manager działa w dwie strony:

  1. 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.).
  2. 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

  1. W zakładce n8n kliknij „Nowy webhook".
  2. Podaj nazwę webhooka oraz adres URL webhooka skopiowany z n8n (node Webhook jako trigger, metoda POST).
  3. Zaznacz zdarzenia, które mają być wysyłane.
  4. (Opcjonalnie) ustaw sekret — aplikacja podpisze nim żądania (HMAC), aby n8n mógł zweryfikować autentyczność.
  5. 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

  1. W zakładce n8n kliknij „Nowy klucz API".
  2. Skopiuj wygenerowany token (pokazywany tylko raz).
  3. W n8n użyj node HTTP Request z nagłówkiem autoryzacji:
    Authorization: Bearer TWÓJ_TOKEN
    Akcje wykonywane są w kontekście użytkownika, który utworzył klucz (jego uprawnienia i dostęp do workspace'ów).

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:
    {
    "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.phpaktualizacja istniejącego zadania, m.in. zmiana statusu. Body JSON (task_id wymagane, 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 webhook task.status_changed (oraz task.completed przy done).
    • deadline_date: null czyści termin. Zmiana terminu przesuwa przypomnienia przypięte do niego.
    • Pozostałe pola wysyłają webhook task.updated.
    • 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_id przełącza endpoint w tryb aktualizacji.
    • Kody błędów: 400 brak task_id lub brak pól do zmiany, 422 nieprawidłowa wartość (status/priorytet/format daty), 404 zadanie nie istnieje lub jest poza dostępem klucza, 403 brak uprawnień do zmiany statusu/edycji.
  • 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".
  • Brak autoryzacji (401) w API przychodzącym — token jest nieprawidłowy lub został usunięty. Utwórz nowy klucz API i zaktualizuj nagłówek Authorization w n8n.
  • Zadanie nie zostaje utworzone — upewnij się, że workspace_id istnieje i że użytkownik klucza ma do niego dostęp oraz uprawnienie do dodawania zadań.