Att exportera Linear-ärenden till ett kalkylark låter enkelt. Sedan blir det en återkommande syssla, med gamla siffror, trasiga kolumner och den där tysta känslan av att din ”rapport” redan är inaktuell.
Den här Linear Sheets-synken slår hårdast mot ops-leads och projektledare, ärligt talat. Men byråägare som bygger kundvända dashboards känner av det också. Du får ett kalkylark som håller sig uppdaterat automatiskt, så att dina veckovisa status- och kapacitetssamtal inte bygger på gårdagens data.
Nedan ser du hur arbetsflödet körs, vad det automatiserar i n8n och vad du behöver för att hålla Linear-ticketrapporter korrekta utan att betala för extra analysfunktioner.
Så fungerar den här automatiseringen
Hela n8n-arbetsflödet, från trigger till slutresultat:
n8n Workflow Template: Linear till Google Sheets – ärenderapporter uppdateras
flowchart LR
subgraph sg0["Daily Schedule Kickoff Flow"]
direction LR
n0@{ icon: "mdi:play-circle", form: "rounded", label: "Daily Schedule Kickoff", pos: "b", h: 48 }
n1["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/graphql.png' width='40' height='40' /></div><br/>Retrieve Team Issues"]
n2@{ icon: "mdi:swap-horizontal", form: "rounded", label: "Check Next Page", pos: "b", h: 48 }
n3@{ icon: "mdi:swap-vertical", form: "rounded", label: "Capture Cursor", pos: "b", h: 48 }
n4["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/graphql.png' width='40' height='40' /></div><br/>Load Additional Page"]
n5@{ icon: "mdi:swap-vertical", form: "rounded", label: "Expand Issue Items", pos: "b", h: 48 }
n6@{ icon: "mdi:swap-vertical", form: "rounded", label: "Apply Custom Fields", pos: "b", h: 48 }
n7["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/code.svg' width='40' height='40' /></div><br/>Flatten Issue Payload"]
n8@{ icon: "mdi:database", form: "rounded", label: "Update Sheets Log", pos: "b", h: 48 }
n4 --> n2
n4 --> n5
n3 --> n4
n2 --> n3
n6 --> n7
n0 --> n1
n5 --> n6
n1 --> n5
n1 --> n2
n7 --> n8
end
%% Styling
classDef trigger fill:#e8f5e9,stroke:#388e3c,stroke-width:2px
classDef ai fill:#e3f2fd,stroke:#1976d2,stroke-width:2px
classDef aiModel fill:#e8eaf6,stroke:#3f51b5,stroke-width:2px
classDef decision fill:#fff8e1,stroke:#f9a825,stroke-width:2px
classDef database fill:#fce4ec,stroke:#c2185b,stroke-width:2px
classDef api fill:#fff3e0,stroke:#e65100,stroke-width:2px
classDef code fill:#f3e5f5,stroke:#7b1fa2,stroke-width:2px
classDef disabled stroke-dasharray: 5 5,opacity: 0.5
class n0 trigger
class n2 decision
class n8 database
class n7 code
classDef customIcon fill:none,stroke:none
class n1,n4,n7 customIcon
Problemet: Linear-rapporter blir snabbt inaktuella
Ticketrapportering faller sönder i samma stund som den bygger på exporter. Du hämtar ärenden från Linear, klistrar in dem i ett ark, och sedan vill någon ha ”bara ett fält till” eller ”bara tickets från de här teamen”, och plötsligt har du flera flikar, inkonsekventa kolumner och en rapport du inte riktigt litar på. Nästa vecka händer samma sak igen. Tidskostnaden är irriterande, men den större kostnaden är beslut baserade på dålig data: fel antal, missat högprioriterat arbete och statusuppdateringar som ifrågasätts i möten.
Det eskalerar snabbt. Här brukar friktionen uppstå.
- Manuella exporter blir en veckoritual som stjäl cirka 1–2 timmar, särskilt när du filtrerar på team och status.
- Kolumner glider över tid, så diagram går sönder och teamet slutar lita på arket.
- Linears inbyggda insikter kan vara begränsade om du inte har ett högre abonnemang, vilket innebär att du betalar för att svara på grundläggande frågor.
- Paginering är en dold fälla: om du hämtar många ärenden missar du tickets om du inte hanterar ”nästa sida” korrekt.
Lösningen: daglig Linear → Google Sheets-synk
Det här n8n-arbetsflödet körs dagligen enligt schema och hämtar dina Linear-ärenden via Linear GraphQL API. Det börjar med att hämta ärenden för de team du anger, och kontrollerar sedan om Linear har fler resultatsidor. Om det finns fler, sparar det paginerings-cursorn och fortsätter att ladda ytterligare sidor tills allt är insamlat. När ärendena finns i n8n expanderar arbetsflödet listan till enskilda objekt, lägger på de anpassade fält du vill följa och plattar ut ärendedatat till ett kalkylarksanpassat format. Till sist skriver det hela den aktuella ärendelistan till Google Sheets och använder din id-kolumn som ankare så att arket förblir konsekvent.
Arbetsflödet startar med en daglig trigger. Linear-ärenden hämtas (inklusive flera sidor vid behov) och omvandlas sedan till korrekt formaterade rader. Google Sheets uppdateras i slutet, vilket gör att ditt rapportark håller sig aktuellt utan löpande exporter.
Det du får: automatisering vs. resultat
| Vad det här arbetsflödet automatiserar | Resultat du får |
|---|---|
|
|
Exempel: så här ser det ut i praktiken
Säg att du följer 3 Linear-team och exporterar en gång i veckan till en statuspresentation. Manuellt tar det ofta 15 minuter att exportera, 30 minuter att städa kolumner och fixa formatering, och ytterligare 15 minuter att dubbelkolla antal. Räkna med runt en timme per vecka, och det växer när backloggen växer. Med det här arbetsflödet sätter du upp det en gång, och sedan kör det dagliga schemat automatiskt och uppdaterar arket i bakgrunden. Din ”rapporteringstid” blir att öppna arket och filtrera.
Det här behöver du
- n8n-instans (testa n8n Cloud gratis)
- Alternativ för self-hosting om du föredrar det (Hostinger fungerar bra)
- Linear som tillhandahåller ärendedata via API
- Google Sheets för att lagra din rapporttabell
- Linear API-nyckel (skapa den i Linear-inställningarna under API)
Kunskapsnivå: Medel. Du klistrar in en API-nyckel, väljer ett ark och justerar vilka team/fält som ska hämtas.
Vill du inte sätta upp detta själv? Prata med en automationsexpert (kostnadsfri 15-minuters konsultation).
Så fungerar det
Ett dagligt schema startar synken. Arbetsflödet drar igång automatiskt baserat på schematriggern, så arket uppdateras utan att någon behöver trycka på knappar.
Linear-ärenden hämtas, även när det finns många. Arbetsflödet frågar Linear med GraphQL, kontrollerar om det finns en sida till, sparar cursorn och fortsätter ladda sidor tills alla relevanta ärenden är insamlade.
Ärendedata struktureras för rapportering. n8n delar upp resultatet till ett ärende per objekt, applicerar de anpassade fält du vill följa och plattar sedan ut payloaden så att varje ärende blir en enkel rad med kolumner i Google Sheets.
Google Sheets uppdateras som din ”single source”-rapport. Du behåller en obligatorisk kolumn (id), och Sheets-noden kan mappa och lägga till övriga kolumner automatiskt, vilket gör att arket fungerar som bas för rapporteringen.
Du kan enkelt ändra vilka Linear-team som ingår och vilka fält som blir kolumner utifrån dina behov. Se den fullständiga implementeringsguiden nedan för anpassningsalternativ.
Steg-för-steg-guide för implementering
Steg 1: Konfigurera schedule-triggern
Det här arbetsflödet körs dagligen enligt ett schema för att hämta ärenden från Linear.
- Öppna Daily Schedule Kickoff.
- Ställ in schemaregeln så att den körs vid
9timmar med de befintliga intervallinställningarna. - Spara noden för att bekräfta den dagliga trigger-kadensen.
Steg 2: Anslut Linear och hämta ärenden
Konfigurera GraphQL-frågorna som hämtar ärenden och hanterar paginering.
- Öppna Retrieve Team Issues och ställ in Endpoint till
https://api.linear.app/graphql. - Ställ in Variables till
={ "filter": { "team": { "name": { "eq": "[YOUR_TEAM]" } } } }och ersätt[YOUR_TEAM]med ert Linear-teamnamn. - Inloggningsuppgifter krävs: Anslut era httpHeaderAuth-uppgifter i Retrieve Team Issues.
- Öppna Check Next Page och bekräfta att villkoret kontrollerar
{{ $json.data.issues.pageInfo.hasNextPage }}. - Öppna Capture Cursor och ställ in after till
{{ $json.data.issues.pageInfo.endCursor }}med Include satt tillnone. - Öppna Load Additional Page och bekräfta att frågan använder
{{ $json.after }}i argumentet after. - Inloggningsuppgifter krävs: Anslut era httpHeaderAuth-uppgifter i Load Additional Page.
[YOUR_TEAM] inte ersätts med ett exakt Linear-teamnamn kommer inga ärenden att returneras.Steg 3: Sätt upp bearbetning av ärenden
Dela upp ärendelistan, berika fält och platta ut payloaden för Sheets.
- Öppna Expand Issue Items och ställ in Field To Split Out till
data.issues.nodes. - Öppna Apply Custom Fields och ställ in estimate till
{{ $json.estimate ?? 1 }}. - I Apply Custom Fields, ställ in labels till
{{ $json.labels.nodes.map((label) => label.name).toString() }}. - Öppna Flatten Issue Payload och behåll Mode satt till
runOnceForEachItem.
Exekveringsdetalj: Retrieve Team Issues skickar utdata parallellt till både Expand Issue Items och Check Next Page, och Load Additional Page skickar utdata parallellt till både Check Next Page och Expand Issue Items.
Steg 4: Konfigurera utdata till Google Sheets
Lägg till eller uppdatera ärenderader i ert Google Sheet.
- Öppna Update Sheets Log och ställ in Operation till
appendOrUpdate. - Välj ert kalkylark i Document ID och ställ in Sheet Name till det blad ni vill uppdatera (nuvarande värden visar platshållare
[YOUR_ID]). - Säkerställ att Matching Columns inkluderar
idför upsert-beteende. - Inloggningsuppgifter krävs: Anslut era googleSheetsOAuth2Api-uppgifter i Update Sheets Log.
Steg 5: Testa och aktivera ert arbetsflöde
Validera flödet end-to-end och aktivera sedan dagliga körningar.
- Klicka på Execute Workflow för att köra Daily Schedule Kickoff manuellt.
- Bekräfta att Update Sheets Log tar emot utplattade ärendeposter och lägger till/uppdaterar rader.
- Kontrollera att pagineringen fungerar genom att verifiera att flera sidor hämtas när
hasNextPageär true. - Växla arbetsflödet till Active för att köra automatiskt varje dag.
Vanliga fallgropar
- Linear-inloggningar kan löpa ut eller vara för snävt begränsade. Om något går sönder: kontrollera först din Linear API-nyckel och workspace-behörigheter i Linear-inställningarna.
- Om du använder Wait-noder eller extern rendering varierar processeringstiderna. Öka väntetiden om nedströmsnoder fallerar på tomma svar.
- Standardprompter i AI-noder är generiska. Lägg in er varumärkeston tidigt, annars kommer du redigera utdata för alltid.
Vanliga frågor
Cirka 30–60 minuter om din Linear API-nyckel och ditt ark är redo.
Nej. Du kopplar konton, klistrar in en API-nyckel och ändrar några team-/fältinställningar.
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 Linear-kostnader (din Linear-plan) och normal användning av Google Sheets.
Två alternativ: n8n Cloud (hanterat, 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 serverhantering.
Ja, och det bör du. Uppdatera teamvalet i GraphQL-noderna ”Retrieve Team Issues” och ”Load Additional Page”, och lägg sedan till eller byt namn på fält i ”Apply Custom Fields” innan steget ”Flatten Issue Payload”. Vanliga justeringar är att bara hämta vissa statusar, lägga till fält för prioritet/ansvarig och tagga ärenden per team så att dina pivottabeller blir strukturerade.
Oftast beror det på en Linear API-nyckel som har gått ut eller återkallats. Skapa en ny nyckel i Linear och uppdatera sedan headern i n8n:s GraphQL-noder. Kontrollera också att nyckeln har åtkomst till teamen du frågar efter, eftersom behörigheter på teamnivå kan blockera data utan att det märks. Om det bara fallerar vid stora synkar kan du slå i rate limits och behöver sakta ned pagineringen.
Den kan hantera mycket, men det beror på din n8n-plan och hur många ärenden du hämtar per körning.
Ofta, ja, eftersom det här use caset gynnas av paginering, dataformning och ”flattening”-arbete som blir klumpigt i enkla tvåstegsverktyg. n8n hanterar förgreningslogik (som att kontrollera om det finns en nästa sida) bra, och du kan self-hosta för att undvika exekveringsbegränsningar. Zapier eller Make kan fortfarande fungera om du bara behöver en liten del av fälten och synkar en liten backlogg. Det avgörande är oftast hur kräsen ditt rapportark är kring struktur. Vill du ha hjälp att välja, prata med en automationsexpert.
Ditt Linear-rapportark ska inte behöva byggas om varje vecka. Sätt synken en gång, låt den köra dagligen och använd tiden du får tillbaka till arbetet som faktiskt driver projekt framåt.
Kontakta oss
Hör av dig, så diskuterar vi hur just din verksamhet kan dra nytta av alla fantastiska möjligheter som AI skapar.