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 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 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/
by Davide
This workflow automates the entire Calendly onboarding and offboarding process for company users. It relies on form submissions, Google Sheets as a source of truth, AI-generated HR emails, man-in-the-loop approval steps, and direct API interactions with Calendly. Key Advantages ✅ Full Automation of Routine HR Processes The workflow removes the need for HR to manually add or remove Calendly users. It handles data collection, checks eligibility, interacts with Calendly’s API, and updates records automatically. ✅ Centralized Data Management All onboarding/offboarding data is stored and maintained in a Google Sheet, ensuring a single source of truth for user status and activity tracking. ✅ Built-in Human Validation (Man-in-the-Loop) HR receives automated approval emails and must validate each action before a Calendly account is created or removed. This ensures: security accuracy compliance with internal policies ✅ AI-Generated Professional Communication OpenAI generates polished, consistent HTML emails for HR, improving communication quality and reducing manual writing time. ✅ Clean Separation of Onboarding and Offboarding Paths Both processes are independent but structured similarly, making maintenance easier and ensuring consistent logic. ✅ Direct Integration with Calendly’s API The workflow automatically: creates invitations retrieves organization membership deletes users This eliminates manual operations inside Calendly, greatly reducing administrative workload. ✅ Error Reduction & Traceability Since every action is logged in the Google Sheet, HR can easily track: when onboarding/offboarding occurred whether approval was given if Calendly access is active ✅ Improved User Experience The final screens (“Onboarding complete”, “Offboarding complete”, “Not approved”) provide immediate feedback to the requester. The workflow contains two parallel automation paths: 1. Onboarding Workflow How it works User submits the Onboarding Form The form collects first name, last name, and email. User is appended to the Google Sheet A new record is added with date, name, email, and a placeholder for the Calendly status. AI-generated email is prepared OpenAI generates a full HTML email notifying HR about the onboarding request. HR receives an approval request via email Using Gmail’s “send and wait” feature, HR must approve or reject onboarding. If approved: The system calls Calendly’s API to invite the user to the organization. The Google Sheet record is updated (CALENDLY = on). The process ends with a confirmation page. If rejected: The workflow ends with a “Not approved” page. 2. Offboarding Workflow How it works User submits the Offboarding Form Only the email is required. The system checks the Google Sheet It verifies if the email exists and if the user currently has Calendly access. If the user exists, the workflow: Uses AI to generate a professional offboarding request email. Sends an approval prompt to HR. If HR approves: The workflow retrieves the user’s Calendly membership via API. Deletes the user from the Calendly organization. Updates Google Sheets (CALENDLY = off). Ends with a confirmation page. If approval is denied: The workflow ends with a “Not approved” screen. Here's a description of the Calendly Onboarding and Offboarding workflow for n8n: How It Works This workflow automates user onboarding and offboarding processes for Calendly with human approval steps. The system operates through two parallel streams: Onboarding Process: Users submit their information (first name, last name, email) through an onboarding form Data is automatically recorded in a Google Sheets spreadsheet An AI agent generates a professional HTML email notification for HR The email is sent to HR with a double-approval mechanism requiring manual confirmation If approved, the system automatically adds the user to Calendly organization via API The spreadsheet is updated to mark the user as "on" for Calendly access User receives a completion confirmation Offboarding Process: Users submit their email through an offboarding form The system checks Google Sheets to verify the user exists and has Calendly access An AI agent generates an offboarding notification email for HR approval After HR double-approval, the system retrieves the user's Calendly membership via API The user is automatically removed from Calendly organization The spreadsheet is updated to mark Calendly access as "off" User receives offboarding completion confirmation Set Up Steps Prerequisites: Google Sheets spreadsheet with columns: DATE, FIRST NAME, LAST NAME, EMAIL, CALENDLY Calendly organization ID and API access Gmail account for sending approval emails OpenAI API access for email generation Configuration Steps: Google Sheets Setup: Create a spreadsheet with the required column structure Configure Google Sheets OAuth credentials in n8n Update the document ID in all Google Sheets nodes Calendly API Configuration: Replace "XXX" placeholders in HTTP Request nodes with actual Calendly API bearer tokens Set the correct Calendly organization ID in the Set nodes Verify API endpoints match your Calendly organization structure Email System Setup: Configure Gmail OAuth credentials for sending approval emails Update recipient email address from "info@n3w.it" to your HR department's email Adjust approval timeout settings as needed (currently 45 minutes) Form Configuration: Deploy both onboarding and offboarding forms Test form submissions to ensure data flows correctly Customize completion messages for both success and rejection scenarios AI Email Generation: Verify OpenAI API credentials are properly configured Test email template generation for both onboarding and offboarding scenarios Adjust system prompts if different email formatting is required Workflow Activation: Test both onboarding and offboarding flows end-to-end Verify approval emails are received and functional Confirm Google Sheets updates correctly Activate the workflow once testing is complete Need help customizing? Contact me for consulting and support or add me on Linkedin.
by Anoop
📩 Automatically Log Transactions from Gmail into Notion and Get Telegram Alerts Who’s it for This workflow is for individuals or entrepreneurs who receive bank alerts, invoices, and payment emails in Gmail and want them to be automatically organized in Notion — while also receiving quick Telegram notifications for each transaction. If you manage personal or business finances and find it tedious to manually record every debit, credit, or invoice — this automation does it all for you. How it works The workflow acts as an AI-powered Accountant Agent that reads incoming Gmail messages and decides whether each email represents a Debit Transaction, Credit Transaction, Debit Invoice, or Credit Invoice. The Gmail Trigger watches your selected inboxes (like forwarding@bayesian-labs.com, support@bayesian-labs, anoop.karnik@bayesian-labs). The Classifier (GPT-5-nano) determines the correct transaction type. The appropriate Agent (GPT-5) then extracts amount, currency, and description details. The Agent uses Notion API tools to log structured data into your Personal Finance System Notion template (Financial Transactions & Income databases). Finally, a Telegram notification is sent summarizing the entry (From, To, Subject, Snippet). In short: every time your bank emails you — Notion gets updated, and you get notified. How to set up Duplicate the Personal Finance System Notion template into your workspace. Create a Telegram Bot with BotFather → copy the bot token and your chat ID. Generate an OpenRouter API key for GPT-5 / GPT-5-nano. Create a Notion Integration Token and connect it to your duplicated finance databases. Add your Gmail accounts (forwarding@, support@, and/or personal Gmail) under Gmail OAuth2 credentials in n8n. Import the workflow JSON into n8n → fill in the credential names as listed below: n8n_cloud_regular_usage → OpenRouter Notion account → Notion API Accountant AI → Telegram Bot Gmail OAuth2 for each inbox trigger Once active, n8n polls Gmail every minute, classifies emails, updates Notion, and sends Telegram updates. Requirements n8n instance (self-hosted or cloud) Gmail accounts connected via OAuth2 OpenRouter API key Telegram bot token & chat ID Notion integration token Your duplicated Personal Finance System Notion template How to customize the workflow You can extend this workflow to: Track credit card statements, subscriptions, or payroll notifications. Add Slack or WhatsApp alerts alongside Telegram. Include live FX rates for USD→INR conversion using an API node. Connect Google Sheets as a backup ledger or export target. Add error-handling branches to mark Gmail messages as processed or label them “Logged to Notion”.
by Dev Dutta
Convert PDF Articles to Podcast Workflow Name: Convert PDF Articles to Podcast Author: Devjothi Dutta Category: Productivity, Content Creation, Automation Complexity: Medium Setup Time: 45-60 minutes 📖 Description Transform any PDF article, research paper, or document into a high-quality audio podcast automatically. This workflow extracts text from PDFs, converts it to natural-sounding speech using Google Cloud Text-to-Speech, stores the audio files in cloud storage, and generates an RSS feed compatible with all major podcast apps (Apple Podcasts, Spotify, Pocket Casts, etc.). Perfect for consuming long-form content while commuting, exercising, or multitasking. Turn your reading list into a personal podcast feed. 👥 Who's it for For Professionals: Convert industry reports and whitepapers to audio Listen to research papers during commutes Stay updated with long-form articles hands-free For Students: Turn textbooks and study materials into audio Create audio versions of lecture notes Study while exercising or commuting For Content Creators: Repurpose written content into audio format Create podcast episodes from blog posts Reach audio-focused audiences For Busy Readers: Convert saved articles to a personal podcast Listen to newsletters and essays on the go Build a private audio library ✨ Key Features 📄 PDF Text Extraction** - Automatically extracts text from any PDF file 🎙️ Natural Voice Synthesis** - High-quality WaveNet voices from Google Cloud TTS ☁️ Cloud Storage** - Files hosted on Cloudflare R2 (S3-compatible) with public URLs 📻 RSS Feed Generation** - Full iTunes-compatible podcast feed with metadata 📧 Email Notifications** - Instant alerts when new episodes are ready 🎨 Custom Branding** - Configurable podcast name, artwork, and descriptions ⚙️ Modular Configuration** - Easy-to-update centralized config node 🔄 Automated Workflow** - Set it and forget it - fully automated pipeline 🛠️ Requirements Required Services: n8n (self-hosted or cloud) - Workflow automation platform Google Cloud Platform - Text-to-Speech API access Free tier: 1 million characters/month (WaveNet voices) Paid: $16 per 1 million characters Cloudflare R2 - Object storage for audio files and RSS feed Free tier: 10GB storage, unlimited egress Email Service - SMTP or email service for notifications Required Community Nodes: Cloudflare R2 Storage** (n8n-nodes-cloudflare-r2-storage) Install via: Settings → Community Nodes → Install Search for: n8n-nodes-cloudflare-r2-storage Important: Install this BEFORE importing the workflow Optional: Custom domain for podcast feed URLs Podcast artwork (3000x3000px recommended) 📦 What's Included This workflow package includes: Complete n8n workflow JSON (ready to import) Comprehensive setup guide Architecture documentation Configuration templates Credentials setup instructions Testing and validation checklist RSS feed customization guide Troubleshooting documentation 🚀 Quick Start Install community node (required): Go to Settings → Community Nodes → Install Search for: n8n-nodes-cloudflare-r2-storage Click Install and wait for completion Import workflow into your n8n instance Configure credentials: Google Cloud TTS API key Cloudflare R2 credentials (Access Key ID + Secret) SMTP email credentials Update Workflow Config node with your settings: R2 bucket name and public URL Podcast name and description Artwork URL Email recipient Test with a sample PDF to verify setup Add RSS feed URL to your podcast app 📊 Workflow Stats Nodes:** 10 Complexity:** Medium Execution Time:** ~2-5 minutes per PDF (depends on length) Monthly Cost:** $0-20 (depending on usage and free tiers) Maintenance:** Minimal (set and forget) 🎨 Customization Options Change TTS voice (20+ English voices available) Adjust speech speed and pitch Customize RSS feed metadata Add custom intro/outro audio Configure file retention policies Set up webhook triggers for remote submission 🔧 How it Works User uploads PDF to n8n Text is extracted from PDF Text is sent to Google TTS API Audio file (.mp3) is generated Files uploaded to R2 storage: Original PDF Generated MP3 audio RSS feed is generated/updated with: Episode title (from PDF filename) Audio URL Duration and file size Publication date Rich HTML description RSS feed uploaded to R2 Email notification sent with episode details 💡 Pro Tips Voice Selection:** Test different WaveNet voices to find your preferred style Batch Processing:** Process multiple PDFs by running workflow multiple times Quality vs Cost:** WaveNet voices sound better but cost more than Standard voices Storage Management:** Set up R2 lifecycle rules to auto-delete old episodes Custom Domains:** Use Cloudflare for custom podcast feed URLs 🔗 Related Workflows PDF to Email Summary Document Translation to Audio Blog RSS to Podcast Multi-language Audio Generation 📧 Support & Feedback For questions, issues, or feature requests: GitHub: PDF-to-Podcast---N8N Repository n8n Community Forum: Tag @devdutta Email: devjothi@gmail.com 📄 License MIT License - Free to use, modify, and distribute ⭐ If you find this workflow useful, please share your feedback and star the workflow!