Gå til hovedinnhold

n8n-arbeidsflyter

AI-Public kan starte n8n-arbeidsflyter via en produksjonswebhook. Dette er nyttig når du vil starte en automatisert prosess utenfor AI-Public, for eksempel opprette en oppgave, oppdatere en CRM-post, starte en rapporteringsflyt eller sende skjemadata videre til et annet system.

Eksempel: nyhetsartikkel på organisasjonens nettside​

Anta at organisasjonen har laget en n8n-arbeidsflyt som publiserer en nyhetsartikkel på WordPress-nettsiden. I AI-Public fyller du da bare inn en kort tekst, for eksempel noen setninger om et møte, et prosjekt eller en offentlig kunngjøring. Med den teksten starter du arbeidsflyten i n8n.

n8n-arbeidsflyten kan deretter for eksempel:

  1. Gjøre den korte teksten om til en ryddig utkasttekst med en LLM-node og en prompt som passer godt til organisasjonens tone.
  2. Lage en passende illustrasjon med en andre LLM-node, for eksempel i organisasjonens fargeprofil og i en gjenkjennelig illustrativ stil.
  3. Gjøre teksten og bildet klar som blogginnlegg eller publisere det på WordPress-nettsiden.

Slik samarbeider AI-Public og n8n: I AI-Public velger brukeren arbeidsflyten og fyller inn nødvendig informasjon. n8n utfører deretter de automatiserte stegene og sørger for at nyhetsartikkelen havner pent på nettsiden.

Hva gjør denne integrasjonen?​

Du starter en n8n-arbeidsflyt fra arbeidsflytoversikten. Bare produksjonswebhooken, POST og Header Auth er påkrevd. Felt og tilbakemeldinger fra n8n er valgfrie og kan konfigureres uavhengig av hverandre.

  • Hvis arbeidsflyten ikke har noen felt, blir webhooken kalt umiddelbart.
  • Hvis arbeidsflyten har felt, åpnes først et skjema. Brukeren fyller inn feltene og starter deretter arbeidsflyten med knappen.
  • De utfylte verdiene sendes som JSON i en POST-request til n8n-webhooken.
  • Uten tilbakemeldinger bekrefter AI-Public bare at arbeidsflyten er startet og fortsetter i n8n. Vinduet viser ingen spinner og kan lukkes med en gang.
  • Hvis dette ble slått på ved registreringen, kan arbeidsflyten sende mellomliggende steg eller slutten tilbake til AI-Public.
  • Hvis godkjenning ble slått på ved registreringen, kan brukeren ta et valg direkte i AI-Public. n8n fortsetter deretter fra ventestegget.

Opprette en n8n-arbeidsflyt i AI-Public​

En administrator registrerer arbeidsflyten slik:

  1. Gå til Assistenter.
  2. Åpne fanen Arbeidsflytassistenter.
  3. Klikk på Ny arbeidsflyt i kortet øverst og velg n8n-arbeidsflyt.
  4. Fyll inn navnet på arbeidsflyten og n8n-produksjons-URL-en.
  5. Sett opp Header authentication med et headernavn og en hemmelig headerverdi.
  6. Under Tilbakemeldinger fra n8n krysser du bare av for de delene som faktisk er bygget i denne n8n-arbeidsflyten: fremdrift, godkjenning og/eller slutten av arbeidsflyten.
  7. Legg eventuelt til feltene som skal sendes med i POST-requesten.
  8. Lagre arbeidsflyten.

Alle tre tilbakemeldingsalternativene er av som standard. Hvis du senere legger inn callbacks eller et godkjenningstrinn i n8n, må du også oppdatere registreringen i AI-Public. Dialogen vet da om den bare skal vise en startbekreftelse eller fortsette å vente på flere signaler.

Felt​

  • Felt er valgfrie.
  • Hvert felt har ett feltnavn og en type.
  • Støttede felttyper er kort tekst, lang tekst, tall, ja/nei, dato, ett valg og flere valg.
  • For Ett valg og Flere valg legger du til tilgjengelige alternativer. Ett valg vises som en kompakt nedtrekksliste; Flere valg viser avkrysningsbokser. Den valgte verdien eller verdiene sendes i JSON body.
  • Obligatoriske felt må være utfylt før arbeidsflyten kan startes.
  • Feltnavnet blir key-en i JSON bodyen som sendes til n8n.

Lage en kompatibel arbeidsflyt i n8n​

  1. Opprett en ny arbeidsflyt i n8n.
  2. Legg til en Webhook-node som første node.
  3. Gi denne noden nøyaktig navnet Start workflow. Eksempeluttrykkene nedenfor bruker dette navnet.
  4. Sett HTTP Method til POST.
  5. Velg Authentication: Header Auth og bruk samme headernavn og hemmelige verdi som i AI-Public.
  6. Sett Respond eller Response Mode til Immediately.
  7. Kopier Production URL til feltet n8n-produksjons-url i AI-Public. Ikke bruk test-URL-en med /webhook-test/.
  8. Aktiver arbeidsflyten.

De mottatte dataene ligger under body; de tekniske integrasjonsdataene ligger under body.integration. Ikke fjern dem i en Edit Fields-, Set- eller Code-node.

Eksempel på JSON body​

Hvis du definerer felt med navnene prompt, klantnaam, doelgroepen og datum, mottar n8n for eksempel denne JSON bodyen. AI-Public legger automatisk til integration-objektet.

{
"prompt": "Lag en kort oppsummering av forespørselen.",
"klantnaam": "Eksempelorganisasjon",
"doelgroepen": ["innbyggere", "medarbeidere"],
"datum": "2026-09-22",
"integration": {
"runId": "chat-document-id",
"tenant": "default",
"callbackUrl": "https://europe-west1-ai-public-pro.cloudfunctions.net/n8nWorkflowCallback",
"callbackToken": "midlertidig-token-for-denne-kjøringen"
}
}

Callback-tokenet hører til én kjøring. Ikke lagre det i logger, fast konfigurasjon eller andre systemer.

Valgfritt: sende fremdrift og fullføring tilbake​

AI-Public kan bare vise det n8n melder tilbake. Bruk disse callbackene bare hvis du ved registreringen har slått på Meld mellomliggende fremdrift og/eller Meld slutten av arbeidsflyten.

Sett opp hver callback-node slik:

  1. Velg Method: POST.

  2. Klikk Expression ved URL og lim inn:

    {{ $('Start workflow').first().json.body.integration.callbackUrl }}
  3. Velg Authentication: None.

  4. Slå på Send Headers og legg til headerne nedenfor.

  5. Slå på Send Body og velg Body Content Type: JSON og Specify Body: Using JSON.

Bruk disse headerne:

Authorization: Bearer {{ $('Start workflow').first().json.body.integration.callbackToken }}
Content-Type: application/json

Send for eksempel denne meldingen når et steg starter:

{
"tenant": "{{ $('Start workflow').first().json.body.integration.tenant }}",
"runId": "{{ $('Start workflow').first().json.body.integration.runId }}",
"eventId": "document-maken-gestart",
"type": "progress",
"executionId": "{{ $execution.id }}",
"step": {
"id": "document_maken",
"label": "Dokument opprettes"
},
"message": "Dokumentet blir opprettet."
}
  • Bruk en unik eventId for hver hendelse i samme kjøring.
  • Bruk en tydelig norsk step.label; denne teksten vises i appen.
  • Hvis du har slått på Meld slutten av arbeidsflyten, send alltid type: "completed", type: "failed" eller type: "rejected" til slutt.
  • Legg eventuelt til et output-objekt med resultatet ved completed.
  • Send en forståelig feilmelding ved failed. Kjøringen stopper da også i appen.

Valgfritt: be om godkjenning i appen​

Bruk en n8n Wait-node med On Webhook Call når arbeidsflyten bare får fortsette etter et valg. Send før Wait-noden en callback med type: "approval_required":

Sett opp Wait-noden med Resume: On Webhook Call, HTTP Method: POST og Authentication: Header Auth. Velg samme Header Auth-credential som ved Start workflow. Legg til en Switch-node etter Wait-noden og kontroller {{ $json.body.decision }} der.

{
"tenant": "{{ $('Start workflow').first().json.body.integration.tenant }}",
"runId": "{{ $('Start workflow').first().json.body.integration.runId }}",
"eventId": "controle-document",
"type": "approval_required",
"executionId": "{{ $execution.id }}",
"step": {
"id": "controle_document",
"label": "Kontrollere dokument"
},
"approval": {
"question": "Kan arbeidsflyten fortsette?",
"context": "Kontroller først det genererte dokumentet.",
"resumeUrl": "{{ $execution.resumeUrl }}",
"choices": [
{ "value": "approve", "label": "Godkjenne" },
{ "value": "reject", "label": "Avvise" }
]
}
}

Brukeren ser valgene i kjøringsvinduet. Etter et valg mottar Wait-noden blant annet decision. Bruk deretter for eksempel en Switch-node for å bestemme riktig videre forløp.

En valgverdi kan bare inneholde bokstaver, tall, _ og -. Labelen kan derimot inneholde vanlig lesbar tekst.

Sette produksjons-callback-url​

Produksjons-callback-url for AI-Public er:

https://europe-west1-ai-public-pro.cloudfunctions.net/n8nWorkflowCallback

Ikke lim inn denne URL-en som fast tekst i hver callback-node. Velg Expression i URL-feltet i HTTP Request-noden og bruk:

{{ $('Start workflow').first().json.body.integration.callbackUrl }}

AI-Public leverer dermed automatisk riktig produksjons-URL ved hver start. Den faste URL-en over bruker du for å kontrollere under testing at uttrykket peker til AI-Public og ikke til AI-School eller AI-Corporate.

Callable-ene triggerCustomN8nWorkflow, triggerN8nWorkflow og resumeN8nWorkflow kalles av appen selv. Disse URL-ene trenger du ikke å sette opp i n8n.

Håndtere feil​

Send forventede feil tilbake med en callback av typen failed. For uventede nodefeil lager du i tillegg en sentral Error Workflow:

  1. Opprett en ny arbeidsflyt med en Error Trigger-node.

  2. Legg deretter til en HTTP Request-node med Method: POST.

  3. Fyll inn denne faste produksjons-URL-en i URL:

    https://europe-west1-ai-public-pro.cloudfunctions.net/n8nWorkflowExecutionFailed
  4. Velg Authentication: None og legg til headeren n8n-handihow-name med plattformadministratorens hemmelige standardverdi.

  5. Velg en JSON body og lim inn:

{
"executionId": "{{ $json.execution.id }}",
"workflowId": "{{ $json.workflow.id }}",
"workflowName": "{{ $json.workflow.name }}",
"lastNode": "{{ $json.execution.lastNodeExecuted }}",
"message": "{{ $json.execution.error.message }}"
}
  1. Aktiver Error Workflow.
  2. Åpne innstillingene for den vanlige arbeidsflyten og velg denne under Error Workflow.

Send minst én callback rett etter Start workflow med executionId: "{{ $execution.id }}". Bare da kan AI-Public knytte en uventet feil til riktig kjøring.

Viktige begrensninger​

  • Bare webhook-triggere støttes.
  • Bare produksjons-webhook-URL-er støttes.
  • Test-webhook-URL-er med /webhook-test/ blir avvist.
  • Bare POST støttes.
  • Bare generell headerautentisering støttes.
  • Headerverdien behandles som hemmelig i applikasjonen.
  • Callback-token og resume-url-er behandles bare på serversiden og er ikke direkte tilgjengelige for brukere.
  • Tenant bestemmes på serversiden ut fra innlogget bruker, ikke fra en verdi som sendes fra nettleseren.

Feilsøking​

  • 404 eller webhook ikke registrert: aktiver arbeidsflyten i n8n og bruk produksjons-URL-en.
  • Autentiseringsfeil: sjekk at header name og value er nøyaktig like i begge systemer.
  • Manglende data: sjekk at feltnavnene i applikasjonen samsvarer med key-ene n8n forventer.
  • Ingen request i n8n: sjekk at arbeidsflyten starter med en webhook-trigger og bruker POST.
  • Kjøringsvinduet fortsetter å spinne: hvis du har slått på Meld slutten av arbeidsflyten, sjekk at n8n sender en siste completed, failed eller rejected-callback. Hvis du ikke forventer tilbakemeldinger, slå av alle tre alternativene ved registreringen.
  • Ingen fremdrift synlig: sjekk at Meld mellomliggende fremdrift er slått på ved registreringen, at integration-objektet beholdes, og at hver callback har en unik eventId.
  • Godkjenningsknappene virker ikke: sjekk Wait-noden, resumeUrl, headerautentisering og tillatte tegn i choices[].value.