by Terence Hielscher
How it works A CV arrives by email. easybits extracts structured candidate data from the PDF: same JSON schema every time, regardless of CV layout or language. The workflow then fetches the open job description from Airtable, compares the candidate's skills against the role requirements, calculates a match score, saves the candidate record, and sends a Slack notification flagged as shortlist or review. What makes this different The scoring is based on the actual job description, not a static keyword list. Upload a new job description, and the scoring updates automatically for every new CV. Set up steps Create a free easybits.tech account and set up two pipelines: one for CV extraction, one for job description extraction. Copy the pipeline IDs. Add your Gmail OAuth2 credential in n8n Add your easybits API key as a Header Auth credential Add your Airtable personal access token — create two tables: Jobs and Candidates (schemas in sticky notes) Add your Slack webhook URL Run the Job Description Parser workflow first by emailing a job description PDF to your recruitment inbox Then activate the CV Screening workflow — it reads from the Jobs table automatically Prerequisites easybits.tech account (free tier available) Gmail account with OAuth2 access Airtable account Slack workspace with incoming webhooks enabled Setup time: approximately 20 to 30 minutes
by Salman Mehboob
**Send personalized LinkedIn InMails automatically to CEOs and founders using n8n, Google Sheets, and Unipile — with built-in duplicate prevention, credit tracking, and full conversation ID logging. Scale your LinkedIn outreach without manually writing or sending a single InMail. This workflow reads your leads from a Google Sheet, filters out already-messaged prospects, and sends each one a fully personalized InMail — with their first name and company name injected automatically — on a schedule, hands-free. Built for founders, sales professionals, and automation builders who want consistent, professional LinkedIn outreach without the repetitive manual effort. Every sent InMail is tracked back to your sheet with its unique conversation ID, making follow-up sequences easy to build on top. Good to know This workflow sends InMails via LinkedIn Sales Navigator or LinkedIn Recruiter Classic — you must have one of these plans active on your LinkedIn account InMail credits are consumed from your LinkedIn plan's monthly allowance — they are not charged separately by Unipile Monthly InMail credit allowances by plan: Sales Navigator Core: 50 credits/month Sales Navigator Advanced: 50 credits/month Recruiter Classic: 100 credits/month Unipile pricing is based on the number of connected accounts — the base plan starts at €49/$55 per month for up to 10 accounts. A 7-day free trial is available with no credit card required Already-messaged leads are automatically skipped on every future run — no duplicate InMails The chat_id returned after each sent InMail is saved to your sheet and can be used to build follow-up message sequences 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 where the inmail column does not equal Sent A configurable Limit node caps how many InMails go out per run to protect your monthly credit allowance A Code node extracts the LinkedIn username from each profile URL All required data — first name, company name, username, and Unipile credentials — is bundled in the Data Arrangement node The Loop node processes leads one by one, sending each through the full InMail flow individually Unipile API resolves the LinkedIn username to an internal Provider ID required for sending InMails The InMail is sent via Unipile's /api/v1/chats endpoint using the sales_navigator API parameter, with the subject line and message body personalized automatically with the lead's first name and company name The sheet is immediately updated with Sent status and the unique chat_id of the opened conversation A Wait node pauses between each InMail 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 | company_name | inmail | chat_ID | row_number Leave inmail and chat_ID empty — the workflow fills these automatically after each InMail is sent Make sure company_name is filled for every lead — it is used in both the subject line and the message body 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 Sales Navigator or LinkedIn Recruiter Classic 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: Set Your LinkedIn Plan in the Send InMail Node Open the Send InMail node The api field is set to sales_navigator by default If you are using LinkedIn Recruiter Classic, change the api value to recruiter Do not change this field if you are on any Sales Navigator plan Step 4: 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 Data nodes to point to your sheet Step 5: 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 each InMail (recommended: 3–5 minutes) Open the Schedule Trigger — set your run frequency (recommended: every 4–8 hours) Requirements LinkedIn Sales Navigator (Core, Advanced, or Advanced Plus) or LinkedIn Recruiter Classic — required to send InMails via the API Unipile account with your LinkedIn account 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 using the stored chat_id to send a reply into the same conversation thread if there is no response after a set number of days Add an AI node to auto-generate unique personalized InMail messages per lead based on their job title, industry, or company size Replace the Schedule Trigger with a webhook to fire outreach instantly when a new lead is added to your CRM Add a Slack or email notification node to receive a daily summary of InMails sent Add error handling nodes to catch failed API calls and flag those leads in a separate sheet tab for manual review Combine this workflow with the LinkedIn Connection Request workflow to build a full outreach sequence — connection request first, InMail after acceptance *For assistance and support: salmanmehboob1947@gmail.com Linkedin: https://www.linkedin.com/in/salman-mehboob-pro/*
by AI/ML API | D1m7asis
Who’s it for For makers, founders, and productivity nerds who want to listen to their inbox instead of reading it. No servers, no hosting — all done with n8n, a Telegram bot, and AI/ML API (LLM + TTS). What it does / How it works This workflow listens for new Gmail emails, extracts the sender, subject, date, and snippet, generates a 2–3 sentence natural summary using GPT-5 via AI/ML API, then converts the text into a lifelike voice message using Inworld TTS-1-Max. The final audio file is downloaded and instantly delivered to your Telegram via a bot. A separate auxiliary flow captures your Telegram chat_id once, stores it in a Data Table, and the main flow reuses it every time — no hardcoding required. High-level flow: Gmail Trigger detects new incoming email Code node builds a clean emailData block AI/ML API (GPT-5) generates a natural spoken summary AI/ML API (Inworld TTS-1-Max) converts summary → voice Audio file is downloaded Voice message is sent to the same Telegram chat Requirements A working n8n instance (self-hosted or cloud) Gmail OAuth2 credentials Telegram bot token from @BotFather AI/ML API key Base URL: https://api.aimlapi.com/v1 Supports GPT-5 and Inworld TTS-1-Max Set up steps Create a Telegram bot via @BotFather and add Telegram API credentials in n8n Create an AI/ML API credential using your API key Add Gmail OAuth2 credentials for inbox access Import the workflow JSON Open nodes and attach the correct credentials (no hardcoded tokens inside nodes) Run the Telegram Trigger once and send any message to your bot — this saves your chat_id Activate your workflow and receive your first voice-summary How to customize Replace GPT-5 with another LLM from AI/ML API (same schema) Change prompt style: tone, structure, language, or verbosity Add language selection or multi-voice support Add filters (e.g., only important emails, only starred emails) Log all activity to Google Sheets or a database Add IF conditions: voice only during certain hours, weekday vs weekend rules Add rate-limits or user allowlists Change the voice model for different notification styles: corporate, friendly, narrator
by Krade1027
Monitor device disconnections from Omada emails to Google Sheets with Pushover alerts Who’s it for This workflow is designed for IT admins, network engineers, or small business owners who need to automatically monitor device connectivity from Omada Controller email alerts. If you want a lightweight, low-cost solution for tracking device uptime without complex monitoring software, this template is for you. How it works The workflow listens for Omada Controller email alerts using Gmail, parses each email, and logs device connection status (connected/disconnected) into Google Sheets. Every 5 minutes, it checks for devices that have been disconnected for more than 30 minutes. If a device has not reconnected, the workflow sends a push notification via Pushover. Old logs are cleared automatically every 2 days to keep the sheet clean. Workflow Overview The workflow is broken into three main parts: 1. Email Processing (Receives Alert -> Append Row in Sheet) Triggered whenever a new email is received. It uses a Code node to parse the raw text of the email, extracting details like device name, MAC address, and connection status. This data is formatted and appended as a new row to Google Sheets, creating a comprehensive log of all connection events. Important: In the Gmail trigger node, make sure to set the search field or filter so that it only matches the subject line used by Omada Controller alert emails. This ensures the workflow only processes the intended alerts and not unrelated emails. 2. Disconnected Device Alerting (Check Every 5 minutes -> Alert User) Runs every 5 minutes. It reads the device log from Google Sheets, identifies the most recent status for each device, and filters for devices currently disconnected. If a device has been disconnected for more than 30 minutes, a high-priority push notification is sent to Pushover account. Once sent, the workflow updates the corresponding row in the Google Sheet to prevent duplicate alerts. 3. Data Maintenance (Clear Rows Every 2 days -> Clear sheet) Runs every two days to clean up the Google Sheet by deleting the oldest rows, keeping the log from growing too large. Services and Dependencies To run this workflow, you’ll need the following services connected to n8n: Google Sheets**: Logs all connection events and tracks device status Gmail**: Acts as the trigger, listening for Omada Controller alerts Pushover**: Sends real-time, high-priority push notifications to mobile devices Setup Instructions 1. Create a Google Sheet Log Create a new Google Sheet in your Google Drive Name it something like Omada Device Log Add these headers in the first row: exact spelling and order is crucial rowId, timestamp, timestampISO, category, severity, mac, name, type, status, checkAfter, alertSent, timeStampFormated 2. Configure Credentials Google Sheets**: Create a new OAuth2 credential in n8n Gmail**: Create a new OAuth2 credential (must receive Omada alerts) Pushover**: Create a new API credential and get user keys for each recipient 3. Import the Workflow Copy the JSON workflow file In n8n: click New → Import from JSON Paste the JSON code 4. Update the Nodes Receives Alert**: Link it to your Gmail credential Append Row in Sheet, Get Row(s) in Sheet, Update Alert, Clear sheet**: Replace YOUR_GOOGLE_SHEET_ID with your Google Sheet’s ID (found in the sheet URL between /d/ and /edit) Alert User**: Replace YOUR_PUSHOVER_USER_KEY with your Pushover user keys Node Breakdown Receives Alert** (Gmail Trigger): Listens for new emails Process Email and Extract** (Code): Parses email and extracts structured data (timestamps, device info, status) Append Row in Sheet** (Google Sheets): Adds a new row to your log Check Every 5 minutes** (Schedule Trigger): Runs regularly to check device status Get Row(s) in Sheet** (Google Sheets): Reads log to get latest status per device Check Device and Notify** (Code): Groups rows by MAC, filters disconnected devices past 30 minutes Alert User** (Pushover): Sends formatted push notification with device details Update Alert** (Google Sheets): Marks the row as alerted to prevent duplicates Clear Rows Every 2 days** (Schedule Trigger): Runs maintenance Clear sheet** (Google Sheets): Deletes old rows, preserves header
by WeblineIndia
(Retail) VIP Customer Escalation Flow This workflow automatically monitors new Zendesk support tickets, identifies VIP customers, generates AI-based ticket summaries, alerts available support agents on Slack and sends a consolidated email for non-VIP tickets. This workflow listens for new Zendesk tickets and checks whether the customer is a VIP.VIP tickets are prioritized using AI summaries and instant Slack alerts, while non-VIP tickets are grouped and sent as a single email notification to the support team. You get: Instant VIP ticket alerts on Slack** AI-generated issue summary and next steps** Automatic agent availability check** One clean email for all non-VIP tickets** Ticket tracking stored for reporting** Ideal for support teams who want to prioritize high-value customers without manual effort. Quick Start – Implementation Steps Connect your Zendesk account and enable the Zendesk Trigger. Add your OpenAI API key for ticket summarization. Connect your Slack workspace and select users/channels. Configure Airtable to store VIP ticket data (optional but recommended). Connect Gmail to send non-VIP ticket summary emails. Activate the workflow — automation starts immediately. What It Does This workflow automates VIP ticket handling and notifications: Detects new Zendesk support tickets. Checks if the ticket belongs to a VIP customer. Uses AI to summarize VIP ticket issues and suggest next steps. Saves VIP ticket data for tracking and audits. Finds active support agents on Slack. Sends direct Slack alerts to active agents or a fallback channel. Collects non-VIP tickets into a single list. Sends one summary email for all non-VIP tickets. This prevents alert fatigue while ensuring VIP customers get fast attention. Who’s It For This workflow is ideal for: Customer support teams Helpdesk managers SaaS and e-commerce businesses High-touch B2B support teams Operations teams handling VIP customers Anyone needing smarter ticket prioritization Requirements to Use This Workflow To run this workflow, you need: n8n instance** (cloud or self-hosted) Zendesk account** with API access OpenAI API key** Slack workspace** with bot permissions Gmail account** (or SMTP alternative) Airtable account** (optional, for logging) How It Works Ticket Trigger – Workflow starts when a new Zendesk ticket is created. VIP Check – Verifies whether the ticket contains a VIP tag. AI Summary – AI reads the ticket and generates a short summary and next steps. Save VIP Ticket – VIP tickets are stored for tracking and reporting. Agent Availability Check – Slack users are checked for online presence. Slack Alert – Sends alert to an active agent or team channel. Non-VIP Collection – Non-VIP tickets are grouped together. Email Notification – One summary email is sent to the support team. Setup Steps Import the workflow JSON into n8n. Configure Zendesk Trigger with OAuth. Add your OpenAI credentials. Map fields in the Airtable node (if used). Connect Slack API and select users/channels. Configure Gmail recipient and email format. Test with a sample VIP and non-VIP ticket. Activate the workflow. How To Customize Nodes Customize VIP Logic You can enhance VIP detection by: Adding spend-based logic Checking customer lifetime value Using CRM or database lookups Customize Slack Alerts You may add: Emojis or mentions (@here, @team) Ticket priority highlighting Direct Zendesk ticket links Customize Email Content You can: Add branding Include SLA warnings Add escalation notes Customize AI Output Adjust the AI prompt to: Change summary length Add tone (urgent, polite, technical) Include troubleshooting steps Add-Ons (Optional Enhancements) You can extend this workflow to: Auto-assign tickets to senior agents Add SLA breach detection Log VIP interactions to CRM Add sentiment analysis Create dashboards using Airtable or Google Sheets Trigger SMS or WhatsApp alerts Add priority-based routing (VIP / High / Normal) Use Case Examples 1\. VIP Customer Escalation Ensure top customers always get instant attention. 2\. Support Load Management Reduce Slack and email noise with grouped notifications. 3\. AI-Assisted Support Help agents understand issues faster with AI summaries. 4\. Audit & Reporting Track VIP issues and resolutions over time. Troubleshooting Guide | Issue | Possible Cause | Solution | |-----------------------|--------------------------|-----------------------------------| | No Slack alert | No active users | Check fallback channel | | AI summary missing | OpenAI key invalid | Reconnect OpenAI credentials | | Multiple emails sent | Aggregate node missing | Ensure aggregation is enabled | | VIP not detected | Tag mismatch | Check tag name and case | | Airtable error | Field mismatch | Match column names exactly | Need Expert Help? If you need help extending this workflow with advanced features like adding CRM integration, advanced VIP logic, dashboards or scaling this for production then our n8n automation experts at WeblineIndia can help you build reliable, enterprise-ready automations.
by Oneclick AI Squad
This automated n8n workflow enables the creation and management of AWS RDS databases through email interactions. Users can send emails with commands such as "Create RDS" or "Delete RDS," including details like database engine, instance class, and credentials. The workflow parses the email, uses Terraform to execute the requested action on AWS RDS, updates a Google Sheet with the status, and sends a confirmation email. Fundamental Aspects Gmail Trigger**: Initiates the workflow upon receiving a new email in Gmail. Parse Email Content**: Analyzes the email body to extract the command (create or delete) and database details like region, identifier, engine, and credentials. Manage RDS Instance**: Executes Terraform commands to create or delete the AWS RDS database instance based on the parsed details. Wait For Data**: Pauses the workflow to allow time for the RDS operation to complete and data to become available. Update Google Sheet**: Appends or updates the Google Sheet with the database instance details, status, and any relevant IDs. Send Confirmation Email**: Formats and sends a response email confirming the action taken, including success/failure details. Setup Instructions Import the Workflow into n8n**: Download the workflow JSON and import it via the n8n interface. Configure API Credentials**: Set up Gmail API credentials for email triggering and sending. Configure AWS credentials with RDS management permissions. Set up Google Sheets API credentials with read/write access. Ensure Terraform is integrated or nodes are configured for Terraform execution. Prepare Google Sheet**: Create a sheet with columns for database identifier, engine, instance class, status, and other relevant fields. Run the Workflow**: Activate the Gmail trigger and test by sending an email with a create or delete command. Verify Responses**: Check the Google Sheet for updates and your email for confirmation messages. Adjust Parameters**: Fine-tune Terraform variables, email parsing logic, or wait times as needed. Columns For The Google Sheet: Database Identifier: Unique identifier for the RDS instance (e.g., var.db_identifier). Engine: Database engine type (e.g., MySQL, PostgreSQL) (e.g., var.db_engine). Instance Class: RDS instance class (e.g., var.instance_class) (e.g., db.t3.micro). Allocated Storage: Storage size in GB (e.g., var.allocated_storage) (e.g., 20). Region: AWS region for the instance (e.g., var.aws_region) (e.g., us-east-1). Username: Database admin username (e.g., var.db_username) (e.g., admin). Password: Database admin password (e.g., var.db_password) (e.g., SecurePassword123). Status: Current status of the RDS instance (e.g., creating, deleted). Database Name: Name or tag for the database (e.g., var.db_name) (e.g., MyRDSDatabase). Technical Dependencies Gmail API**: For receiving trigger emails and sending confirmations. AWS RDS API**: For database management (via Terraform). Google Sheets API**: For logging and updating database status. Terraform**: For infrastructure-as-code management of RDS instances. n8n**: For workflow automation and node integrations. Customization Possibilities Support Additional Commands**: Extend to include update or snapshot operations for RDS instances. Enhance Parsing**: Improve email content analysis with AI for better intent detection. Add Database Engines**: Include support for more RDS engines like Oracle or SQL Server. Integrate Monitoring**: Add nodes to monitor RDS performance and alert via email. Customize Sheets**: Modify sheet columns or add visualizations for database metrics. Security Enhancements**: Incorporate additional validation for sensitive credentials in emails. Want a tailored workflow for your business? Our experts can craft it quickly Contact our team
by PollupAI
This n8n workflow enables teams to automate and standardize multi-step onboarding or messaging workflows using Google Sheets, Forms, Gmail, and dynamic logic powered by Code and Switch nodes. It ensures the right email is sent at the right step, tracks progress in Google Sheets, and handles errors or escalations. 🧑💼 Who is this for? HR and PeopleOps teams managing candidate or employee onboarding processes Customer success or onboarding teams handling structured, step-based journeys Any team using Google Sheets as a lightweight CRM or workflow tracker 🧩 What problem is this workflow solving? Coordinating multi-step onboarding or communication flows using spreadsheets and email can quickly become error-prone. This workflow: Dynamically detects the current step and status from a Google Sheet Sends the right message at the right time Updates statuses and creates next steps Handles errors with escalation logic ⚙️ What this workflow does Trigger via Form or Manual Execution Users can fill a web form or run the workflow manually. Read Google Sheets Retrieves step definitions and user progress from two sheets: One for message templates One for user step/status tracking Generate Message Table Uses custom JavaScript to parse and structure message templates based on step and message type (sent, completed, error). Determine User Step A Switch node checks the user’s current step and status. Logic branches into the correct flow for message sending and verification. Send Message Message variables are replaced using a Code node. Final message is sent via Gmail or another workflow (using Execute Workflow). Update Sheets Marks the step as completed or passed. Creates the next step in the sheet with updated status. Handle Errors If the step fails, an error message is sent to the responsible admin. 🛠️ Setup Connect Google Sheets and Gmail: Ensure credentials are configured in n8n. Prepare Sheets: One sheet for messages with steps/types/subjects/content. You can copy the one from here One sheet for tracking users and their current step/status. You can copy the one from here Customize Webform: Use the provided form to capture First Name, Last Name, and Email. Connect to Your Email Templates: Ensure your message structure follows the expected JSON format by step and type. ✏️ How to customize this workflow to your needs Add More Steps**: Expand the Switch logic and template sheet for more steps. Use Different Channels**: Replace Gmail with Slack, Telegram, or another messaging node. Change Form Fields**: Adjust the FormTrigger node to match your onboarding fields. Custom Error Logic**: Customize escalation emails, including admin routing or Slack alerts. Integrate with Databases**: Swap Google Sheets with Airtable, PostgreSQL, or Notion. This workflow is ideal for automating repetitive, step-based processes involving human communication. It’s modular, extensible, and powered by spreadsheet-driven logic.
by Rakin Jakaria
Use cases are many: Let users book, check, reschedule, or cancel meetings directly from Telegram. Perfect for solopreneurs, agencies, or teams who want an AI-powered assistant that prevents double-bookings, manages Google Calendar, and even sends email invites automatically. Good to know At time of writing, this workflow uses OpenAI GPT-4.1-mini for natural conversation handling. See OpenAI Pricing for updated info. This workflow relies on Google Calendar for scheduling — if the model says “conflict found,” it means an event already exists in that time slot. How it works Telegram Chat**: A user types natural requests like “Book a meeting with Sarah tomorrow at 2 PM” or “Do I have meetings on Friday?”. AI Agent (OpenAI)**: Interprets the request, calculates dates (using Date & Time), and decides whether to create, update, or delete a meeting. Conflict Checking**: Before booking, the agent checks Google Calendar for existing events to avoid overlaps. Meeting Management**: Create: Adds new events with title, description, attendees. Update: Edits existing events. Delete: Cancels meetings if requested. Get: Lists all meetings for a date or time range. Notifications**: Replies instantly on Telegram and, if needed, sends a Gmail email with meeting details. Memory**: Keeps context of the conversation so users can speak naturally (“reschedule that meeting to 4 PM instead”). How to use Start a Telegram chat with the bot. Type a request in plain English (no need for structured inputs). The agent will confirm or suggest alternatives if a conflict exists. Meetings appear in Google Calendar and details can be emailed via Gmail. Requirements Telegram bot connected to n8n OpenAI API key (for AI-driven scheduling assistant) Google Calendar account (for event creation & conflict checking) Gmail account (for sending invites & confirmations) Customising this workflow Add support for multiple calendars (work, personal, shared). Change the conflict-resolution logic (e.g., auto-suggest nearest free slot). Include recurring meetings (weekly standups, monthly reviews). Add Slack or WhatsApp integration for multi-platform scheduling. Extend Gmail invites with calendar attachments (.ics files). 👉 Rakin Jakaria
by Yusuke Yamamoto
This n8n template automates responses to customer inquiries about DHL shipment status, handling requests from both web forms and emails. Use cases Automate Customer Support**: Provide 24/7 instant answers to the common "Where is my order?" question without human intervention. Reduce Support Tickets**: Decrease the volume of repetitive tracking inquiries by providing customers with immediate, self-service information. Enhance Customer Experience**: Offer a consistent and rapid response across multiple channels (your website and email), allowing customers to use their preferred method of contact. Good to know DHL API Key is required**: You'll need to register on the DHL Developer Portal to get your API key. This workflow requires Gmail credentials (OAuth2) to monitor incoming emails and send replies. The webhook URL must be configured in your website's contact or tracking form to receive submissions. How it works The workflow is initiated by one of two triggers: a Webhook (from a website form) or a Gmail Trigger (when a new email arrives). A Merge node combines the data from both triggers into a single, unified flow. The "Extract Tracking Number" Code node intelligently parses the tracking number from either the form data or the email body. It also extracts the customer's name and email address. The HTTP Request node sends the extracted tracking number to the DHL API to fetch the latest shipment status. The "Format Response Message" Code node takes the API response and composes a user-friendly message for the customer. It also handles cases where tracking information is not found. An If node checks the original source of the inquiry to determine whether it came from the webhook or email. If the request came from the webhook, a Respond to Webhook node sends the tracking data back as a JSON response. If the request came from an email, the Gmail node sends the formatted message as an email reply to the customer. How to use Configure the Triggers: Webhook Trigger: Copy the Test URL and set it as the action endpoint for your web form. Once you activate the workflow, use the Production URL. Webhook URL: https://your-n8n-instance.com/webhook/dhl-tracking-inquiry Gmail Trigger: Connect your Gmail account using OAuth2 credentials and set the desired filter conditions (e.g., unread emails with a specific subject). Set up the DHL API: Open the "Get DHL Tracking Status" (HTTP Request) node and navigate to the "Headers" tab. Replace YOUR_DHL_API_KEY with your actual DHL API key. { "DHL-API-Key": "YOUR_DHL_API_KEY" } Configure the Gmail Send Node: Connect the same Gmail credentials to the "Send Gmail Response" node. Customize options like the replyTo address as needed. Activate the workflow. Requirements A DHL Developer Portal account to obtain an API key. A Gmail account configured with OAuth2 in n8n. Customising this workflow Add More Carriers**: Duplicate the HTTP Request node and response formatting logic to support other shipping carriers like FedEx or UPS. Log Inquiries**: Add a node to save inquiry details (tracking number, customer email, status) to a Google Sheet or database for analytics. Advanced Error Handling**: Implement more robust error handling, such as sending a Slack notification to your support team if the DHL API is down or returns an unexpected error.
by Incrementors
Paste your live stream recording URL into a simple form — and this workflow automatically finds the most viral moments and turns them into ready-to-upload short clips. WayinVideo AI analyzes the full stream, extracts the best highlights, and uploads each clip directly to your Google Drive folder. Built for streamers, content teams, and social media managers who want to repurpose long streams into shareable content without watching hours of footage. What This Workflow Does Form-triggered entry** — Accepts a stream URL, channel name, category, and clip count via a clean web form — no chat interface or code needed AI clip extraction** — Sends the stream to WayinVideo AI which automatically identifies the most viral and exciting moments Automated waiting** — Pauses 90 seconds after submission to give the API time to process before fetching results Smart clip parsing** — Extracts each clip's title, score, tags, description, and timestamps from the API response Batch downloading** — Downloads every clip file automatically, one by one, in sequence Auto-named uploads** — Saves each clip to Google Drive using the AI-generated clip title as the filename — no manual renaming needed Setup Requirements Tools You'll Need n8n instance (self-hosted or n8n Cloud) WayinVideo account with API access Google account with Google Drive OAuth2 credentials in n8n Estimated Setup Time: 5–10 minutes Step-by-Step Setup 1. Get your WayinVideo API key Go to WayinVideo, log in, and navigate to your Dashboard → API section. Copy your Bearer token. 2. Add the API key to node 2 Open 2. WayinVideo — Submit Clipping Task. Find the Authorization header. Replace YOUR_WAYIN_API_KEY_HERE with your token. 3. Add the API key to node 4 Open 4. WayinVideo — Get Clips Result. Find the Authorization header again. Replace YOUR_WAYIN_API_KEY_HERE with the same token. > ⚠️ The API key appears in 2 nodes — nodes 2 and 4. Replace it in both or the workflow will fail. 4. Connect Google Drive In n8n, go to Credentials → Add Credential → Google Drive OAuth2. Complete the Google authentication flow. 5. Set your Drive folder ID Open 7. Google Drive — Upload Clip. Find the folderId field. Replace YOUR_GOOGLE_DRIVE_FOLDER_ID_HERE with your actual folder ID. > 💡 To find your folder ID: open the target folder in Google Drive, look at the URL bar — copy the long string of letters and numbers after /folders/. 6. Select your Drive credential In the same node (7. Google Drive — Upload Clip), select your connected Google Drive credential from the dropdown. 7. Activate the workflow Toggle the workflow to Active at the top of the n8n canvas. Copy the Form URL and share it with your team or streamers. How It Works (Step by Step) Step 1 — Form Trigger A streamer or team member opens the form and fills in four fields: the stream recording URL, the channel name, the stream category, and how many highlight clips they want. The moment they submit, the workflow starts automatically. Step 2 — WayinVideo — Submit Clipping Task The workflow sends a POST request to the WayinVideo AI Clipping API with the stream URL and your settings. It requests 9:16 vertical clips (ideal for Shorts and Reels), 30–60 seconds long, with captions enabled, an AI-generated hook at the beginning, and auto-reframing applied. The API returns a Job ID to track the task. Step 3 — Wait 90 Seconds The workflow pauses for 90 seconds. This gives WayinVideo enough time to begin processing the stream before the next step checks for results. > ⚠️ For streams longer than 90 minutes, this wait may not be long enough. If clips come back empty, increase this wait to 180–300 seconds. Step 4 — WayinVideo — Get Clips Result Using the Job ID from Step 2, the workflow calls the WayinVideo results endpoint to fetch the completed clips. Each clip in the response includes a title, export link, virality score, tags, description, and start/end timestamps. Step 5 — Code — Extract Clip Data A JavaScript code block loops through all the clips returned by the API and separates them into individual items. Each item carries its own title, export link, score, tags, description, and timestamps — ready to be processed one by one. Step 6 — HTTP — Download Clip For each clip, the workflow downloads the actual video file from the WayinVideo export link. The file is held in memory and passed directly to the next step. Step 7 — Google Drive — Upload Clip Each downloaded clip is uploaded to your specified Google Drive folder. The filename is automatically set to the AI-generated clip title — so your Drive stays organized without any manual work. Key Features ✅ No-code form trigger — Anyone on your team can submit a stream URL without touching n8n ✅ AI virality scoring — Each clip comes with a score so you know which moments hit hardest ✅ Vertical format output — Clips are auto-generated in 9:16 ratio, ready for TikTok, Reels, and Shorts ✅ Auto-captions included — WayinVideo adds captions to every clip automatically during processing ✅ AI hook generation — An AI-written hook is added to the beginning of each clip to boost retention ✅ Smart auto-naming — Drive uploads use the AI clip title, keeping your folder clean and searchable ✅ Batch processing — Handles multiple clips in one run — no manual looping or repeat submissions ✅ Timestamp metadata — Each clip carries exact start and end timestamps for future reference or logging Customisation Options Change clip length — In 2. WayinVideo — Submit Clipping Task, change target_duration from DURATION_30_60 to DURATION_15_30 for shorter Reels or DURATION_60_90 for longer YouTube clips. Switch to horizontal format — Change ratio from RATIO_9_16 to RATIO_16_9 in the same node for YouTube landscape highlights. Change caption language — Update target_lang in node 2 from en to hi, es, fr, or de to generate captions in a different language. Log clips to Google Sheets — Add a Google Sheets node after 7. Google Drive — Upload Clip to automatically record each clip's title, score, Drive link, and timestamps in a spreadsheet for reporting. Send a Slack or email notification — Add a Gmail or Slack node at the end to ping your team when all clips are uploaded and ready to review. Dynamic Drive folder by streamer — Modify the folder ID in node 7 using an expression based on the Streamer / Channel Name field from the form, so each creator gets their own organized subfolder automatically. Troubleshooting API returns empty or no clips: Confirm your WayinVideo API key is correct in both node 2 and node 4 Check your WayinVideo account has active credits or an active subscription Make sure the stream URL is publicly accessible — private, unlisted, or age-restricted videos won't work Test with a shorter video first (under 30 minutes) to isolate the issue Clips missing after the wait: The 90-second wait may not be enough for long streams — open 3. Wait — 90 Seconds and increase the amount to 180 or 300 Check your WayinVideo dashboard to see if the job is still processing Google Drive upload failing: Re-authenticate your Google Drive OAuth2 credential in n8n Credentials Double-check that the folder ID in node 7 is correct — open the target folder in Drive and copy the ID from the URL Make sure the credential has write access to the target folder Form not triggering the workflow: Make sure the workflow is toggled Active — inactive workflows do not run Copy the Form URL from the trigger node and test it in a fresh browser tab Support Need help setting this up or want a custom version built for your team or agency? 📧 Email: info@incrementors.com 🌐 Website: https://www.incrementors.com/contact-us/
by Davide
This workflow automates the bulk generation and delivery of personalized certificates using Google Sheets, Google Slides, Google Drive, and Gmail. Key Advantages 1. ✅ Full Automation The workflow fully automates the certificate generation and distribution process, from reading participant data to delivering the final PDF certificates via email, eliminating repetitive manual tasks. 2. ✅ Bulk Certificate Generation By reading data directly from Google Sheets, the workflow can generate and send personalized certificates for many recipients in bulk, making it ideal for courses, events, webinars, or training programs. 3. ✅ Dynamic Personalization Each certificate is automatically customized using placeholders in a Google Slides template, allowing the workflow to dynamically insert details such as the recipient’s name, certificate ID, or date. 4. ✅ Automated PDF Export After personalization, the workflow automatically converts the generated Google Slides document into a PDF file, ensuring a professional and standardized certificate format. 5. ✅ Seamless Email Delivery Certificates are automatically sent to recipients via Gmail, with the generated PDF attached, ensuring fast and reliable delivery without manual intervention. 6. ✅ Process Tracking and Control The workflow updates the corresponding row in Google Sheets after sending the certificate, marking it as processed. This prevents duplicate sends and provides clear visibility into which certificates have already been delivered. 7. ✅ Automatic File Cleanup Temporary Google Slides files created during the generation process are automatically deleted after use, keeping Google Drive clean and organized. 8. ✅ Rate-Limit Safe Processing A built-in wait step helps control the processing speed, reducing the risk of hitting Google API limits and ensuring stable execution when handling large batches of certificates. 9. ✅ Easily Customizable The workflow is modular and can be easily adapted to generate other types of documents such as invoices, reports, badges, diplomas, or event confirmations by simply modifying the Google Slides template and sheet structure. How it works This workflow automates the process of generating personalized certificates in bulk from a Google Slides template and emailing them to recipients. Trigger & Data Source: The workflow is started manually ("Test workflow"). It first reads data from a Google Sheet (named "Certifications") that contains the recipient list, including their name, email, and a unique ID number ("N."). It filters this sheet to only process rows where the "Sent" column is empty. Batch Processing: The data is passed to a "Split In Batches" node, which processes the recipients one at a time to ensure each certificate is handled individually and to prevent API rate limits. Certificate Generation (Per Recipient): Copy Template: For each person, the workflow creates a unique copy of a master Google Slides presentation (the certificate template). The copy is named using the recipient's ID (e.g., Certificate_1). Personalize Slides: It then sends a request to the Google Slides API to replace placeholder text within the copied presentation. It replaces [Name], [Date], and [N] with the recipient's actual data. Export to PDF: The personalized Google Slides file is exported as a PDF. Save PDF: The generated PDF is saved to a specified folder ("n8n") in Google Drive. The filename includes the recipient's ID (e.g., certificate_1.pdf). Notification & Cleanup: Send Email: A Gmail node sends a congratulatory email to the recipient's address. The previously generated PDF is automatically attached to this email. Mark as Processed: The workflow updates the original Google Sheet, placing an "x" in the "Sent" column for the processed row to prevent duplicate processing in the future. Delete Temp File: Finally, the unique copy of the Google Slides presentation (the intermediate file) is deleted from Google Drive, leaving only the final PDF. Loop & Pacing: After processing one recipient, the workflow waits for 10 seconds before moving to the next person in the list. This "Wait" node acts as a throttle to avoid overwhelming the Google APIs. Set up steps To make this workflow work for you, you need to configure the following elements: Prepare the Google Sheets Source: Create a Google Sheet with the following columns: N., First Name, Last Name, Email, Sent. Populate the sheet with your recipient data. Leave the Sent column blank for new entries. In the workflow: Update the documentId in the Read File and Mark as Processed nodes to point to your specific Google Sheet. Prepare the Google Slides Template: Create a Google Slides presentation to serve as your certificate template. In the slides, insert the placeholder texts exactly as they appear in the workflow: [Name], [Date], and [N]. These are the strings that will be replaced. In the workflow: Find the Copy Slides Template node and replace the xxx in the URL with the file ID of your Google Slides template. (The template ID is the long string in the middle of the presentation's URL). Configure Google Drive Folders: Decide where in Google Drive you want the final PDFs to be saved. In the workflow: In the Save PDF to Drive node, update the folderId property to the ID of your target folder. Authenticate Google Services: The workflow uses three separate Google credentials (Drive, Slides, Sheets, Gmail). You must connect each node to your own Google account by creating or selecting the appropriate OAuth2 credentials within n8n for: googleDriveOAuth2Api googleSlidesOAuth2Api googleSheetsOAuth2Api gmailOAuth2 Verify Gmail Content: Review the HTML email body in the Send a message node. You can modify the text, colors, and the LinkedIn link as needed. Ensure the attachment is set to use the binary data from the Export to PDF node. 👉 Subscribe to my new YouTube channel. Here I’ll share videos and Shorts with practical tutorials and FREE templates for n8n. Need help customizing? Contact me for consulting and support or add me on Linkedin.
by LukaszB
Description This workflow is an AI-powered contact form triage and auto-response system built for businesses that want to handle website enquiries in a faster, cleaner, and more professional way. Instead of treating every incoming form submission the same way, the workflow automatically reviews the message, identifies its intent, and routes it into the correct path. Genuine enquiries are logged, shared with the internal team, and answered with a polished confirmation email. Seller pitches and spam submissions are separated from real leads so the inbox stays cleaner and the team can focus on messages that actually matter. It is especially useful for companies that receive regular website enquiries and want to improve response speed, reduce manual review, maintain cleaner lead records, and deliver a more professional first-touch experience without building a complex support process. How it works This workflow is built to automate the handling of incoming website form submissions in a more intelligent and structured way. It is useful for businesses that want to instantly process new enquiries, separate genuine leads from seller pitches or spam, notify the internal team, and send a professional confirmation email without manual work. Instead of treating every form submission the same way, the workflow uses AI to understand the intent of the message and decide what should happen next. The workflow follows these high-level steps: A new form submission is received through a webhook. The incoming data is standardized into a clean internal structure. AI analyzes the message and classifies it as a real enquiry, a seller / outreach message, or spam. Real enquiries are saved, sent to the internal team, and answered with a professional confirmation email. Seller messages are saved and forwarded internally without sending an automatic client reply. Spam or low-value submissions are filtered out to keep the workflow clean and efficient. Set up steps Setup usually takes around 20 to 40 minutes, depending on how your website form is currently built and whether you want to use Telegram or email for internal notifications. Before using the workflow, you will need to: connect your website form to the webhook map the incoming form fields in the Set data node create the data table used for storing submissions connect your OpenAI credential for classification and email generation connect your Gmail credential for confirmation emails optionally connect Telegram for internal notifications, or replace it with email notifications All detailed configuration notes and implementation guidance are included inside the workflow as sticky notes.