Gå till huvudinnehållet

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:

  1. Göra en snygg koncepttext från den korta texten med en LLM-node och en prompt som passar organisationens ton.
  2. 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.
  3. 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:

  1. Gå till Assistenten.
  2. Öppna Arbetsflöden.
  3. Välj Nytt n8n-arbetsflöde.
  4. Ange arbetsflödets namn och n8n-produktions-URL.
  5. Ange Header authentication med ett header-namn och hemligt header-värde.
  6. 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.
  7. Lägg till eventuellt de fält som ska skickas i POST-anropet.
  8. 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

  1. Skapa ett nytt arbetsflöde i n8n.
  2. Lägg till först en Webhook-nod.
  3. Ge denna nod exakt namnet Start workflow. Exempelkonstruktionerna nedan använder detta namn.
  4. Ställ in HTTP Method till POST.
  5. Välj Authentication: Header Auth och använd samma header-namn och hemliga värde som i AI-Public.
  6. Ställ in Respond eller Response Mode till Immediately.
  7. Kopiera Production URL till fältet n8n produktions-url i AI-Public. Använd inte test-URL:en med /webhook-test/.
  8. 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:

  1. Välj Method: POST.

  2. Klicka på URL under Expression och klistra in:

    {{ $('Start workflow').first().json.body.integration.callbackUrl }}
  3. Välj Authentication: None.

  4. Slå på Send Headers och lägg till nedanstående headers.

  5. 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 eventId fö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" eller type: "rejected".
  • Lägg vid completed eventuellt ett output-objekt med resultatet.
  • Skicka vid failed ett 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:

  1. Skapa ett nytt arbetsflöde med en Error Trigger-nod.

  2. Lägg till sedan en HTTP Request-nod med Method: POST.

  3. Fyll i URL-fältet med denna fasta produktions-url:

    https://europe-west1-ai-public-pro.cloudfunctions.net/n8nWorkflowExecutionFailed
  4. Välj Authentication: None och lägg till headern n8n-handihow-name med plattformens hemliga standardvärde.

  5. 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 }}"
}
  1. Aktivera felhanterings-arbetsflödet.
  2. Ö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, failed eller rejected callback. 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 unikt eventId.
  • Godkännandeknappar fungerar inte: kontrollera Wait-noden, resumeUrl, header authentication och de tillåtna tecknen i choices[].value.
WhatsApp