Du öppnar en “Top Podcasts”-lista, plockar upp några avsnittstitlar och hoppar sedan mellan programsidor för att försöka lista ut vad som är värt din tid. Det är inte svårt. Det är bara konstant.
Det här är den typen av podcast-sammanfattningsautomation som gör att marknadschefer slipper jaga idéer, hjälper en grundare att hålla sig uppdaterad utan att tappa en hel förmiddag och ger konsulter ett strukturerat sätt att dela “lyssna på det här”-tips med kunder.
Det här flödet hämtar dagens toppepisoder för en genre, transkriberar en nedkortad del, sammanfattar varje avsnitt med OpenAI och skickar en snygg Gmail-digest. Du får se vad det gör, vad du behöver och hur du gör det till ditt.
Så här fungerar automationen
Hela n8n-flödet, från trigger till slutresultat:
n8n Workflow Template: OpenAI + Gmail: poddsammanfattningar dagligen
flowchart LR
subgraph sg0["Schedule Flow"]
direction LR
n0@{ icon: "mdi:message-outline", form: "rounded", label: "Gmail", 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/httprequest.dark.svg' width='40' height='40' /></div><br/>TaddyTopDaily"]
n2@{ icon: "mdi:swap-vertical", form: "rounded", label: "Genre", pos: "b", h: 48 }
n3@{ icon: "mdi:swap-vertical", form: "rounded", label: "Split Out", 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/httprequest.dark.svg' width='40' height='40' /></div><br/>Whisper Transcribe Audio"]
n5@{ icon: "mdi:swap-vertical", form: "rounded", label: "Final Data", pos: "b", h: 48 }
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/>Merge Results"]
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/html.dark.svg' width='40' height='40' /></div><br/>HTML"]
n8["<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/openAi.dark.svg' width='40' height='40' /></div><br/>Summarize Podcast"]
n9@{ icon: "mdi:play-circle", form: "rounded", label: "Schedule", pos: "b", h: 48 }
n10["<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/>Request Audio Crop"]
n11["<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/>Get Download Link"]
n12["<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/>Download Cut MP3"]
n13["<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/>Download Podcast"]
n14@{ icon: "mdi:cog", form: "rounded", label: "Wait", pos: "b", h: 48 }
n15@{ icon: "mdi:swap-horizontal", form: "rounded", label: "If Downloads Ready", pos: "b", h: 48 }
n7 --> n0
n14 --> n11
n2 --> n1
n9 --> n2
n3 --> n13
n5 --> n6
n6 --> n7
n1 --> n3
n12 --> n4
n13 --> n10
n11 --> n15
n8 --> n5
n15 --> n12
n15 --> n14
n10 --> n11
n4 --> 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 n9 trigger
class n15 decision
class n1,n4,n10,n11,n12,n13 api
class n6 code
classDef customIcon fill:none,stroke:none
class n1,n4,n6,n7,n8,n10,n11,n12,n13 customIcon
Problemet: att hänga med i poddar kräver för mycket klickande
Att upptäcka poddar låter kul tills det blir en rutin du måste underhålla. Du kollar listorna, öppnar fem avsnitt i nya flikar, skummar beskrivningar som inte säger något, och kan ändå inte avgöra vilket som faktiskt är värt att lyssna på. Sedan sparar du “till senare” och kommer aldrig tillbaka. Det värsta är den mentala kostnaden: du lägger din bästa uppmärksamhet på att bara välja vad du ska konsumera, istället för att lära dig något användbart eller göra om det till en idé du kan agera på.
Det byggs upp snabbt. Här brukar friktionen oftast uppstå.
- Att hoppa mellan topplistor blir en daglig vana som i tysthet stjäl cirka 30 minuter.
- Avsnittsbeskrivningar är marknadsföringstext, så du vet fortfarande inte vad du får.
- Vill du dela ett bra fynd slutar det med att du skriver om “varför det spelar roll”-delen från grunden.
- Missar du en dag eller två känns backloggen så stor att du slutar kolla helt.
Lösningen: dagens toppepisoder sammanfattade och skickade till din inkorg
Det här flödet körs enligt schema och bygger ett dagligt “vad som är värt din tid”-mejl för en podcastgenre. n8n hämtar toppepisoderna från Taddy, utökar listan och hämtar ljudet för varje avsnitt. Istället för att transkribera en hel timme begär det ett nedkortat segment, väntar tills klippet är klart, laddar ner det nedkortade ljudet och skickar det för transkribering. OpenAI sammanfattar sedan varje transkript till några läsbara stycken, och flödet sammanställer allt till en strukturerad HTML-digest med direktlänkar till avsnitten. Till sist levererar Gmail det till den adress du väljer.
Flödet startar med en schemalagd trigger och använder sedan HTTP-anrop för att hämta toppepisoder för din valda genre. Efter transkribering och OpenAI-sammanfattning slår det ihop varje avsnittsdata till ett formaterat mejl och skickar det via Gmail. Inga flikar. Ingen skumning. Bara ett meddelande du kan läsa på några minuter.
Det du får: automation vs. resultat
| Vad det här flödet automatiserar | Resultat du får |
|---|---|
|
|
Exempel: så här ser det ut
Säg att du kollar listorna och utvärderar 6 avsnitt varje morgon. Manuellt kan du lägga cirka 5 minuter per avsnitt på att öppna sidor, skumma och avgöra om det är värt det, plus ytterligare 10 minuter på att komma ihåg vad du valde. Det är ungefär 40 minuter per dag. Med det här flödet lägger du kanske 2 minuter på att ställa in genren en gång, och sedan läser du bara den dagliga Gmail-digesten på cirka 5 minuter. Du får tillbaka runt en halvtimme varje vardag, och du vet faktiskt vad varje avsnitt handlar om.
Det här behöver du
- n8n-instans (testa n8n Cloud gratis)
- Alternativ för egen hosting om du föredrar det (Hostinger fungerar bra)
- Taddy för att hämta dagliga topplistor för poddar.
- Gmail för att skicka digest-mejlet automatiskt.
- OpenAI API-nyckel (hämta den i OpenAI:s API-dashboard).
Nivå: Nybörjare. Du klistrar in API-nycklar, kopplar Gmail-uppgifter och ändrar ett genrevärde.
Vill du inte sätta upp det här själv? Prata med en automationsexpert (kostnadsfri 15-minuters konsultation).
Så fungerar det
En schemalagd körning drar igång allt. Vid den tid du väljer i n8n:s Schedule-nod startar flödet och sätter den podcastgenre du bryr dig om (teknik, nyheter, sport och så vidare).
Flödet hämtar dagens toppepisoder. Med Taddy:s API via HTTP Request hämtar det topplistan för genren och delar sedan upp listan så att varje avsnitt kan behandlas ett i taget.
Ljudet klipps ner och transkriberas. Det hämtar avsnittsljudet, begär en ljudtrimning, väntar, kontrollerar status och fortsätter först när den nedkortade filen är klar. Det nedkortade ljudet laddas ner och skickas till transkribering, vilket håller processen både snabbare och billigare än att bearbeta fullängdsavsnitt.
OpenAI skriver sammanfattningarna och Gmail levererar digesten. Varje transkript sammanfattas till några stycken, avsnittsposter kombineras och ett HTML-mejl byggs med direktlänkar. Gmail skickar den färdiga dagliga digesten till dig (eller ditt team).
Du kan enkelt ändra genren för att rikta in dig på en annan målgrupp eller byta mottagare för att skicka till en delad inkorg. Se hela implementationsguiden nedan för anpassningsalternativ.
Steg-för-steg-guide för implementering
Steg 1: konfigurera den schemalagda triggern
Det här arbetsflödet startar enligt ett schema för att automatiskt sammanställa och mejla en podcast-sammanfattning.
- Lägg till eller öppna Scheduled Start och ställ in schemaregeln så att den triggar vid timme
8. - Bekräfta att Scheduled Start är kopplad till Set Podcast Genre för att skicka kontrollen vidare i arbetsflödet.
Steg 2: anslut källan för podcast-topplistor
Det här steget sätter genren och hämtar de främsta podcast-topplistorna för den kategorin.
- I Set Podcast Genre ställer ni in värdet för genre till
TECHNOLOGY. - Öppna Retrieve Top Charts och ställ in URL till
https://api.taddy.org/med Method satt tillPOST. - I Retrieve Top Charts ställer ni in body-parametern query till
=query { getTopChartsByGenres( limitPerPage:10, filterByCountry:UNITED_STATES_OF_AMERICA, taddyType:PODCASTEPISODE, genres:PODCASTSERIES_{{ $json.genre }}){ topChartsId podcastEpisodes{ uuid name audioUrl podcastSeries{ uuid name } } } }. - I Retrieve Top Charts lägger ni till header-parametrarna X-USER-ID och X-API-KEY med era Taddy API-värden.
- I Expand Episodes List ställer ni in Field To Split Out till
data.getTopChartsByGenres.podcastEpisodesså att varje avsnitt behandlas separat.
Steg 3: konfigurera ljudtrimning och kontroller för att se när den är klar
Den här delen hämtar avsnittets ljud, trimmar ett segment och pollar tills det trimmade ljudet är klart.
- I Fetch Episode Audio ställer ni in URL till
={{ $json.audioUrl }}för att ladda ner avsnittets ljudfil. - I Request Audio Trim ställer ni in URL till
https://api.products.aspose.app/audio/cutter/api/cutteroch Content Type tillmultipart-form-data. - I Request Audio Trim ställer ni in body convertOption till
{"startTime":"00:08:00","endTime":"00:24:00","audioFormat":"mp3"}och lägger till binary-fältet 1 mappat till input data-fältetdata. - I Fetch Trim Status ställer ni in URL till
=https://api.products.aspose.app/audio/cutter/api/cutter/HandleStatus?fileRequestId={{ $('Request Audio Trim').item.json.Data.FileRequestId }}. - I Verify Trim Ready ställer ni in villkoret Left Value till
{{ $input.all().map(x=>x.json.Data.DownloadLink).reduce((accumulator, currentValue) => accumulator && currentValue, true) }}och behåller den booleska operatorn som true. - Bekräfta den villkorsstyrda routingen: Verify Trim Ready skickar true-resultat till Download Trimmed Audio och false-resultat till Delay Check, som sedan loopar tillbaka till Fetch Trim Status.
Steg 4: konfigurera transkribering och generering av sammanfattning
Det här steget transkriberar det trimmade ljudet och använder AI för att generera avsnittssammanfattningar.
- Öppna Audio Transcription och ställ in URL till
https://api.openai.com/v1/audio/transcriptionsmed Method satt tillPOST. - I Audio Transcription ställer ni in body-parametern model till
whisper-1och lägger till binary-fältet file mappat till input data-fältetdata. - Inloggningsuppgifter krävs: Anslut era openAiApi-uppgifter i Audio Transcription.
- Öppna Generate Episode Summary och ställ in Model till
gpt-4o-minimed prompt-meddelandet=Summarize the major points of the following podcast: {{ $json.text }}. Start your answer by saying 'This episode focuses on', 'This episode is about', etc. Contain your answer to 3-4 paragraphs max, and focus on only key information.. - Inloggningsuppgifter krävs: Anslut era openAiApi-uppgifter i Generate Episode Summary.
- I Assemble Summary Data ställer ni in Mode till
rawoch JSON Output till={ "podcast": "{{ $('Retrieve Top Charts').item.json.data.getTopChartsByGenres.podcastEpisodes[$itemIndex].podcastSeries.name }}", "name": "{{ $('Retrieve Top Charts').item.json.data.getTopChartsByGenres.podcastEpisodes[$itemIndex].name.replace(/\"/g,'\"') }}", "url":"{{ $('Retrieve Top Charts').item.json.data.getTopChartsByGenres.podcastEpisodes[$itemIndex].audioUrl.replace(/"/g,'') }}", "summary":"{{ $json.message.content.replace(/\\/g, '\\\\').replace(/"/g, '\\"').replace(/\\n/g, '.
').replace(/\\r/g, '\\r').replace(/\\t/g, '\\t') }}" }
$json.text för att Generate Episode Summary ska kunna skapa en sammanfattning.Steg 5: bygg digesten och skicka mejlet
Det här steget kombinerar alla sammanfattningar, bygger HTML-mejlet och skickar det.
- I Combine Episode Records ställer ni in JavaScript till
return [{fields:$input.all().map(x=>x.json)}]för att samla alla avsnittssammanfattningar i en array. - I Build HTML Digest klistrar ni in HTML-mallen och säkerställer att uttrycket för att bygga raderna är inkluderat:
{{ ['Podcast', 'Episode', 'Summary'].map(propname=>'. ').join('') }}'+propname+'
- I Send Email Dispatch ställer ni in Message till
={{ $json.html }}och Subject tillPodcast Review. - Inloggningsuppgifter krävs: Anslut era gmailOAuth2-uppgifter i Send Email Dispatch.
html-fält och att Send Email Dispatch refererar till det exakt som ={{ $json.html }}.Steg 6: testa och aktivera ert arbetsflöde
Validera hela flödet från start till mål innan ni slår på den schemalagda körningen.
- Klicka på Execute Workflow och övervaka varje nod från Scheduled Start till Send Email Dispatch för att säkerställa att alla steg slutförs.
- Bekräfta att Verify Trim Ready loopar via Delay Check tills en giltig
DownloadLinkvisas i Fetch Trim Status. - Kontrollera output från Build HTML Digest för att verifiera att HTML-tabellen innehåller podcastnamn, avsnittslänkar och sammanfattningar.
- Verifiera att ett mejl kommer fram med ämnesraden
Podcast Reviewoch renderat HTML-innehåll. - När allt är bekräftat växlar ni arbetsflödet till Active för att köra enligt den schemalagda kadensen.
Vanliga fallgropar
- Taddy-uppgifter kan löpa ut eller råka kopieras fel. Om det skapar fel, kontrollera först header-parametrarna i noden TaddyTopDaily (X-USER-ID och X-API-KEY).
- Om du använder Wait-noder eller extern rendering varierar processtiderna. Öka väntetiden om efterföljande noder misslyckas på grund av tomma svar.
- Gmail OAuth-uppgifter kan fallera om fel Google Cloud-projekt används. Bekräfta att Gmail-noden använder rätt client_secret.json-uppgifter och att Gmail API är aktiverat.
Vanliga frågor
Vanligtvis under 30 minuter om du redan har dina API-nycklar.
Nej. Du kopplar konton, klistrar in nycklar och ändrar en genreinställning.
Ja. n8n har ett gratis alternativ för egen hosting och en gratis provperiod på n8n Cloud. Molnplaner startar på 20 USD/månad för högre volym. Du behöver också räkna med OpenAI API-användning, vilket oftast är litet för korta sammanfattningar.
Två alternativ: n8n Cloud (hanterat, enklast att komma igång) eller egen hosting på en VPS. För egen hosting är Hostinger VPS prisvärt och hanterar n8n bra. Egen hosting ger dig obegränsade körningar men kräver grundläggande serverhantering.
Ja, och det är det normala sättet att använda det. Ändra genrevärdet i noden “Set Podcast Genre” och uppdatera sedan mottagaren i Gmail-noden “Send Email Dispatch”. Många justerar också steget “Build HTML Digest” för att lägga till sektioner som “Topp 3-val” eller för att inkludera en kort introtext med sin egen ton.
Oftast beror det på felaktig eller saknad X-USER-ID / X-API-KEY i request headers för TaddyTopDaily. Dubbelkolla att du skapade nyckeln i ditt Taddy-utvecklarkonto och klistra sedan in den i HTTP Request-noden exakt (inga extra mellanslag). Om det fungerade igår men inte idag, generera en ny nyckel och uppdatera den i n8n. Bekräfta också att du använder ett giltigt genrevärde som Taddy känner igen.
Det beror på hur många avsnitt du hämtar per dag och hur länge du är villig att vänta på transkribering, men de flesta team kör utan problem 5–20 avsnitt i en och samma digest. På n8n Cloud beror dina exekveringsgränser på din plan. Om du kör egen hosting finns ingen plattformsgräns för körningar, men din server och externa API:er blir de verkliga flaskhalsarna. Ärligt talat: börja smått med 5 avsnitt, bekräfta att mejlformatet ser bra ut och skala sedan upp.
Ofta, ja, eftersom flödet behöver väntelägen, statuskontroller och flerstegsprocess per avsnitt. n8n hanterar den typen av förgreningslogik snyggt utan att bli en röra av separata Zaps eller scenarier. Det är också enklare att köra egen hosting om du vill köra det dagligen utan att oroa dig för task-prissättning. Zapier eller Make kan fortfarande fungera om du förenklar flödet (till exempel sammanfattar bara avsnittsbeskrivningar istället för att trimma och transkribera ljud). Prata med en automationsexpert om du vill ha hjälp att välja den enklaste setupen som fortfarande ger bra sammanfattningar.
När det här väl rullar slutar du “kolla poddar” och börjar läsa de få som spelar roll. Sätt upp det, låt det skicka och använd den extra tiden till arbete som faktiskt tar dig 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.