n8n workflows
AI-Public kan n8n workflows starte via en produktions-webhook. Det er nyttigt, når du uden for AI-Public ønsker at starte en automatiseret proces, f.eks. oprettelse af en opgave, opdatering af en CRM-post, start af en rapporteringsflow eller videreføre formularindhold til et andet system.
Eksempel: nyhedsartikel på organisationens hjemmeside
Antag, at organisationen har lavet en n8n-workflow, der publicerer en nyhedsartikel på WordPress-siden. I AI-Public indtaster du blot et kort tekstuddrag, f.eks. et par sætninger om et møde, et projekt eller en offentlig meddelelse. Med denne tekst starter du workflowet i n8n.
n8n-workflowet kan derefter for eksempel:
- Ud fra den korte tekst lave en pæn koncepttekst med en LLM-node og en prompt, der passer godt til organisationens tone.
- Få lavet en passende illustration med en anden LLM-node, for eksempel i virksomhedens farvepalette og i en genkendelig illustrativ stil.
- Forberede eller publicere teksten og billedet som blogindlæg på WordPress-siden.
Sådan arbejder AI-Public og n8n sammen: i AI-Public vælger brugeren workflowet og indtaster den nødvendige information. n8n udfører derefter de automatiserede trin og sørger for, at nyhedsartikelet lander pænt på hjemmesiden.
Hvad gør denne integration?
Du starter en n8n-workflow fra workflow-oversigten. Kun produktions-webhook, POST og Header Auth er påkrævet. Felter og tilbagemeldinger fra n8n er valgfrie og kan konfigureres uafhængigt af hinanden.
- Har workflowet ingen felter, så kaldes webhooken med det samme.
- Har workflowet felter, så åbnes først en formular. Brugeren udfylder felterne og starter derefter workflowet med knappen.
- De udfyldte værdier sendes som JSON i et POST-request til n8n-webhooken.
- Uden tilbagemeldinger bekræfter AI-Public blot, at workflowet er startet og fortsætter i n8n. Vinduet viser ingen spinner og kan lukkes med det samme.
- Hvis dette er aktiveret ved registreringen, kan workflowet sende mellemliggende trin eller slutningen tilbage til AI-Public.
- Hvis godkendelse ved registreringen er aktiveret, kan brugeren træffe et valg direkte i AI-Public. n8n fortsætter derefter fra det ventende trin.
Opret n8n-workflow i AI-Public
En administrator registrerer workflowet som følger:
- Gå til Assistenter.
- Åbn Workflows.
- Vælg Ny n8n workflow.
- Udfyld navnet på workflowet og n8n-produktions-URL’en.
- Angiv Header authentication med et header-navn og hemmelig header-værdi.
- Under Terugmeldinger uit n8n vink kun de elementer af, der faktisk er bygget i denne n8n-workflow: fremskridt, godkendelse og/eller slutningen af workflowet.
- Tilføj eventuelt felterne, der skal sendes i POST-requestet.
- Gem workflowet.
Alle tre tilbagemeldingsmuligheder står som standard slukkede. Når du senere tilføjer callbacks eller et godkendelsestrin i n8n, opdater da også registreringen i AI-Public. Dialogen ved derfor, om den kun skal vise en startbekræftelse eller fortsætte med signaler.
Felter
- Felter er valgfrie.
- Hvert felt har ét felt-navn og en type.
- Understøttede felt-typer er kort tekst, lang tekst, tal, ja/nej, dato, ét valg og flere valg.
- Ved Én valg og Flere valg tilføjer du de tilgængelige muligheder. Én valg vises som en kompakt valgliste; Flere valg viser afkrydsningsfelter. Den valgte værdi eller værdier sendes i JSON-bodyen.
- Obligatoriske felter skal være udfyldt, før workflowet kan startes.
- Felt-navnet bliver nøglen i JSON-bodyen, der sendes til n8n.
Opret kompatibelt workflow i n8n
- Lav et nyt workflow i n8n.
- Tilføj som første node en Webhook.
- Giv denne node præcis navnet Start workflow. Eksempeludtrykkene nedenfor bruger dette navn.
- Sæt HTTP Method til POST.
- Vælg Authentication: Header Auth og brug samme header-navn og hemmelige værdi som i AI-Public.
- Sæt Respond eller Response Mode til Immediately.
- Kopier Production URL til feltet n8n produksjon-url i AI-Public. Brug ikke test-URL’en med
/webhook-test/. - Aktiver workflowet.
De modtagne data står under body; de tekniske integreringsoplysninger står under body.integration. Slet dem ikke i en Edit Fields-, Set- eller Code-node.
Eksempel på JSON-kroppen
Hvis du definerer felter med navnene prompt, klantnaam, doelgroepen og datum, modtager n8n for eksempel denne JSON-body. AI-Public tilføjer automatisk integration-objektet.
{
"prompt": "Maak een korte samenvatting van de aanvraag.",
"klantnaam": "Voorbeeldorganisatie",
"doelgroepen": ["inwoners", "medewerkers"],
"datum": "2026-09-22",
"integration": {
"runId": "chat-document-id",
"tenant": "default",
"callbackUrl": "https://europe-west1-ai-public-pro.cloudfunctions.net/n8nWorkflowCallback",
"callbackToken": "tijdelijk-token-voor-deze-uitvoering"
}
}
Callbacktokenet hører til én udførelse. Slet det ikke i logs, faste konfigurationer eller andre systemer.
Valgfrit: Fremsendelse af fremskridt og afslutning
AI-Public kan kun vise, hvad n8n returnerer. Brug disse callbacks kun, hvis du under registreringen har slået Melde løbende fremskridt og/eller Melde slutningen af workflowet til.
Indstil hver callback-node således:
-
Vælg Method: POST.
-
Klik på URL under Expression 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 meddelelse, når et trin begynder:
{
"tenant": "{{ $('Start workflow').first().json.body.integration.tenant }}",
"runId": "{{ $('Start workflow').first().json.body.integration.runId }}",
"eventId": "document-opretning-startet",
"type": "progress",
"executionId": "{{ $execution.id }}",
"step": {
"id": "document_maken",
"label": "Dokument oprettet"
},
"message": "Dokumentet bliver oprettet."
}
- Brug en unik
eventIdfor hver begivenhed inden for den samme udførelse. - Brug en tydelig dansk
step.label; denne tekst vises i appen. - Hvis du har slået Melde slutningen af workflowet til, så send ved afslutningen altid
type: "completed",type: "failed"ellertype: "rejected". - Ved
completedkan du eventuelt inkludere etoutput-objekt med resultatet. - Ved
failedskal du sende en forståelig fejlmeddelelse. udførelsen stopper også i appen.
Valgfrit: godkendelse i appen
Brug en n8n Wait-node med On Webhook Call, når workflowet først må fortsætte efter et valg. Send inden Wait-noden et callback med type: "approval_required":
Indstil Wait-noden til Resume: On Webhook Call, HTTP Method: POST og Authentication: Header Auth. Vælg samme Header Auth-oplysning som ved Start workflow. Tilføj efter Wait-noden en Switch-node og kontroller i den {{ $json.body.decision }}.
{
"tenant": "{{ $('Start workflow').first().json.body.integration.tenant }}",
"runId": "{{ $('Start workflow').first().json.body.integration.runId }}",
"eventId": "kontrol-dokument",
"type": "approval_required",
"executionId": "{{ $execution.id }}",
"step": {
"id": "kontrol_document",
"label": "Dokument kontrolleret"
},
"approval": {
"question": "Må workflow fortsætte?",
"context": "Kontrollér først det genererede dokument.",
"resumeUrl": "{{ $execution.resumeUrl }}",
"choices": [
{ "value": "approve", "label": "Godkend" },
{ "value": "reject", "label": "Afslå" }
]
}
}
Brugeren ser valgene i udførelsesvinduet. Efter et valg vil Wait-noden blandt andet indeholde decision. Brug herefter f.eks. en Switch-node til at bestemme den rette videre handling.
Et valg kan kun indeholde bogstaver, tal, _ og -. Et label kan indeholde almindelig læselig tekst.
Produktions callback-url indstilling
Produktions callback-url for AI-Public er:
https://europe-west1-ai-public-pro.cloudfunctions.net/n8nWorkflowCallback
Indsæt ikke denne URL som fast tekst i hver callback-node. Vælg i URL-feltet i HTTP Request-noden Expression og brug:
{{ $('Start workflow').first().json.body.integration.callbackUrl }}
AI-Public leverer dermed ved hver start automatisk den korrekte produktions-URL. Den faste URL ovenfor bruger du til at teste, at udtrykket henviser til AI-Public og ikke til AI-School eller AI-Corporate.
De kaldbare triggerCustomN8nWorkflow, triggerN8nWorkflow og resumeN8nWorkflow kaldes af appen selv. Du behøver ikke konfigurere disse URL’er i n8n.
Fejl håndtering
Returner forventede fejl med en callback af typen failed. Lav for uventede nodefejl derudover en central Error Workflow:
-
Lav en ny workflow med en Error Trigger-node.
-
Tilføj derefter en HTTP Request-node med Method: POST.
-
Indtast ved URL denne faste produktions-url:
https://europe-west1-ai-public-pro.cloudfunctions.net/n8nWorkflowExecutionFailed -
Vælg Authentication: None og tilføj headeren
n8n-handihow-namemed platformchefens 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 }}"
}
- Aktiver Error Workflow.
- Åbn indstillingerne for den almindelige workflow og vælg denne som Error Workflow.
Send umiddelbart efter Start workflow mindst én callback med executionId: "{{ $execution.id }}". Kun sådan kan AI-Public koble en uventet fejl til den korrekte udførelse.
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-værdien behandles som hemmelig i applikationen.
- Callback-tokens og resume-url’er behandles kun server-side og er ikke direkte tilgængelige for brugere.
- Tenant bestemmes server-side ud fra den loggede indbruger, ikke fra en værdi som browseren sender.
Problemløsning
- 404 eller webhook ikke registreret: aktiver workflowet i n8n og brug produktions-URL’en.
- Autentifikationsfejl: kontroller, at header-navn og værdi er identiske i begge systemer.
- Manglende data: kontroller, at feltnavnene i applikationen stemmer overens med n8n’ns forventede nøgler.
- Ingen request i n8n: kontroller, at workflowet starter med en webhook-trigg og bruger POST.
- Udførelsesvinduet kører videre: hvis du har slået Melde slutningen af workflowet til, så kontroller, at n8n sender en sidste
completed,failedellerrejectedcallback. Hvis du ikke forventer tilbagemeldinger, så slå alle tre muligheder fra i registreringen. - Ingen fremskridt synligt: kontroller, at Melde løbende fremskridt er aktiveret ved registreringen, eller at
integration-objektet beholdes, og at hver callback har unikeventId. - Godkendelsesknapper virker ikke: kontroller Wait-noden,
resumeUrl, header authentication og de tilladte tegn ichoices[].value.