by isaWOW
Description Add your old YouTube video URLs to a Google Sheet once and every Monday at 9AM the workflow automatically processes each one end to end. WayinVideo runs two sequential APIs — first Summarization to extract structured highlights and tags, then AI Clipping to produce up to 3 viral short-form clips with 9:16 reframe, animated captions, and HD quality. GPT-4o-mini then writes platform-specific captions for TikTok, Facebook, and LinkedIn for each clip. Every clip is downloaded from WayinVideo and uploaded to Google Drive before the export link expires, all captions and Drive links are saved to a Content Calendar sheet, and the video row is marked Processed. Built for content creators, social media managers, and agencies who want to automatically repurpose their existing video library into short-form content every week without touching a single tool. What This Workflow Does Runs two WayinVideo APIs per video sequentially** — First Summarization extracts structured highlights and tags, then AI Clipping produces up to 3 vertical clips with 9:16 reframe and animated captions Writes three platform captions per clip** — GPT-4o-mini produces a TikTok caption (max 150 characters), a Facebook post (100–200 words), and a LinkedIn post (150–250 words) for every clip Downloads clips before export links expire** — Each clip is downloaded from WayinVideo immediately and uploaded to Google Drive so you never lose access Logs 16 fields per clip to the Content Calendar sheet** — Video summary, clip title, score, timestamp, WayinVideo export link, Google Drive link, all three captions, hashtags, and status are all saved in one row Marks each video as Processed automatically** — After all clips are saved, the Video List row is updated with Processed status and today's date so it is never processed again Runs two independent retry loops** — One loop handles summarization polling, another handles clipping polling — each retrying every 30 seconds independently until SUCCEEDED Processes all pending videos every Monday** — Every video in the sheet with a pending status is picked up and run through the full pipeline in one automated weekly run Setup Requirements Tools Needed n8n instance (self-hosted or cloud) WayinVideo account with API access OpenAI account with GPT-4o-mini API access Google Sheets (two tabs: Video List and Content Calendar) Google Drive (one folder for clips) Credentials Required WayinVideo API key (pasted into 3. WayinVideo — Submit Summarization, 5. WayinVideo — Get Summary Results, 9. WayinVideo — Submit AI Clipping, and 11. WayinVideo — Get Clip Results) OpenAI API key Google Sheets OAuth2 (used in 2. Google Sheets — Read Pending Videos, 20. Google Sheets — Save to Content Calendar, and 21. Google Sheets — Mark Video as Processed) Google Drive OAuth2 > ⚠️ WayinVideo API key appears in 4 steps — replace YOUR_WAYINVIDEO_API_KEY in all four: 3. WayinVideo — Submit Summarization, 5. WayinVideo — Get Summary Results, 9. WayinVideo — Submit AI Clipping, and 11. WayinVideo — Get Clip Results. Missing any one will cause the workflow to fail. > ⚠️ Two separate Google Sheet IDs are used — replace YOUR_VIDEO_LIST_SHEET_ID in 2. Google Sheets — Read Pending Videos and 21. Google Sheets — Mark Video as Processed, and replace YOUR_CONTENT_CALENDAR_SHEET_ID in 20. Google Sheets — Save to Content Calendar. Estimated Setup Time: 25–30 minutes Step-by-Step Setup 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 3 — Open node 3. WayinVideo — Submit Summarization → find the Authorization header value Bearer YOUR_WAYINVIDEO_API_KEY → replace the placeholder with your actual key Add your WayinVideo API key to node 5 — Open node 5. WayinVideo — Get Summary Results → find the same Authorization header → replace the placeholder with the same key Add your WayinVideo API key to node 9 — Open node 9. WayinVideo — Submit AI Clipping → find the Authorization header → replace the placeholder Add your WayinVideo API key to node 11 — Open node 11. WayinVideo — Get Clip Results → find the same Authorization header → replace the placeholder Connect OpenAI — Open node 16. OpenAI — GPT-4o-mini Model → click the credential dropdown → add your OpenAI API key → test the connection Create your Video List sheet — Open your Google Sheet → add a tab named exactly Video List → add these 5 column headers in row 1: Video URL, Video Title, Niche / Category, Status, Last Processed Date → add your first video URLs in the rows below, leaving Status blank Create your Content Calendar sheet — In the same spreadsheet or a separate one → add a tab named exactly Content Calendar → add these 16 column headers: Video URL, Video Title, Niche, Video Summary, Clip Number, Clip Title, Clip Score, Clip Timestamp, WayinVideo Export Link, Google Drive Link, TikTok Caption, Facebook Caption, LinkedIn Caption, Hashtags, Processed On, Status Get your Video List Sheet ID — Open the Google Sheet containing the Video List tab in a browser → copy the string between /d/ and /edit in the URL Connect Google Sheets for reading and marking — Open node 2. Google Sheets — Read Pending Videos → click the document field → replace YOUR_VIDEO_LIST_SHEET_ID with your actual Sheet ID → connect Google Sheets OAuth2 → repeat the same Sheet ID replacement in node 21. Google Sheets — Mark Video as Processed Get your Content Calendar Sheet ID — If it is a separate spreadsheet, open it and copy the Sheet ID from the URL; if it is the same spreadsheet, use the same Sheet ID Connect Google Sheets for content calendar — Open node 20. Google Sheets — Save to Content Calendar → replace YOUR_CONTENT_CALENDAR_SHEET_ID with the correct Sheet ID → confirm Google Sheets OAuth2 is connected Get your Google Drive folder ID — Open your target Google Drive folder in a browser → the folder ID is the string at the end of the URL after /folders/ Connect Google Drive — Open node 19. Google Drive — Upload Clip → click the credential dropdown → add Google Drive OAuth2 → authorize access → replace YOUR_GOOGLE_DRIVE_FOLDER_ID in the folder field with your actual folder ID Activate the workflow — Toggle the workflow to Active — it will run automatically every Monday at 9AM. To test immediately, click on node 1. Schedule — Every Monday 9AM and use the manual Execute option. How It Works (Step by Step) Step 1 — Schedule: Every Monday 9AM The workflow fires automatically every Monday at 9AM using the cron expression 0 9 * * 1. No manual trigger is needed once the workflow is active. Step 2 — Google Sheets: Read Pending Videos All rows from your Video List tab are read. Each row contains a video URL, title, and niche. Every unprocessed video is picked up and run through the full pipeline. Step 3 — HTTP: WayinVideo — Submit Summarization The video URL is sent to WayinVideo's Summarization API. WayinVideo processes the video and returns a task ID confirming the summarization job has started. Step 4 — Wait: 90 Seconds Summary The workflow pauses 90 seconds before checking the summarization status, giving WayinVideo time to process the video. Step 5 — HTTP: WayinVideo — Get Summary Results A GET request checks the summarization results endpoint using the task ID. It returns the current status and, once complete, the summary text, highlights array, and tags array. Step 6 — IF: Summary Complete? This is the first polling gate. If the status equals SUCCEEDED (YES path), the summary is ready and the workflow moves forward to extract the data. If still processing (NO path), the workflow routes to 7. Wait — 30 Seconds Summary Retry which pauses 30 seconds then loops back to step 5. This repeats until SUCCEEDED. Step 7 — Wait: 30 Seconds Summary Retry When the summary is not yet ready, the workflow waits 30 seconds then returns to step 5 for another check. Step 8 — Code: Store Summary Data The completed summary data is extracted: the summary text, highlights joined as a pipe-separated string, and tags as a comma-separated string. The video URL, title, and niche from the sheet row are also packaged here. All five fields are carried forward to both the caption writing and the content calendar log. Step 9 — HTTP: WayinVideo — Submit AI Clipping The same video URL is submitted to WayinVideo's AI Clipping API. The request specifies: clips between 30 and 60 seconds, up to 3 clips, HD 720 resolution, animated captions in the original language using caption template temp-7, AI reframe to 9:16 vertical format, and export enabled so download links are generated. WayinVideo returns a task ID for the clipping job. Step 10 — Wait: 90 Seconds Clips The workflow pauses another 90 seconds before checking the clipping status. AI clipping takes longer than summarization because video editing is involved. Step 11 — HTTP: WayinVideo — Get Clip Results A GET request checks the clipping results endpoint using the clipping task ID. It returns the current status and, once complete, the clips array with title, description, score, timestamps, and export download link for each clip. Step 12 — IF: Clips Complete? This is the second polling gate. If the status equals SUCCEEDED (YES path), the clips are ready. If still processing (NO path), the workflow routes to 13. Wait — 30 Seconds Clips Retry which pauses 30 seconds then loops back to step 11. This second loop runs independently from the summarization loop. Step 13 — Wait: 30 Seconds Clips Retry When clips are not yet ready, the workflow waits 30 seconds then returns to step 11 for another check. Step 14 — Code: Extract Clips Array The clips array is split into individual rows — one per clip. Millisecond timestamps are converted to MM:SS format. All summary data from step 8 is merged into each clip row so every downstream step has the full video context alongside the clip-specific data. Step 15 — AI Agent: Write Platform Captions GPT-4o-mini receives the clip description, title, viral score, clip tags, the full video summary, highlights, tags, video title, and niche. It writes four labeled sections: a TikTok caption under 150 characters with a scroll-stopping hook, a Facebook caption of 100–200 words with storytelling and a CTA, a LinkedIn caption of 150–250 words framed as a thought leadership post, and 5–8 universal hashtags for use across all platforms. Step 16 — OpenAI: GPT-4o-mini Model This is the language model powering the caption writing. It runs with default settings for natural, platform-matched output. Step 17 — Code: Parse Caption Output All four labeled sections (TIKTOK_CAPTION, FACEBOOK_CAPTION, LINKEDIN_CAPTION, HASHTAGS) are extracted from the AI output using regex. All clip metadata and caption text are packaged for the download and logging steps. Step 18 — HTTP: Download Clip File The WayinVideo export link for this clip is fetched and the .mp4 file is downloaded as a binary file. This step happens immediately so the export link does not expire before the file is saved. Step 19 — Google Drive: Upload Clip The downloaded clip is uploaded to your specified Google Drive folder. The filename is auto-generated as Video Title — Clip N — Clip Title.mp4. Google Drive returns the file's web view link which is passed to the sheet log. Step 20 — Google Sheets: Save to Content Calendar One row is appended to your Content Calendar tab with all 16 columns: video URL, video title, niche, video summary, clip number, clip title, viral score, timestamp range, WayinVideo export link, Google Drive web view link, TikTok caption, Facebook caption, LinkedIn caption, hashtags, processed timestamp, and Status set to Ready to Post. Step 21 — Google Sheets: Mark Video as Processed The Video List row matching this video URL is updated with Status set to Processed and the current date in the Last Processed Date column. This prevents the same video from being picked up in future Monday runs. Key Features ✅ Two WayinVideo APIs per video — Summarization then Clipping — The workflow runs both APIs sequentially per video, using the summary data to enrich captions and the clipping API to produce ready-to-post vertical clips ✅ Two independent retry loops — Summarization and clipping each have their own 30-second polling loop — one never blocks the other ✅ 9:16 vertical reframe built in — Every clip is automatically reframed to 9:16 aspect ratio with animated captions in the same WayinVideo request — no manual editing needed ✅ Clips downloaded before links expire — WayinVideo export links have a limited lifespan — the workflow downloads and uploads to Drive immediately after clipping completes ✅ Three platform captions per clip in one GPT call — TikTok, Facebook, and LinkedIn are all written in one request with platform-specific rules enforced in the prompt ✅ Structured Drive filename per clip — Files are named as Video Title — Clip N — Clip Title.mp4 so your Drive folder is organized and scannable without opening files ✅ Status tracking prevents double-processing — Videos marked Processed in the Video List are skipped on all future Monday runs — add new videos any time and they will be picked up automatically ✅ Runs fully unattended every Monday — Once activated, you only need to add video URLs to the sheet — the entire pipeline runs without any manual intervention Customisation Options Change the weekly run day or time — In node 1. Schedule — Every Monday 9AM, edit the cron expression from 0 9 * * 1 to run on a different day — for example 0 9 * * 3 for Wednesday at 9AM or 0 7 * * 1 for Monday at 7AM. Increase the number of clips per video — In node 9. WayinVideo — Submit AI Clipping, change "limit": 3 to a higher number such as 5 to generate more clips per video — useful for longer videos with more shareable moments. Change the clip duration range — In node 9. WayinVideo — Submit AI Clipping, change "target_duration": "DURATION_30_60" to "DURATION_15_30" for shorter TikTok-style clips or "DURATION_60_90" for slightly longer content. Add a Slack notification when a video is fully processed — After node 21. Google Sheets — Mark Video as Processed, add a Slack step that posts the video title and the number of clips generated to a #content-team channel so your team knows new clips are ready in Drive without checking the sheet. Send a weekly digest email — After node 21. Google Sheets — Mark Video as Processed (on the last video processed each Monday run), add a Gmail step that lists all videos processed that week, how many clips were generated, and a link to the Content Calendar sheet. Troubleshooting Workflow not triggering on Monday: Confirm the workflow is Active — inactive workflows do not run on a schedule Check that your n8n instance is running at 9AM Monday — self-hosted instances that are off will not fire scheduled workflows To test immediately, click on node 1. Schedule — Every Monday 9AM and use the manual Execute option — do not wait for the scheduled run to verify setup WayinVideo API key errors: Confirm YOUR_WAYINVIDEO_API_KEY is replaced in all four steps: 3. WayinVideo — Submit Summarization, 5. WayinVideo — Get Summary Results, 9. WayinVideo — Submit AI Clipping, and 11. WayinVideo — Get Clip Results — missing any one causes that step to fail with a 401 error Check execution logs for the specific node that failed — the raw API error will show which step the key is missing from Either polling loop stuck and not completing: Check that the video URL in your Video List sheet is publicly accessible — private YouTube videos, unlisted videos with login walls, or expired links will not be processed by WayinVideo Open the execution log of node 5 or 11 for the raw response — WayinVideo may have returned FAILED with a specific error message The summarization and clipping loops are independent — if summarization gets stuck, clipping never starts. Fix the URL and resubmit. Google Drive upload failing: Confirm the Google Drive OAuth2 credential in node 19. Google Drive — Upload Clip is connected and not expired — re-authorize if needed Confirm YOUR_GOOGLE_DRIVE_FOLDER_ID is replaced with just the folder ID from the URL — not the full Drive URL If the clip download in step 18 returned an empty or failed file, the upload in step 19 will also fail — check step 18's execution log for the HTTP status of the WayinVideo export link Content Calendar not logging or Video List not updating: Confirm YOUR_CONTENT_CALENDAR_SHEET_ID in node 20 and YOUR_VIDEO_LIST_SHEET_ID in nodes 2 and 21 are all replaced with the correct Sheet IDs Confirm the tab names match exactly: Content Calendar and Video List — including capitalization and spacing Check that the Google Sheets OAuth2 credential is connected in all three sheet steps — it is easy to connect it in node 2 but forget to connect it in nodes 20 and 21 Support Need help setting this up or want a custom version built for your team or agency? 📧 Email:info@isawow.com 🌐 Website:https://isawow.com
by WeblineIndia
Zoho CRM - Smart Meeting Scheduler This workflow automatically schedules meetings for new Zoho CRM leads by detecting their timezone, checking the sales rep’s Google Calendar, generating conflict-free time slots, creating a Zoom meeting and sending a personalized AI-generated email to the lead. If no slots are available, it sends a fallback message to the lead without updating Zoho CRM. When a meeting is created, all details are logged inside Zoho CRM for visibility. ⚡ Quick Implementation Steps (Fast Start Guide) Import the workflow JSON into n8n. Configure Zoho CRM, Google Calendar, Gmail, Zoom OAuth and Gemini AI credentials. Update meeting duration, working hours, buffer time and search window. Set email recipient to the lead’s email instead of test/static values. Add the webhook URL to Zoho CRM → Automation → Webhooks. Test with a new lead and activate the workflow. 📘 What It Does This workflow automates scheduling for new Zoho CRM leads. As soon as a lead is created, it retrieves full lead and owner details, detects the lead’s timezone and checks the assigned sales rep’s upcoming Google Calendar events. This helps identify when the rep is available. Using your settings—working hours, meeting duration, buffer before/after and days to evaluate—the system generates valid meeting time slots with no conflicts. If suitable slots exist, it authenticates with Zoom and creates a meeting for the earliest option, then generates a polished HTML invitation using Gemini AI and emails it to the lead. This ensures a fast, smart and personalized lead engagement process. If no slots exist, the workflow sends a fallback email informing the lead that no availability is open in the next few days. In this branch, Zoho CRM is not updated, because no meeting was scheduled. 🎯 Who’s It For This workflow is perfect for: Sales teams managing high inbound volume CRM managers automating lead qualification & engagement SaaS companies scheduling demos automatically Agencies booking consultation calls Any team struggling with timezone-based scheduling manually 🔧 Requirements to Use This Workflow Platform Requirements n8n (Cloud or self-hosted) Required Integrations Zoho CRM OAuth2 Google Calendar OAuth2 Gmail OAuth2 Zoom OAuth (account-level) Gemini AI / Google PaLM API Required Lead Fields Email (mandatory for sending the invite) Country / State (for timezone detection) Lead Owner (to fetch rep details) 🔄 How It Works Zoho CRM Webhook triggers when a new lead is created. Workflow fetches full lead and owner details. Detects the lead’s timezone using country/state mapping. Fetches the sales rep’s availability from Google Calendar. Generates valid time slots based on working hours, buffers and meeting duration. If slots exist: Authenticate with Zoom Create a Zoom meeting Generate personalized HTML invite using Gemini AI Send email to the lead Log meeting details in Zoho CRM If no slots exist: Generate fallback message Send fallback email to the lead (Zoho CRM is NOT updated in this path) 🛠️ Setup Steps (Configuration Guide) 1. Import Workflow Go to: n8n → Workflows → Import and upload the JSON file. 2. Add Required Credentials Configure the following inside n8n: Zoho CRM OAuth Google Calendar OAuth Gmail OAuth Zoom OAuth Gemini AI API key 3. Update Workflow Configuration Node Set: Meeting duration Buffer before/after Working hours Days to look ahead Default meeting provider (Zoom) 4. Fix Email Recipient In Send Meeting Invite node, set: sendTo = {{$('Detect Lead Timezone').item.json.Email}} yaml Copy code 5. Update Google Calendar Email/ID Ensure the calendar ID matches the sales rep’s Google Calendar. 6. Add Webhook in Zoho CRM Navigate to: Setup → Automation → Webhooks → Create Webhook → Lead Created Paste the webhook URL from n8n. 7. Test the Automation Verify: Correct timezone detection Calendar availability check Zoom meeting creation AI email sent to the lead Zoho CRM updated only when meeting is created 8. Activate Workflow Enable the workflow for live operation. 🧩 How To Customize Nodes 1. Adjust Meeting Logic Modify the Workflow Configuration node to change: Slot duration Buffer time Working hour ranges Days to consider 2. Expand Timezone Detection Edit the Detect Lead Timezone node to add new countries/states. 3. Personalize Email Content Update the prompt inside the Generate Personalized Invite node. 4. Add New Regions Duplicate timezone logic for new regions (Australia, Middle East, etc.) 5. Replace Zoom Swap Zoom with Google Meet, Microsoft Teams or Zoho Meeting. ➕ Add-Ons (Optional Enhancements) Auto-book calendar events when lead confirms a slot WhatsApp notifications via Twilio or Gupshup Slack/Email internal alerts for reps Follow-up reminder emails Log lead activity to Google Sheets Attach downloadable ICS calendar file 💼 Use Case Examples SaaS demo scheduling Consultation & discovery calls Global timezone-based sales teams Onboarding/support calls Event follow-up scheduling (And many more…) 🩻 Troubleshooting Guide | Issue | Possible Cause | Solution | |-------|----------------|----------| | Lead not receiving email | Gmail OAuth expired / wrong email field | Reconnect Gmail OAuth & fix sendTo value | | Wrong time slots | Incorrect timezone detection | Update mapping in Detect Lead Timezone | | Zoom meeting not created | Invalid/expired Zoom OAuth | Reconnect Zoom credentials | | CRM not updated after fallback email | Expected behavior | No CRM update when slots don’t exist | | Workflow not triggering | Missing Zoho webhook | Re-add webhook | | Empty AI email | Gemini key incorrect | Reconfigure Gemini credentials | 🤝 Need Help? If you want assistance setting up, customizing or extending this workflow, the n8n automation team at WeblineIndia is here to help. We specialize in: Advanced automation workflows Multi-timezone scheduling systems CRM-integrated AI communication Custom Zoho + n8n development End-to-end automation architecture 👉 Contact WeblineIndia for expert workflow development and enhancements.
by Incrementors
Quick overview This workflow collects exam details via an n8n Form, uses OpenAI (GPT-4o-mini) to generate a day-by-day study plan, creates one Google Calendar event per study session, logs all sessions to Google Sheets, and emails the full schedule to the student via Gmail. How it works Receives study details (name, exam date, subjects, available hours, start time, email) from an n8n Form submission. Uses OpenAI (GPT-4o-mini) to generate a strict-JSON daily study plan with topics, session types, durations, and start/end times. Parses the JSON plan, flattens it into individual study sessions, and iterates through them one-by-one. Creates a Google Calendar event for each session, using the session’s date/time and adding session metadata in the description. After all events are created, compiles rows for Google Sheets and generates a formatted HTML email containing the full schedule and study tips. Appends one row per session to a Google Sheets tab and sends the confirmation email to the student via Gmail. Setup Open the OpenAI — GPT-4o-mini Model step and connect your OpenAI API credential. Open node 5. Google Calendar — Create Study Event, connect your Google Calendar OAuth2 credential, and replace YOUR_CALENDAR_ID with your actual calendar ID. To find it: open Google Calendar → Settings → click your calendar name → scroll to Calendar ID. For most users it is your Google account email address. Create a Google Sheet tab named exactly Study Planner with these 12 column headers: Student Name, Exam Date, Subject, Topic, Date, Day, Start Time, End Time, Duration (hrs), Session Type, Priority, Status. Open node 7. Google Sheets — Log Study Plan, connect your Google Sheets OAuth2 credential, and replace YOUR_GOOGLE_SHEET_ID. Find the Sheet ID by opening your spreadsheet in a browser and copying the string between /d/ and /edit in the URL. Open node 8. Gmail — Send Confirmation Email and connect your Gmail OAuth2 credential. The email is sent automatically to whatever address the student submits in the form. Activate the workflow and copy the form URL from node 1. Form — Study Planner Input to share with students. Requirements Active n8n instance (self-hosted or cloud) OpenAI account with GPT-4o-mini API access Google Calendar connected via OAuth2 Google Sheets with a tab named Study Planner Gmail account connected via OAuth2 for sending confirmation emails Customization Change the session duration range — in the system prompt of node 2. AI Agent — Generate Study Schedule, change "between 1.5 and 3 hours" to a different range to generate shorter or longer study blocks depending on your preference Change the new learning vs revision split — in the same system prompt, change "First 60% of days: New Learning" to a different percentage — for example 50/50 for a more balanced plan or 70/30 for exams that are further away Add a Slack notification when the schedule is ready — after node 8. Gmail — Send Confirmation Email, add a Slack step that posts the student name, exam date, total sessions, and a confirmation message to a study group channel Change the calendar event color per session type — in node 5. Google Calendar — Create Study Event, expand the additional fields and add a colorId value — Google Calendar supports color IDs 1 through 11, which you can map to each session type using an IF check before the calendar step Add reminder alerts to calendar events — in node 5. Google Calendar — Create Study Event, add a reminders field in the additional fields section to set a popup reminder 30 or 60 minutes before each study session Additional info The calendar event loop in this workflow uses SplitInBatches to process one study session at a time. Output 0 creates the next calendar event. Output 1 fires only when all sessions have been processed — this is what triggers the Sheets logging and email. Do not modify the SplitInBatches connections or the loop will break. GPT-4o-mini generates the full schedule based on the number of days between today and the exam date. If the exam date is less than 2 days away, the AI may return a very short plan or an empty daily plan — the workflow will throw a clear error in that case. The exam date must be at least 3 days in the future for a meaningful plan to be generated. The study start time field in the form must be entered in 24-hour format, for example 09:00 or 14:30. The AI uses this time as the anchor for scheduling all sessions throughout the day. An incorrectly formatted start time may cause calendar events to be created with invalid timestamps. The Google Sheets log step uses autoMapInputData which maps the sheet_rows array directly. Make sure the column headers in your Study Planner tab match exactly — including capitalization and spacing — otherwise rows may be saved to the wrong columns or the step may fail.
by ObisDev
This n8n template demonstrates how to build a complete AI-powered content pipeline that pulls fresh news from RSS feeds, transforms it into engaging Medium articles. Categories Content Creation AI Automation Publishing Social Media Share Yes, this n8n workflow is straight FIRE for content creators who want to automate their entire publishing game! 🔥 This template creates a complete content pipeline that pulls fresh tech news from RSS feeds, transforms it into engaging Medium articles using AI, generates matching cover images, and handles the entire approval-to-publishing process through Slack integration. Good to know Uses multiple AI models (Groq, Google Gemini) for content generation Integrates with Medium publishing API for automated posting Includes smart duplicate checking via Google Sheets Generates professional cover images using Pollinations AI Full Slack approval workflow with human oversight Automatic storage and organization in Google Drive How it works RSS Content Fetching Pulls fresh content from The Verge, TechCrunch, and Ars Technica RSS feeds on a 6-hour schedule Smart filtering ensures only new, unposted articles are processed AI Content Generation Groq and Google Gemini models transform RSS content into engaging Medium-style articles Automatic image prompt generation creates relevant cover visuals Pollinations AI generates professional marketing-style images Smart Review & Approval Creates Google Doc with formatted article for easy review Sends preview to Slack channel/DM for human approval Waits for explicit approval before publishing Multi-Platform Publishing Auto-publishes to Medium upon approval Sends formatted content via Gmail Stores everything in Google Drive for archiving Updates Google Sheets to prevent duplicates Rejection Handling Clean rejection notifications via Slack No publishing if content doesn't meet standards Key Features That'll Blow Your Mind Zero-Duplicate Publishing**: Smart Google Sheets integration tracks all published content Human-in-the-Loop**: Slack approval system keeps quality control tight Full AI Pipeline**: From RSS parsing to image generation, everything's automated Multi-Source Content**: Aggregates from top tech news sources Professional Formatting**: Articles come out Medium-ready with proper structure Cloud Storage**: Everything gets archived in Google Drive automatically Email Distribution**: Auto-sends content to your mailing list How to use Clone this workflow and connect your credentials Set up your Google Sheets tracking document Configure Slack notifications for your approval channel Add your Medium API credentials for publishing The schedule trigger runs every 6 hours, but you can adjust timing Manual trigger available for testing and one-off runs Requirements Google Workspace**: Sheets, Docs, Drive, Gmail access Slack Workspace**: For approval notifications and review Groq API**: For AI content generation Google Gemini API**: For image prompt creation Medium API**: For automated publishing Pollinations**: Free AI image generation (no API key needed) Customizing this workflow This isn't just another automation—it's your new content creation superpower. Here's how to make it yours: Switch RSS Sources**: Replace tech feeds with your niche (finance, health, etc.) Modify AI Prompts**: Adjust the content generation style to match your brand voice Change Publishing Destinations**: Swap Medium for WordPress, Ghost, or other platforms Add More Approval Steps**: Include multiple reviewers or different approval criteria Customize Image Generation**: Modify prompts for different visual styles Schedule Flexibility**: Adjust timing from 6 hours to daily, weekly, whatever fits Pro Tips: The workflow includes comprehensive error handling and logging Sticky notes provide detailed documentation for each section Modular design makes it easy to swap components Built-in duplicate prevention saves you from embarrassing reposts This template is perfect for content creators, digital marketers, tech bloggers, and anyone who wants to scale their content game without losing quality control. It's like having a full content team working 24/7, but smarter and way more consistent. Use cases that work incredibly well: Tech blog automation for agencies News aggregation and commentary sites Personal brand content scaling Client content creation workflows Multi-platform publishing systems
by Kaden Reese
SignSnapHome to Multi-CRM Auto Follow-up: Complete Real Estate Open House Automation Transform Your Open House Leads into Clients with Zero Manual Work Are you tired of manually entering open house visitor information into your CRM? Losing hot leads because you didn't follow up fast enough? This powerful n8n workflow automatically syncs every SignSnapHome open house sign-in to three major real estate CRMs and executes a customizeable 7-day follow-up sequence via email and SMS. Setup Video Here 🎯 What This Workflow Does This automation creates a complete, hands-free lead nurturing system for real estate agents using SignSnap Home for open house visitor management. Every time someone signs in at your open house, this workflow: Instantly captures all visitor data from SignSnap Home via webhook Intelligently scores each lead based on agent status and property interest Automatically syncs contact information to three CRMs simultaneously: HubSpot - For marketing automation and pipeline management Follow Up Boss - For real estate-specific lead management Monday.com - For team collaboration and task tracking Logs everything to Google Sheets for complete audit trail and reporting Sends personalized follow-ups over 7 days for qualified leads: Day 0: Immediate thank you email Day 2: SMS text message check-in Day 5: Market update email with consultation offer Day 7: Automatic task created in HubSpot for agent to call 🔥 Key Features Smart Lead Qualification Not all open house visitors are equal. This workflow automatically identifies qualified leads who receive the full follow-up sequence: ✅ Visitors who don't currently have a real estate agent ✅ Visitors who have an agent but haven't signed a buyer agreement Leads who already have representation get the basic treatment (thank you email + CRM sync) to respect existing relationships while still capturing their information for future opportunities. Multi-CRM Distribution Why limit yourself to one CRM? This workflow syncs to three platforms simultaneously: HubSpot**: Creates/updates contacts with full lead scoring and property visit history Follow Up Boss**: Adds leads with source attribution and detailed notes Monday.com**: Creates board items for team visibility and collaboration Complete Activity Tracking Every touchpoint is logged to Google Sheets across three tabs: Lead Master Log**: Complete record of every visitor with lead scores and qualification status Follow-up Activity**: Timestamp of every email, SMS, and task created Errors**: Captures any visitors without email addresses for manual follow-up TCPA-Compliant SMS Follow-up Automated SMS messaging via Twilio includes: Proper consent tracking (via open house sign-in) "Reply STOP to unsubscribe" compliance footer Personalized messaging based on agent status Complete activity logging for audit trail 💼 Perfect For Real Estate Agents** using SignSnap Home for open house management Real Estate Teams** who need centralized lead tracking across multiple CRMs Brokerages** wanting to standardize follow-up processes across agents Property Marketing Teams** managing multiple open houses simultaneously 🛠️ What You'll Need Required Accounts & Credentials: SignSnapHome account with webhook integration enabled HubSpot account (Free or paid tier) with API access Follow Up Boss account with API key Monday.com account with API token Twilio account with SMS-enabled phone number SMTP Email service (Gmail, SendGrid, etc.) Google Sheets with OAuth2 access Technical Requirements: Active n8n instance (cloud or self-hosted) Basic familiarity with n8n workflows 30 minutes for initial setup and credential configuration 📊 Lead Scoring Algorithm This workflow includes intelligent lead scoring to help you prioritize follow-up: Base Score: 50 points Scoring Adjustments: No real estate agent: +30 points (HOT lead!) Property rating 4-5 stars: +20 points Property rating 1-2 stars: -20 points No buyer agreement signed: +10 points Lead Status Categories: 70-100 points**: HOT 🔥 50-69 points**: WARM 40-49 points**: OPEN 0-39 points**: COLD The Day 7 follow-up task is automatically prioritized as HIGH for leads scoring 70+ points. 🚀 Setup Overview Step 1: Import Workflow Download this workflow JSON and import it into your n8n instance. Step 2: Configure Credentials Set up authentication for all seven services: HubSpot OAuth2 or API Token Follow Up Boss HTTP Basic Auth (API key as username) Monday.com API Token Twilio API credentials SMTP email settings Google Sheets OAuth2 Step 3: Create Google Sheets Structure Create one Google Sheet with three tabs: Tab 1: "Lead Master Log" Timestamp First Name Last Name Email Phone Property Lead Score Lead Status Has Agent Buyer Agreement Qualifies for Follow-up Source Tab 2: "Follow-up Activity" Timestamp Contact Email Contact Name Activity Type Message Property Success Notes Tab 3: "Errors" Timestamp Guest Name Property Phone Error Reason Step 4: Update Placeholders Replace these values in the workflow nodes: YOUR_GOOGLE_SHEET_ID_HERE - Your Google Sheet ID (or select manually) YOUR_EMAIL@DOMAIN.COM - Your from email address YOUR_TWILIO_PHONE_NUMBER - Your Twilio phone number (format: +15551234567) YOUR_MONDAY_BOARD_ID - Your Monday.com board ID Step 5: Configure SignSnap Home Activate the workflow in n8n Copy the webhook URL Go to SignSnapHome.com → Settings → Integrations Paste webhook URL and enable "Send on each submission" Step 6: Test! Have someone sign in at your next open house (or use test mode) and watch the magic happen! 📈 Expected Results Time Savings: 15-20 minutes per open house visitor (data entry, CRM updates, follow-up scheduling) Response Rate Improvements: Immediate thank you email: Builds rapport instantly Day 2 SMS: 98% open rate (vs 20-30% for email) Day 5 market update: Re-engages interested prospects Day 7 agent call task: Ensures no lead falls through cracks, make sure you set up your crm or change this to a simple notification node. Conversion Rate Impact: Many agents report 2-3x increase in open house visitor conversions with automated follow-up vs manual processes. 🎨 Customization Ideas This workflow is designed to be easily customizable: Adjust Follow-up Timing Change Wait node durations (Day 2 → Day 1, Day 5 → Day 3, etc.) Add more touchpoints (Day 10, Day 30, Day 90) Remove SMS and use email-only sequence Modify Lead Scoring Edit the JavaScript code in "Parse SignSnap Data" node Add new scoring criteria (property price range, visit duration, etc.) Change threshold values for HOT/WARM/COLD status Expand CRM Coverage Add Salesforce using HTTP Request node Include Pipedrive (native node available) Connect Zoho CRM (native node available) Add your brokerage's proprietary CRM via API Enhance Email Content Add property photos and listing details Include market statistics and neighborhood data Embed video tours or agent introduction videos Add social proof (testimonials, recent sales) Create Property-Specific Sequences Use IF nodes to branch by property address Send different messaging per listing Customize follow-up based on price range Include neighborhood-specific content 🔐 Compliance & Privacy This workflow is designed with real estate compliance in mind: TCPA Compliance (SMS): Consent established via open house sign-in "Reply STOP to unsubscribe" included in all messages Complete activity logging for audit trail Business relationship already established CAN-SPAM Compliance (Email): Easy unsubscribe mechanism Clear sender identification Accurate subject lines Business address included Data Privacy: No data stored in n8n workflow memory All data passed through encrypted connections CRM platforms handle data retention per their policies Google Sheets can be restricted to specific users 🆘 Troubleshooting "No email address" errors Make email required in SignSnap Home form settings Check "Errors" tab in Google Sheet for missed leads Follow up manually via phone using logged information CRM sync failures Verify all API credentials are current and not expired Check API rate limits (especially HubSpot free tier) Review execution logs in n8n for specific error messages SMS not sending Confirm Twilio account has sufficient balance Verify phone number format: +1XXXXXXXXXX (E.164 format) Check that recipient's country allows SMS from your Twilio number Ensure phone number was captured in SignSnap Home Wait nodes not resuming Confirm workflow is ACTIVE (not just saved) Check n8n queue system is running properly Verify execution mode settings allow waiting executions 📚 Additional Resources SignSnap Home: Website: https://signsnaphome.com Documentation: Contact SignSnap Home support Webhook setup guide: Available in app settings n8n Documentation: Webhook nodes: https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.webhook/ Wait node: https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.wait/ Code node: https://docs.n8n.io/code-examples/ CRM API Documentation: HubSpot: https://developers.hubspot.com/ Follow Up Boss: https://docs.followupboss.com/ Monday.com: https://developer.monday.com/ 🌟 Success Story "Before this automation, I was spending 30+ minutes after every open house manually entering contacts into HubSpot, then setting reminders to follow up. Now it's completely hands-free. The SMS follow-up on Day 2 alone has doubled my response rate. Best workflow I've ever implemented!" 🚦 Next Steps Download this workflow from the n8n Creator Hub Import into your n8n instance Follow the setup guide in the sticky notes Test with a sample submission before your next open house Monitor results in your Google Sheets activity log Customize and optimize based on your response rates 💡 Pro Tips A/B test your messaging**: Duplicate the workflow and test different email subject lines or SMS wording Track conversion rates**: Add a "Converted" column to your Google Sheet and update it when leads become clients Segment by property**: Use IF nodes to send different follow-up sequences for luxury vs starter homes Add social media enrichment**: Connect Clearbit or Hunter.io to automatically find LinkedIn profiles Create dashboard reports**: Connect Google Sheets to Data Studio for visual analytics 📞 Support For workflow-specific questions, please comment on this workflow in the n8n Creator Hub. For SignSnap Home account issues, contact SignSnap Home support directly. For CRM-specific questions, consult each platform's documentation linked above. 🏷️ Tags real-estate open-house crm-automation lead-nurturing sms-marketing email-automation hubspot follow-up-boss monday.com twilio google-sheets webhook multi-crm lead-scoring signsnap-home Version: 1.0 Last Updated: January 2025 Compatibility: n8n v1.0+ License: MIT Built with ❤️ for the real estate community. Questions or improvements? Drop a comment below!
by David Olusola
Overview: GitHub to WordPress Tutorial Generator This workflow automates the process of creating technical tutorials for your blog. It runs on a weekly schedule, automatically identifies trending GitHub repositories, uses an AI to generate a detailed tutorial for each one, and then saves the content as a draft post on your WordPress site. Finally, it sends you an email notification so you can review and publish the new content. This is an excellent way to keep your blog fresh with relevant, trending topics without manual effort. How It Works Weekly Trigger: The workflow is set to activate every Monday at 10 AM, starting the entire process. Get Trending Repositories: The workflow makes an HTTP request to the GitHub API to find the most popular repositories. Split Items: The Split node processes the list of repositories from the GitHub API, handling each one as a separate item. This ensures that a unique tutorial is created for every trending repository. AI Tutorial Generation: The AI Tutorial Generator node, powered by the Google Gemini Chat Model, takes the information for each repository and, following a detailed prompt, creates a comprehensive tutorial. The prompt instructs the AI to include an introduction, prerequisites, code examples, best practices, and more. Format Content: A Code node then processes the AI's output. It extracts the title and content, ensuring the data is correctly formatted for the next steps. It's a key step to handle potential variations in the AI's output. Create WordPress Post: The WordPress node takes the formatted tutorial content and creates a new post on your blog, automatically setting the title, tags, and categories. It's saved as a draft, allowing you to review and edit it before publishing. Send Notification: Once the post is created, the Email node sends a notification to your email address, letting you know a new tutorial is ready for your review. Setup Steps Configure WordPress Credentials: In the Create Tutorial Post node, add your WordPress credentials. This includes your site URL, username, and application password. Set Up Email Credentials: In the Notify Admin node, add your email service credentials (e.g., SMTP, Gmail) to enable sending email notifications. Configure GitHub API Access: Manual Mapping: Run the Get Trending Repos node once to get sample data. In the Split Repository Items node, manually map the data by setting the "Field to Split Out" to json.items. This tells the workflow to process each repository in the API response. Optional: For higher API limits, you can create a GitHub Personal Access Token and configure the Get Trending Repos node to use it. Review AI Prompt: Go to the AI Tutorial Generator node and read the system message. You can adjust the prompt to change the style, length, or content of the tutorials the AI generates.
by NodeAlchemy
This n8n template demonstrates how to use AI to capture, qualify, and route inbound leads automatically from email or web forms. It extracts key business information using AI, scores the lead based on your ideal customer profile, creates CRM records, notifies your team on Slack, and logs all activity—including failures—to Google Sheets. Use cases include: automating sales inboxes, qualifying form leads for agencies or SaaS products, routing high-fit prospects to the right territory owner, and keeping your sales and ops teams aligned without manual data entry. Good to know The OpenAI model is used for lead data extraction and will incur a small cost per run depending on volume. This workflow supports either Salesforce or HubSpot as the CRM system—select which one in the configuration node. You’ll need valid credentials for Gmail (or another email service), OpenAI, Slack, Google Sheets, and your chosen CRM before running. How it works Triggers: A Gmail trigger polls for new inbound emails. A Webhook node receives submissions from any online form. Both sources merge into a single pipeline. Validation: Incoming data is checked for required fields (email or text). Invalid entries are routed to the Dead Letter Queue (DLQ) for review. AI Extraction: The OpenAI node extracts structured fields like company name, size, industry, role, region, problem statement, and budget signals from free-form text. Parsing & Scoring: The AI output is parsed, then a code node calculates a 0–100 lead score based on transparent criteria—industry, size, role, problem clarity, and budget mentions. It also assigns a lead tier (Hot, Warm, Cold, Unqualified). CRM Routing: Depending on your configuration, the workflow creates a Salesforce lead (default) or can be easily adapted for HubSpot. Territory or CRM owner routing can be extended here. Slack Notification: A rich Slack message summarizes the lead score and reasoning and includes a “Create intro email” button for quick action. Logging: All successful leads are logged to Google Sheets for reporting. Any failed or invalid leads are logged separately to the DLQ tab for auditing. How to use Configure your credentials for Gmail, OpenAI, Slack, Google Sheets, and your CRM. Open the Workflow Configuration node and fill in your target industries, buyer roles, company size, Slack channel ID, Google Sheets URL, and CRM choice. Create corresponding tabs in your Google Sheet for Leads and DLQ. Test by sending a sample email or form submission, then watch the workflow extract, score, route, and notify automatically. Requirements OpenAI account for text extraction Gmail (or other email provider) for the email trigger Slack for lead notifications Google Sheets for logging leads and DLQ entries Salesforce or HubSpot account for CRM integration Customizing this workflow This template can be expanded in many ways: Add HubSpot routing on the first Switch output. Integrate a Slack button handler to auto-generate intro emails. Add retry and backoff logic for resilience. Modify the scoring rubric in the code node to match your unique ICP. Connect additional sources, such as LinkedIn forms or landing page builders, for omnichannel lead capture.
by Oneclick AI Squad
Automatically transforms your travel photos and notes into beautiful journals, highlight reels, and review drafts using Claude's vision and language capabilities. How it works Trip Completion Trigger - Webhook or scheduled check for recently ended trips Validate Trip Data - Confirms trip details, dates, and destination information Fetch Photos from Google Photos - Retrieves all photos from the trip date range Extract Photo Metadata - Gets EXIF data (location, timestamps, camera settings) Fetch Trip Notes - Pulls journal entries, receipts, bookings from Google Drive/Sheets AI Photo Analysis - Claude Vision analyzes each photo for content, mood, significance Generate Chronological Story - Creates narrative flow from photo sequence Create Travel Journal - Formats beautiful journal document with photos and stories Draft Platform Reviews - Generates review text for TripAdvisor, Google, social media Create Highlights Reel Script - Suggests best photos and captions for video/slideshow Store Outputs - Saves to Google Drive with organized folder structure Send Delivery Package - Emails journal PDF, review drafts, and highlights to user Batch Processing - Daily check for trips ended in last 7 days Analytics & Insights - Tracks most memorable moments, photo quality scores Setup Steps Import workflow into n8n Configure credentials: Anthropic API - Claude AI with vision for photo analysis Google Photos API - Photo retrieval and metadata Google Drive API - Trip notes and output storage Google Sheets - Trip tracking and metadata SMTP / Gmail - Delivery notifications OpenWeatherMap (optional) - Historical weather data Create Google Sheets with tabs: trips - Trip records with start/end dates trip_notes - Daily journal entries generated_content - AI-generated journals and reviews analytics - Photo quality and memory scores Set up Google Drive folder structure: /Travel Memories/{Year}/{Trip Name}/Photos /Travel Memories/{Year}/{Trip Name}/Journal /Travel Memories/{Year}/{Trip Name}/Reviews Configure API keys and resource IDs Activate both webhook and scheduled workflows Sample Trip Completion Payload { "tripId": "TRIP-2025-TOKYO-001", "userId": "USER-2025-1234", "userName": "Sarah Johnson", "userEmail": "sarah.j@example.com", "tripDetails": { "destination": "Tokyo, Japan", "startDate": "2025-03-15", "endDate": "2025-03-22", "tripType": "solo_adventure", "mainInterests": ["culture", "food", "temples", "photography"] }, "photoSources": { "googlePhotosAlbumId": "ALBUM-TOKYO-2025", "includeSharedPhotos": true }, "notesLocation": { "googleDriveFolderId": "FOLDER-ID-123", "googleSheetId": "SHEET-ID-456", "sheetTab": "tokyo_trip_notes" }, "outputPreferences": { "journalStyle": "narrative", "includeMapRoute": true, "reviewPlatforms": ["tripadvisor", "google", "instagram"], "highlightCount": 10, "privacyLevel": "friends_only" }, "deliveryOptions": { "emailPDF": true, "saveToDrive": true, "generateSlideshow": false } } Features AI Vision Analysis** - Claude analyzes photo content, composition, emotions Intelligent Narrative** - Creates cohesive story from disconnected moments Multi-Platform Reviews** - Tailored drafts for different review platforms Photo Quality Scoring** - Identifies best shots for highlights Location Intelligence** - Maps photo locations and suggests points of interest Mood & Theme Detection** - Categorizes trip segments (relaxing, adventurous, cultural) Automatic Captioning** - Generates engaging captions for social sharing Memory Highlights** - AI-selected "best moments" based on uniqueness and quality Timeline Reconstruction** - Chronological story even with mixed-up photo timestamps Review Optimization** - SEO-friendly, platform-appropriate review text Batch Processing** - Handles multiple trips efficiently Privacy Controls** - Filters sensitive photos, respects sharing preferences
by Gerald Denor
Unleash the power of AI to automate your job search, tailor your applications, and boost your chances of landing your dream job! This comprehensive workflow handles everything from finding relevant job postings to generating personalized resumes and cover letters. Use cases are many: Automate your entire job application process:** Spend less time searching and more time preparing for interviews. Tailor your resume and cover letter for every application:** Maximize your ATS compatibility and stand out to recruiters. Efficiently track your applications:** Keep all your job search activities organized in one place. Discover new job opportunities:** Leverage the Adzuna API to find relevant listings. Good to know: Free Adzuna API:* This workflow utilizes the *free Adzuna API, making job search capabilities accessible without initial cost. OpenRouter Chat Model Costs:** AI model usage (for resume rewriting and cover letter generation) will incur costs based on the OpenRouter pricing model. Please check OpenRouter's official website for updated pricing information. Model Availability:** The AI models used may have geo-restrictions. If you encounter a "model not found" error, it might not be available in your country or region. How it works: Webhook Trigger: The workflow is initiated via a webhook, allowing you to trigger it manually or integrate it with other systems (e.g., a form submission with your desired job title and resume). Resume Extraction: Your uploaded resume (e.g., PDF) is automatically extracted into a readable text format. Job Search (Adzuna API): Using the provided job title, the workflow queries the Adzuna API to fetch relevant job postings. Job Filtering: Duplicate job listings are filtered out to ensure you receive unique opportunities. Job Info Extraction: Key details like job description, company name, and job URL are extracted from each posting. Skills Extraction (AI): An AI model (OpenRouter) analyzes the job description to identify the top skills and qualifications required. Resume Match Scoring (AI): Your resume is compared against the extracted job skills by an AI model, generating a compatibility score (1-5). Conditional Resume & Cover Letter Generation: If the resume match score is satisfactory (≥ 3): Tailored Resume Generation (AI): An AI model rewrites your resume, specifically highlighting the skills and experience most relevant to the target job, in an ATS-friendly and human-readable JSON/HTML format. Personalized Cover Letter Generation (AI): A custom cover letter is drafted by AI, uniquely tailored to the job description and your newly optimized resume, generated as well-formatted HTML. Google Sheets Integration: The generated cover letter, tailored resume, job URL, and application status are automatically updated in your designated Google Sheet for easy tracking. Gmail Notification: A personalized email containing the generated cover letter, tailored resume, and a direct link to the job posting on Adzuna is sent to your specified email address. Webhook Response: A final text response is sent back via the webhook, summarizing the sent application materials. How to use: Manual Trigger:** The workflow is set up with a manual trigger (Webhook) for initial testing and demonstration. You can easily replace this with an n8n form, a scheduled trigger, or integrate it into your existing tools. Input:** Provide your desired job search keyword and your resume (e.g., as a PDF) to the webhook. Review & Apply:** Review the AI-generated cover letter and tailored resume sent to your email, then proceed to apply for the job using the provided Adzuna link. Requirements: n8n Instance:** A running n8n instance (self-hosted or cloud). Adzuna API Key:** A free Adzuna API key (easily obtainable from their developer portal). OpenRouter Account:** For AI model access (costs apply based on usage). Google Sheets Account:** To store and track your job applications. Gmail Account:** To send automated application emails. Customizing this workflow: This workflow is highly customizable. You can: Integrate with other job boards (e.g., LinkedIn, Indeed) using their APIs. Add more sophisticated AI models or custom prompts for even finer control over resume and cover letter generation. Connect to other services for CRM, calendar management, or applicant tracking. Implement different filtering criteria for job postings. Expand the data stored in your Google Sheet (e.g., interview dates, feedback). Start automating your job search today and streamline your path to career success!
by Incrementors
Description Submit any course or lecture video URL along with the course title, module name, assignee, due date, and priority and the workflow automatically converts the entire module into a ClickUp task list. WayinVideo summarizes the video and extracts key learning highlights, then GPT-4o-mini reads the summary and returns 5–12 structured tasks — each with a title starting with an action verb, a description with what to do and why it matters, a task type, an estimated time, and step-by-step checklist items. Each task is created in ClickUp with your chosen priority and due date, tagged as course-task and learning, and every task is logged to Google Sheets with the ClickUp Task ID and URL. Built for learning and development teams, student communities, training managers, and knowledge workers who want learning to translate directly into action. What This Workflow Does Summarizes the course module automatically** — WayinVideo extracts a structured summary with numbered highlights from the video so GPT has real content to build tasks from Extracts 5–12 actionable tasks in pure JSON** — GPT returns a structured JSON array — each task has a title, description, type, estimated minutes, and checklist steps — no free-text parsing needed Prefixes every task title with the course name** — Tasks are created in ClickUp as [Course Title] Task Title so your board stays organized when processing multiple modules Maps your priority input to ClickUp numbers** — Urgent, High, Normal, and Low are automatically converted to the correct ClickUp priority value (1–4) so no manual setup is needed Converts the due date to the format ClickUp requires** — The date you type in the form is converted to a Unix timestamp automatically before the ClickUp task is created Creates one ClickUp task per learning objective** — Each extracted task becomes a separate ClickUp task with To Do status, course-task and learning tags, priority, and due date Logs every task to Google Sheets** — Course title, module, task title, type, estimated minutes, total tasks in module, ClickUp Task ID, ClickUp URL, assignee, due date, and priority are all recorded Setup Requirements Tools Needed n8n instance (self-hosted or cloud) WayinVideo account with API access OpenAI account with GPT-4o-mini API access ClickUp account with a List where tasks will be created Google Sheets (one sheet with a tab named Course Tasks Log) Credentials Required WayinVideo API key (pasted into 2. WayinVideo — Submit Summarization and 4. WayinVideo — Get Summary Results) OpenAI API key ClickUp OAuth2 credential + List ID Google Sheets OAuth2 > ⚠️ WayinVideo API key appears in 2 steps — replace YOUR_WAYINVIDEO_API_KEY in both 2. WayinVideo — Submit Summarization and 4. WayinVideo — Get Summary Results. Missing either one will cause the workflow to fail. Estimated Setup Time: 20–25 minutes Step-by-Step Setup 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 Summarization → find the Authorization header value 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 Summary Results → find the same Authorization header → replace YOUR_WAYINVIDEO_API_KEY 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 Get your ClickUp List ID — Open ClickUp in a browser → navigate to the List where you want tasks created → right-click the List name → click Copy link → the List ID is the last segment of the URL after the final / Connect ClickUp — Open node 11. ClickUp — Create Task → click the credential dropdown → add ClickUp OAuth2 → complete the authorization flow → in the List ID field, replace YOUR_CLICKUP_LIST_ID with your actual List ID Create your Google Sheet tab — Open your Google Sheet → add a tab named exactly Course Tasks Log → add these 14 column headers in row 1: Course Title, Module Title, Video URL, Task Number, Task Title, Task Type, Estimated Minutes, Total Tasks in Module, ClickUp Task ID, ClickUp Task URL, Assigned To, Due Date, Priority, Generated On Get your Google Sheet ID — Open your Google Sheet in a browser → copy the string between /d/ and /edit in the URL — this is your Sheet ID Connect Google Sheets — Open node 12. Google Sheets — Log Tasks → click the document field → replace YOUR_GOOGLE_SHEET_ID by selecting your spreadsheet or entering the Sheet ID manually → click the credential dropdown → add Google Sheets OAuth2 → authorize access Activate the workflow — Toggle the workflow to Active → copy the Form URL from node 1. Form — Course Video + Details → open it in a browser to submit your first module How It Works (Step by Step) Step 1 — Form: Course Video + Details You open the form URL and fill in six fields: the course video URL (YouTube, Zoom, Vimeo, Loom, or any direct link), the course title, the module or lecture title, who to assign tasks to, the task due date (formatted as YYYY-MM-DD), and the task priority (High, Normal, or Low). Submitting the form starts the entire pipeline. Step 2 — HTTP: WayinVideo — Submit Summarization The course video URL is sent to WayinVideo's Summarization API. WayinVideo accepts the job and returns a task ID confirming the summarization has started. Step 3 — Wait: 90 Seconds The workflow pauses 90 seconds before the first status check, giving WayinVideo time to process the video. Step 4 — HTTP: WayinVideo — Get Summary Results A GET request checks the summarization results endpoint using the task ID. It returns the current status and, once complete, the summary text, highlights array, and tags array. Step 5 — IF: Summary Complete? This is the polling gate. If the status equals SUCCEEDED (YES path), the summary is ready and the workflow moves forward to data extraction. If still processing (NO path), the workflow routes to 6. Wait — 30 Seconds Retry which pauses 30 seconds then loops back to step 4. This repeats until SUCCEEDED. Step 6 — Wait: 30 Seconds Retry When the summary is not yet ready, the workflow waits 30 seconds then returns to step 4 for another check. Step 7 — Code: Extract Summary Data The summary text and highlights (formatted as a numbered list) are extracted from the WayinVideo response. All six form inputs are also packaged. Two important conversions happen here: the priority text (e.g. "High") is mapped to the ClickUp priority number (2) using a lookup table — Urgent=1, High=2, Normal=3, Low=4 — and the due date string is converted to a Unix timestamp in milliseconds which is what ClickUp requires. Step 8 — AI Agent: Extract Learning Tasks GPT-4o-mini receives the module summary, numbered highlights, and full module context in the system prompt. It is instructed to return ONLY a valid JSON array with no extra text — a strict format that makes parsing reliable. Each task in the array must have a title starting with an action verb, a description explaining what to do and why it matters with the video URL included as a reference, a task type chosen from Review, Practice, Build, Implement, or Reflect, a realistic estimated time in minutes between 15 and 120, and 2–3 specific checklist steps. A minimum of 5 tasks and a maximum of 12 must be extracted. Step 9 — OpenAI: GPT-4o-mini Model This is the language model producing the JSON task array. Step 10 — Code: Parse Tasks Array The AI output is cleaned of any markdown backticks and parsed as JSON. If parsing fails, the step throws a clear error showing the first 300 characters of the output for debugging. If the array is empty or missing, another error is thrown. Each task in the array is returned as a separate row — one per task — with the course name prefixed to every task title as [Course Title] Task Title. The total number of tasks is also carried forward for the sheet log. Step 11 — ClickUp: Create Task One ClickUp task is created per learning objective in your specified List. The task title, due date timestamp, priority number, status set to To Do, and two tags (course-task and learning) are all set. ClickUp returns the new task's ID and URL. Step 12 — Google Sheets: Log Tasks One row is appended to your Course Tasks Log tab for every task created. The row captures all 14 fields: course title, module title, video URL, task number, task title, task type, estimated minutes, total tasks in module, ClickUp Task ID, ClickUp Task URL, assignee, due date, priority, and generation timestamp. Every task is logged immediately after its ClickUp task is created. Key Features ✅ Pure JSON output from GPT — GPT is instructed to return only a JSON array with no extra text — making the output directly parseable without complex regex extraction ✅ Priority mapped automatically to ClickUp numbers — Your plain text input (High, Normal, Low) is converted to ClickUp's numeric priority system (1–4) in one step — no manual mapping needed ✅ Due date converted to ClickUp timestamp format — The date you type in the form is automatically converted to the Unix millisecond timestamp that ClickUp requires — no manual conversion ✅ Course name prefixed to every task title — Tasks appear in ClickUp as [Course Name] Task Title so your board stays identifiable when processing multiple courses or modules ✅ Course-task and learning tags on every task — All created tasks are automatically tagged so you can filter your entire ClickUp workspace for course-related tasks across any list or project ✅ Estimated minutes per task — GPT assigns a realistic completion time to each task so assignees can plan their learning schedule without guessing how long each task will take ✅ ClickUp Task ID and URL captured in Google Sheets — Every row in the log includes direct links to the ClickUp task so you can navigate from the sheet to any task in one click Customisation Options Add checklist items to each ClickUp task — After node 11. ClickUp — Create Task, add a ClickUp Create Checklist step using the Task ID returned from step 11 and loop through the checklistItems array from step 10 to add each step as a checklist item on the task. Change the minimum and maximum task count — In the system prompt of node 8. AI Agent — Extract Learning Tasks, change minimum 5 tasks, maximum 12 tasks to a different range — for example 3–8 for shorter lectures or 8–15 for full-day workshops. Send a summary email when all tasks are created — After node 12. Google Sheets — Log Tasks (on the last task row), add a Gmail step that sends the assignee a plain-text email listing all task titles, types, estimated times, and ClickUp URLs so they have everything in their inbox. Add a Slack notification when tasks are created — After node 12. Google Sheets — Log Tasks, add a Slack step that posts the course title, module name, number of tasks created, and a link to the ClickUp List to a #learning or #training channel. Change the ClickUp task status — In node 11. ClickUp — Create Task, change "status": "To Do" to match your ClickUp List's actual status names — for example "status": "Backlog" or "status": "Learning" if your List uses custom statuses. Troubleshooting Form submission not starting the workflow: Confirm the workflow is Active — inactive workflows do not receive form submissions Copy the Form URL fresh from node 1. Form — Course Video + Details after activating — URLs copied before activation will not work Make sure all six fields are filled in — all are marked required WayinVideo returning an error on submission: Confirm YOUR_WAYINVIDEO_API_KEY in node 2. WayinVideo — Submit Summarization is replaced with your actual API key Confirm the same key is in node 4. WayinVideo — Get Summary Results — both steps require it Check the execution log of node 2 for the raw error — a 401 means wrong key, a 422 means the URL format is not supported GPT returning a parse error (JSON parsing failed): Check the execution log of node 8. AI Agent — Extract Learning Tasks for the raw output — if GPT returned markdown code blocks with backticks, node 10. Code — Parse Tasks Array will strip them, but if GPT added other text before or after the array, parsing can fail The error message in node 10 shows the first 300 characters of the raw output to help diagnose — look at what GPT returned and whether it is valid JSON Confirm your OpenAI account has credits — a failed API call can produce an empty or error response that looks like a JSON parse problem ClickUp tasks not being created: Confirm the ClickUp OAuth2 credential in node 11. ClickUp — Create Task is connected and not expired — re-authorize if needed Confirm YOUR_CLICKUP_LIST_ID has been replaced with your actual List ID — the ID is the last segment of the URL when viewing the list in ClickUp in a browser Check that your ClickUp account has permission to create tasks in the target List — shared or read-only lists will reject task creation Google Sheets not logging rows: Confirm YOUR_GOOGLE_SHEET_ID in node 12. Google Sheets — Log Tasks is replaced with your actual Sheet ID from the URL Confirm the tab is named Course Tasks Log exactly and all 14 column headers in row 1 match exactly Check that the Google Sheets OAuth2 credential is connected and not expired — re-authorize if needed Support Need help setting this up or want a custom version built for your team or agency? 📧 Email: info@incrementors.com 🌐 Website: https://www.incrementors.com/
by Aditya Malur
Overview This workflow automates your entire sales outreach process across LinkedIn, Email, and WhatsApp using AI to create hyper-personalized messages for each prospect. Instead of spending hours crafting individual messages, the workflow analyzes your lead data and generates customized connection requests, emails, and WhatsApp messages that feel genuinely personal and researched. The workflow includes a built-in approval mechanism, so you can review all AI-generated messages before they're sent, ensuring quality control while still saving massive amounts of time. How It Works The workflow follows a seven-step process: Step 1: Data Collection The workflow starts by reading your lead data from a Google Sheet. Your sheet should contain information about each prospect including their name, title, company, industry, technologies they use, and any other relevant details that can be used for personalization. Step 2: Batch Processing To prevent overwhelming APIs and ensure smooth operation, the workflow processes leads in batches. Each lead's complete data is prepared and formatted for the AI agent to analyze. Step 3: AI Personalization This is where the magic happens. The AI agent receives all the prospect data and generates three distinct messages: A LinkedIn connection request (under 300 characters) that references their specific role, company, or industry A professional HTML email that demonstrates you've researched their business and explains how you can help A casual WhatsApp message that's friendly and approachable The AI is instructed to make these messages sound completely human, never generic or templated. Step 4: Data Cleanup and Storage The AI's output is parsed and cleaned up, then written back to your Google Sheet in separate columns. This creates a permanent record of all generated messages for your review. Step 5: Manual Approval Before anything gets sent, you receive an email asking for your approval. You can review all the generated messages in your Google Sheet, make any edits if needed, and then approve or reject the batch. This ensures you maintain full control over what goes out. Step 6: LinkedIn Automation Once approved, the workflow triggers your Phantombuster agent to send LinkedIn connection requests using the AI-generated messages. Phantombuster handles the actual LinkedIn interaction safely within their platform's limits. Step 7: Email and Notification Delivery Finally, the workflow sends out the personalized emails via Gmail and optionally notifies you via Telegram for each message sent. This happens sequentially to respect rate limits and maintain deliverability. Setup Requirements Before you can use this workflow, you'll need to set up several accounts and gather credentials: Essential Services: An n8n instance (cloud or self-hosted) A Google account with Google Sheets access A Gmail account for sending emails An OpenAI account with API access (for the AI agent) Phantombuster account (for LinkedIn automation) Optional Services: Telegram account and bot (for notifications) Credentials You'll Need: Google Sheets OAuth2 credentials Gmail OAuth2 credentials OpenAI API key Phantombuster API key and agent ID Telegram bot token and chat ID (if using notifications) How to Use This Workflow Initial Setup: Import this workflow into your n8n instance Add all required credentials in n8n's credential manager Create your Google Sheet with the following columns at minimum: First Name, Last Name, Title, Company Name, Personal Email, Industry, Website. Add three additional columns for output: Connection, AI Email, AI Whatsapp Message Copy your Google Sheet ID from the URL and update it in all Google Sheets nodes Open the AI Agent node and update the prompt with your personal information: your name, title, email, and LinkedIn URL Update the email addresses in the Gmail nodes to your actual email addresses Configure your Phantombuster agent for LinkedIn and add the API key and agent ID Running the Workflow: Add your lead data to the Google Sheet (you can start with just 2-3 leads for testing) Click "Execute Workflow" in n8n to start the process Wait for the AI to generate messages (this takes a few seconds per lead) Check your email for the approval request Review the AI-generated messages in your Google Sheet Reply to the approval email with your decision If approved, the workflow will automatically send LinkedIn requests, emails, and WhatsApp messages Best Practices: Start small. Process 5-10 leads at a time initially to test the quality of AI-generated messages and ensure everything works correctly. Once you're confident in the output, you can scale up to larger batches. Monitor your results. Keep track of response rates in your Google Sheet and adjust the AI prompt if certain types of messages aren't performing well. Respect rate limits. Gmail allows 100-500 emails per day depending on your account type, and LinkedIn has strict limits on connection requests (typically 100 per week through automation tools). Stay well within these limits to avoid account restrictions. Customizing This Workflow The workflow is designed to be highly customizable to fit your specific use case: Personalizing the AI Prompt: The most important customization is in the AI Agent node's prompt. You can modify it to: Emphasize different aspects of your value proposition Change the tone from formal to casual or vice versa Include specific pain points relevant to your target industry Add your company's unique selling points Adjust message length and structure Modifying the Output: You can change what the AI generates by editing the prompt. For example, you might want: Different message types (Twitter DMs instead of WhatsApp) Multiple email variations for A/B testing Follow-up message sequences Industry-specific templates Adding Features: The workflow can be extended with additional nodes: Add time delays between sends to appear more natural Include condition checks to segment leads by industry or company size Connect to your CRM to automatically log activities Add sentiment analysis to filter out negative-sounding messages Implement response tracking by monitoring your inbox Changing Tools: If you prefer different services, you can swap out nodes: Replace Phantombuster with other LinkedIn automation tools Use SendGrid or Mailgun instead of Gmail for higher volume Add Slack notifications instead of Telegram Connect to WhatsApp Business API for official messaging Data Source Alternatives: Instead of Google Sheets, you could: Connect directly to your CRM (HubSpot, Salesforce, Pipedrive) Use Airtable as your database Pull data from CSV files uploaded to cloud storage Integrate with lead generation tools like Apollo or Hunter Tips for Success The quality of your AI-generated messages depends heavily on the data you provide. The more information you have about each prospect (their role, company size, technologies used, recent news, pain points), the more personalized and effective the messages will be. Regularly review and refine your AI prompt based on the responses you're getting. If prospects aren't responding, your messages might be too sales-focused or not personal enough. Adjust the prompt to make messages feel more consultative and helpful. Don't send to your entire list at once. Even with approval gates, it's wise to test with small batches, measure results, iterate on your approach, and then scale up gradually. Always comply with email and LinkedIn best practices. Never spam, always provide value in your outreach, respect people's time and privacy, and make it easy for them to opt out if they're not interested. This workflow is a powerful tool that can save you hours of work while actually improving the quality of your outreach through AI-powered personalization. Use it responsibly and watch your response rates improve.
by Jitesh Dugar
Meeting Minutes & Action Item Tracker Fully automated meeting documentation workflow that uses AI to transform raw transcripts into professional PDFs and actionable tasks. Features AI-powered summary generation (GPT-4) Automatic action item extraction with assignees, deadlines, and priorities Professional PDF generation with custom styling Multi-channel distribution (Email, Slack, Google Drive) Task creation in Google Tasks Personalized notifications to each assignee Deadline tracking and urgency detection Setup Instructions REQUIRED CREDENTIALS: OpenAI API - Get from Gmail OAuth2 - Connect your Google account Google Drive OAuth2 - Same Google account Google Tasks OAuth2 - Same Google account Slack OAuth2 - Connect your workspace htmlcsstopdf API - Get from CONFIGURATION STEPS: WEBHOOK: Note your webhook URL after activation EMAIL NODES: "Email All Participants": Uses participants array from input "Send Individual Task Emails": Change @yourcompany.com to your domain GOOGLE DRIVE: Select folder where PDFs should be stored Recommended: Create "Meeting Minutes" folder SLACK: Select channel for team notifications Recommended: Create #meeting-notes channel GOOGLE TASKS: Select task list where tasks should be created Default list works fine TESTING: Use the webhook URL with sample meeting data Check execution log for any errors Verify PDF in Google Drive Check emails were sent Confirm tasks created in Google Tasks Example Input Format POST : Headers: Content-Type: application/json Body: { "title": "Weekly Team Standup", "date": "2025-09-29", "participants": [ "john@company.com", "sarah@company.com", "joe@company.com" ], "duration": "30 minutes", "transcript": "John started the meeting by discussing the progress on the API development. Sarah mentioned that she's working on the dashboard and needs to prepare mockups by Thursday. The team agreed that Sarah will review the API documentation before the client demo on Friday. Akshita confirmed she finished the database schema redesign and needs to schedule a meeting with DevOps team by next Monday to discuss production deployment." } This will generate: Professional PDF with summary and action items Emails to all participants Individual task emails to John, Sarah, and Joe Tasks in Google Tasks Slack notification Output After execution, you'll get: Professional PDF stored in Google Drive Email sent to all participants with meeting overview Individual emails to each assignee with their tasks Slack notification with summary and download link Tasks created in Google Tasks with deadlines CUSTOMIZATION: Modify PDF styling in "Generate PDF Document" node Adjust email templates in Gmail nodes Change AI prompts in OpenAI nodes for different output Modify priority/deadline logic in "Parse and Enrich Data" Troubleshooting Workflow stops at validation: Ensure transcript has >50 words Check that webhook payload is correctly formatted No PDF generated: Verify htmlcsstopdf API credentials Check API usage limits Tasks not created: Verify deadline format is YYYY-MM-DD Check Google Tasks API connection Emails not sending: Confirm Gmail OAuth2 is connected Check that email addresses are valid Support For issues or questions, visit the n8n community forum. License MIT License - Feel free to modify and share!