Bidragsresearch faller isär på samma tråkiga ställe varje gång: du hittar något lovande, tappar länken, glömmer deadline och återupptäcker det tre veckor senare när det är för sent.
Den här grant alert automation träffar marknadschefer och ops-ansvariga som redan bär fem hattar. Men ärligt talat är det småföretagare som jagar stöd som känner det mest. Du får en daglig pipeline med poängsatta möjligheter, och bara de med högt värde avbryter dig.
Du sätter upp ett n8n-flöde som hämtar nya stödartiklar, låter AI läsa och poängsätta dem, loggar allt i Google Sheets och pingar Chatwork bara när det är värt din uppmärksamhet.
Så fungerar automationen
Här är hela arbetsflödet du kommer att sätta upp:
n8n Workflow Template: Google Sheets + Chatwork: poängsatta bidragslarm
flowchart LR
subgraph sg0["Daily Schedule (9AM) Flow"]
direction LR
n0@{ icon: "mdi:play-circle", form: "rounded", label: "Daily Schedule (9AM)", pos: "b", h: 48 }
n1@{ icon: "mdi:swap-vertical", form: "rounded", label: "Workflow Configuration", pos: "b", h: 48 }
n2["<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/httprequest.dark.svg' width='40' height='40' /></div><br/>Search Google News"]
n3@{ icon: "mdi:cog", form: "rounded", label: "Read J-Net21 RSS", pos: "b", h: 48 }
n4@{ icon: "mdi:cog", form: "rounded", label: "Read Mirasapo RSS", pos: "b", h: 48 }
n5["<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/merge.svg' width='40' height='40' /></div><br/>Merge All Sources"]
n6["<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/>Extract URLs"]
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/httprequest.dark.svg' width='40' height='40' /></div><br/>Fetch Article Content"]
n8@{ icon: "mdi:robot", form: "rounded", label: "AI Scoring Agent", pos: "b", h: 48 }
n9@{ icon: "mdi:brain", form: "rounded", label: "OpenAI GPT-4o", pos: "b", h: 48 }
n10@{ icon: "mdi:robot", form: "rounded", label: "Structured Output Parser", pos: "b", h: 48 }
n11@{ icon: "mdi:database", form: "rounded", label: "Check Duplicate", pos: "b", h: 48 }
n12@{ icon: "mdi:swap-horizontal", form: "rounded", label: "Is New Subsidy?", pos: "b", h: 48 }
n13@{ icon: "mdi:swap-horizontal", form: "rounded", label: "High Priority?", pos: "b", h: 48 }
n14@{ icon: "mdi:swap-vertical", form: "rounded", label: "Set High Priority", pos: "b", h: 48 }
n15@{ icon: "mdi:swap-vertical", form: "rounded", label: "Set Normal Priority", pos: "b", h: 48 }
n16@{ icon: "mdi:database", form: "rounded", label: "Save to Google Sheets", pos: "b", h: 48 }
n17["<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/httprequest.dark.svg' width='40' height='40' /></div><br/>Send Chatwork"]
n6 --> n7
n9 -.-> n8
n13 --> n14
n13 --> n15
n11 --> n12
n12 --> n13
n8 --> n11
n3 --> n5
n5 --> n6
n4 --> n5
n14 --> n16
n2 --> n5
n15 --> n16
n0 --> n1
n7 --> n8
n16 --> n17
n1 --> n2
n1 --> n3
n1 --> n4
n10 -.-> 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 n8,n10 ai
class n9 aiModel
class n12,n13 decision
class n11,n16 database
class n2,n7,n17 api
class n6 code
classDef customIcon fill:none,stroke:none
class n2,n5,n6,n7,n17 customIcon
Varför det här spelar roll: bidragsresearch blir rörigt snabbt
Att leta stöd låter enkelt tills du gör det varje vecka. Du hoppar mellan Google News-träffar, RSS-flöden, myndighetsportaler och “sammanfattningar” som utelämnar den enda saken du behövde (behörighet, budgetstorlek, deadline eller vem som ansvarar). Sedan börjar den riktiga tidstjuven: öppna flikar, skumma sidor, kopiera detaljer till ett kalkylark och försöka avgöra om det är relevant för din verksamhet. Missar du ett bra program kan det kosta dig månader av runway. Jagat du fel spår bränner du kvällar helt i onödan.
Friktionen byggs på. Så här brakar det ihop i verkligheten.
- Du läser en hel artikel bara för att inse att den inte gäller din bransch, vilket är ett brutalt slöseri med fokus.
- Deadlines och krav fångas olika varje gång, så ditt ark förvandlas till en “anteckningskyrkogård”.
- Dubbletter smyger sig in från överlappande källor, och du börjar tveka på vad du redan har granskat.
- Notiser blir brus, så du börjar ignorera alertar och slutar till slut att kolla helt.
Det du bygger: AI-poängsatta stödalertar till Sheets + Chatwork
Det här flödet fungerar som en liten researchassistent som dyker upp varje morgon. På ett schema hämtar det de senaste stöden och bidragsnyheterna från tre källor (Google News-sökning plus RSS-flödena från J-Net21 och Mirasapo Plus). För varje ny länk hämtar det hela artikeltexten, sedan läser en AI-agent sidan och extraherar fälten du faktiskt behöver: deadline, målgrupp, budgetbelopp, myndigheten/organisationen bakom och en kort relevansbedömning. Samma AI sätter också en viktighetspoäng från 1–10 och en brådskandegrad. Till sist loggar n8n posten som en felfri, strukturerad rad i Google Sheets och skickar en Chatwork-alert bara när poängen passerar din tröskel (flödet använder 7+ som standard).
Flödet startar med en morgontrigger och källaggregiering. Sedan gör det rörig text till strukturerad JSON, kontrollerar ditt Google Sheet för att undvika dubbletter och märker varje post som standard eller hög prioritet. Chatwork lyser bara upp för de med hög prioritet, så teamet behåller fokus.
Det du bygger
| Det som automatiseras | Det du uppnår |
|---|---|
|
|
Förväntade resultat
Säg att du kollar tre källor varje morgon och granskar cirka 10 artiklar. Om du lägger kanske 6 minuter på att öppna, skumma och kopiera detaljer per post blir det ungefär en timme om dagen. Med det här flödet blir den “manuella” delen en snabb scan i Google Sheets (cirka 5 minuter), och Chatwork avbryter dig bara när något får 7+ och ser brådskande ut. Du tar fortfarande det slutliga beslutet, men du slutar göra grovjobbet som leder fram till beslutet.
Innan du börjar
- n8n-instans (prova n8n Cloud gratis)
- Alternativ för egen drift om du föredrar det (Hostinger fungerar bra)
- Google Sheets för att lagra historik och förhindra dubbletter.
- Chatwork för att posta alertar med hög prioritet i ett rum.
- OpenAI API-nyckel (hämta den från OpenAI-dashboarden)
Svårighetsgrad: Medel. Du kopplar konton, klistrar in ID:n/tokens i setup-notisen och testkör ett varv från start till mål.
Vill du att någon bygger detta åt dig? Prata med en automationsexpert (gratis 15-minuters konsultation).
Steg för steg
En schemalagd morgontrigger drar igång. n8n kör en gång per dag och laddar sedan dina sparade parametrar (som Google Spreadsheet-ID och Chatwork Room-ID) från setup-sektionen.
Artiklar samlas in från flera flöden. Flödet frågar Google News-sökning och läser två RSS-flöden (J-Net21 och Mirasapo Plus). Allt slås ihop till en ström, och sedan normaliseras länkarna till en felfri lista som du kan processa pålitligt.
AI läser innehållet och gör om det till strukturerade fält. För varje URL hämtar n8n artikeltexten, sedan utvärderar AI-agenten relevans för små och medelstora företag, poängsätter viktighet (1–10), sätter brådska och extraherar nyckeldetaljer som applicationDeadline och targetRecipients. En strukturerad output-parser konverterar det till konsekvent JSON så att det inte blir “AI-smet” i kalkylarket.
Dubbletter blockeras och alertar filtreras. Flödet kontrollerar Google Sheets efter en befintlig käll-URL, taggar posten som standard eller hög prioritet, skriver raden och skickar först därefter ett Chatwork-meddelande för poster med hög poäng.
Du kan enkelt ändra poängtröskeln (7+) så att den matchar din tolerans för alertar, eller byta Chatwork-notiser mot e-post om det passar teamet bättre. Se hela implementeringsguiden nedan för anpassningsalternativ.
Steg-för-steg-guide för implementering
Steg 1: konfigurera den schemalagda triggern
Ställ in arbetsflödet så att det körs varje morgon och initiera inparametrarna som används i alla källflöden och notifieringar.
- Öppna Scheduled Morning Trigger och ställ in det dagliga schemat genom att bekräfta att Trigger At Hour är
9. - I Configure Parameters lägger ni till sök- och flödesvärden: ställ in googleNewsSearchQuery till
2026年度 補助金 OR 助成金 OR 令和8年度, jnet21RssUrl tillhttps://j-net21.smrj.go.jp/snavi/support/support.xmloch mirasapoPlusRssUrl tillhttps://mirasapo-plus.go.jp/subsidy/feed/. - Fyll i platshållarna i Configure Parameters för chatworkRoomId, chatworkApiToken och googleSheetsId med era faktiska värden.
- Bekräfta parallell förgrening: Configure Parameters skickar output till både Query News Search och Retrieve J-Net21 Feed samt Retrieve Mirasapo Feed parallellt.
Steg 2: anslut Google Sheets
Konfigurera Google Sheets-noderna för duplicatkontroller och för att spara poängsatta poster.
- Öppna Lookup Existing Entries och ställ in Resource till
spreadsheetmed Title som補助金・助成金. - Autentisering krävs: anslut era googleSheetsOAuth2Api-autentiseringsuppgifter i Lookup Existing Entries.
- Öppna Write to Sheets och ställ in Operation till
appendOrUpdate, Sheet Name tillSubsidiesoch Document ID till{{ $('Configure Parameters').first().json.googleSheetsId }}. - Autentisering krävs: anslut era googleSheetsOAuth2Api-autentiseringsuppgifter i Write to Sheets.
Steg 3: konfigurera källaggregering
Samla in bidragskällor från Google News och två RSS-flöden, och normalisera sedan länkarna för innehållsextraktion.
- I Query News Search ställer ni in URL till
{{ 'https://www.google.com/search?q=' + encodeURIComponent($('Configure Parameters').first().json.googleNewsSearchQuery) + '&tbm=nws&num=20' }}och låter headers vara aktiverade. - I Retrieve J-Net21 Feed ställer ni in URL till
{{ $('Configure Parameters').first().json.jnet21RssUrl }}. - I Retrieve Mirasapo Feed ställer ni in URL till
{{ $('Configure Parameters').first().json.mirasapoPlusRssUrl }}. - I Combine Source Streams ställer ni in Number of Inputs till
3för att slå ihop alla källor. - Lämna Derive Link List som den är så att den outputtar normaliserade fält för
url,title,sourceochpubDate. - I Pull Article Text ställer ni in URL till
{{ $json.url }}och säkerställer att svarsformatet är text.
Steg 4: konfigurera AI-baserad relevanspoängsättning
Använd AI-agenten för att extrahera strukturerade bidragsdetaljer och en prioritetspoäng.
- I AI Relevance Scorer ställer ni in Text till
{{ $json.data }}och behåller Prompt Type somdefine. - Säkerställ att OpenAI Chat Model är ansluten som språkmodell för AI Relevance Scorer; autentisering krävs: anslut era openAiApi-autentiseringsuppgifter i OpenAI Chat Model.
- Bekräfta att Structured JSON Parser är kopplad till AI Relevance Scorer som output-parser och använder det medföljande JSON-schemaexemplet.
Steg 5: konfigurera output och routning av aviseringar
Filtrera dubbletter, tilldela prioriteringsflaggor, lagra resultat och skicka Chatwork-aviseringar.
- I Evaluate New Entry bekräftar ni att villkoret använder
{{ $('Lookup Existing Entries').all().map(item => item.json.sourceUrl).includes($('AI Relevance Scorer').item.json.sourceUrl) }}för att filtrera dubbletter. - I Assess Priority Level verifierar ni att tröskeln använder
{{ $json.importanceScore }}med Greater Than or Equal satt till7. - I Assign High Flag ställer ni in alertEmoji till
🚨【緊急・重要】och priorityTag tillHigh. - I Assign Standard Flag ställer ni in alertEmoji till
ℹ️och priorityTag tillNormal. - I Dispatch Chatwork Alert ställer ni in URL till
{{ $('Configure Parameters').first().json.chatworkRoomId }}/messagesoch behåller Method somPOST. - Ställ in Chatwork-headern X-ChatWorkToken till
{{ $('Configure Parameters').first().json.chatworkApiToken }}och behåll meddelandets body-mall enligt konfigurationen.
Steg 6: testa och aktivera ert arbetsflöde
Kör en manuell exekvering för att validera dataflöde, AI-poängsättning och leverans av aviseringar.
- Klicka på Execute Workflow och bekräfta att Configure Parameters triggar de tre källnoderna parallellt.
- Verifiera att AI Relevance Scorer returnerar strukturerad JSON (inklusive
importanceScoreochurgency). - Kontrollera Write to Sheets för att bekräfta att rader läggs till eller uppdateras i arket
Subsidies. - Bekräfta att ett Chatwork-meddelande skapas av Dispatch Chatwork Alert med korrekt poäng, brådska och käll-URL.
- Aktivera arbetsflödet med reglaget Active när testkörningen lyckas.
Felsökningstips
- Google Sheets-inloggningar kan gå ut eller kräva specifika behörigheter. Om det skapar fel, kontrollera n8n-skärmen Credentials och bekräfta att det anslutna Google-kontot kan redigera målarket.
- Om du använder Wait-noder eller extern rendering varierar processtiderna. Öka väntetiden om efterföljande noder fallerar på tomma svar.
- Standardprompter i AI-noder är generiska. Lägg in er tonalitet tidigt, annars kommer du att redigera output för alltid.
Snabba svar
Cirka 30 minuter om dina konton och tokens är redo.
Nej. Du klistrar mest in ID:n/tokens och kopplar Google Sheets och Chatwork. Flödets “code”-nod är redan konfigurerad åt dig.
Ja. n8n har ett gratis alternativ för egen drift och en gratis provperiod på n8n Cloud. Cloud-planer börjar på 20 USD/månad för högre volym. Du behöver också räkna in OpenAI API-kostnader, som vanligtvis ligger på några cent per analyserad artikel beroende på längd.
Två alternativ: n8n Cloud (hanterad, enklast att komma igång) eller egen drift på en VPS. För egen drift är Hostinger VPS prisvärd och hanterar n8n bra. Egen drift ger dig obegränsade körningar men kräver grundläggande serverhantering.
Ja, och det är ganska rakt på sak. Du kan justera villkoren i “Assess Priority Level” för att höja eller sänka poängtröskeln, och du kan tweaka AI-agentens prompt så att den prioriterar vissa branscher, regioner eller företagsstorlekar. Vissa team lägger även till ett andra Chatwork-rum för “standard”-poster, eller ersätter Chatwork helt genom att byta HTTP Request-noden “Dispatch Chatwork Alert” mot Gmail eller Telegram. Rubrikerna i Google Sheets är desamma, vilket gör rapporteringen enkel.
Oftast beror det på en ogiltig eller utgången Chatwork API-token, eller att Room ID är fel. Dubbelkolla värdena du angav i Sticky Note-setup-sektionen och bekräfta sedan att ditt Chatwork-konto har åtkomst till rummet. Om anropet fungerar ibland och misslyckas andra gånger kan du slå i rate limits när många poster får hög poäng samtidigt, så batchning eller att höja poängtröskeln kan hjälpa.
I praktiken hanterar det utan problem dussintals artiklar per dag.
Ofta, ja, eftersom det här inte är en enkel “RSS → meddelande”-zap. Du behöver deduplikering, förgreningslogik och en AI-agent som läser hela texten, extraherar strukturerade fält och poängsätter relevans innan någon blir notifierad. n8n är starkt där, och egen drift innebär att du inte betalar extra varje gång flödet loopar igenom en lista med länkar. Zapier eller Make kan fortfarande fungera om du håller det lättviktigt (till exempel ett RSS-flöde och ett enkelt filter), men så fort du vill ha konsekventa JSON-fält och routing baserad på poäng märker du begränsningarna. Om du tvekar, prata med en automationsexpert så pekar vi dig mot det enklaste alternativet som passar.
När det här väl rullar blir ditt kalkylark din systemkälla och Chatwork blir larmklockan för hög prioritet. Det är hela poängen.
Kontakta oss
Hör av dig, så diskuterar vi hur just din verksamhet kan dra nytta av alla fantastiska möjligheter som AI skapar.