Email list validation and cleanup with Google Sheets and VerifiEmail
π§Ό Email Subscription Cleaner
A fully automated workflow that cleans, validates, and restructures your subscriber list using Google Sheets and VerifiEmail. Perfect for marketers, SaaS teams, or anyone maintaining an email database.
π What This Workflow Does
In one automated run, it:
- Accepts a cleaning request via Webhook
- Extracts list settings, preferences, and options
- Fetches all subscribers from Google Sheets
- Normalizes emails and formats subscriber fields
- Performs real-time verification using VerifiEmail
- Classifies each subscriber as: remove (invalid / disposable / role), keep (valid & safe), tag (special cases)
- Deletes bad emails directly from the source sheet
- Stores all valid emails in a clean, curated CleanSubscribers sheet
- Returns a structured JSON summary to the caller
π Why This Template Is Useful
- Improves deliverability
- Removes spam traps, bots, disposable domains
- Cleans and reorganizes messy lists
- Reduces bounce rates
- Builds a healthier mailing list for campaigns
- No CSV download/upload required β runs directly on Google Sheets
π§ How It Works (In Simple Steps)
-
Webhook receives batch-clean request
-
Extract Inputs parses settings (listId, priority, options)
-
Fetch Subscribers reads rows from Google Sheets
-
Normalize each subscriberβs fields
-
Validate Email quality (MX check, disposable, provider data)
-
Merge subscriber info + validation results
-
Classify each subscriber into keep/remove/tag
-
Clean Up:
- remove β deletes the row
- keep β appends to clean list
-
Respond with a clean JSON summary
Fast, simple, reliable β perfect for weekly or on-demand cleanup.
π§ Setup Required
Connect 2 credentials:
- Google Sheets (read / delete / append)
- VerifiEmail (API key)
Update:
- Sheet name (SubscriberList)
- Clean list sheet (CleanSubscribers)
- Optional tag rules in βClassify Emailβ
No other configuration needed.
π Perfect For
- Newsletters
- Marketing teams
- Event lists
- SaaS mailing lists
- CRM cleanup
- Lead verification
- Removing dead/invalid emails automatically
π·οΈ Tags
email, cleanup, validation, google-sheets, verifiemail, marketing, automation, list-cleaner, webhook
Email List Validation and Cleanup with Google Sheets and Verifiemail (via n8n)
This n8n workflow provides a robust solution for validating and cleaning up email lists stored in Google Sheets. It allows you to trigger an email validation process for a specified range of emails, process them through a validation service (implied by the workflow structure, though the specific service isn't explicitly defined in the provided JSON), and then update your Google Sheet with the validation results.
What it does
This workflow automates the following steps:
- Receives a Trigger: It starts by listening for a webhook trigger, which is expected to contain information about the Google Sheet to process (Spreadsheet ID, Sheet Name, and the range of emails to validate).
- Reads Emails from Google Sheets: It connects to Google Sheets to read the email addresses from the specified range.
- Prepares Data for Validation: A
Functionnode processes the retrieved email data, likely formatting it for a validation service. - Validates Emails (Implied): The workflow is designed to send the email addresses for validation. Although the specific validation service node is not present in the provided JSON, the overall structure and naming suggest this crucial step.
- Processes Validation Results: A
Codenode is used to handle the results from the validation step, likely parsing and standardizing the output. - Filters Valid Emails: An
Ifnode filters the validated emails, separating valid ones from invalid or risky ones. - Merges Results: A
Mergenode combines the results from both the "valid" and "invalid/risky" branches. - Updates Google Sheet: Finally, it updates the original Google Sheet with the validation status for each email address.
- Responds to Webhook: It sends a response back to the triggering webhook, indicating the completion of the process.
Prerequisites/Requirements
To use this workflow, you will need:
- n8n Instance: A running instance of n8n.
- Google Account: A Google account with access to Google Sheets.
- Google Sheets Credential in n8n: Configured Google Sheets OAuth2 or API Key credentials in your n8n instance.
- Email Validation Service (External): An account and API access to an email validation service (e.g., Verifiemail, ZeroBounce, Hunter, etc.). Note: The specific node for this service is not in the provided JSON, but it's a logical component for this type of workflow.
- Basic JavaScript Knowledge: For customizing the
FunctionandCodenodes if needed.
Setup/Usage
- Import the Workflow:
- Copy the provided JSON code.
- In your n8n instance, go to "Workflows" and click "New".
- Click the three-dot menu in the top right and select "Import from JSON".
- Paste the JSON and click "Import".
- Configure Credentials:
- Locate the "Google Sheets" node.
- Click on the credential field and select your existing Google Sheets credential or create a new one (OAuth2 is recommended for full access).
- If you add an email validation service node, configure its credentials as well.
- Configure the Webhook Trigger:
- The "Webhook" node (ID: 47) will provide a unique URL. This URL is what you will call to trigger the workflow.
- The webhook expects a JSON body with
spreadsheetId,sheetName, andrangeparameters to specify which emails to process.
- Customize Function and Code Nodes:
- Review the
Function(ID: 14) andCode(ID: 834) nodes. These nodes contain custom JavaScript logic. You may need to adjust them based on the exact format of your Google Sheet data and the expected output from your email validation service.
- Review the
- Add Email Validation Service Node (Crucial, if not already present):
- Given the workflow's purpose, you will need to insert an email validation service node (e.g., "HTTP Request" to an API, or a dedicated app node like "Verifiemail" if available in your n8n version) between the
Functionnode (ID: 14) and theCodenode (ID: 834). - Configure this node to send the email addresses for validation and receive the results.
- Given the workflow's purpose, you will need to insert an email validation service node (e.g., "HTTP Request" to an API, or a dedicated app node like "Verifiemail" if available in your n8n version) between the
- Activate the Workflow:
- Once configured, make sure to activate the workflow by toggling the "Active" switch in the top right corner of the workflow editor.
To run the workflow, send a POST request to the Webhook URL with a JSON body similar to this:
{
"spreadsheetId": "YOUR_GOOGLE_SHEET_ID",
"sheetName": "Sheet1",
"range": "A:A"
}
Related Templates
Generate Funny AI Videos with Sora 2 and Auto-Publish to TikTok
This automation creates a fully integrated pipeline to generate AI-powered videos, store them, and publish them on TikTok β all automatically. It connects OpenAI Sora 2, and Postiz (for TikTok publishing) to streamline content creation. --- Key Benefits β Full Automation β From text prompt to TikTok upload, everything happens automatically with no manual intervention once set up. β Centralized Control β Google Sheets acts as a simple dashboard to manage prompts, durations, and generated results. β AI-Powered Creativity β Uses OpenAI Sora 2 for realistic video generation and GPT-5 for optimized titles. β Social Media Integration β Seamlessly posts videos to TikTok via Postiz, ready for your audience. β Scalable & Customizable β Can easily be extended to other platforms like YouTube, Instagram, or LinkedIn. β Time-Saving β Eliminates repetitive steps like manual video uploads or caption writing. --- How it works This workflow automates the end-to-end process of generating AI videos and publishing them to TikTok. It is triggered either manually or on a recurring schedule. Trigger & Data Fetch: The workflow starts by checking a specified Form for new entries. It looks for rows where a video has been requested (a "PROMPT" is filled) but not yet generated (the "VIDEO" column is empty). AI Video Generation: For each new prompt found, the workflow sends a request to the Fal.ai Sora 2 model to generate a video. It then enters a polling loop, repeatedly checking the status of the generation request every 60 seconds until the video is "COMPLETED". Post-Processing & Upload: Once the video is ready, the workflow performs several actions in parallel: Fetch Video & Store: It retrieves the final video URL, downloads the video file Generate Title: It uses the OpenAI GPT-4o-mini model to analyze the original prompt and generate an optimized, engaging title for the video. Publish to TikTok: The video file is uploaded to Postiz, a social media scheduling tool, which then automatically publishes it to a connected TikTok channel, using the AI-generated title as the post's caption. --- Set up steps To make this workflow functional, you need to complete the following configuration steps: Prepare the Google Sheet: Create a Form with at least "PROMPT", "DURATION", and "VIDEO" fields. Configure Fal.ai for Video Generation: Create an account at Fal.ai and obtain your API key. In both the "Create Video" and "Get status" HTTP Request nodes, set up the "Header Auth" credential. Set the Name to Authorization and the Value to Key YOURAPIKEY. Set up TikTok Publishing via Postiz: Create an account on Postiz and connect your TikTok account to get a Channel ID. Obtain your Postiz API key. In the "Upload Video to Postiz" and "TikTok" (Postiz) nodes, configure the API credentials. In the "TikTok" node, replace the placeholder "XXX" in the integrationId field with your actual TikTok Channel ID from Postiz. (Optional) Configure AI Title Generation: The "Generate title" node uses OpenAI. Ensure you have valid OpenAI API credentials configured in n8n for this node to work. --- Need help customizing? Contact me for consulting and support or add me on Linkedin. Header 2
Translate documents to multiple languages with Google Drive and DeepL
Who's it for This workflow is perfect for content creators, international teams, and businesses that need to translate documents into multiple languages automatically. Whether you're localizing documentation, translating marketing materials, or creating multilingual content, this workflow saves hours of manual work. What it does Automatically monitors a Google Drive folder for new documents (PDF, DOCX, TXT, or Markdown) and translates them into multiple languages using DeepL API. Each translated document is saved with a language-specific filename (e.g., documenten.pdf, documentzh.pdf) in a designated folder. You receive an email notification when all translations are complete. How it works Monitors a Google Drive folder for new files Detects file format (PDF/DOCX/TXT/Markdown) and extracts text Translates the content into your chosen languages (default: English, Chinese, Korean, Spanish, French, German) Saves translated files with language codes in the filename Sends an email notification with translation summary Optional: Records translation history in Notion database Set up instructions Requirements Google Drive account (for file storage) DeepL API key (free tier: 500,000 characters/month) Gmail account (for notifications) Notion account (optional, for tracking translation history) Setup steps Create Google Drive folders: Create a "Source" folder for original files Create a "Translated" folder for output Copy the folder IDs from the URLs Get DeepL API key: Sign up at DeepL API Copy your API key Configure the workflow: Open the "Configuration (Edit Here)" node (yellow node) Replace folder IDs with your own Set your notification email Choose target languages Set up credentials: Add Google Drive OAuth2 credentials Add DeepL API credentials Add Gmail OAuth2 credentials Activate the workflow and upload a test file! Customization options Change target languages: Edit the targetLanguages array in the Configuration node (supports 30+ languages) Adjust polling frequency: Change trigger from "every minute" to hourly or daily for batch processing Enable Notion tracking: Set enableNotion to true and provide your database ID Add more file formats: Extend the Switch node to handle additional file types Filter by file size: Add conditions to skip files larger than a certain size Supported languages EN (English), ZH (Chinese), KO (Korean), JA (Japanese), ES (Spanish), FR (French), DE (German), IT (Italian), PT (Portuguese), RU (Russian), and 20+ more. Performance Short files (1 page): ~30 seconds for 6 languages Medium files (10 pages): ~2 minutes for 6 languages Large files (100 pages): ~15 minutes for 6 languages Technical Details Trigger: Google Drive folder monitoring (1-minute polling) Translation: DeepL API with automatic source language detection Loop implementation: Split Out + Aggregate pattern for parallel translation Error handling: Catches API failures and sends email alerts Storage: Original file format preserved in translated outputs Notes DeepL free tier provides 500,000 characters/month (approximately 250 pages) For high-volume translation, consider upgrading to DeepL Pro The workflow creates new files instead of overwriting, preserving translation history Google Docs are automatically converted to the appropriate format before translation What You'll Learn This workflow demonstrates several n8n patterns: File format detection and routing (Switch node) Loop implementation with Split Out + Aggregate Binary data handling for file operations Conditional logic with IF nodes (optional features) Cross-node data references Error handling and user notifications Perfect for learning automation best practices while solving a real business problem!
Create & publish affiliate product videos with Sora-2, GPT & YouTube
π Affiliate AI-Powered Video Funnel Fully Automated Product Video Creation & Publishing Turn your affiliate links or product catalog into a 24/7 AI video marketing machine. This n8n workflow auto-creates human-presenter promo videos using AI and publishes them directly to YouTube with SEO β completely hands-free. β --- π― What This Automation Does π Fetches product or affiliate data from Google Sheets / Airtable / Database ποΈ Generates human-presenter video prompts (Sora-style) using AI Agents π¬ Renders promotional videos automatically via AI video generation β³ Polls render completion & handles errors safely π€ Uploads videos to YouTube (draft, unlisted, or public) π§ Auto-generates SEO metadata (titles, descriptions, tags, hashtags) β Human approval flow before public publishing π Updates catalog status to prevent duplicates β±οΈ Runs daily, weekly, or per request via form or trigger This workflow eliminates all repetitive editing, uploading, and SEO work β your channel grows while you sleep. π΄π --- π§βπ« Step-by-Step Video Tutorial π₯ Complete Implementation Demo π https://youtu.be/pOxcVbYdr0w π Covers full setup, rendering, approval, publishing, and automation scheduling. --- π Useful Links π οΈ n8n Hosting / Setup Support: https://syncbricks.com π YouTube Data API Docs: https://developers.google.com/youtube/v3 π€ Kai / AI Render Service: (any Sora-style provider you choose)* π§ AI Prompt Docs (OpenAI etc.): https://platform.openai.com/docs/api-reference --- π Prerequisites β n8n (Self-Hosted or Cloud) β AI Agent inside n8n configured β YouTube API credentials β Product/Affiliate data source: Google Sheets OR Airtable OR Database β AI Video Rendering: Sora-style provider API π Recommended product fields: > Title, Summary, Brand, Landing Page, Affiliate Link (if using monetization) --- π How This Workflow Works β Step by Step 1οΈβ£ Product Input & Filtering Fetch unpublished product/item Skip rows marked βPublishedβ or with error codes Ideal for drip publishing content every day 2οΈβ£ AI Promo Script + Presenter Prompt Converts product benefits β human script Adds overlays + camera movement + style cues Presenter looks professional, friendly & trusted 3οΈβ£ AI Video Rendering Send prompt, wait for result Retry & timeout safety built-in 4οΈβ£ YouTube Upload Uploads automatically as Unlisted β Sends Human-In-The-Loop (HITL) approval After approval β Public Publish 5οΈβ£ SEO Enhancement Generates tags, hashtags & optimized titles Inserts affiliate link into description Updates video via YouTube API 6οΈβ£ Mark As Published Saves record in sheet/db Avoids duplicate publishing --- π° Affiliate / Monetization Features π Add PartnerStack / Amazon Associates links π Auto-insert affiliate URLs per product π§© Optional dynamic UTM tracking π Ready for performance dashboards (CTR, views) You create zero videos, yet grow daily affiliate revenue. π₯ --- π‘ Advanced Customizations | Idea | Benefit | | ------------------------------- | ------------------------------- | | Multi-platform publishing | Expand reach beyond YouTube | | Multi-language voice & captions | Increase global audience | | Category-based styles | Better storytelling per product | | Bulk overnight generation | Boost weekly content output | | Analytics integration | Track growth & ROI easily | --- β οΈ Troubleshooting | Issue | Fix | | ----------------- | ------------------------------ | | No video returned | Check AI render provider quota | | Upload fails | Verify YouTube OAuth scopes | | Duplicate uploads | Confirm Published tag update | | Video quality | Adjust prompt style profile | --- π Why This Template You can scale affiliate & product-based video content without editing tools, creators, or extra headcount: β Saves hours per video β Builds traffic and trust automatically β Generates recurring affiliate income β Turns your product list into a money-making content engine --- π Get Started in Minutes Import the workflow β Connect APIs β Approve β Publish β Earn πΈ π More AI + n8n Workflows & Support https://syncbricks.com π Subscribe for Tutorials https://youtube.com/@syncbricks π Connect with the creator (Amjid Ali) https://linkedin.com/in/amjidali --- π Knowledge Base Tags aivideoautomation, affiliatemarketing, youtubeapi, handsfreeautomation, ecommercevideomarketing, n8naiagents, socialvideoautomation, productvideogenerator, workflowautomation, marketing_scaling