n8n-arbetsflöden
AI-Public kan starta n8n-arbetsflöden via en produktions-webhook. Detta är användbart när du utanför AI-Public vill starta en automatiserad process, till exempel skapa en uppgift, uppdatera en CRM-post, starta ett rapportflöde eller föra formulärdata vidare till ett annat system.
Exempel: nyhetsartikel på organisationens webbplats
Anta att organisationen har skapat ett n8n-arbetsflöde som publicerar en nyhetsartikel på WordPress-webbplatsen. I AI-Public fyller du då bara i en kort text, till exempel några meningar om ett möte, ett projekt eller ett offentligt tillkännagivande. Med den texten startar du arbetsflödet i n8n.
n8n-arbetsflödet kan sedan till exempel:
- Göra om den korta texten till en snygg utkaststext med en LLM-node och en prompt som passar organisationens ton.
- Låta skapa en passande illustration med en andra LLM-node, till exempel i profilfärgerna och i en igenkännbar illustrativ stil.
- Förbereda eller publicera texten och bilden som ett blogginlägg på WordPress-webbplatsen.
Så samverkar AI-Public och n8n: i AI-Public väljer användaren arbetsflödet och fyller i den information som behövs. n8n utför därefter de automatiserade stegen och ser till att nyhetsartikeln hamnar snyggt på webbplatsen.
Vad gör den här integrationen?
Du startar ett n8n-arbetsflöde från arbetsflödesöversikten. Endast produktions-webhooken, POST och Header Auth är obligatoriska. Fält och återkopplingar från n8n är valfria och kan konfigureras oberoende av varandra.
- Om arbetsflödet inte har några fält anropas webhooken direkt.
- Om arbetsflödet har fält öppnas först ett formulär. Användaren fyller i fälten och startar sedan arbetsflödet med knappen.
- De ifyllda värdena skickas som JSON i en POST-request till n8n-webhooken.
- Utan återkopplingar bekräftar AI-Public bara att arbetsflödet har startat och fortsätter i n8n. Fönstret visar ingen spinner och kan stängas direkt.
- Om detta har aktiverats vid registreringen kan arbetsflödet skicka mellanliggande steg eller slutet tillbaka till AI-Public.
- Om godkännande har aktiverats vid registreringen kan användaren göra ett val direkt i AI-Public. n8n fortsätter därefter från väntesteget.
Skapa ett n8n-arbetsflöde i AI-Public
En administratör registrerar arbetsflödet så här:
- Gå till Assistenter.
- Öppna fliken Arbetsflödesassistenter.
- Klicka på Nytt arbetsflöde i kortet högst upp och välj n8n-arbetsflöde.
- Fyll i arbetsflödets namn och n8n:s produktions-URL.
- Ställ in Header authentication med ett header name och ett hemligt header value.
- Under Återkopplingar från n8n ska du bara markera de delar som faktiskt har byggts i detta n8n-arbetsflöde: framsteg, godkännande och/eller arbetsflödets slut.
- Lägg eventuellt till de fält som ska skickas med i POST-requesten.
- Spara arbetsflödet.
Alla tre återkopplingsalternativ är avstängda som standard. Om du senare lägger in callbacks eller ett godkännandesteg i n8n, uppdatera också registreringen i AI-Public. Dialogen vet då om den bara ska visa en startbekräftelse eller fortsätta vänta på fler signaler.
Fält
- Fält är valfria.
- Varje fält har ett fältnamn och en typ.
- Stödda fälttyper är kort text, lång text, nummer, ja/nej, datum, ett val och flera val.
- För Ett val och Flera val lägger du till tillgängliga alternativ. Ett val visas som en kompakt rullista; Flera val visar kryssrutor. Det valda värdet eller de valda värdena skickas i JSON-body:n.
- Obligatoriska fält måste vara ifyllda innan arbetsflödet kan startas.
- Fältnamnet blir key i JSON-body:n som skickas till n8n.
Skapa ett kompatibelt arbetsflöde i n8n
- Skapa ett nytt arbetsflöde i n8n.
- Lägg till en Webhook-node som första node.
- Ge noden exakt namnet Start workflow. Exemplen med expressions nedan använder detta namn.
- Sätt HTTP Method till POST.
- Välj Authentication: Header Auth och använd samma header name och hemliga värde som i AI-Public.
- Sätt Respond eller Response Mode till Immediately.
- Kopiera Production URL till fältet n8n productie-url i AI-Public. Använd inte test-URL:en med
/webhook-test/. - Aktivera arbetsflödet.
Den mottagna datan finns under body; de tekniska integrationsuppgifterna finns under body.integration. Ta inte bort dem i en Edit Fields-, Set- eller Code-node.
Exempel på JSON-body
Om du definierar fält med namnen prompt, klantnaam, doelgroepen och datum, tar n8n till exempel emot denna JSON-body. AI-Public lägger automatiskt till objektet integration.
{
"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"
}
}
Callback-token hör till en enda körning. Spara det inte i loggar, fast konfiguration eller andra system.
Valfritt: skicka tillbaka framsteg och avslut
AI-Public kan bara visa det som n8n återrapporterar. Använd dessa callbacks bara om du vid registreringen har aktiverat Meddela mellanliggande framsteg och/eller Meddela slutet av arbetsflödet.
Ställ in varje callback-node så här:
-
Välj Method: POST.
-
Klicka på Expression vid URL och klistra in:
{{ $('Start workflow').first().json.body.integration.callbackUrl }} -
Välj Authentication: None.
-
Slå på Send Headers och lägg till headersen nedan.
-
Slå på Send Body och välj Body Content Type: JSON och Specify Body: Using JSON.
Använd dessa headers:
Authorization: Bearer {{ $('Start workflow').first().json.body.integration.callbackToken }}
Content-Type: application/json
Skicka till exempel detta meddelande när ett steg börjar:
{
"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": "Skapa dokument"
},
"message": "Dokumentet skapas."
}
- Använd ett unikt
eventIdför varje händelse inom samma körning. - Använd en tydlig svensk
step.label; denna text visas i appen. - Om du har aktiverat Meddela slutet av arbetsflödet, skicka alltid
type: "completed",type: "failed"ellertype: "rejected"i slutet. - Lägg eventuellt till ett
output-objekt med resultatet vidcompleted. - Skicka en begriplig felmeddelande vid
failed. Körningen stoppas då också i appen.
Valfritt: be om godkännande i appen
Använd en n8n Wait-node med On Webhook Call när arbetsflödet bara får fortsätta efter ett val. Skicka före Wait-noden en callback med type: "approval_required":
Ställ in Wait-noden på Resume: On Webhook Call, HTTP Method: POST och Authentication: Header Auth. Välj samma Header Auth-credential som vid Start workflow. Lägg till en Switch-node efter Wait-noden och kontrollera där {{ $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": "Kontrollera dokument"
},
"approval": {
"question": "Mag workflowet fortsätta?",
"context": "Kontrollera först det genererade dokumentet.",
"resumeUrl": "{{ $execution.resumeUrl }}",
"choices": [
{ "value": "approve", "label": "Godkänna" },
{ "value": "reject", "label": "Avvisa" }
]
}
}
Användaren ser valen i körningsfönstret. Efter ett val tar Wait-noden emot bland annat decision. Använd därefter till exempel en Switch-node för att avgöra rätt fortsättning.
Ett valvärde får bara innehålla bokstäver, siffror, _ och -. Labeln får däremot innehålla vanlig läsbar text.
Ställ in produktions-callback-URL
Produktions-callback-URL:en för AI-Public är:
https://europe-west1-ai-public-pro.cloudfunctions.net/n8nWorkflowCallback
Klistra inte in denna URL som fast text i varje callback-node. Välj Expression i URL-fältet i HTTP Request-noden och använd:
{{ $('Start workflow').first().json.body.integration.callbackUrl }}
AI-Public levererar därmed automatiskt rätt produktions-URL vid varje start. Den fasta URL:en ovan använder du för att under test kontrollera att expressionen pekar på AI-Public och inte på AI-School eller AI-Corporate.
Callables triggerCustomN8nWorkflow, triggerN8nWorkflow och resumeN8nWorkflow anropas av appen själv. Du behöver inte ställa in dessa URL:er i n8n.
Hantera fel
Skicka förväntade fel tillbaka med en callback av typen failed. Skapa dessutom ett centralt Error Workflow för oväntade nodefel:
-
Skapa ett nytt arbetsflöde med en Error Trigger-node.
-
Lägg därefter till en HTTP Request-node med Method: POST.
-
Fyll i denna fasta produktions-URL under URL:
https://europe-west1-ai-public-pro.cloudfunctions.net/n8nWorkflowExecutionFailed -
Välj Authentication: None och lägg till headern
n8n-handihow-namemed plattformens administratörs hemliga standardvärde. -
Välj en JSON-body och klistra in:
{
"executionId": "{{ $json.execution.id }}",
"workflowId": "{{ $json.workflow.id }}",
"workflowName": "{{ $json.workflow.name }}",
"lastNode": "{{ $json.execution.lastNodeExecuted }}",
"message": "{{ $json.execution.error.message }}"
}
- Aktivera Error Workflow.
- Öppna inställningarna för det vanliga arbetsflödet och välj detta under Error Workflow.
Skicka direkt efter Start workflow minst en callback med executionId: "{{ $execution.id }}". Bara då kan AI-Public koppla ett oväntat fel till rätt körning.
Viktiga begränsningar
- Endast webhook-triggers stöds.
- Endast produktions-webhook-URLs stöds.
- Test-webhook-URLs med
/webhook-test/nekas. - Endast POST stöds.
- Endast generell header authentication stöds.
- Header value behandlas som hemlig i applikationen.
- Callback-token och resume-URL:er hanteras endast på serversidan och är inte direkt tillgängliga för användare.
- Tenant bestäms på serversidan utifrån den inloggade användaren, inte utifrån ett värde som webbläsaren skickar med.
Felsökning
- 404 eller webhook inte registrerad: aktivera arbetsflödet i n8n och använd produktions-URL:en.
- Autentiseringsfel: kontrollera att header name och value är exakt samma i båda systemen.
- Saknad data: kontrollera att fältnamnen i applikationen motsvarar de keys som n8n förväntar sig.
- Ingen request i n8n: kontrollera att arbetsflödet börjar med en webhook-trigger och använder POST.
- Körningsfönstret fortsätter snurra: om du har aktiverat Meddela slutet av arbetsflödet, kontrollera att n8n skickar en sista
completed,failedellerrejectedcallback. Om du inte förväntar dig några återkopplingar, stäng av alla tre alternativen vid registreringen. - Ingen framstegsinformation syns: kontrollera att Meddela mellanliggande framsteg är påslaget vid registreringen, att
integration-objektet bevaras och att varje callback har ett unikteventId. - Godkännandeknappar fungerar inte: kontrollera Wait-noden,
resumeUrl, header authentication och de tillåtna tecknen ichoices[].value.