Funzionalità sperimentale. L'integrazione n8n non è ancora stata testata del tutto. L'amministratore la attiva consapevolmente in Impostazioni → Avanzate → Altro; finché è disattivata, la scheda n8n e questo capitolo del manuale restano nascosti, e gli endpoint /api/n8n/* sono inattivi. L'integrazione n8n appartiene al piano Pro. Nel piano Standard la scheda “Altro” con il relativo interruttore non è presente, quindi l'integrazione non può essere attivata.

Cos'è n8n?

n8n è una piattaforma per l'automazione dei processi. L'integrazione con Task Manager funziona in entrambe le direzioni:

  1. Webhook in uscita (Task Manager → n8n) - l'applicazione invia da sola notifiche al tuo workflow in n8n quando succede qualcosa (creazione di un'attività, cambio di stato, aggiunta di un messaggio, scadenza in avvicinamento, ecc.).
  2. API in entrata (n8n → Task Manager) - n8n può richiamare l'applicazione per creare attività, aggiungere messaggi o recuperare dati.

Attivazione dell'integrazione

Clicca sull'icona a forma di ingranaggio (⚙) → scheda n8n. La scheda si divide in due parti: "Automazioni personali" - configurazione che riguarda solo te, e "Automazioni globali" - impostazioni di sistema comuni a tutti gli utenti, visibili solo all'amministratore. Affinché gli eventi vengano inviati, l'amministratore deve attivare l'interruttore "Abilita integrazione n8n" nella parte globale.

A. Webhook in uscita - notifiche dall'applicazione a n8n

Configurazione

  1. Nella scheda n8n, fai clic su «Nuovo webhook».
  2. Inserisci il nome del webhook e l'URL del webhook copiato da n8n (nodo Webhook come trigger, metodo POST).
  3. Seleziona gli eventi da inviare.
  4. (Opzionale) imposta un segreto - l'applicazione firmerà con esso le richieste (HMAC), affinché n8n possa verificarne l'autenticità.
  5. Salva. Puoi inviare un ping di prova per verificare la connessione.

Eventi disponibili (selezione)

  • Attività: task.created, task.updated, task.status_changed, task.completed, task.deleted, task.deadline_approaching, task.overdue
  • Chat / messaggi: chat.message_sent, chat.mention, chat.file_uploaded
  • Utenti / spazio di lavoro: user.created, user.login, user.logout, workspace.created
  • Di sistema: system.daily_summary, system.weekly_summary

Ogni richiesta a n8n contiene il nome dell'evento e i dati (data) con il contesto (ad es. id dell'attività, spazio di lavoro, autore).

B. API in entrata - n8n controlla l'applicazione

Configurazione

  1. Nella scheda n8n, fai clic su «Nuova chiave API».
  2. Copia il token generato (mostrato una sola volta).
  3. In n8n usa il nodo HTTP Request con l'header di autorizzazione:
    Authorization: Bearer TWÓJ_TOKEN
    Le azioni vengono eseguite nel contesto dell'utente che ha creato la chiave (con i suoi permessi e il suo accesso agli spazi di lavoro).

Endpoint disponibili

  • GET /api/n8n/ping.php - test del token e healthcheck (restituisce informazioni sulla chiave e sull'utente).
  • GET /api/n8n/workspaces.php - elenco degli spazi di lavoro disponibili.
  • GET /api/n8n/users.php - elenco degli utenti (solo le chiavi create dall'amministratore globale).
  • GET /api/n8n/tasks.php?workspace_id=&status=&limit= - elenco delle attività.
  • POST /api/n8n/tasks.php - creazione di un'attività. 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]
    }
    La descrizione viene ripulita dall'HTML pericoloso allo stesso modo dell'applicazione e ha lo stesso limite di dimensione.
  • PATCH /api/n8n/tasks.php - aggiornamento di un'attività esistente, tra cui il cambio di stato. Corpo JSON (task_id obbligatorio, gli altri campi sono opzionali - indichi solo ciò che vuoi modificare):
    {
    "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. La modifica dello stato funziona esattamente come dall'app: nella discussione dell'attività appare una voce «ha modificato lo stato in…», le persone assegnate ricevono una notifica via e-mail e a n8n viene inviato il webhook task.status_changed (e anche task.completed quando lo stato è done).
    • deadline_date: null cancella la scadenza. Cambiare la scadenza sposta i promemoria a essa collegati.
    • Gli altri campi inviano il webhook task.updated.
    • description viene salvata esattamente come nella modifica dalla finestra dell'attività: l'HTML pericoloso viene rimosso, con la crittografia attiva la descrizione viene salvata nel database in forma cifrata e le spunte nella lista to-do restano sulle rispettive posizioni, anche quando nella nuova descrizione le voci hanno cambiato ordine. L'attività riceve l'indicazione "(modificata)" solo se l'oggetto o il contenuto della descrizione sono davvero cambiati.
    • Se la nuova descrizione elimina una lista to-do a cui qualcuno ha aggiunto proprie voci, non viene salvato nulla (incluso lo stato della stessa richiesta) e ricevi un 409 con codice DOPISKI_BEZ_LISTY e il campo indeksy. Per eliminare comunque la lista insieme alle aggiunte, invia di nuovo la stessa modifica con il campo "usun_dopiski" impostato sull'elenco presente nel campo indeksy.
    • Vengono salvati prima l'oggetto, la scadenza, la priorità e la descrizione, e solo dopo lo stato - il rifiuto del salvataggio della descrizione non lascia lo stato modificato.
    • Impostare di nuovo lo stesso stato non invia nulla (sicuro in caso di ripetizioni in n8n).
    • Se il tuo nodo HTTP non supporta il metodo PATCH - invia lo stesso body tramite POST: la presenza di task_id commuta l'endpoint in modalità aggiornamento.
    • Codici di errore: 400 manca task_id, mancano campi da modificare oppure troppe voci nella lista to-do (TOO_MANY), 413 descrizione troppo grande (PAYLOAD_TOO_LARGE, di solito un'immagine incollata), 422 valore non valido (stato/priorità/formato data), 404 l'attività non esiste o è fuori dall'accesso della chiave, 403 mancano i permessi per modificare lo stato/modificare, 409 la descrizione elimina una lista con aggiunte di altri.
  • POST /api/n8n/messages.php - aggiunta di un messaggio a un'attività o a una chat. Body JSON:
    {
    "entity_type": "task",
    "entity_id": 42,
    "content": "Treść wiadomości"
    }

Esempi di scenari di automazione

  • Modulo Google → n8n → POST /api/n8n/tasks.php (nuova attività in Task Manager)
  • Email da Gmail con un oggetto specifico → n8n → attività con descrizione tratta dal testo dell'email
  • Cambio di stato in Jira → n8n → messaggio/aggiornamento dell'attività collegata
  • Webhook in uscita task.created → n8n → riga in un foglio Google / notifica su Slack
  • task.deadline_approaching → n8n → promemoria email/SMS per la scadenza imminente

Risoluzione dei problemi

  • Nessuna notifica in n8n - controlla che l'integrazione sia attiva, il webhook attivo e l'URL corretto. Usa il "ping di test" e la diagnostica nella scheda n8n: mostra se l'indirizzo del webhook risponde (verificato allo stesso modo dell'invio reale - senza reindirizzamenti e con verifica del certificato, quindi un'istanza n8n con certificato self-signed risulterà irraggiungibile), quanti eventi sono in coda per i tentativi successivi e quando l'ultimo invio è andato a buon fine.
  • Il segreto del webhook è conservato nel database in forma cifrata. Dopo aver cambiato la chiave ENCRYPTION_KEY in config.php, i segreti salvati diventano illeggibili - l'applicazione invia quindi gli eventi senza firma, perciò genera un nuovo segreto sul webhook e inseriscilo in n8n.
  • Mancata autorizzazione (401) nell'API in entrata - il token non è valido o è stato eliminato. Crea una nuova chiave API e aggiorna l'intestazione Authorization in n8n.
  • L'attività non viene creata - assicurati che workspace_id esista e che l'utente della chiave vi abbia accesso e il permesso di aggiungere attività.