Kísérleti funkció. Az n8n-integráció még nincs teljesen tesztelve. Az adminisztrátor tudatosan kapcsolja be a Beállítások → Haladó → Egyéb menüben; amíg ki van kapcsolva, az n8n fül és ez az útmutató-fejezet rejtve marad, az /api/n8n/* végpontok pedig inaktívak. Az n8n-integráció a Pro csomaghoz tartozik. Standard csomagban nincs „Egyéb” kártya a kapcsolóval, így az integrációt nem lehet bekapcsolni.

Mi az n8n?

Az n8n egy folyamatautomatizálási platform. A Task Managerrel való integráció kétirányúan működik:

  1. Kimenő webhookok (Task Manager → n8n) - az alkalmazás automatikusan értesítést küld a te n8n workflow-dnak, amikor valami történik (feladat létrejött, állapot megváltozott, üzenet érkezett, közeledik a határidő stb.).
  2. Bejövő API (n8n → Task Manager) - az n8n meghívhatja az alkalmazást, hogy feladatokat hozzon létre, üzeneteket adjon hozzá, vagy adatokat kérjen le.

Az integráció bekapcsolása

Kattints a fogaskerék ikonra (⚙) → n8n fül. A fül két részre oszlik: „Személyes automatizálások" - csak rád vonatkozó beállítások, valamint „Globális automatizálások" - minden felhasználó számára közös rendszerbeállítások, amelyek csak az adminisztrátor számára láthatók. Ahhoz, hogy az események ki legyenek küldve, az adminisztrátornak be kell kapcsolnia az „n8n-integráció bekapcsolása" kapcsolót a globális részben.

A. Kimenő webhookok - értesítések az alkalmazásból az n8n felé

Beállítás

  1. Az n8n fülön kattints az „Új webhook" gombra.
  2. Add meg a webhook nevét és az n8n-ből másolt webhook URL-t (a Webhook node mint trigger, POST metódus).
  3. Jelöld be a küldendő eseményeket.
  4. (Opcionálisan) állíts be egy titkos kulcsot - az alkalmazás ezzel írja alá a kéréseket (HMAC), hogy az n8n ellenőrizhesse azok hitelességét.
  5. Mentsd el. Küldhetsz egy teszt pinget a kapcsolat ellenőrzéséhez.

Elérhető események (válogatás)

  • Feladatok: task.created, task.updated, task.status_changed, task.completed, task.deleted, task.deadline_approaching, task.overdue
  • Csevegések / üzenetek: chat.message_sent, chat.mention, chat.file_uploaded
  • Felhasználók / munkaterület: user.created, user.login, user.logout, workspace.created
  • Rendszer: system.daily_summary, system.weekly_summary

Minden n8n-hez küldött kérés tartalmazza az esemény nevét és a kontextussal ellátott adatokat (data) (pl. feladatazonosító, munkaterület, szerző).

B. Bejövő API - az n8n irányítja az alkalmazást

Beállítás

  1. Az n8n fülön kattints az „Új API-kulcs" gombra.
  2. Másold ki a generált tokent (csak egyszer jelenik meg).
  3. Az n8n-ben használd a HTTP Request node-ot az autorizációs fejléccel:
    Authorization: Bearer TWÓJ_TOKEN
    A műveletek annak a felhasználónak a kontextusában futnak, aki létrehozta a kulcsot (az ő jogosultságai és munkaterület-hozzáférése alapján).

Elérhető végpontok

  • GET /api/n8n/ping.php - token teszt és healthcheck (visszaadja a kulcs és a felhasználó adatait).
  • GET /api/n8n/workspaces.php - az elérhető munkaterületek listája.
  • GET /api/n8n/users.php - felhasználók listája (csak a globális adminisztrátor által létrehozott kulcsok).
  • GET /api/n8n/tasks.php?workspace_id=&status=&limit= - feladatok listája.
  • POST /api/n8n/tasks.php - feladat létrehozása. JSON body:
    {
    "workspace_id": 1,
    "subject": "Nowe zadanie z n8n",
    "description": "Opcjonalny opis",
    "priority": "high",
    "deadline_date": "2025-12-31",
    "status": "none",
    "assignees": [2, 5]
    }
    A leírás ugyanúgy megtisztul a veszélyes HTML-től, mint az alkalmazásban, és ugyanaz a mérethatár vonatkozik rá.
  • PATCH /api/n8n/tasks.php - meglévő feladat frissítése, többek között az állapot módosítása. JSON body (task_id kötelező, a többi mező opcionális - csak azt add meg, amit módosítani szeretnél):
    {
    "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. Az állapot módosítása pontosan úgy működik, mint az alkalmazásban: a feladat beszélgetésszálában megjelenik egy bejegyzés „állapotot módosított erre…", a hozzárendelt személyek e-mail értesítést kapnak, az n8n felé pedig elindul a task.status_changed webhook (valamint done esetén a task.completed is).
    • deadline_date: null törli a határidőt. A határidő módosítása áthelyezi a hozzá kapcsolt emlékeztetőket.
    • A többi mező a task.updated webhookot küldi ki.
    • A description mentése ugyanúgy történik, mint a feladatablakból való szerkesztéskor: a veszélyes HTML eltávolításra kerül, bekapcsolt titkosítás esetén a leírás titkosítva kerül az adatbázisba, a teendőlista kipipált elemei pedig megtartják a helyüket, akkor is, ha az új leírásban az elemek sorrendje megváltozott. A feladat csak akkor kap „(szerkesztve)” jelölést, ha a tárgy vagy a leírás szövege ténylegesen megváltozott.
    • Ha az új leírás törölne egy olyan teendőlistát, amelyhez valaki saját elemeket adott hozzá, semmi nem mentődik el (a kérésben szereplő állapot sem), és 409 hibát kapsz DOPISKI_BEZ_LISTY kóddal, valamint egy indeksy mezővel. Ha mégis törölni szeretnéd a listát a hozzáadott elemekkel együtt, küldd el ugyanazt a módosítást újra, a "usun_dopiski" mezővel, amelynek értéke az indeksy mezőben kapott lista.
    • Először a tárgy, a határidő, a prioritás és a leírás mentődik el, csak utána az állapot - ha a leírás mentése meghiúsul, a megváltozott állapot nem marad meg.
    • Ugyanannak az állapotnak az ismételt beállítása semmit nem küld ki (biztonságos az n8n-beli ismétlések esetén).
    • Ha a HTTP node-od nem támogatja a PATCH metódust - küldd ugyanazt a body-t POST-tal: a task_id jelenléte frissítési módba kapcsolja az endpointot.
    • Hibakódok: 400 hiányzó task_id, nincs módosítandó mező, vagy túl sok teendőlista-elem (TOO_MANY), 413 túl nagy leírás (PAYLOAD_TOO_LARGE, általában beillesztett kép miatt), 422 érvénytelen érték (állapot/prioritás/dátumformátum), 404 a feladat nem létezik, vagy kívül esik a kulcs hozzáférésén, 403 nincs jogosultság az állapot módosításához/szerkesztéshez, 409 a leírás törölne egy idegen elemeket tartalmazó listát.
  • POST /api/n8n/messages.php - üzenet hozzáadása feladathoz vagy csevegéshez. JSON body:
    {
    "entity_type": "task",
    "entity_id": 42,
    "content": "Treść wiadomości"
    }

Példák automatizálási forgatókönyvekre

  • Google Űrlap → n8n → POST /api/n8n/tasks.php (új feladat a Task Managerben)
  • Gmail-e-mail meghatározott tárggyal → n8n → feladat, amelynek leírása az e-mail tartalmából származik
  • Állapotváltozás a Jirában → n8n → üzenet / a kapcsolódó feladat frissítése
  • Kimenő task.created webhook → n8n → bejegyzés a Google Táblázatban / Slack-értesítés
  • task.deadline_approaching → n8n → e-mail/SMS emlékeztető a közelgő határidőről

Hibaelhárítás

  • Nincsenek értesítések az n8n-ben - ellenőrizd, hogy az integráció be van-e kapcsolva, a webhook aktív-e, és az URL helyes-e. Használd a „teszt ping” funkciót és a diagnosztikát az n8n fülön: ez megmutatja, hogy a webhook címe válaszol-e (ugyanúgy ellenőrizve, mint küldéskor - átirányítások nélkül és tanúsítvány-ellenőrzéssel, így az önaláírt tanúsítvánnyal rendelkező n8n elérhetetlenként jelenik meg), hány esemény vár az újraküldési sorban, és mikor sikerült utoljára a küldés.
  • A webhook titka titkosítva van tárolva az adatbázisban. A config.php fájlban lévő ENCRYPTION_KEY kulcs megváltoztatása után a mentett titkok olvashatatlanná válnak - az alkalmazás ekkor aláírás nélkül küldi az eseményeket, ezért generálj új titkot a webhookhoz, és add meg azt az n8n-ben.
  • Nincs jogosultság (401) a bejövő API-ban - a token érvénytelen vagy törölve lett. Hozz létre új API-kulcsot, és frissítsd az Authorization fejlécet az n8n-ben.
  • A feladat nem jön létre - győződj meg róla, hogy a workspace_id létezik, a kulcs felhasználója hozzáfér hozzá, és rendelkezik feladat hozzáadási jogosultsággal.