Submit your podcast or video URL using a simple form and the workflow automatically transcribes the full episode with speaker labels and timestamps. GPT-4o-mini then reads the transcript and writes a complete LinkedIn newsletter article — headline, 400–600 word body, five key takeaways, and hashtags — following seven LinkedIn readability rules. The finished draft is saved to Google Sheets with a Status of "Draft" so you can review and publish when ready. Built for podcast hosts, content marketers, and personal brand builders who want to turn every episode into a LinkedIn article without writing from scratch.
⚠️ WayinVideo API key appears in 2 steps — replace
YOUR_WAYINVIDEO_API_KEYin both 2. WayinVideo — Submit Transcription and 4. WayinVideo — Get Transcript Results. Missing either one will cause the workflow to fail.
Estimated Setup Time: 15–20 minutes
Import the workflow — Open n8n → Workflows → Import from JSON → paste the workflow JSON → click Import
Get your WayinVideo API key — Log in to your WayinVideo account → go to Account Settings → copy your API key
Add your WayinVideo API key to node 2 — Open node 2. WayinVideo — Submit Transcription → find the Authorization header value that says Bearer YOUR_WAYINVIDEO_API_KEY → replace YOUR_WAYINVIDEO_API_KEY with your actual key
Add your WayinVideo API key to node 4 — Open node 4. WayinVideo — Get Transcript Results → find the same Authorization header → replace YOUR_WAYINVIDEO_API_KEY again with the same key
Connect OpenAI — Open node 9. OpenAI — GPT-4o-mini Model → click the credential dropdown → add your OpenAI API key → test the connection
Create your Google Sheet tab — Open your Google Sheet → add a tab named exactly LinkedIn Drafts → add these 10 column headers in row 1: Podcast Title, Video URL, Episode Duration (min), LinkedIn Headline, LinkedIn Article, Key Takeaways, Hashtags, Word Count, Generated On, Status
Connect Google Sheets — Open node 11. Google Sheets — Save LinkedIn Draft → click the credential dropdown → add Google Sheets OAuth2 → sign in with your Google account → authorize access
Update the Sheet ID in node 11 — In node 11. Google Sheets — Save LinkedIn Draft, the document ID currently says YOUR_GOOGLE_SHEET_ID → click the document field → select your actual spreadsheet from the list, or manually replace the ID with the string between /d/ and /edit in your Sheet URL
Activate the workflow — Toggle the workflow to Active → copy the Form URL from node 1. Form — Podcast URL + Details → open it in a browser to submit your first episode
Step 1 — Form: Podcast URL + Details
You open the form URL in a browser and fill in five fields: the podcast or video URL (YouTube, Zoom, Vimeo, or any direct link), the episode title, the host and guest name, the target audience, and optionally your preferred LinkedIn tone. Tone defaults to "Professional and insightful" if left blank. Submitting the form starts the workflow.
Step 2 — HTTP: WayinVideo — Submit Transcription
The podcast URL is sent to the WayinVideo API with the target language set to English. WayinVideo accepts the job and returns a task ID confirming transcription has started.
Step 3 — Wait: 60 Seconds
The workflow pauses for 60 seconds before checking the transcription status for the first time. This gives WayinVideo time to begin processing the audio before the first poll.
Step 4 — HTTP: WayinVideo — Get Transcript Results
A GET request checks the WayinVideo results endpoint using the task ID from step 2. It returns the current processing status and, once complete, the full transcript with speaker labels, timestamps, and text for each segment.
Step 5 — IF: Transcription Complete?
This is the polling gate. If the status equals SUCCEEDED (YES path), the transcript is ready and the workflow moves forward to formatting. If the status is anything else (NO path — still processing), the workflow routes to 6. Wait — 30 Seconds Retry which pauses 30 seconds then loops back to step 4 to check again. This repeats automatically until transcription succeeds.
Step 6 — Wait: 30 Seconds Retry
This step handles the not-yet-complete case. The workflow pauses 30 seconds then returns to step 4 for another status check. The loop continues until WayinVideo returns SUCCEEDED.
Step 7 — Code: Format Transcript
Each transcript segment is formatted as [Speaker Name | MM:SS] text so GPT receives a structured, readable conversation. Total episode duration in minutes is calculated from the last segment's end time. Unique speaker names are collected. Word count is calculated. All form inputs (episode title, host/guest name, target audience, tone, video URL) are also packaged here for the AI prompt.
Step 8 — AI Agent: Write LinkedIn Newsletter
GPT-4o-mini receives the formatted transcript as the user message and a detailed system prompt as context. The system prompt provides episode details, specifies seven writing rules (short paragraphs, hook-first, human tone, no filler, consistent tone, CTA at the end, and only use content from the transcript), and specifies the exact output format with labeled sections: HEADLINE, ARTICLE, KEY TAKEAWAYS, and HASHTAGS.
Step 9 — OpenAI: GPT-4o-mini Model
This is the language model powering the article writing. It runs with default temperature settings and no custom token cap — the article length is controlled by the prompt instructions (400–600 words for the body).
Step 10 — Code: Parse AI Output
The AI output text is parsed using regex to extract each labeled section. The HEADLINE, ARTICLE, KEY TAKEAWAYS, and HASHTAGS sections are each extracted individually. Word count of the final article is calculated. All fields are packaged with the episode title, video URL, and duration for the sheet row.
Step 11 — Google Sheets: Save LinkedIn Draft
One row is appended to your LinkedIn Drafts tab with all 10 columns populated: podcast title, video URL, episode duration in minutes, LinkedIn headline, full article, key takeaways, hashtags, word count, generation timestamp, and Status set to "Draft". The draft is now ready for you to open, review, and publish to LinkedIn.
✅ Speaker-labeled transcript — WayinVideo attributes every sentence to the correct speaker so GPT understands the conversation structure and can reference who said what
✅ Automatic retry polling — The workflow checks every 30 seconds after the initial 60-second wait — no manual monitoring needed regardless of episode length
✅ Seven LinkedIn writing rules enforced — Short paragraphs, hook-first structure, human tone, no filler, consistent voice, facts only from the transcript, and a closing CTA are all built into the prompt
✅ Timestamped transcript for context — Each segment includes the MM:SS timestamp so GPT understands the flow and can reference specific moments in the article
✅ Draft status in Google Sheets — Every article saves with Status = Draft so you have a review stage before publishing — nothing goes live without your approval
✅ Five action-verb takeaways — The prompt requires exactly five key takeaways each starting with an action verb, making them ready to use as pull quotes or bullet points on LinkedIn
✅ Tone personalization per episode — Your chosen LinkedIn tone (professional, casual, data-driven, etc.) is passed to the AI and applied consistently throughout the article
Change the retry wait time for longer podcasts — In node 6. Wait — 30 Seconds Retry, change the wait duration from 45 seconds (the current value) to 60 or 90 seconds for very long podcasts that take more time to process, reducing unnecessary API calls.
Add a Gmail notification when the draft is saved — After node 11. Google Sheets — Save LinkedIn Draft, add a Gmail step that sends you a brief email with the episode title, headline, and a link to your LinkedIn Drafts sheet so you know when a new draft is ready.
Save to Google Docs instead of Sheets — Replace node 11. Google Sheets — Save LinkedIn Draft with a Google Docs create step that saves the headline and article as a formatted editable document — giving you a word-processor-ready draft alongside the sheet log.
Add a Slack notification for your content team — After node 11. Google Sheets — Save LinkedIn Draft, add a Slack step that posts the episode title, the LinkedIn headline, and today's date to a #content-drafts channel so your team knows a new article is ready for review.
Extract quotes for social media posts — In node 8. AI Agent — Write LinkedIn Newsletter, add a sixth output section to the prompt: PULL QUOTES: List 3 direct quotes from the transcript that would work as standalone social posts, each under 25 words — then extend the regex in node 10 to capture this section.
WayinVideo returning an error on submission:
YOUR_WAYINVIDEO_API_KEY in node 2. WayinVideo — Submit Transcription is replaced with your actual API key — not the placeholder textWorkflow stuck in the retry loop:
Transcript is empty after SUCCEEDED:
OpenAI not generating the article:
Google Sheets not logging the draft:
YOUR_GOOGLE_SHEET_ID in node 11 has been replaced with your actual sheet ID — or select your spreadsheet from the document dropdownNeed help setting this up or want a custom version built for your team or agency?
📧 Email: [email protected]
🌐 Website: https://isawow.com/