Gå til hovedinnhold

n8n-workflows

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

Eksempel: nyhetsartikkel på bedriftens nettsted​

La oss si at organisasjonen har laget en n8n-workflow som publiserer en nyhetsartikkel på bedriftens WordPress-nettsted. I AI-Corporate fyller du da bare inn en kort tekst, for eksempel noen setninger om en kundecase, et arrangement eller en intern milepæl. Med den teksten starter du workflowen i n8n.

n8n-workflowen 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 merkevarens farger og i en gjenkjennelig illustrativ stil.
  3. Klargjøre eller publisere teksten og bildet som et blogginnlegg på WordPress-nettstedet.

Slik samarbeider AI-Corporate og n8n: i AI-Corporate velger brukeren workflowen og fyller inn nødvendig informasjon. Deretter utfører n8n de automatiserte stegene og sørger for at nyhetsartikkelen havner pent på nettstedet.

Hva gjør denne integrasjonen?​

Du starter en n8n-workflow fra workflow-oversikten. Bare produksjons-webhooken, POST og Header Auth er obligatoriske. Felter og tilbakemeldinger fra n8n er valgfrie og kan settes opp uavhengig av hverandre.

  • Hvis workflowen ikke har felter, blir webhooken kalt med en gang.
  • Hvis workflowen har felter, åpnes først et skjema. Brukeren fyller inn feltene og starter deretter workflowen med knappen.
  • De utfylte verdiene sendes som JSON i en POST-request til n8n-webhooken.
  • Uten tilbakemeldinger bekrefter AI-Corporate bare at workflowen er startet og fortsetter i n8n. Vinduet viser ingen spinner og kan lukkes direkte.
  • Hvis dette er slått på ved registrering, kan workflowen sende mellomsteg eller avslutningen tilbake til AI-Corporate.
  • Hvis godkjenning er slått på ved registrering, kan brukeren gjøre et valg direkte i AI-Corporate. n8n fortsetter deretter fra ventestegget.

Opprette n8n-workflow i AI-Corporate​

En administrator registrerer workflowen slik:

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

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

Felter​

  • Felter er valgfrie.
  • Hvert felt har ett feltnavn og én 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 de tilgjengelige alternativene. Ett valg vises som en kompakt nedtrekksliste; Flere valg viser avkrysningsbokser. Den valgte verdien eller verdiene sendes i JSON-bodyen.
  • Obligatoriske felter må være fylt ut før workflowen kan startes.
  • Feltnavnet blir key-en i JSON-bodyen som sendes til n8n.

Lage en kompatibel workflow i n8n​

  1. Lag en ny workflow 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-Corporate.
  6. Sett Respond eller Response Mode til Immediately.
  7. Kopier Production URL til feltet n8n-produksjons-URL i AI-Corporate. Ikke bruk test-URL-en med /webhook-test/.
  8. Aktiver workflowen.

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-bodyen​

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

{
"prompt": "Lag en kort oppsummering av forespørselen.",
"klantnaam": "Eksempelorganisasjon",
"doelgroepen": ["medarbeidere", "kunder"],
"datum": "2026-09-22",
"integration": {
"runId": "chat-document-id",
"tenant": "default",
"callbackUrl": "https://europe-west1-ai-corporate.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 ferdigstillelse tilbake​

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

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-making-started",
"type": "progress",
"executionId": "{{ $execution.id }}",
"step": {
"id": "document_maken",
"label": "Lage dokument"
},
"message": "Dokumentet blir laget."
}
  • Bruk en unik eventId for hver hendelse innen samme kjøring.
  • Bruk en tydelig norsk step.label; denne teksten vises i appen.
  • Hvis du har slått på Meld slutten av workflowen, må du alltid sende 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 workflowen bare skal 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 for 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": "check-document",
"type": "approval_required",
"executionId": "{{ $execution.id }}",
"step": {
"id": "controle_document",
"label": "Kontrollere dokument"
},
"approval": {
"question": "Kan workflowen 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 steg.

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

Sette produksjons-callback-url​

Produksjons-callback-url-en for AI-Corporate er:

https://europe-west1-ai-corporate.cloudfunctions.net/n8nWorkflowCallback

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

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

AI-Corporate 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-Corporate og ikke til AI-School eller AI-Public.

Callable-funksjonene 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 må du i tillegg lage en sentral Error Workflow:

  1. Lag en ny workflow 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-corporate.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 workflowen og velg denne under Error Workflow.

Send minst én callback med executionId: "{{ $execution.id }}" rett etter Start workflow. Bare da kan AI-Corporate 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 den innloggede brukeren, ikke fra en verdi nettleseren sender med.

Feilsøking​

  • 404 eller webhook ikke registrert: aktiver workflowen i n8n og bruk produksjons-URL-en.
  • Autentiseringsfeil: kontroller at header name og value er helt like i begge systemer.
  • Manglende data: kontroller at feltnavnene i applikasjonen samsvarer med key-ene n8n forventer.
  • Ingen request i n8n: kontroller at workflowen starter med en webhook-trigger og bruker POST.
  • Kjøringsvinduet blir stående: hvis du har slått på Meld slutten av workflowen, kontroller at n8n sender en siste completed, failed eller rejected callback. Hvis du ikke forventer tilbakemeldinger, slår du av alle tre alternativene ved registreringen.
  • Ingen fremdrift synlig: kontroller 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: kontroller Wait-noden, resumeUrl, header authentication og de tillatte tegnene i choices[].value.