Behöver ert företag hjälp med att implementera AI? Kontakta oss och få prisoffert här →
AI Skolan
januari 22, 2026

Figma till LinkedIn – karuseller via Telegram

Rickard Andersson Partner, Nodenordic.se

Att publicera LinkedIn-karuseller låter enkelt tills du gör det varje vecka. Exportera slides. Döp om filer. Ladda upp. Upptäck att ordningen är fel. Rätta till. Och gör om allt nästa tisdag.

Den här Figma LinkedIn-automationen träffar marknadschefer först, ärligt talat. Men byråledare och founders som fortfarande “bara sköter publiceringen” själva känner det också. Resultatet är rakt: konsekventa, varumärkesanpassade karusellinlägg som publiceras automatiskt, med ett Telegram-meddelande som säger att det funkade (eller varför det inte gjorde det).

Nedan ser du hur flödet körs, vad det automatiserar från start till mål och vad du justerar för att matcha dina mallar och ditt publiceringsschema.

Så fungerar den här automationen

Här är hela arbetsflödet du kommer att sätta upp:

n8n Workflow Template: Figma till LinkedIn – karuseller via Telegram

Varför det här spelar roll: LinkedIn-karuseller är lätta att göra fel

Karusellinlägg är en av de bästa “auktoritetsbyggarna” på LinkedIn, men publiceringsprocessen är märkligt skör. En missad slide, en export i fel storlek eller en uppladdning som misslyckas utan att säga till, och ditt inlägg ser slarvigt ut. Det handlar inte bara om tid. Det är den mentala belastningen av att komma ihåg varje litet steg, särskilt när du publicerar enligt schema. Och om flera personer rör processen börjar varumärket driva direkt: typsnitt ändras, spacing justeras och tonaliteten i texten glider.

Det bygger snabbt på. Här är var det oftast faller isär.

  • Någon exporterar fel uppsättning ramar från Figma, så karusellen blir ofullständig eller i fel ordning.
  • Texten skrivs om i “sista milen”, vilket gör att inläggen slutar låta som ert varumärke.
  • Att ladda upp tillgångar med många slides till LinkedIn tar så pass lång tid att publiceringen skjuts “till senare”. Senare blir aldrig.
  • När ett inlägg misslyckas får du ofta veta det först timmar senare, efter att tillfället passerat.

Det du bygger: Figma-baserad karusellpublicering till LinkedIn med Telegram-notiser

Det här flödet gör dina Figma-designer till publiceringsklara LinkedIn-karuseller, automatiskt. Det startar enligt ett schema (dagligen, veckovis eller den takt du väljer). Sedan skapar det LinkedIn-inläggstexten (valfritt med AI), väljer en karusellmall från ditt designbibliotek och renderar en full uppsättning slides genom att fylla i platshållare i mallen. Därefter förbereder det karusellen för LinkedIns uppladdningsprocess, konverterar de genererade slidesen till rätt filformat och laddar upp dem som ett dokument med flera sidor. Till sist publicerar det inlägget och skickar en Telegram-bekräftelse, så du slipper gissa om det fungerade.

Flödet börjar med en schemalagd trigger i n8n. Därifrån bygger det inläggstext (statisk eller AI-genererad), genererar en karusellbatch från din Figma-baserade mall via Templated och laddar upp resultatet till LinkedIn. Telegram stänger loopen med en lyckad- eller misslyckad-notis.

Det du bygger

Förväntade resultat

Säg att du publicerar tre LinkedIn-karuseller i veckan. Manuellt kanske du lägger cirka 20 minuter på att exportera slides, kontrollera storlekar, ladda upp dokumentet och fixa oundvikliga “varför saknas slide 7?”-problem. Det är ungefär en timme i veckan, plus kontextbyten. Med det här flödet lägger du några minuter på att sätta ämnet (eller låta AI skissa det) och själva körningen blir oftast klar på under en minut, inklusive rendering och uppladdning. Du får Telegram-bekräftelsen, och sen är det klart.

Innan du börjar

  • n8n-instans (prova n8n Cloud gratis)
  • Self-hosting-alternativ om du föredrar det (Hostinger fungerar bra)
  • Templated för att rendera Figma-baserade karusellmallar
  • LinkedIn Developer-app för att aktivera OAuth-behörigheter för publicering
  • Templated API-nyckel (hämta den i dina kontoinställningar i Templated)

Kunskapsnivå: Medel. Du kopplar OAuth-uppgifter, klistrar in en API-nyckel och justerar några fält så att de matchar dina mallvariabler.

Vill du att någon bygger detta åt dig? Prata med en automationsexpert (gratis 15-minuters konsultation).

Steg för steg

Ett schema kickar igång. n8n triggar körningen enligt din valda takt, så publiceringen sker pålitligt istället för att bero på någons kalenderpåminnelser.

Inläggstexten förbereds. Flödet kan generera LinkedIn-text med en AI-modell (med valfri “färskhet” via ett nyhetssökverktyg) och formaterar sedan resultatet till en korrekt strukturerad form som fungerar för publicering.

Din Figma-mall blir riktiga slides. Flödet pratar med Templated för att hämta mallalternativ, väljer rätt och genererar en batch karusellbilder genom att fylla i platshållarfält (titlar, underrubriker, datum, allt du designat för).

LinkedIn-uppladdning, sedan bekräftelse. Det hämtar din LinkedIn-profilinfo, initierar en uppladdning, konverterar de genererade slidesen till korrekt binärt format, laddar upp och publicerar till sist inlägget. Telegram skickar ett lyckat-meddelande eller en felnotis med tillräckligt med detaljer för att felsöka snabbt.

Du kan enkelt ändra schemat och logiken för mallval för att rotera designer, byta publiceringsdagar eller växla mellan personliga och företagssidor. Se hela implementationsguiden nedan för anpassningsalternativ.

Steg-för-steg-guide för implementering

Steg 1: konfigurera den schemalagda triggern

Ställ in schemat som startar arbetsflödet för generering av inlägg till sociala medier.

  1. Lägg till och öppna Scheduled Run Trigger.
  2. I RuleInterval definierar ni den frekvens ni vill ha (t.ex. dagliga eller veckovisa körningar).
  3. Bekräfta att Scheduled Run Trigger är ansluten till Compose LinkedIn Copy enligt exekveringsflödet.

Steg 2: anslut primära LinkedIn-tjänster

Koppla in LinkedIn API-anropen som hämtar användarprofilen, initierar uppladdningsresurser, laddar upp media och publicerar det slutliga inlägget.

  1. Öppna Fetch LinkedIn Profile och ställ in URL till https://api.linkedin.com/v2/userinfo.
  2. Inloggningsuppgifter krävs: Anslut era linkedInOAuth2Api-uppgifter (även konfigurerade med httpBearerAuth och linkedInCommunityManagementOAuth2Api i den här noden).
  3. Öppna Init Upload Resource och ställ in URL till https://api.linkedin.com/rest/documents?action=initializeUpload.
  4. Ställ in JSON Body till { "initializeUploadRequest": { "owner": "urn:li:person:{{ $json.sub }}" } }.
  5. Inloggningsuppgifter krävs: Anslut era linkedInOAuth2Api-uppgifter i Init Upload Resource, Upload Binary Slides, Retrieve Upload URN och Publish LinkedIn Post.
⚠️ Vanlig fallgrop: LinkedIn-endpoints som används i Fetch LinkedIn Profile, Init Upload Resource, Upload Binary Slides, Retrieve Upload URN och Publish LinkedIn Post kräver rätt behörigheter i LinkedIn-appen för community management och publicering.

Steg 3: konfigurera AI-generering av copy

Konfigurera AI-agenten som skapar copy för LinkedIn-inlägget med hjälp av research-, resonemangs- och minnesverktyg.

  1. Öppna Compose LinkedIn Copy och ställ in Text till =Create a Linkedin post..
  2. Öppna OpenAI Chat Engine och välj Model gpt-4o-mini.
  3. Inloggningsuppgifter krävs: Anslut era openAiApi-uppgifter i OpenAI Chat Engine. Den här språkmodellen används av Compose LinkedIn Copy och Design Carousel Plan.
  4. Öppna Session Memory Buffer och ställ in Session Key till {{ $now.format('dd-LL-yyyy') }} med Session ID Type inställd på customKey.
  5. Öppna Query Recent News och bekräfta att meddelandeinnehållet använder {{ /*n8n-auto-generated-fromAI-override*/ $fromAI('message0_Text', ``, 'string') }}.
  6. Inloggningsuppgifter krävs: Anslut era perplexityApi-uppgifter i Query Recent News. Det här verktyget är anslutet till Compose LinkedIn Copy som ett AI-verktyg.
  7. Verifiera att Reasoning Tool och Current Date Time är anslutna som AI-verktyg till Compose LinkedIn Copy (inga inloggningsuppgifter krävs för dessa verktyg).
OpenAI Chat Engine är ansluten som språkmodell för Compose LinkedIn Copy och Design Carousel Plan—se till att inloggningsuppgifter läggs till i OpenAI Chat Engine, inte på agentnoderna.

Steg 4: konfigurera planering och generering av karusell

Gör om den genererade copytexten till en strukturerad karusellplan och trigga batchgenereringen av mallar.

  1. Öppna Design Carousel Plan och ställ in Text till {{ $json.output }}.
  2. Öppna Carousel Memory Buffer och ställ in Session Key till {{ $now.format('dd-LL-yyyy') }} med Session ID Type inställd på customKey.
  3. Öppna Structured JSON Parser och bekräfta att JSON Schema Example matchar det karusellmall-schema ni förväntar er.
  4. Öppna Template MCP Client och ställ in Endpoint URL till https://templated.cometai.eu/mcp med Authentication inställd på bearerAuth.
  5. Inloggningsuppgifter krävs: Anslut era httpBearerAuth-uppgifter i Template MCP Client. Det här verktyget används av Design Carousel Plan.
  6. Öppna Generate Carousel Batch och ställ in URL till https://templated.cometai.eu/api/batches/4/generate.
  7. Ställ in JSON Body till {{ $json.output }} och säkerställ att Send Body är aktiverat.
  8. Inloggningsuppgifter krävs: Anslut era httpBearerAuth-uppgifter i Generate Carousel Batch.
Exekveringsflödet följer Compose LinkedIn CopyDesign Carousel PlanGenerate Carousel Batch, så bekräfta att varje nod skickar utdata vidare i rätt ordning.

Steg 5: förbered och ladda upp media till LinkedIn

Avkoda den genererade karusellen, konvertera den till binärdata, ladda upp den till LinkedIn och polla för resursens status.

  1. Öppna Decode File Payload och ställ in Operation till binaryToPropery.
  2. Öppna Map Attachment Field och ställ in attachment till {{ $('Decode File Payload').item.json.data }}.
  3. Öppna Convert Attachment File och ställ in Operation till toBinary med Source Property inställd på attachment.
  4. Öppna Upload Binary Slides och ställ in URL till {{ $('Init Upload Resource').item.json.value.uploadUrl }} med Content Type inställd på binaryData.
  5. Öppna Retrieve Upload URN och ställ in URL till https://api.linkedin.com/rest/documents/{{ $('Init Upload Resource').item.json.value.document }}.
  6. Öppna Route by Status och bekräfta att villkoren kontrollerar {{ $json.status }} för AVAILABLE, PROCESSING_FAILED och PROCESSING.
  7. Öppna Delay Interval Check och ställ in Amount till 3 så att arbetsflödet väntar innan status kontrolleras igen.
⚠️ Vanlig fallgrop: Om Route by Status fortsätter att träffa PROCESSING, säkerställ att uppladdningsresursen och den binära payloaden är giltiga, och att Delay Interval Check ger LinkedIn tillräckligt med tid att bearbeta dokumentet.

Steg 6: konfigurera publicering och notifieringar

Publicera LinkedIn-inlägget och skicka notifieringar vid lyckat eller misslyckat resultat.

  1. Öppna Publish LinkedIn Post och ställ in URL till https://api.linkedin.com/rest/posts.
  2. Ställ in JSON Body till { "author": "{{ $json.owner }}", "commentary": {{ JSON.stringify($('Compose LinkedIn Copy').item.json.output) }}, "visibility": "PUBLIC", "distribution": { "feedDistribution": "MAIN_FEED", "targetEntities": [], "thirdPartyDistributionChannels": [] }, "content": { "media": { "title": "Media", "id": "{{ $json.id }}" } }, "lifecycleState": "PUBLISHED", "isReshareDisabledByAuthor": false }.
  3. Inloggningsuppgifter krävs: Anslut era linkedInOAuth2Api-uppgifter i Publish LinkedIn Post (även konfigurerade med httpBearerAuth och linkedInCommunityManagementOAuth2Api).
  4. Öppna Notify Success och ställ in Text till Created new post.
  5. Öppna Notify Failure och ställ in Text till Failed to create new post.
  6. Inloggningsuppgifter krävs: Anslut era telegramApi-uppgifter för både Notify Success och Notify Failure.

Steg 7: testa och aktivera ert arbetsflöde

Kör ett kontrollerat test för att bekräfta att generering, uppladdning, publicering och notifieringar fungerar end-to-end.

  1. Klicka på Execute Workflow för att köra Scheduled Run Trigger manuellt.
  2. Verifiera att Compose LinkedIn Copy output:ar ett inlägg och att Design Carousel Plan producerar giltig JSON för Generate Carousel Batch.
  3. Bekräfta att Upload Binary Slides returnerar en lyckad uppladdning och att Retrieve Upload URN ger statusen AVAILABLE.
  4. Kontrollera att Publish LinkedIn Post slutförs och att Notify Success skickar Telegram-meddelandet.
  5. När allt är verifierat, slå på arbetsflödet till Active så att det körs enligt schemat.
🔒

Lås upp fullständig steg-för-steg-guide

Få den kompletta implementeringsguiden + nedladdningsbar mall

Tips för felsökning

  • LinkedIn OAuth-uppgifter kan löpa ut eller sakna rätt scopes. Om publiceringen misslyckas, kontrollera behörigheterna i din LinkedIn Developer-app och återanslut OAuth-uppgiften i n8n först.
  • Om du använder Wait-noder eller extern rendering varierar processtiderna. Öka väntetiden om efterföljande noder misslyckas på tomma svar.
  • Templated API-nycklar och mall-ID:n måste matcha din workspace. Om karusellgenereringen returnerar tomt eller fel, bekräfta API-nyckeln och verifiera att den valda mallen finns i Templated.

Snabba svar

Hur lång tid tar det att sätta upp den här Figma LinkedIn-automationen?

Cirka 15 minuter om dina konton och mallar är redo.

Krävs kodning för den här automationslösningen för karusellpublicering?

Nej. Du kopplar konton och justerar några mappningsfält för dina mallvariabler.

Är n8n gratis att använda för det här arbetsflödet för Figma LinkedIn-automation?

Ja. n8n har ett gratis self-hosted-alternativ och en gratis provperiod på n8n Cloud. Cloud-planer startar på 20 USD/månad för högre volym. Du behöver också räkna in användning av Templated och eventuella API-kostnader för AI-modeller (OpenAI-anrop kostar ofta bara några cent styck, beroende på storleken på din prompt).

Var kan jag hosta n8n för att köra den här automationen?

Två alternativ: n8n Cloud (managed, enklast att komma igång) eller self-hosting på en VPS. För self-hosting är Hostinger VPS prisvärd och hanterar n8n bra. Self-hosting ger dig obegränsade körningar men kräver grundläggande serveradministration.

Kan jag modifiera det här arbetsflödet för Figma LinkedIn-automation för andra use case?

Ja, och det bör du förmodligen. Du kan byta schema i “Scheduled Run Trigger”, ändra hur mallar väljs via Template MCP Client och justera platshållarmappningarna i steget “Map Attachment Field”. Vanliga justeringar är att rotera mellan flera karusellmallar, posta till en företagssida istället för en personlig profil och ersätta AI-skriven text med en fast caption för återkommande annonseringar.

Varför misslyckas min LinkedIn-anslutning i det här flödet?

Oftast är det utgångna OAuth-uppgifter eller saknade LinkedIn-behörigheter för publicering. Återanslut din LinkedIn OAuth-uppgift i n8n och bekräfta sedan att din LinkedIn Developer-app har rätt scopes aktiverade för innehållspublicering. Om det bara misslyckas ibland kan du slå i rate limits eller köra flera inlägg för tätt, så att glesa ut körningarna kan hjälpa.

Vilken volym kan det här arbetsflödet för Figma LinkedIn-automation hantera?

En typisk körning publicerar en karusell per exekvering, och LinkedIn i sig begränsar volymen (cirka 25 inlägg/dag för personliga profiler och cirka 100/dag för företagssidor).

Är den här Figma LinkedIn-automationen bättre än att använda Zapier eller Make?

Ofta ja, eftersom det här flödet har många rörliga delar: mallrendering, dokumentuppladdning i flera steg, villkorsstyrd routing och väntan/retries. n8n hanterar förgreningslogik snyggt, och self-hosting innebär att du inte betalar per litet steg när volymen växer. Zapier eller Make kan vara enklare för grundläggande automationer som “posta en textuppdatering”, men karuseller är där det blir pilligt och dyrt. Vill du ha en second opinion på avvägningar, prata med en automationsexpert så kvalitetssäkrar vi din setup.

Sätt upp det här en gång och låt sedan din publiceringstakt rulla utan veckostressen. Flödet tar hand om de repetitiva delarna så att du kan fokusera på idéerna och budskapet.

Kontakta oss

Hör av dig, så diskuterar vi hur just din verksamhet kan dra nytta av alla fantastiska möjligheter som AI skapar.

×

Använd mall

Få direkt tillgång till denna n8n-arbetsflödes JSON-fil

Launch login modal Launch register modal