Kokeellinen ominaisuus. n8n-integraatiota ei ole vielä täysin testattu. Pääkäyttäjä ottaa sen tietoisesti käyttöön kohdassa Asetukset → Lisäasetukset → Muut; niin kauan kuin se on pois käytöstä, n8n-välilehti ja tämä ohjeosio ovat piilossa ja /api/n8n/*-rajapinnat eivät ole aktiivisia. n8n-integraatio kuuluu Pro-pakettiin. Standard-paketissa ”Muut”-korttia ja sen kytkintä ei ole, joten integraatiota ei voi ottaa käyttöön.

Mikä on n8n?

n8n on prosessien automatisointialusta. Integraatio Task Managerin kanssa toimii kahteen suuntaan:

  1. Lähtevät webhookit (Task Manager → n8n) - sovellus lähettää automaattisesti ilmoituksia n8n-työnkulkuusi, kun jotain tapahtuu (tehtävä luotu, tila muuttunut, viesti lisätty, määräaika lähestyy jne.).
  2. Saapuva API (n8n → Task Manager) - n8n voi kutsua sovellusta luodakseen tehtäviä, lisätäkseen viestejä tai hakeakseen tietoja.

Integraation käyttöönotto

Napsauta hammasrataskuvaketta (⚙) → välilehti n8n. Välilehti jakautuu kahteen osaan: "Omat automaatiot" - vain sinua koskevat asetukset, sekä "Globaalit automaatiot" - kaikille käyttäjille yhteiset järjestelmäasetukset, jotka näkyvät vain pääkäyttäjälle. Jotta tapahtumat lähetetään, pääkäyttäjän on kytkettävä päälle "Ota käyttöön n8n-integraatio" -kytkin globaalissa osiossa.

A. Lähtevät webhookit - ilmoitukset sovelluksesta n8n:ään

Määritys

  1. Napsauta n8n-välilehdellä ”Uusi webhook”.
  2. Anna webhookin nimi ja n8n:stä kopioitu webhookin URL-osoite (Webhook-solmu laukaisimena, POST-metodi).
  3. Valitse tapahtumat, jotka lähetetään.
  4. (Valinnainen) aseta salaisuus - sovellus allekirjoittaa sillä pyynnöt (HMAC), jotta n8n voi varmistaa niiden aitouden.
  5. Tallenna. Voit lähettää testipingin tarkistaaksesi yhteyden.

Saatavilla olevat tapahtumat (valikoima)

  • Tehtävät: task.created, task.updated, task.status_changed, task.completed, task.deleted, task.deadline_approaching, task.overdue
  • Keskustelut / viestit: chat.message_sent, chat.mention, chat.file_uploaded
  • Käyttäjät / työtila: user.created, user.login, user.logout, workspace.created
  • Järjestelmä: system.daily_summary, system.weekly_summary

Jokainen n8n:lle lähetetty pyyntö sisältää tapahtuman nimen sekä kontekstitiedot (data) (esim. tehtävän id, työtila, tekijä).

B. Saapuva API - n8n ohjaa sovellusta

Määritys

  1. Napsauta n8n-välilehdellä ”Uusi API-avain”.
  2. Kopioi luotu token (näytetään vain kerran).
  3. Käytä n8n:ssä HTTP Request -nodea autentikointiotsikolla:
    Authorization: Bearer TWÓJ_TOKEN
    Toiminnot suoritetaan avaimen luoneen käyttäjän kontekstissa (hänen oikeuksiensa ja työtilojen käyttöoikeuksiensa mukaisesti).

Saatavilla olevat päätepisteet

  • GET /api/n8n/ping.php - tokenin testaus ja toimivuustarkistus (palauttaa tiedot avaimesta ja käyttäjästä).
  • GET /api/n8n/workspaces.php - luettelo käytettävissä olevista työtiloista.
  • GET /api/n8n/users.php - luettelo käyttäjistä (vain pääkäyttäjän luomat avaimet).
  • GET /api/n8n/tasks.php?workspace_id=&status=&limit= - tehtävälista.
  • POST /api/n8n/tasks.php - tehtävän luominen. JSON-sisältö:
    {
    "workspace_id": 1,
    "subject": "Nowe zadanie z n8n",
    "description": "Opcjonalny opis",
    "priority": "high",
    "deadline_date": "2025-12-31",
    "status": "none",
    "assignees": [2, 5]
    }
    Kuvaus puhdistetaan vaarallisesta HTML:stä samalla tavalla kuin sovelluksessa, ja sillä on sama kokoraja.
  • PATCH /api/n8n/tasks.php - olemassa olevan tehtävän päivitys, muun muassa tilan muutos. JSON-runko (task_id vaadittu, muut kentät valinnaisia - annat vain ne tiedot, joita haluat muuttaa):
    {
    "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. Tilamuutos toimii täsmälleen kuten sovelluksessa: tehtävän viestiketjuun lisätään merkintä ”muutti tilaksi…”, tehtävään määritetyt henkilöt saavat sähköposti-ilmoituksen ja n8n:ään lähetetään webhook task.status_changed (sekä task.completed, kun tila on done).
    • deadline_date: null tyhjentää määräajan. Määräajan muutos siirtää siihen kiinnitetyt muistutukset.
    • Muut kentät lähettävät webhookin task.updated.
    • description tallennetaan samalla tavalla kuin tehtäväikkunasta muokatessa: vaarallinen HTML poistetaan, salauksen ollessa käytössä kuvaus tallentuu tietokantaan salattuna, ja tehtävälistan rastitukset pysyvät omilla kohdillaan, myös silloin kun uudessa kuvauksessa kohtien järjestys on muuttunut. Tehtävä saa merkinnän „(muokattu)” vain, jos otsikko tai kuvauksen sisältö todella muuttui.
    • Kun uusi kuvaus poistaisi tehtävälistan, johon joku on lisännyt omia kohtia, mitään ei tallenneta (ei myöskään saman pyynnön tilaa) ja saat virheen 409 koodilla DOPISKI_BEZ_LISTY sekä kentän indeksy. Jos haluat silti poistaa listan yhdessä lisättyjen kohtien kanssa, lähetä sama muutos uudelleen ja aseta kenttä "usun_dopiski" kentän indeksy sisältämään listaan.
    • Ensin tallentuvat otsikko, määräaika, prioriteetti ja kuvaus, vasta sitten tila - kuvauksen tallennuksen epäonnistuminen ei jätä tilaa muutettuna.
    • Saman tilan asettaminen uudelleen ei lähetä mitään (turvallista n8n:n uudelleenyrityksissä).
    • Jos HTTP-nodesi ei tue PATCH-metodia - lähetä sama sisältö POST-pyynnöllä: task_id:n läsnäolo kytkee päätepisteen päivitystilaan.
    • Virhekoodit: 400 puuttuu task_id, ei muutettavia kenttiä tai liian monta tehtävälistan kohtaa (TOO_MANY), 413 liian suuri kuvaus (PAYLOAD_TOO_LARGE, yleensä liitetty kuva), 422 virheellinen arvo (tila/prioriteetti/päivämäärän muoto), 404 tehtävää ei ole tai se on avaimen ulottumattomissa, 403 ei oikeuksia tilan muuttamiseen/muokkaamiseen, 409 kuvaus poistaisi listan, jossa on toisen käyttäjän lisäämiä kohtia.
  • POST /api/n8n/messages.php - viestin lisääminen tehtävään tai keskusteluun. JSON-sisältö:
    {
    "entity_type": "task",
    "entity_id": 42,
    "content": "Treść wiadomości"
    }

Esimerkkejä automaatioskenaarioista

  • Google Forms -lomake → n8n → POST /api/n8n/tasks.php (uusi tehtävä Task Managerissa)
  • Tietyllä aiheella saapuva Gmail-viesti → n8n → tehtävä, jonka kuvaus tulee sähköpostin sisällöstä
  • Tilan muutos Jirassa → n8n → viesti / liittyvän tehtävän päivitys
  • Lähtevä webhook task.created → n8n → merkintä Google-laskentataulukkoon / ilmoitus Slackiin
  • task.deadline_approaching → n8n → sähköposti-/tekstiviestimuistutus lähestyvästä määräajasta

Ongelmien ratkaiseminen

  • Ei ilmoituksia n8n:ssä - tarkista, että integraatio on käytössä, webhook aktiivinen ja osoite oikein. Käytä „testipingiä” ja n8n-välilehden diagnostiikkaa: se näyttää, vastaako webhookin osoite (tarkistus tehdään samalla tavalla kuin lähetyksessä - ilman uudelleenohjauksia ja varmenne tarkistaen, joten itse allekirjoitetulla varmenteella varustettu n8n näkyy tavoittamattomana), kuinka monta tapahtumaa odottaa uudelleenyrityksen jonossa ja milloin viimeisin lähetys onnistui.
  • Webhookin salaisuus säilytetään tietokannassa salattuna. Kun ENCRYPTION_KEY-avain vaihdetaan tiedostossa config.php, tallennetut salaisuudet muuttuvat lukukelvottomiksi - sovellus lähettää silloin tapahtumat ilman allekirjoitusta, joten luo webhookille uusi salaisuus ja syötä se n8n:ään.
  • Ei valtuutusta (401) saapuvassa API:ssa - token on virheellinen tai se on poistettu. Luo uusi API-avain ja päivitä Authorization-otsikko n8n:ssä.
  • Tehtävää ei luoda - varmista, että workspace_id on olemassa ja että avaimen käyttäjällä on siihen pääsy sekä oikeus lisätä tehtäviä.