Gå till huvudinnehållet

n8n-arbetsflöden

AI-Corporate kan starta n8n-arbetsflöden via en produktions-webhook. Detta är användbart när du vill starta en automatiserad process utanför AI-Corporate, till exempel skapa en uppgift, uppdatera en CRM-post, starta ett rapportflöde eller skicka formulärdata vidare till ett annat system.

Exempel: nyhetsartikel på företagets webbplats​

Anta att organisationen har skapat ett n8n-arbetsflöde som publicerar en nyhetsartikel på företagets WordPress-webbplats. I AI-Corporate fyller du då bara i en kort text, till exempel några meningar om en kundcase, ett event eller en intern milstolpe. Med den texten startar du arbetsflödet i n8n.

n8n-arbetsflödet kan därefter till exempel:

  1. Göra om den korta texten till en snygg utkasttext med en LLM-nod och en prompt som passar organisationens ton.
  2. Skapa en passande illustration med en andra LLM-nod, till exempel i varumärkets färger och i en igenkännbar illustrativ stil.
  3. Förbereda eller publicera texten och bilden som ett blogginlägg på WordPress-webbplatsen.

Så arbetar AI-Corporate och n8n tillsammans: i AI-Corporate 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.

  • 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-Corporate 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 tillbaka mellanlägen eller slutet till AI-Corporate.
  • Om godkännande har aktiverats vid registreringen kan användaren göra ett val direkt i AI-Corporate. n8n fortsätter därefter från väntesteget.

Skapa n8n-arbetsflöde i AI-Corporate​

En administratör registrerar arbetsflödet så här:

  1. Gå till Assistenter.
  2. Öppna fliken Arbetsflödesassistenter.
  3. Klicka i kortet högst upp på Nytt arbetsflöde och välj n8n-arbetsflöde.
  4. Fyll i namnet på arbetsflödet och n8n:s produktions-URL.
  5. Ställ in Header authentication med ett header name och ett hemligt header value.
  6. Markera under Återkopplingar från n8n endast de delar som faktiskt finns byggda i detta n8n-arbetsflöde: förlopp, godkännande och/eller slutet av arbetsflödet.
  7. Lägg eventuellt till de fält som ska skickas med i POST-requesten.
  8. Spara arbetsflödet.

Alla tre återkopplingsalternativ är avstängda som standard. Om du senare lägger till callbacks eller ett godkännandesteg i n8n, uppdatera även registreringen i AI-Corporate. 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, tal, ja/nej, datum, ett val och flera val.
  • För Ett val och Flera val lägger du till de tillgängliga alternativen. Ett val visas som en kompakt rullista; Flera val visar kryssrutor. Det valda värdet eller de valda värdena skickas med i JSON-body.
  • Obligatoriska fält måste vara ifyllda innan arbetsflödet kan startas.
  • Fältnamnet blir nyckeln i JSON-body som skickas till n8n.

Skapa ett kompatibelt arbetsflöde i n8n​

  1. Skapa ett nytt arbetsflöde i n8n.
  2. Lägg till en Webhook-nod som första nod.
  3. Ge denna nod exakt namnet Start workflow. Exempelformlerna nedan använder detta namn.
  4. Sätt HTTP Method till POST.
  5. Välj Authentication: Header Auth och använd samma header name och hemliga value som i AI-Corporate.
  6. Sätt Respond eller Response Mode till Immediately.
  7. Kopiera Production URL till fältet n8n productie-url i AI-Corporate. 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 inte bort dem i en Edit Fields-, Set- eller Code-nod.

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-Corporate lägger automatiskt till objektet integration.

{
"prompt": "Gör en kort sammanfattning av förfrågan.",
"klantnaam": "Exempelorganisation",
"doelgroepen": ["medarbetare", "kunder"],
"datum": "2026-09-22",
"integration": {
"runId": "chat-document-id",
"tenant": "default",
"callbackUrl": "https://europe-west1-ai-corporate.cloudfunctions.net/n8nWorkflowCallback",
"callbackToken": "tillfällig-token-för-detta-körningstillfälle"
}
}

Callbacktoken hör till en enskild körning. Spara det inte i loggar, fast konfiguration eller andra system.

Valfritt: skicka tillbaka förlopp och slutförande​

AI-Corporate kan bara visa det som n8n återkopplar. Använd dessa callbacks endast om du vid registreringen har aktiverat Meddela mellanliggande förlopp och/eller Meddela arbetsflödets slut.

Ställ in varje callbacknod så här:

  1. Välj Method: POST.

  2. Klicka vid URL på 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 börjar:

{
"tenant": "{{ $('Start workflow').first().json.body.integration.tenant }}",
"runId": "{{ $('Start workflow').first().json.body.integration.runId }}",
"eventId": "document-maken-startad",
"type": "progress",
"executionId": "{{ $execution.id }}",
"step": {
"id": "document_maken",
"label": "Skapa dokument"
},
"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 arbetsflödets slut, skicka alltid type: "completed", type: "failed" eller type: "rejected" i slutet.
  • Lägg eventuellt till ett output-objekt med resultatet vid completed.
  • Skicka vid failed ett begripligt felmeddelande. Körningen stoppas då också i appen.

Valfritt: be om godkännande i appen​

Använd en n8n Wait-nod 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 för Start workflow. Lägg till en Switch-nod 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": "Får arbetsflödet fortsätta?",
"context": "Kontrollera först det genererade dokumentet.",
"resumeUrl": "{{ $execution.resumeUrl }}",
"choices": [
{ "value": "approve", "label": "Godkänn" },
{ "value": "reject", "label": "Avvisa" }
]
}
}

Användaren ser valen i körningsfö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 rätt fortsättning.

Ett valvärde får endast innehålla bokstäver, siffror, _ och -. Labeln får däremot innehålla vanlig läsbar text.

Ställa in produktions callback-url​

Produktions callback-url för AI-Corporate är:

https://europe-west1-ai-corporate.cloudfunctions.net/n8nWorkflowCallback

Klistra inte in denna URL som fast text i varje callbacknod. Välj i URL-fältet i HTTP Request-noden Expression och använd:

{{ $('Start workflow').first().json.body.integration.callbackUrl }}

AI-Corporate tillhandahåller då automatiskt rätt produktions-URL vid varje start. Den fasta URL:en ovan använder du för att under testning kontrollera att uttrycket pekar mot AI-Corporate och inte mot AI-School eller AI-Public.

Callables triggerCustomN8nWorkflow, triggerN8nWorkflow och resumeN8nWorkflow anropas av appen själv. Dessa URL:er behöver du inte ställa in i n8n.

Hantera fel​

Skicka förväntade fel tillbaka med en callback av typen failed. Skapa dessutom en central Error Workflow för oväntade nodfel:

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

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

  3. Fyll i denna fasta produktions-URL i URL:

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

  5. 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 }}"
}
  1. Aktivera Error Workflow.
  2. Ö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 }}". Endast då kan AI-Corporate koppla ett oväntat fel till rätt körning.

Viktiga begränsningar​

  • Endast webhook-triggers stöds.
  • Endast produktions-webhook-URL:er stöds.
  • Test-webhook-URL:er med /webhook-test/ nekas.
  • Endast POST stöds.
  • Endast generisk header authentication stöds.
  • Header value behandlas som hemligt i applikationen.
  • Callbacktokens och resume-URL:er behandlas 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 lika i båda systemen.
  • Saknad data: kontrollera att fältnamnen i applikationen matchar 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 arbetsflödets slut, kontrollera att n8n skickar en sista completed, failed eller rejected callback. Om du inte förväntar dig några återkopplingar, stäng av alla tre alternativen vid registreringen.
  • Ingen förlopp visas: kontrollera att Meddela mellanliggande förlopp är aktiverat vid registreringen, att integration-objektet bevaras och att varje callback har ett unikt eventId.
  • Godkännandeknapparna fungerar inte: kontrollera Wait-noden, resumeUrl, header authentication och de tillåtna tecknen i choices[].value.