by Trung Tran
AI-Powered YouTube Auto-Tagging Workflow (SEO Automation) Watch the demo video below: > Supercharge your YouTube SEO with this AI-powered workflow that automatically generates and applies smart, SEO friendly tags to your new videos every week. No more manual tagging, just better discoverability, improved reach, and consistent optimization. Plus, get instant Slack notifications so your team stays updated on every video’s SEO boost. Who’s it for YouTube creators, channel admins, and marketing teams who publish regularly and want consistent, SEO-friendly tags without manual effort. Agencies managing multiple channels who need an auditable, automated tagging process with Slack notifications. How it works / What it does Weekly Schedule Trigger Runs the workflow once per week. Get all videos uploaded last week Queries YouTube for videos uploaded by the channel in the past 7 days. Get video detail Retrieves each video’s title, description, and ID. YouTube Video Auto Tagging Agent (LLM) Inputs: video.title, video.description, channelName. Uses a SEO-specialist system prompt to generate 15–20 relevant, comma-separated tags. Update video with AI-generated tags Writes the tags back to the video via YouTube Data API. Inform via Slack message Posts a confirmation message (video title + ID + tags) to a chosen Slack channel for visibility. How to set up YouTube connection Create a Google Cloud project and enable YouTube Data API v3. Configure OAuth client (Web app / Desktop as required). Authorize with the Google account that manages the channel. In your automation platform, add the YouTube credential and grant scopes (see Requirements). Slack connection Create or use an existing Slack app/bot. Install to your workspace and capture the Bot Token. Add the Slack credential in your automation platform. LLM / Chat Model Select your model (e.g., OpenAI GPT). Paste the System Prompt (SEO expert) and the User Prompt template: Inputs: {{video_title}}, {{video_description}}, {{channel_name}}. Output: comma-separated list of 15–20 tags (no #, no duplicates). Node configuration Weekly Schedule Trigger: choose day/time (e.g., Mondays 09:00 local). Get all videos uploaded last week: date filter = now() - 7 days. Get video detail: map each video ID from previous node. Agent node: map fields to the prompt variables. Update video: map the agent’s tag string to the YouTube tags field. Slack message: The video "{{video_title}} - {{video_id}}" has been auto-tagged successfully. Tags: {{tags}} Test run Manually run the workflow with one recent video. Verify the tags appear in YouTube Studio and the Slack message posts. Requirements APIs & Scopes YouTube Data API v3** youtube.readonly (to list videos / details) youtube or youtube.force-ssl (to update video metadata incl. tags) Slack Bot Token Scopes** chat:write (post messages) channels:read or groups:read if selecting channels dynamically (optional) Platform Access to a chat/LLM provider (e.g., OpenAI). Outbound HTTPS allowed. Rate limits & quotas YouTube updates consume quota; tag updates are write operations—avoid re-writing unchanged tags. Add basic throttling (e.g., 1–2 updates/sec) if you process many videos. How to customize the workflow Schedule:** switch to daily, or run on publish events instead of weekly. Filtering:** process only videos matching rules (e.g., title contains “tutorial”, or missing tags). Prompt tuning:** Add brand keywords to always include (e.g., “WiseStack AI”). Constrain to language (e.g., “Vietnamese tags only”). Enforce max 500 chars total for tags if you want a stricter cap. Safety guardrails:** Validate model output: split by comma, trim whitespace, dedupe, drop empty/over-long tags. If the agent fails, fall back to a heuristic generator (title/keywords extraction). Change log:** write a row per update to a sheet/DB (videoId, oldTags, newTags, timestamp, runId). Human-in-the-loop:** send tags to Slack as buttons (“Apply / Edit / Skip”) before updating YouTube. Multi-channel support:** loop through a list of channel credentials and repeat the pipeline. Notifications:** add error Slack messages for failed API calls; summarize weekly results. Tip: Keep a small allow/deny list (e.g., banned terms, mandatory brand terms) and run a quick sanitizer right after the agent node to maintain consistency across your channel.
by Madame AI
Track competitor pricing and features from BrowserAct to Google Sheets Introduction This workflow automates competitive intelligence by continuously monitoring competitor websites for pricing and feature updates. It scrapes current data using BrowserAct, compares it against historical records using AI to identify specific changes (like price increases or removed features), and archives the findings in a new Google Sheet tab every week. Target Audience Product managers, pricing analysts, and market researchers who need to stay updated on competitor moves without manually checking websites. How it works Scheduling: A Weekly Trigger initiates the workflow to ensure regular monitoring. Database Retrieval: The workflow fetches a list of competitor URLs and their previous scrape data from a Google Sheet. Data Extraction: A BrowserAct node visits each URL and extracts the current pricing plans and feature lists using the "AI Competitor Spy" template. AI Comparison: An AI Agent (using Google Gemini Flash via OpenRouter) compares the live data against the historical data stored in the sheet. It identifies exactly what changed (e.g., "Basic plan increased by $5"). Database Update: The workflow updates the main database with the new "Last Scrape Content" and the date, establishing a new baseline for the next run. Report Generation: After processing all competitors, a second AI Agent (using Google Gemini Pro) aggregates the findings into a comprehensive text report. Archiving: The workflow creates a new tab in the Google Sheet (named with the current date) and appends the full comparative report. Notification: A Slack message is sent to notify the team that the weekly analysis is complete. How to set up Configure Credentials: Connect your BrowserAct, OpenRouter, Google Sheets, and Slack accounts in n8n. Prepare BrowserAct: Ensure the AI Competitor Spy: Pricing & Feature Tracker template is active in your BrowserAct library. Prepare Google Sheet: Create a Google Sheet with the headers listed below. Populate the Competitor Name, URL, and row_number columns with your targets. Leave the other columns blank initially. Configure IDs: Select your Google Sheet in the Fetch links & history, Update Database, and Create New Sheet nodes. Google Sheet Headers To use this workflow, create a Google Sheet with the following headers in the first row: row_number (Must be populated, e.g., 1, 2, 3...) Competitor Name URL Last_Scrape_Content Last_Scrape_Date Comparison Requirements BrowserAct Account:* Required for scraping. Template: *AI Competitor Spy: Pricing & Feature Tracker**. OpenRouter Account:** Required to access Google Gemini models for analysis. Google Sheets:** Used as the database and report archive. Slack Account:** Used for notifications. How to customize the workflow Change the AI Model: The workflow currently uses Google Gemini models. You can swap this for GPT-4 or Claude within the OpenRouter nodes for different analytical styles. Add Email Alerts: Replace or augment the Slack node with a Gmail or SendGrid node to email the weekly report to stakeholders. Filter Minor Changes: Modify the System Prompt in the Analyze target pages node to ignore small price changes (e.g., less than 5%) or specific formatting updates. Need Help? How to Find Your BrowserAct API Key & Workflow ID How to Connect n8n to BrowserAct How to Use & Customize BrowserAct Templates Workflow Guidance and Showcase Video How to Track Competitors Automatically (n8n + AI + Slack + Google Sheets)
by Madame AI
Automate competitor campaign monitoring using BrowserAct & Openrouter This workflow acts as an automated marketing analyst. It runs weekly to scrape competitor landing pages, compare them against historical data to detect changes in pricing, messaging, or offers, and delivers a strategic intelligence report to your Slack channel. Target Audience Marketing managers, product strategists, and e-commerce owners who need to track competitor moves without manual checking. How it works Scheduled Scan: The workflow triggers automatically every week. Retrieve Targets: It fetches a list of competitor URLs from a Google Sheet. Scrape & Compare: It loops through each URL. BrowserAct scrapes the live page content. An AI Agent (using OpenRouter/GPT-5) compares the live data with the previous week's data stored in the sheet. It detects price changes, new bundles, or messaging shifts. Update Database: The new data is saved to the Google Sheet for next week's comparison. Generate Report: A final AI Agent aggregates all the findings into a high-level summary, highlighting only significant changes (e.g., "High Severity" updates). Notify Team: The report is formatted for Slack and posted to your marketing channel. How to set up Configure Credentials: Connect your BrowserAct, Google Sheets, Slack, and OpenRouter accounts in n8n. Prepare BrowserAct: Ensure the Competitor Campaign Monitoring (Huel) template is saved in your BrowserAct account. Setup Google Sheet: Create a Google Sheet with columns for Page URL and fields to store historical data (e.g., last_scrape_data). Configure Slack: Add your Slack Channel ID to the Send a message node. Activate: Turn on the workflow to start the weekly monitoring cycle. Requirements BrowserAct* account with the *Competitor Campaign Monitoring (Huel)** template. Google Sheets** account. Slack** account. OpenRouter** account (or compatible LLM credentials). How to customize the workflow Change Frequency: Adjust the Weekly Trigger to run daily or monthly depending on how fast your competitors move. Monitor Different Elements: Modify the system prompt in the Analyze the pages agent to look for specific keywords like "Black Friday" or "Limited Time." Add Email Alerts: Add a Gmail node to send the report to stakeholders who aren't on Slack. Need Help? How to Find Your BrowseAct API Key & Workflow ID How to Connect n8n to Browseract How to Use & Customize BrowserAct Templates Workflow Guidance and Showcase Video How to Track Web Changes & Get Slack Notifications with n8n
by Avkash Kakdiya
How it works This workflow automates event registrations and attendee communication from initial signup to event day. It captures form submissions, prevents duplicate entries, and stores registrations in Google Sheets. Confirmed attendees receive immediate confirmation emails, while failures trigger admin alerts. A scheduled process then sends pre-event and event-day reminders, with all communication tracked to ensure emails are sent only once. Step-by-step Step 1: Capture and process registration** Event Registration Form – Collects attendee details through a public registration form. Edit Fields – Normalizes and prepares form data for processing. Read Existing Registrations – Fetches existing attendee records from Google Sheets. Check for Duplicate Email – Compares the submitted email against stored records. If Not Duplicate – Stops the workflow when a duplicate email is detected and continues only for new registrations. Store Registration (Google Sheets) – Appends the new registration only when no duplicate is found. Step 2: Confirm registration and send notifications** Add Status & Event Date – Assigns confirmed status and event date to the registration. Check Registration Success – Verifies whether the registration is confirmed. Send Welcome Email – Sends a confirmation email to the attendee. Send Admin Alert – Sends an alert email to the admin if registration fails. Code in JavaScript – Confirms email delivery and prepares tracking data. Update Welcome Email Status – Updates the welcome email status in Google Sheets. Step 3: Scheduled trigger and reminder routing** Schedule Trigger – Runs daily to initiate reminder processing. Edit Fields – Marks the execution source as a scheduled run. Switch – Ensures the workflow runs only for scheduled executions. Get Confirmed Aptitude Candidates – Retrieves confirmed event registrations from Google Sheets. Filter Reminder Candidates – Calculates remaining days until the event. Switch Reminder Type – Routes attendees to 3-day or event-day reminder flows. Step 4: Send reminders and update event communication status** Loop 3-Day – Iterates through attendees eligible for the 3-day reminder. Send 3-Day Reminder – Sends a personalized pre-event reminder email. Prepare 3-Day Update – Prepares reminder status data. Wait – Adds delay to control email sending rate. Update 3-Day Status – Updates the 3-day reminder status in Google Sheets. Loop Event-Day – Iterates through attendees eligible for the event-day reminder. Send Event-Day Reminder – Sends final event-day instructions and check-in details. Prepare Event-Day Update – Prepares event-day reminder tracking data. Wait – Adds delay between event-day emails. Update Event-Day Status – Updates the event-day reminder status in Google Sheets. Why use this? Blocks duplicate registrations automatically at submission time. Sends instant confirmation emails to attendees. Alerts admins immediately when a registration fails. Delivers perfectly timed reminders without manual follow-ups. Keeps a complete communication log inside Google Sheets.
by yuta tokumitsu
Provision new employee accounts to Google Workspace, Slack, Jira, and Salesforce This workflow streamlines the employee onboarding process by automatically provisioning user accounts across your organization's tech stack. By connecting HR input to IT operations, it eliminates manual data entry, reduces errors, and ensures new hires have access to the right tools from day one. Depending on the employee's department, the workflow intelligently routes the provisioning process to create specific accounts (e.g., Jira for Engineering, Salesforce for Sales) alongside standard company-wide access. Who is it for IT Administrators** looking to automate identity management and access provisioning. HR Operations Managers** who want to speed up the onboarding handover process. Startup Founders** needing a scalable way to manage new hire accounts without expensive SaaS management tools. How it works Data Intake: The workflow is triggered by a Webhook (connected to a form like Typeform, Google Forms, or BambooHR) containing the new hire's details. Configuration: A central "Set" node establishes global variables, such as the default temporary password, welcome email subject, and the main Slack channel ID. Core Provisioning: It simultaneously creates a Google Workspace account and invites the user to a general Slack channel. Department Routing: A generic logic switch checks the department field: If Engineering: It creates a Jira user. If Sales: It creates a Salesforce user. Notification: Once all accounts are successfully provisioned, the workflow uses a generic email service (Gmail node) to send a welcome email to the new employee with their login details. How to set up Credentials: You will need to configure credentials for the following nodes: Google Workspace Admin, Slack API, Jira Software, Salesforce, and Gmail (or your preferred email provider). Configuration: Open the node named ⚙️ CONFIGURATION. Update the Slack_Channel_ID (where new users are invited) and the Default_Password to match your company's security policy. Webhook: Copy the Webhook URL from the start node and add it to your HR form or applicant tracking system. Requirements n8n:** Version 1.0 or later recommended. Access:** Admin privileges for Google Workspace, Slack, Jira, and Salesforce to generate the necessary API keys/tokens. How to customize the workflow Add Departments:** Edit the "Check Department" Switch node to add routes for Marketing, Finance, etc., and connect them to relevant apps (e.g., HubSpot, Xero). Change Notification:** Swap the Gmail node for Microsoft Outlook or Slack DM depending on how you notify managers. Enhance Security:** Add a step to force a password reset on the first login if the identity provider supports it.
by Harvex AI
Overview This workflow automates the "speed-to-lead" process for insurance agencies. It instantly triggers an AI voice call when a new lead comes in, qualifies their needs via conversation, and automatically generates and emails a personalized insurance proposal (Blueprint) using GPT-4. Who’s it for -Insurance Brokers & Agencies who want to automate the initial outreach and qualification of inbound leads. -Applicable to any type of Insurance (Life, Health, Home, Auto or bundling ) -Sales Teams who want to filter out unqualified leads and receive detailed call summaries for qualified prospects. -Any business willing to have a 24/7 virtual assistant that want to qualify potential customers intent and draft proposals. How it works Lead Ingestion: The workflow starts when a potential client submits an n8n web form (Name, Email, Phone Number). CRM Logging: The lead is immediately created in Airtable . AI Voice Call: The workflow triggers Vapi.ai to call the lead immediately. The AI agent acts as a representative to gather requirements. Analysis & Logic: Once the call ends, Vapi sends the call analysis and transcript back to n8n via a webhook. The workflow checks the "Success Evaluation" and ensures a "Type of Insurance" was identified. Path A: Qualified Lead gets a an insurance blueprint: OpenAI (GPT-4) generates a professional "Insurance Blueprint" email based on the call transcript and client needs (type of insurance the client is seeking). Email Dispatch: The proposal is sent directly to the client via Gmail. CRM Update: The Airtable record is updated to "Qualify" with the call summary. Error Handling: If the email fails to send, a Slack alert is sent to the team with the proposal text for manual follow-up. Path B: Unqualified Lead Notification: The team is alerted via Slack with the reason for disqualification. CRM Update: The Airtable record is updated to "Unqualified." with the call summary. Requirements Vapi.ai Account: For the AI voice telephony (requires a configured Assistant and Phone Number). OpenAI Account: For GPT-4 or any LLM model of your choice analysis used for proposals writing. Make sure to have enough tokens. Airtable Account: For lead management. Gmail Account: To send the proposals. Slack Account: For internal team notifications. How to set up Configure External Services Airtable: Create a base with a table with a name of your choice. Ensure it has the following columns: Name (Single text), Email (Email), Phone number (Phone/Text), Status (Single Select: Qualify, Unqualified), Type of Insurance (Text), and Call summary (Long Text). Vapi: Create an Assistant in Vapi. Give the assistant a system prompt according to what you want it to say during the call. Ensure you enable the "Server URL" in the Vapi dashboard to point to the Production URL of the Post call Webhook node in this workflow. Configure Credentials in n8n Add credentials for Airtable, OpenAI, Gmail, and Slack. In the Vapi call node, use your credentials or add your Vapi Private API Key to the header (Authorization: Bearer <YOUR_KEY>). Update Node Parameters Airtable Nodes: Select your specific Base and Table in both the "Create a record" and "Update record" nodes. Vapi Call Node: Input your assistantId, phoneNumberId in the JSON body with the actual IDs from your Vapi dashboard and change the international dialing code. Slack Nodes: Select the channel where you want notifications sent. How to customize the workflow Change the Persona: Open the Prepare Blueprint (OpenAI) node. Edit the System Message to change the agent's name and Insurance or agency name, tone, or the formatting of the email proposal. Adjust Qualification Logic: Open the Is Qualified? (If) node. You can modify the data Collection by adding more fields to the Form Trigger (e.g., "State," "Age") and map them through to the Airtable nodes and the Vapi assistant prompt context. Switch Communication Channels: Replace the Slack and Gmail nodes with other nodes (e.g., Microsoft Teams, Outlook) depending on your tech stack preferences.
by Kev
⚠️ Important: This workflow uses the Autype community node and requires a self-hosted n8n instance. This workflow reads overdue invoices from a NocoDB database, generates a personalized payment reminder PDF for each record using the Autype Bulk Render API, and sends the resulting ZIP archive by email via SMTP. Days overdue are calculated automatically from the due date at runtime. Supported output formats: PDF, DOCX (Word), ODT. Who is this for? Finance teams, accounting departments, and developers who want to automate recurring document generation from database records. Good fit for payment reminders, invoices, collection letters, dunning notices, or any business correspondence that goes out in batches. What this workflow does It reads all overdue invoices from a NocoDB table, maps each row to a set of document variables, and sends everything to the Autype Bulk Render API in a single batch request. The result is a ZIP archive with one PDF per invoice, which gets sent by email via SMTP on a weekly schedule. The included payment reminder template includes: Company logo in the header, page numbers in the footer Customer name and full address block Invoice details table with USD amounts Styled table with alternating row colors Automatic date insertion via {{date/DD.MM.YYYY}} Days overdue calculated at runtime from due_date (no separate DB column needed) There is also a one-time setup flow (orange sticky note) that creates the Autype project and document template via API. NocoDB Table Structure Create a table called Overdue Invoices with the following columns: | Column | Type | Example | |---|---|---| | customer_name | Text | Jane Smith | | customer_address | Text | 742 Evergreen Terrace, Springfield, IL 62704 | | invoice_number | Text | INV-2026-0042 | | amount_due | Number | 1,250.00 | | due_date | Date | 2026-02-15 | | company_name | Text | TechStart Inc. | > days_overdue is not stored in the database. The workflow calculates it from due_date at runtime. Amounts are rendered in USD. Change the template if you need a different currency. Test Data Use these two sample records to test the workflow: Record 1: | Column | Value | |---|---| | customer_name | Jane Smith | | customer_address | 742 Evergreen Terrace, Springfield, IL 62704 | | invoice_number | INV-2026-0042 | | amount_due | 1250.00 | | due_date | 2026-02-01 | | company_name | TechStart Inc. | Record 2: | Column | Value | |---|---| | customer_name | Robert Chen | | customer_address | 88 Innovation Drive, Suite 400, Austin, TX 73301 | | invoice_number | INV-2026-0078 | | amount_due | 3480.50 | | due_date | 2026-01-15 | | company_name | DataFlow GmbH | How it works One-time setup (run once, then disable): Run Setup Once — triggers the setup flow manually. Create Project — creates an Autype project named "Payment Reminders". Create Document — creates the payment reminder template and returns the document ID. Main flow (weekly): Weekly Schedule — runs every Monday by default. Get Overdue Invoices — fetches all NocoDB rows where due_date < today. Build Bulk Items — maps rows to Autype variable sets and calculates daysOverdue from due_date. Bulk Render Payment Reminders — sends all items in one API call, waits for completion, downloads the ZIP. Send ZIP via Email — sends the ZIP via SMTP to a print service, accounting inbox, or document archive. Setup Install n8n-nodes-autype via Settings → Community Nodes (self-hosted n8n only). Get your API key at app.autype.com → API Keys. Add an Autype API credential in n8n and update YOUR_CREDENTIAL_ID in each Autype node. Set up a NocoDB instance and create the "Overdue Invoices" table with the columns listed above. Add NocoDB API credentials in n8n. Configure SMTP credentials in n8n for email delivery. Run the one-time setup: Click Run Setup Once, then copy the document id from the Create Document output and paste it into the Build Bulk Items code node (replace YOUR_DOCUMENT_ID). Then disable the setup nodes. Tip: It is easier to create and edit templates directly in the Autype web editor. The built-in AI agent can generate a full template from a single prompt. Once saved, the document ID is in the URL, e.g. https://app.autype.com/document/a70a811d-a745-46f8-8eeb-bb9f2eb8cegb. Use the JSON/Markdown switch to inspect the document JSON, or the Bulk tab to check the expected variable structure. Note: This is a community node so it Requires a self-hosted n8n instance. Requirements Self-hosted n8n instance (community nodes are not available on n8n Cloud) Autype account with API key (free tier available, paid plan recommended for bulk rendering) n8n-nodes-autype community node installed NocoDB instance with API access SMTP server for email delivery How to customize Currency:** Change $ {{amountDue}} in the document JSON to any other symbol if needed. Output format:** Set document.type to docx or odt for Word or OpenDocument output. Data source:** The NocoDB node can be swapped for Google Sheets, Airtable, PostgreSQL, MySQL, or any other n8n data source. Just map the field names in the Code node. Document type:** Replace the payment reminder layout with invoices, contracts, certificates, or any other document. Update the template and variable mappings to match. Individual emails:** Use Split In Batches to loop over the output and send each PDF to the corresponding customer directly. Schedule:** Adjust the Schedule Trigger to run daily, monthly, or swap it for a webhook trigger. JSON syntax:** All available document elements are documented in the Autype JSON Syntax Reference. Post-processing:** The Autype Tools API supports watermarks, password protection, compression, merging, and format conversion.
by Miki Arai
Who's it for Women and healthcare providers who want to automate menstrual cycle tracking with personalized AI-powered health insights delivered through multiple channels. What it does This workflow automates the complete cycle tracking process: Retrieves period and symptom data from Google Sheets every morning Analyzes patterns using OpenAI GPT to generate personalized health insights Sends daily notifications via Telegram on weekdays Creates Google Calendar reminders for upcoming cycle events Generates comprehensive weekly reports sent via email on weekends How it works Daily Trigger: Activates every morning at 8 AM Data Collection: Fetches period tracking and symptom logs from Google Sheets AI Analysis: GPT-4 analyzes your cycle data to provide personalized insights and predictions Smart Distribution: Weekday updates go to Telegram for quick access, weekend summaries are emailed Calendar Integration: Automatically creates events for predicted cycle phases Requirements Google account (for Sheets and Calendar) Telegram account and bot token OpenAI API key Gmail account for email reports Setup steps Configure the "Configuration Settings" node with your personal IDs Connect your Google Sheets with period and symptom data Set up Telegram bot and add your chat ID Add OpenAI credentials for AI analysis Connect Gmail for weekly reports Activate the workflow How to customize Adjust trigger time to your preferred schedule Modify AI prompts for different health focuses Add more notification channels (Slack, Discord, etc.) Customize report formatting and frequency Add additional data sources for more comprehensive tracking
by Avkash Kakdiya
How it works This workflow consolidates data from five different systems — Google Sheets, PostgreSQL, MongoDB, Microsoft SQL Server, and Google Analytics — into a single master Google Sheet. It runs on a scheduled trigger three times a week. Each dataset is tagged with a unique source identifier before merging, ensuring data traceability. Finally, the merged dataset is cleaned, standardized, and written into the output Google Sheet for reporting and analysis. Step-by-step 1. Trigger the workflow Schedule Trigger** – Runs the workflow at set weekly intervals. 2. Collect data from sources Google Sheets Source** – Retrieves records from a specific sheet. PostgreSQL Source** – Extracts customer data from the database. MongoDB Source** – Pulls documents from the defined collection. Microsoft SQL Server** – Executes a SQL query and returns results. Google Analytics** – Captures user activity and engagement metrics. 3. Tag each dataset Add Sheets Source ID** – Marks data from Google Sheets. Add PostgreSQL Source ID** – Marks data from PostgreSQL. Add MongoDB Source ID** – Marks data from MongoDB. Add SQL Server Source ID** – Marks data from SQL Server. Add Analytics Source ID** – Marks data from Google Analytics. 4. Merge and process Merge** – Combines all tagged datasets into a single structure. Process Merged Data** – Cleans, aligns schemas, and standardizes key fields. 5. Store consolidated output Final Google Sheet** – Appends or updates the master sheet with the processed data. Why use this? Centralizes multiple data sources into a single, consistent dataset. Ensures data traceability by tagging each source. Reduces manual effort in data cleaning and consolidation. Provides a reliable reporting hub for business analysis. Enables scheduled, automated updates for up-to-date visibility.
by Oneclick AI Squad
This n8n workflow automates the creation and countdown notifications for events like product launches or birthdays via a Telegram bot, ensuring timely group alerts through multi-channel routing (e.g., Slack or email). It processes incoming event data from webhooks, stores it persistently, and triggers scheduled reminders to keep teams or groups informed. Key Features Handles event creation or updates via webhook from Telegram chats or external sources. Fetches and processes upcoming events on a customizable schedule for countdown notifications. Routes alerts dynamically to channels like Slack or email based on event settings. Validates incoming data, formats messages for optimal delivery, and confirms responses to initiators. Workflow Process The Webhook Trigger node starts the workflow when an external system (e.g., Telegram bot) sends a POST request with event details like date, description, and notification preferences. The Process Webhook Event node parses and validates incoming webhook data, ensuring required fields (e.g., event date, channel) are present before proceeding. The Events Database node fetches upcoming events (e.g., launches or birthdays) from a data source, either triggered by the webhook for updates or scheduled for notifications. The Webhook Response node sends a confirmation or status response back to the webhook sender (e.g., Telegram bot) in JSON format. The Schedule Trigger node runs the workflow automatically on a defined schedule (e.g., daily at 9AM) to check for countdown-eligible events. The Is Slack? node checks if the event's notification channel is set to Slack; if true, it routes to Slack-specific formatting. The Format Slack Message node formats the event countdown message in a Slack-friendly layout (e.g., with mentions or embeds). The Send to Slack node sends the formatted message to the target Slack channel for group notifications. The Is Email? node checks if the event's notification channel is set to email (fallback from Slack check); if true, it routes to email-specific formatting. The Format Email node formats the event countdown message in an email-friendly detail (e.g., with HTML for readability). The Send Email node sends the formatted email to the recipient list (e.g., group organizers or participants). Setup Instructions Import the workflow into n8n and configure the Webhook Trigger with your Telegram bot's webhook URL for event creation requests. Set up database credentials in the Events Database node (e.g., connect to PostgreSQL or Airtable for event storage). Configure channel integrations: Slack app token for Send to Slack, SMTP credentials for Send Email, and ensure Schedule Trigger aligns with your countdown frequency (e.g., hourly for real-time alerts). Test by sending a sample POST request to the webhook with event data and manually triggering the schedule to verify notifications. Monitor executions in the n8n dashboard and refine validation logic in Process Webhook Event for custom event fields. Prerequisites Telegram bot with webhook setup for incoming event creation messages. Database service (e.g., PostgreSQL or Google Sheets) for storing and querying events. Slack workspace and email provider (e.g., Gmail SMTP) for notifications. n8n instance with webhook and cron scheduling enabled. Basic API setup for Telegram bot token and channel routing. Modification Options Add a Telegram-specific check node (e.g., "Is Telegram?") branching from Events Database to integrate direct bot messaging. Customize the Schedule Trigger for dynamic timing, like event-specific intervals for countdowns (e.g., daily leading up to the date). Extend Format Slack Message or Format Email with dynamic templates, such as embedding countdown timers or images. Integrate additional channels (e.g., Discord) by duplicating the Is Slack? / Is Email? logic. Enhance Process Webhook Event to support recurring events or auto-populate recipient lists from Telegram group data. Explore More AI Workflows: Get in touch with us for custom n8n automation!
by Salman Mehboob
Send personalized LinkedIn connection requests automatically using n8n, Google Sheets, and Unipile — with built-in safety limits, duplicate prevention, and full invitation tracking. Scale your LinkedIn outreach without manually sending a single connection request. This workflow reads your leads from a Google Sheet, filters out already-contacted prospects, and sends each one a personalized connection note via LinkedIn — automatically, on a schedule, and safely within LinkedIn's limits. Built for founders, sales teams, and recruiters who want consistent LinkedIn outreach without repetitive manual work. Every request is tracked back to your sheet with its invitation ID and status, making follow-up workflows easy to build on top. Good to know Unipile pricing is based on the number of connected accounts, not per API call or per message sent. The base plan starts at €49/$55 per month and includes up to 10 linked accounts For this workflow, connecting one LinkedIn account counts as one account Unipile does not enforce usage limits — you can send as many requests as you need. However, LinkedIn itself applies its own rate limits and usage policies A 7-day free trial is available with all features included and no credit card required LinkedIn has daily connection request limits — keep your total across all runs under 20 per day to avoid account restrictions Already-contacted leads are automatically skipped on every future run — no risk of sending duplicate requests How it works Schedule Trigger runs the workflow automatically at your chosen frequency All leads are fetched from your Google Sheet and filtered to only those with an empty connection_request_status column A configurable Limit node caps how many requests go out per run to stay within LinkedIn's safe limits A Code node extracts the LinkedIn username from each profile URL All required data — username, connection note, and Unipile credentials — is bundled in the Data Arrangement node The Loop node processes leads one by one, sending each through the full request flow individually Unipile API resolves the LinkedIn username to an internal Provider ID required for sending invites The connection request is sent with the personalized note pulled directly from your Google Sheet The sheet is immediately updated with the invitation status and unique invitation ID A Wait node pauses between each request to mimic human behavior and avoid LinkedIn restrictions The loop continues until all leads in the current batch are processed Set up steps Step 1: Prepare Your Google Sheet Create a sheet with these exact columns: first_name | last_name | linkedin_url | connection_note | connection_request_status | invitation_id | row_number Leave connection_request_status and invitation_id empty — the workflow fills these automatically Write a personalized message per lead in the connection_note column Step 2: Get Your Unipile Credentials Sign up at unipile.com — a 7-day free trial is available with no credit card required Connect your LinkedIn account from the Unipile dashboard Copy your API Key, DSN, and LinkedIn Account ID Open the Data Arrangement node and replace the three placeholder values with your credentials Step 3: Connect Google Sheets In n8n, go to Credentials → New Credential → Google Sheets OAuth2 Authenticate with the Google account that owns your leads sheet Update the Get Leads and Update Connection Request Status and ID nodes to point to your sheet Step 4: Set Your Safety Limits Open the Limit Connection Request node — set max items per run (recommended: 10–15) Open the Wait node — set your delay between requests (recommended: 3–5 minutes) Open the Schedule Trigger — set your run frequency (recommended: every 4–8 hours) Requirements Unipile account with LinkedIn connected — starts at €49/$55/month for up to 10 accounts, 7-day free trial available Google Sheet with lead data in the required column format n8n instance (cloud or self-hosted) Customising this workflow Build a follow-up message workflow triggered when a connection is accepted, using the stored invitation_id Replace the Schedule Trigger with a webhook to fire outreach from your CRM when a new lead is added Add an AI node to auto-generate personalized connection notes from each lead's job title or company name Add Slack or email notifications for a daily outreach summary Add error handling nodes to catch failed API calls and log them in a separate sheet tab Filter leads by industry, title, or location by adding extra conditions to the Filter node *For assistance and support: salmanmehboob1947@gmail.com Linkedin: https://www.linkedin.com/in/salman-mehboob-pro/*
by Incrementors
Paste any long influencer or YouTube video URL into the form, and this workflow does everything else. It sends the video to WayinVideo AI, which automatically finds the most engaging short clips. Each clip is then downloaded and saved directly to your Google Drive folder — ready to post on TikTok, Instagram Reels, or YouTube Shorts. Built for content agencies, social media managers, and creators who want to repurpose long videos at scale without editing manually. What This Workflow Does AI clip extraction** — Sends any video URL to WayinVideo, which identifies and generates the top viral short clips using AI scoring and engagement signals Auto-polling with retry** — Waits 45 seconds, then checks if clips are ready. If still processing, it loops back automatically until results arrive Batch clip processing** — Extracts every clip from the results — including title, score, tags, description, and timestamps — and processes each one separately Automatic file download** — Downloads each clip video file directly from the WayinVideo export link, no manual clicking required Google Drive upload** — Saves every downloaded clip to your specified Google Drive folder, named using the clip's AI-generated title Form-based input** — A simple web form lets anyone on your team submit jobs — no n8n knowledge needed Setup Requirements Tools you'll need: Active n8n instance (self-hosted or n8n Cloud) WayinVideo account + API key Google account connected to n8n via OAuth2 Estimated Setup Time: 10–15 minutes Step-by-Step Setup Get your WayinVideo API key Log in at WayinVideo, go to your account settings or developer section, and copy your API key. Paste the API key into node "2. WayinVideo — Submit Clipping Task" Open this node, find the Authorization header, and replace YOUR_WAYINVIDEO_API_KEY with your actual key. Paste the API key into node "4. WayinVideo — Poll Clips Result" Open this node, find the same Authorization header, and replace YOUR_WAYINVIDEO_API_KEY again. > ⚠️ This key appears in 2 nodes — you must replace it in both "2. WayinVideo — Submit Clipping Task" and "4. WayinVideo — Poll Clips Result" or the workflow will fail. Connect your Google account Open node "8. Google Drive — Upload Clip". Click the credential field and connect your Google account via OAuth2. Follow the on-screen prompts to authorise n8n. Set your Google Drive folder ID In node "8. Google Drive — Upload Clip", find the folderId field. Replace YOUR_GOOGLE_DRIVE_FOLDER_ID with your actual folder ID. To find it: open your target Google Drive folder in a browser — the folder ID is the string of letters and numbers at the end of the URL after /folders/. Activate the workflow Toggle the workflow to Active. Open the form URL generated by node "1. Form — Video URL + Brand + Clip Count" and submit a test video to confirm everything works end to end. How It Works (Step by Step) Step 1 — Form Trigger (Web Form) The workflow starts when someone fills out the web form. They enter three things: the influencer video URL, the brand or creator name, and how many clips to generate. This form is hosted by n8n and can be shared with anyone on your team. Step 2 — Submit to WayinVideo AI The video URL and settings are sent to the WayinVideo API. The request includes clip duration (30–60 seconds), HD 720p resolution, 9:16 vertical ratio for social media, captions enabled, and AI reframing. WayinVideo processes the video and returns a task ID that the workflow uses to check for results. Step 3 — Wait 45 Seconds The workflow pauses for 45 seconds to give WayinVideo time to process the video before the first check. This avoids sending requests too early when results won't be ready yet. Step 4 — Poll for Results The workflow calls the WayinVideo results endpoint using the task ID from Step 2. It asks: "Are the clips ready yet?" and receives either a clips array or an empty result. Step 5 — Check: Are Clips Ready? (YES / NO branch) YES** — If the results contain clip data, the workflow moves forward to extract and download each clip. NO** — If the results are empty (still processing), the workflow loops back to Step 3, waits another 45 seconds, and polls again. This loop continues until clips are ready. > ⚠️ Infinite Loop Risk: If WayinVideo never returns clips (due to an invalid URL or API error), this loop runs forever. Consider adding a retry counter to stop after a maximum number of attempts. Step 6 — Extract Clips Array A code step reads the clips data and splits it into individual items — one per clip. Each item includes the clip title, download link, score, tags, description, and start/end timestamps. Step 7 — Download Each Clip File For each clip, the workflow fetches the video file from WayinVideo's export link and downloads the binary file into n8n's memory, ready to be uploaded. Step 8 — Upload to Google Drive Each downloaded clip file is uploaded to your Google Drive folder. The file is named using the AI-generated clip title from Step 6, so every clip arrives in Drive with a descriptive, ready-to-use filename. The final result is a folder in your Google Drive containing all extracted short clips, named and ready to post. Key Features ✅ AI clip scoring — WayinVideo ranks clips by engagement potential, so you always get the most viral-ready moments first ✅ 9:16 vertical format — Every clip is automatically reframed for TikTok, Instagram Reels, and YouTube Shorts — no manual cropping ✅ Captions included — AI captions are embedded in every clip export, improving watch time and accessibility without extra editing ✅ Auto-retry polling — The workflow keeps checking until clips are ready — you don't need to monitor or re-run anything manually ✅ Batch processing — Multiple clips are downloaded and uploaded in one run, no matter how many you requested ✅ Smart file naming — Each clip in Drive is named using its AI-generated title, not a random ID — your folder stays organised ✅ Team-friendly form — The web form means anyone on your team can submit jobs without logging into n8n ✅ Configurable clip count — Enter any number in the form to control how many clips are generated per video Customisation Options Shorter TikTok clips — In node "2. WayinVideo — Submit Clipping Task", change target_duration from DURATION_30_60 to DURATION_15_30 to generate 15–30 second clips optimised for TikTok. Add Slack or email notifications — Insert a Slack or Gmail node after "8. Google Drive — Upload Clip" to ping your team with a message (and the Drive link) every time a new clip is saved. Log clip metadata to Google Sheets — After the upload step, add a Google Sheets "Append Row" node to record each clip's title, score, tags, and Drive link in a spreadsheet — useful for content calendars and client reporting. Change video resolution — In the Submit node, change resolution from HD_720 to FULL_HD_1080 for higher-quality exports, or SD_480 to reduce file sizes. Add a retry limit to the polling loop — To prevent the infinite loop risk, add a counter variable in the Wait step and check it in "5. If — Clips Ready?" — stop after 10 attempts and send an error notification instead. Switch to a different output folder per brand — Connect the Brand Name field from the form to the folder selection in the Google Drive node to auto-sort clips into brand-specific folders. Troubleshooting API key not working: Check that you replaced YOUR_WAYINVIDEO_API_KEY in both node "2. WayinVideo — Submit Clipping Task" and node "4. WayinVideo — Poll Clips Result" Confirm your WayinVideo account is active and the key has not expired Make sure there are no extra spaces before or after the key when pasting Workflow stuck in the polling loop: Check that the video URL is publicly accessible — private, age-restricted, or region-blocked videos will not process Open the results from node "4. WayinVideo — Poll Clips Result" and look at the raw response to see if WayinVideo returned an error message If no clips are ever returned, the workflow will loop indefinitely — activate the workflow again after fixing the URL Google Drive upload failing: Make sure the Google OAuth2 credential in "8. Google Drive — Upload Clip" is connected and not expired — reconnect it if needed Confirm the folder ID is correct: it should be just the ID string (e.g. 1BxiMVs0XRA5nFMdKvBdBZjgmUUqptlbs), not the full URL Check that your Google account has write access to that specific folder Support Need help setting this up or want a custom version built for your team or agency? 📧 Email: info@incrementors.com 🌐 Website: https://incrementors.com/