Experimentell funktion. n8n-integrationen är ännu inte fullt testad. Administratören aktiverar den medvetet under Inställningar → Avancerat → Övrigt; så länge den är avstängd är fliken n8n och detta kapitel i manualen dolda, och endpointerna /api/n8n/* är inaktiva. n8n-integrationen ingår i planen Pro. I planen Standard finns inte fliken ”Övrigt” med dess växlingsknapp, så integrationen går inte att aktivera.

Vad är n8n?

n8n är en plattform för processautomatisering. Integrationen med Task Manager fungerar åt båda hållen:

  1. Utgående webhooks (Task Manager → n8n) - appen skickar själv aviseringar till ditt workflow i n8n när något inträffar (en uppgift skapades, status ändrades, ett meddelande lades till, ett förfallodatum närmar sig osv.).
  2. Inkommande API (n8n → Task Manager) - n8n kan anropa appen för att skapa uppgifter, lägga till meddelanden eller hämta data.

Aktivera integrationen

Klicka på kugghjuls-ikonen (⚙) → fliken n8n. Fliken delas i två delar: ”Personliga automatiseringar” - inställningar som bara gäller dig, och ”Globala automatiseringar” - systeminställningar som är gemensamma för alla användare, synliga endast för administratören. För att händelser ska skickas måste administratören aktivera reglaget ”Aktivera n8n-integration” i den globala delen.

A. Utgående webhooks - aviseringar från appen till n8n

Konfiguration

  1. Klicka på ”Ny webhook” på fliken n8n.
  2. Ange webhookens namn och webhookens URL kopierad från n8n (noden Webhook som trigger, metod POST).
  3. Markera de händelser som ska skickas.
  4. (Valfritt) ange en hemlighet - appen signerar förfrågningarna med den (HMAC) så att n8n kan verifiera äktheten.
  5. Spara. Du kan skicka en testping för att kontrollera anslutningen.

Tillgängliga händelser (urval)

  • Uppgifter: task.created, task.updated, task.status_changed, task.completed, task.deleted, task.deadline_approaching, task.overdue
  • Chattar / meddelanden: chat.message_sent, chat.mention, chat.file_uploaded
  • Användare / arbetsyta: user.created, user.login, user.logout, workspace.created
  • Systemet: system.daily_summary, system.weekly_summary

Varje begäran till n8n innehåller händelsens namn och data (data) med kontext (t.ex. uppgifts-id, arbetsyta, författare).

B. Inkommande API - n8n styr appen

Konfiguration

  1. Klicka på ”Ny API-nyckel” på fliken n8n.
  2. Kopiera den genererade token (visas bara en gång).
  3. I n8n använder du noden HTTP Request med en auktoriseringsheader:
    Authorization: Bearer TWÓJ_TOKEN
    Åtgärderna utförs i den kontext som tillhör den användare som skapade nyckeln (dennes behörigheter och åtkomst till arbetsytor).

Tillgängliga endpointar

  • GET /api/n8n/ping.php - test av token och healthcheck (returnerar information om nyckeln och användaren).
  • GET /api/n8n/workspaces.php - lista över tillgängliga arbetsytor.
  • GET /api/n8n/users.php - lista över användare (endast nycklar skapade av den globala administratören).
  • GET /api/n8n/tasks.php?workspace_id=&status=&limit= - lista över uppgifter.
  • POST /api/n8n/tasks.php - skapande av en uppgift. 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]
    }
    Beskrivningen rensas från farlig HTML på samma sätt som i appen och har samma storleksgräns.
  • PATCH /api/n8n/tasks.php - uppdatering av en befintlig uppgift, bland annat statusändring. JSON-body (task_id obligatoriskt, resten av fälten är valfria - du anger bara det du vill ändra):
    {
    "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. Statusändringen fungerar precis som i appen: ett inlägg om att statusen har ändrats visas i uppgiftens tråd, tilldelade personer får en e-postavisering och webhooken task.status_changed skickas till n8n (samt task.completed vid done).
    • deadline_date: null rensar förfallodatumet. En ändring av förfallodatumet flyttar påminnelser kopplade till det.
    • Övriga fält skickar webhooken task.updated.
    • description sparas på samma sätt som vid redigering från uppgiftsfönstret: farlig HTML tas bort, vid aktiverad kryptering sparas beskrivningen krypterad i databasen, och avbockningar i att göra-listan behåller sina positioner, även om punkterna bytt ordning i den nya beskrivningen. Uppgiften får markeringen ”(redigerad)” endast när ämnet eller beskrivningens innehåll verkligen har ändrats.
    • Om den nya beskrivningen tar bort en att göra-lista som någon har lagt till egna punkter i, sparas ingenting (inte heller statusen från samma förfrågan) och du får 409 med koden DOPISKI_BEZ_LISTY samt fältet indeksy. För att ändå ta bort listan tillsammans med tilläggen, skicka samma ändring igen med fältet "usun_dopiski" satt till listan från fältet indeksy.
    • Först sparas ämne, förfallodatum, prioritet och beskrivning, och först därefter status - om beskrivningen inte kan sparas, sparas inte heller den ändrade statusen.
    • Att sätta samma status igen skickar ingenting (säkert vid upprepningar i n8n).
    • Om din HTTP-nod inte stöder metoden PATCH - skicka samma body via POST: förekomsten av task_id växlar endpointen till uppdateringsläge.
    • Felkoder: 400 saknad task_id, inga fält att ändra eller för många punkter i att göra-listan (TOO_MANY), 413 för stor beskrivning (PAYLOAD_TOO_LARGE, oftast en inklistrad bild), 422 ogiltigt värde (status/prioritet/datumformat), 404 uppgiften finns inte eller ligger utanför nyckelns åtkomst, 403 saknar behörighet att ändra status/redigera, 409 beskrivningen tar bort en lista med andras tillägg.
  • POST /api/n8n/messages.php - lägga till ett meddelande i en uppgift eller chatt. JSON-body:
    {
    "entity_type": "task",
    "entity_id": 42,
    "content": "Treść wiadomości"
    }

Exempel på automatiseringsscenarier

  • Google-formulär → n8n → POST /api/n8n/tasks.php (ny uppgift i Task Manager)
  • E-post från Gmail med ett specifikt ämne → n8n → uppgift med beskrivning från e-postens innehåll
  • Statusändring i Jira → n8n → meddelande/uppdatering av kopplad uppgift
  • Utgående webhook task.created → n8n → post i ett Google Kalkylark / avisering på Slack
  • task.deadline_approaching → n8n → påminnelse via e-post/SMS om ett förfallodatum som närmar sig

Felsökning

  • Inga aviseringar i n8n - kontrollera att integrationen är aktiverad, att webhooken är aktiv och att URL:en är korrekt. Använd ”testpinget” och diagnostiken under fliken n8n: den visar om webhookadressen svarar (kontrolleras på samma sätt som vid utskick - utan omdirigeringar och med certifikatverifiering, så n8n med ett självsignerat certifikat kommer att visas som onåbart), hur många händelser som väntar i omförsökskön och när senaste utskicket lyckades.
  • Webhookens hemlighet lagras krypterad i databasen. Efter att nyckeln ENCRYPTION_KEY i config.php ändrats blir sparade hemligheter oläsliga - appen skickar då händelser utan signatur, så generera en ny hemlighet för webhooken och ange den i n8n.
  • Ingen auktorisering (401) i det inkommande API:et - token är ogiltig eller har tagits bort. Skapa en ny API-nyckel och uppdatera rubriken Authorization i n8n.
  • Uppgiften skapas inte - kontrollera att workspace_id finns och att nyckelns användare har åtkomst till den samt behörighet att lägga till uppgifter.