n8n arbetsflöden
AI-Public kan starta n8n-arbetsflöden via en produktions-webhook. Detta är användbart när du vill starta en automatiserad process utanför AI-Public, till exempel att skapa en uppgift, uppdatera en CRM-post, starta en rapporteringsflöde eller överföra formulärdata 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 anger du då bara en kort textbit, till exempel ett par meningar om ett möte, projekt eller offentlig tillkännagivelse. Med den texten startar du arbetsflödet i n8n.
Arbetsflödet i n8n kan därefter till exempel:
- Göra en snygg koncepttext från den korta texten 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 grafisk profilens färger och i en igenkännbar illustrativ stil.
- Förbereda eller publicera text och bild som blogginlägg på WordPress-webbplatsen.
Så fungerar AI-Public och n8n tillsammans: i AI-Public väljer användaren arbetsflödet och fyller i den nödvändiga informationen. n8n utför därefter de automatiserade stegen och ser till att nyhetsartikeln hamnar snyggt på webbplatsen.
Vad gör denna integration?
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.
- Har arbetsflödet inga fält, anropas webhooken direkt.
- Har arbetsflödet 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 ett POST-anrop till n8n-webhooken.
- Utan återkopplingar bekräftar AI-Public bara att arbetsflödet har startats och fortsätter i n8n. Fönstret visar ingen spinner och kan stängas direkt.
- Om detta är aktiverat vid registreringen, kan arbetsflödet skicka tillbaka mellanliggande steg eller slutet till AI-Public.
- Om godkännande vid registreringen är aktiverat kan användaren välja direkt i AI-Public. Därefter fortsätter n8n från den väntande steg.
n8n-arbetsflöde skapas i AI-Public
En administratör registrerar arbetsflödet enligt följande:
- Gå till Assistenten.
- Öppna Arbetsflöden.
- Välj Nytt n8n-arbetsflöde.
- Ange arbetsflödets namn och n8n-produktions-URL.
- Ange Header authentication med ett header-namn och hemligt header-värde.
- Markera under Återkoppling från n8n endast de delar som verkligen byggts in i detta n8n-arbetsflöde: fortskridning, godkännande och/eller slutet av arbetsflödet.
- Lägg till eventuellt de fält som ska skickas i POST-anropet.
- Spara arbetsflödet.
Alla tre återkopplingsalternativen är först inställda som av. Om du senare lägger till callbacks eller ett godkännande-steg i n8n, uppdatera registreringen i AI-Public. Dialogen vet då om den bara ska visa en startbekräftelse eller vänta på vidare signaler.
Fält
- Fält är valfria.
- Varje fält har ett fältnamn och en typ.
- Stödda fält-typer är kort text, lång text, tal, 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 urvalslista; Flera val visar kryssrutor. Det valda värdet eller värdena skickas i JSON-kroppen.
- Obligatoriska fält måste fyllas i innan arbetsflödet kan startas.
- Fältnamnet blir nyckeln i JSON-kroppen som skickas till n8n.
Kompatibelt arbetsflöde i n8n
- Skapa ett nytt arbetsflöde i n8n.
- Lägg till först en Webhook-nod.
- Ge denna nod exakt namnet Start workflow. Exempelkonstruktionerna nedan använder detta namn.
- Ställ in HTTP Method till POST.
- Välj Authentication: Header Auth och använd samma header-namn och hemliga värde som i AI-Public.
- Ställ in Respond eller Response Mode till Immediately.
- Kopiera Production URL till fältet n8n produktions-url i AI-Public. Använd inte test-URL:en med
/webhook-test/. - Aktivera arbetsflödet.
De mottagna uppgifterna finns under body; de tekniska integrationsuppgifterna finns under body.integration. Ta bort dem i en Edit Fields-, Set- eller Code-nod.
Exempel på JSON-body
Om du definierar fält med namnen prompt, kundnamn, målgrupper och datum, mottar n8n till exempel denna JSON-body. AI-Public lägger automatiskt till integration-objektet.
{
"prompt": "Gör en kort sammanfattning av begäran.",
"kundnamn": "Exempelorganisation",
"målgrupper": ["invånare", "anställda"],
"datum": "2026-09-22",
"integration": {
"runId": "chat-dokument-id",
"tenant": "default",
"callbackUrl": "https://europe-west1-ai-public-pro.cloudfunctions.net/n8nWorkflowCallback",
"callbackToken": "tillfälligt-token-för-denna-körning"
}
}
Callback-tokenet hör till en enda körning. Spara det inte i loggar, fasta konfigurationer eller andra system.
Valfritt: återkoppling om framsteg och slutförande
AI-Public kan endast visa vad n8n återkopplar. Använd dessa callbacks endast om du i registreringen har aktiverat Meddela mellanliggande framsteg och/eller Meddela slutförandet av arbetsflödet.
Ställ varje callback-node så här:
-
Välj Method: POST.
-
Klicka på URL under Expression och klistra in:
{{ $('Start workflow').first().json.body.integration.callbackUrl }} -
Välj Authentication: None.
-
Slå på Send Headers och lägg till nedanstående headers.
-
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 påbörjas:
{
"tenant": "{{ $('Start workflow').first().json.body.integration.tenant }}",
"runId": "{{ $('Start workflow').first().json.body.integration.runId }}",
"eventId": "dokument-skapas-startad",
"type": "progress",
"executionId": "{{ $execution.id }}",
"step": {
"id": "dokument_skapas",
"label": "Dokument skapas"
},
"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 i slutet alltid
type: "completed",type: "failed"ellertype: "rejected". - Lägg vid
completedeventuellt ettoutput-objekt med resultatet. - Skicka vid
failedett begripligt felmeddelande. Körningen stoppas då också i appen.
Valfritt: begära godkännande i appen
Använd en n8n Wait-nod med On Webhook Call när arbetsflödet först får fortsätta efter ett beslut. 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-uppgifter som i Start workflow. Lägg till efter Wait-noden en Switch-nod och kontrollera där {{ $json.body.decision }}.
{
"tenant": "{{ $('Start workflow').first().json.body.integration.tenant }}",
"runId": "{{ $('Start workflow').first().json.body.integration.runId }}",
"eventId": "kontroll-dokument",
"type": "approval_required",
"executionId": "{{ $execution.id }}",
"step": {
"id": "kontroll_dokument",
"label": "Dokument kontrollera"
},
"approval": {
"question": "Ska arbetsflödet fortsätta?",
"context": "Kontrollera först det genererade dokumentet.",
"resumeUrl": "{{ $execution.resumeUrl }}",
"choices": [
{ "value": "approve", "label": "Godkänn" },
{ "value": "reject", "label": "Avslå" }
]
}
}
Användaren ser valen i körfönstret. Efter ett val får Wait-noden bland annat decision. Använd därefter till exempel en Switch-nod för att avgöra nästa steg.
En val-nyckel får endast innehålla bokstäver, siffror, _ och -. Etiketten får innehålla vanlig läsbar text.
Produktions callback-url att ställa in
Produktions callback-url för AI-Public är:
https://europe-west1-ai-public-pro.cloudfunctions.net/n8nWorkflowCallback
Klistra inte in denna URL som vanlig text i varje callback-nod. Välj i fältet URL i HTTP Request-noden Expression och använd:
{{ $('Start workflow').first().json.body.integration.callbackUrl }}
AI-Public levererar därmed vid varje start automatiskt rätt produktions-url. Den fasta URL:en ovan används för att under testning kontrollera att uttrycket hänvisar till AI-Public och inte till AI-School eller AI-Corporate.
De anropbara funktionerna triggerCustomN8nWorkflow, triggerN8nWorkflow och resumeN8nWorkflow anropas av appen själv. Dessa URL:er behöver du inte konfigurera i n8n.
Felhantering
Skicka förväntade fel tillbaka med ett callback av typen failed. Skapa även ett centralt Error Workflow för oväntade nodfel:
-
Skapa ett nytt arbetsflöde med en Error Trigger-nod.
-
Lägg till sedan en HTTP Request-nod med Method: POST.
-
Fyll i URL-fältet med denna fasta produktions-url:
https://europe-west1-ai-public-pro.cloudfunctions.net/n8nWorkflowExecutionFailed -
Välj Authentication: None och lägg till headern
n8n-handihow-namemed plattformens hemliga standardvärde. -
Välj en JSON-kropp 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 felhanterings-arbetsflödet.
- Öppna inställningarna för det vanliga arbetsflödet och välj detta under Error Workflow.
Skicka omedelbart efter Start workflow minst en callback med executionId: "{{ $execution.id }}". Endast då kan AI-Public koppla en oväntad fel till rätt körning.
Viktiga begränsningar
- Endast webhook-utlösare stöds.
- Endast produktions-webhook-URLs stöds.
- Test-webhook-URLs med
/webhook-test/vägrar. - Endast POST stöds.
- Endast generisk header-autentisering stöds.
- Header-värdet behandlas som hemligt i applikationen.
- Callback-token och resume-url behandlas endast server-side och är inte direkt tillgängliga för användare.
- Tennanten bestäms server-side från inloggad användare, inte från ett värde som webbläsaren skickar.
Problem? Lösningar
- 404 eller webhook inte registrerat: aktivera arbetsflödet i n8n och använd produktions-URL:en.
- Autentiseringsfel: kontrollera att header-namn och värde är exakt lika i båda systemen.
- Saknade data: kontrollera att fältnamnen i applikationen matchar nycklarna som n8n förväntar sig.
- Ingen request i n8n: kontrollera att arbetsflödet börjar med webhook-trigger och använder POST.
- Körfönstret fortsätter köra: om du har aktiverat slutet av arbetsflödet, kontrollera då om n8n skickar en sista
completed,failedellerrejectedcallback. Om du inte förväntar dig återkopplingar, stäng av alla tre alternativen i registreringen. - Ingen synlig framsteg: kontrollera om Meddela mellanliggande framsteg i registreringen är aktiverat, eller om
integration-objektet behålls och om varje callback har ett unikteventId. - Godkännandeknappar fungerar inte: kontrollera Wait-noden,
resumeUrl, header authentication och de tillåtna tecknen ichoices[].value.