n8n-workflows
AI-Corporate kan starte n8n-workflows via en produktions-webhook. Det er nyttigt, når du vil starte en automatiseret proces uden for AI-Corporate, f.eks. oprette en opgave, opdatere en CRM-post, starte en rapporteringsflow eller sende formularoplysninger videre til et andet system.
Eksempel: nyhedsartikel på virksomhedens website
Lad os sige, at organisationen har oprettet en n8n-workflow, der publicerer en nyhedsartikel på virksomhedens WordPress-website. I AI-Corporate udfylder du så kun en kort tekst, f.eks. et par sætninger om en kundecase, et event eller en intern milepæl. Med den tekst starter du workflowet i n8n.
n8n-workflowet kan derefter f.eks.:
- Lave den korte tekst om til en pæn kladdeversion med en LLM-node og en prompt, der passer godt til organisationens tone.
- Lade en anden LLM-node generere en passende illustration, f.eks. i brandets farver og i en genkendelig illustrativ stil.
- Klargøre eller publicere teksten og billedet som blogindlæg på WordPress-website.
Sådan arbejder AI-Corporate og n8n sammen: I AI-Corporate vælger brugeren workflowet og udfylder de nødvendige oplysninger. Derefter udfører n8n de automatiserede trin og sørger for, at nyhedsartiklen lander pænt på website.
Hvad gør denne integration?
Du starter en n8n-workflow fra workflowoversigten. Kun produktions-webhook, POST og Header Auth er obligatoriske. Felter og tilbagemeldinger fra n8n er valgfrie og kan konfigureres uafhængigt af hinanden.
- Har workflowet ingen felter, kaldes webhooken med det samme.
- Har workflowet felter, åbnes først en formular. Brugeren udfylder felterne og starter derefter workflowet med knappen.
- De indtastede værdier sendes som JSON i en POST-request til n8n-webhooken.
- Uden tilbagemeldinger bekræfter AI-Corporate kun, at workflowet er startet, og at det fortsætter i n8n. Vinduet viser ingen spinner og kan lukkes med det samme.
- Hvis det er slået til ved registreringen, kan workflowet sende mellemliggende trin eller afslutningen tilbage til AI-Corporate.
- Hvis godkendelse er slået til ved registreringen, kan brugeren vælge direkte i AI-Corporate. n8n fortsætter derefter fra det ventende trin.
Opret n8n-workflow i AI-Corporate
En administrator registrerer workflowet sådan:
- Gå til Assistenter.
- Åbn fanen Workflow-assistenter.
- Klik i kortet øverst på Ny workflow og vælg n8n-workflow.
- Udfyld workflowets navn og n8n-produktions-url.
- Sæt Header authentication op med et header name og en hemmelig header value.
- Under Tilbagemeldinger fra n8n skal du kun markere de dele, der faktisk er bygget i denne n8n-workflow: fremdrift, godkendelse og/eller workflowets afslutning.
- Tilføj eventuelt de felter, der skal sendes med i POST-requesten.
- Gem workflowet.
Alle tre tilbagemeldingsmuligheder er som standard slået fra. Hvis du senere tilføjer callbacks eller et godkendelsestrin i n8n, skal du også opdatere registreringen i AI-Corporate. Dialogen ved derfor, om den kun skal vise en startbekræftelse eller blive ved med at vente på yderligere signaler.
Felter
- Felter er valgfrie.
- Hvert felt har ét feltnavn og en type.
- Understøttede felttyper er kort tekst, lang tekst, tal, ja/nej, dato, ét valg og flere valg.
- Ved Ét valg og Flere valg tilføjer du de tilgængelige muligheder. Ét valg vises som en kompakt rullemenu; Flere valg viser afkrydsningsfelter. Den valgte værdi eller de valgte værdier sendes i JSON-bodyen.
- Obligatoriske felter skal være udfyldt, før workflowet kan startes.
- Feltnavnet bliver den key i JSON-bodyen, der sendes til n8n.
Opret en kompatibel workflow i n8n
- Opret en ny workflow i n8n.
- Tilføj først en Webhook-node.
- Giv denne node det præcise navn Start workflow. Eksempeludtryk nedenfor bruger dette navn.
- Sæt HTTP Method til POST.
- Vælg Authentication: Header Auth og brug samme headernavn og hemmelige værdi som i AI-Corporate.
- Sæt Respond eller Response Mode til Immediately.
- Kopiér Production URL til feltet n8n produktions-url i AI-Corporate. Brug ikke test-URL'en med
/webhook-test/. - Aktivér workflowet.
De modtagne data ligger under body; de tekniske integrationsdata ligger under body.integration. Fjern dem ikke i en Edit Fields-, Set- eller Code-node.
Eksempel på JSON-body
Hvis du definerer felter med navnene prompt, klantnaam, doelgroepen og datum, modtager n8n f.eks. denne JSON-body. AI-Corporate tilføjer automatisk integration-objektet.
{
"prompt": "Lav et kort resumé af forespørgslen.",
"klantnaam": "Eksempelorganisation",
"doelgroepen": ["medarbejdere", "kunder"],
"datum": "2026-09-22",
"integration": {
"runId": "chat-document-id",
"tenant": "default",
"callbackUrl": "https://europe-west1-ai-corporate.cloudfunctions.net/n8nWorkflowCallback",
"callbackToken": "midlertidigt-token-for-denne-kørsel"
}
}
Callbacktokenet hører til én kørsel. Gem det ikke i logs, fast konfiguration eller andre systemer.
Valgfrit: send fremdrift og afslutning tilbage
AI-Corporate kan kun vise det, som n8n melder tilbage. Brug kun disse callbacks, hvis du ved registreringen har slået Meld mellemliggende fremdrift og/eller Meld workflowets afslutning til.
Konfigurer hver callback-node sådan:
-
Vælg Method: POST.
-
Klik på Expression ved URL og indsæt:
{{ $('Start workflow').first().json.body.integration.callbackUrl }} -
Vælg Authentication: None.
-
Slå Send Headers til, og tilføj nedenstående headers.
-
Slå Send Body til, og vælg Body Content Type: JSON og Specify Body: Using JSON.
Brug disse headers:
Authorization: Bearer {{ $('Start workflow').first().json.body.integration.callbackToken }}
Content-Type: application/json
Send f.eks. denne besked, når et trin starter:
{
"tenant": "{{ $('Start workflow').first().json.body.integration.tenant }}",
"runId": "{{ $('Start workflow').first().json.body.integration.runId }}",
"eventId": "document-maken-startet",
"type": "progress",
"executionId": "{{ $execution.id }}",
"step": {
"id": "document_maken",
"label": "Dokument oprette"
},
"message": "Dokumentet bliver oprettet."
}
- Brug en unik
eventIdfor hver hændelse i den samme kørsel. - Brug en tydelig dansk
step.label; denne tekst vises i appen. - Har du slået Meld workflowets afslutning til, skal du altid sende
type: "completed",type: "failed"ellertype: "rejected"til sidst. - Tilføj eventuelt et
output-objekt med resultatet vedcompleted. - Send en forståelig fejlmelding ved
failed. Kørselen stopper så også i appen.
Valgfrit: bed om godkendelse i appen
Brug en n8n Wait-node med On Webhook Call, når workflowet først må fortsætte efter et valg. Send før Wait-noden en callback med type: "approval_required":
Konfigurer Wait-noden med Resume: On Webhook Call, HTTP Method: POST og Authentication: Header Auth. Vælg samme Header Auth-credential som ved Start workflow. Tilføj en Switch-node efter Wait-noden og kontroller {{ $json.body.decision }}.
{
"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": "Kontrollér dokument"
},
"approval": {
"question": "Må workflowet fortsætte?",
"context": "Kontrollér først det genererede dokument.",
"resumeUrl": "{{ $execution.resumeUrl }}",
"choices": [
{ "value": "approve", "label": "Godkend" },
{ "value": "reject", "label": "Afvis" }
]
}
}
Brugeren ser valgmulighederne i udførelsesvinduet. Efter et valg modtager Wait-noden blandt andet decision. Brug derefter f.eks. en Switch-node til at bestemme det rigtige næste trin.
En valg-værdi må kun indeholde bogstaver, tal, _ og -. Labelen må gerne indeholde almindelig læsbar tekst.
Indstil produktions callback-url
Produktions callback-url for AI-Corporate er:
https://europe-west1-ai-corporate.cloudfunctions.net/n8nWorkflowCallback
Indsæt ikke denne URL som fast tekst i hver callback-node. Vælg Expression i URL-feltet i HTTP Request-noden, og brug:
{{ $('Start workflow').first().json.body.integration.callbackUrl }}
AI-Corporate leverer dermed automatisk den korrekte produktions-URL ved hver start. Den faste URL ovenfor bruger du til under test at kontrollere, at udtrykket peger på AI-Corporate og ikke på AI-School eller AI-Public.
Callables triggerCustomN8nWorkflow, triggerN8nWorkflow og resumeN8nWorkflow kaldes af appen selv. Disse URL'er behøver du ikke at sætte op i n8n.
Håndtering af fejl
Send forventede fejl tilbage med en callback af typen failed. Opret derudover en central Error Workflow for uventede nodefejl:
-
Opret en ny workflow med en Error Trigger-node.
-
Tilføj derefter en HTTP Request-node med Method: POST.
-
Indsæt denne faste produktions-URL i URL:
https://europe-west1-ai-corporate.cloudfunctions.net/n8nWorkflowExecutionFailed -
Vælg Authentication: None og tilføj headeren
n8n-handihow-namemed platformadministratorens hemmelige standardværdi. -
Vælg en JSON-body og indsæt:
{
"executionId": "{{ $json.execution.id }}",
"workflowId": "{{ $json.workflow.id }}",
"workflowName": "{{ $json.workflow.name }}",
"lastNode": "{{ $json.execution.lastNodeExecuted }}",
"message": "{{ $json.execution.error.message }}"
}
- Aktivér Error Workflow.
- Åbn indstillingerne for den almindelige workflow, og vælg den under Error Workflow.
Send umiddelbart efter Start workflow mindst én callback med executionId: "{{ $execution.id }}". Kun da kan AI-Corporate knytte en uventet fejl til den rigtige kørsel.
Vigtige begrænsninger
- Kun webhook-triggere understøttes.
- Kun produktions-webhook-urls understøttes.
- Test-webhook-urls med
/webhook-test/afvises. - Kun POST understøttes.
- Kun generisk header-authentication understøttes.
- Header value behandles som hemmelig i applikationen.
- Callbacktokens og resume-url'er behandles kun server-side og er ikke direkte tilgængelige for brugere.
- Tenant bestemmes server-side ud fra den indloggede bruger, ikke ud fra en værdi, som browseren sender.
Fejlfinding
- 404 eller webhook ikke registreret: aktivér workflowet i n8n, og brug produktions-url'en.
- Autentificeringsfejl: kontroller, at header name og value er helt ens i begge systemer.
- Manglende data: kontroller, at feltnavnene i applikationen svarer til de keys, som n8n forventer.
- Ingen request i n8n: kontroller, at workflowet starter med en webhook-trigger og bruger POST.
- Udførelsesvinduet bliver ved med at køre: har du slået Meld workflowets afslutning til, så kontroller, at n8n sender en sidste
completed,failedellerrejectedcallback. Forventer du ingen tilbagemeldinger, så slå alle tre muligheder fra ved registreringen. - Ingen fremdrift synlig: kontroller, at Meld mellemliggende fremdrift er slået til ved registreringen, at
integration-objektet bevares, og at hver callback har en unikeventId. - Godkendelsesknapper virker ikke: kontroller Wait-noden,
resumeUrl, header authentication og de tilladte tegn ichoices[].value.