11 templates found
Category:
Author:
Sort:

Write HTTP query string on image

Receives data from an incoming HTTP Request Reads file from internet Writes data on image Returns the data The URL to call will look like this: http://localhost:5678/webhook-test/webhook/test?name=Jim Once called it will return an image like this:

Jan OberhauserBy Jan Oberhauser
4819

Translate text from English to German

No description available.

Harshil AgrawalBy Harshil Agrawal
4249

Build a text & image responding Telegram bot with Google Gemini 2.5 Flash

Telegram AI Bot Workflow An intelligent Telegram bot powered by Google Gemini AI that provides smart responses to both text messages and images. Features Multi-Modal Input: Handles both text messages and image uploads AI-Powered Responses: Uses Google Gemini 2.5 Flash for intelligent reply generation Image Analysis: Automatically analyzes uploaded images and responds with descriptions Conversation Memory: Maintains context across 20 messages per conversation Formatted Output: Delivers well-structured, Telegram-friendly responses How It Works User sends a message (text or image) to the Telegram bot Workflow routes the input based on message type Images are downloaded and analyzed using Gemini Vision AI AI agent processes the input with conversation context Formatted response is sent back to the user instantly Requirements Telegram Bot Token (from @BotFather) Google Gemini API Key n8n instance with webhook capability Perfect for building interactive AI assistants, customer support bots, or educational tools on Telegram.

Ahmed SherifBy Ahmed Sherif
1655

Publish a post to a publication on Medium

No description available.

Harshil AgrawalBy Harshil Agrawal
1626

Google Drive duplicate file manager

Google Drive Duplicate File Manager πŸ§ΉπŸ“ Purpose: Automate the process of finding and managing duplicate files in your Google Drive. Who's it for? Individuals and teams aiming to streamline their Google Drive. Anyone tired of manual duplicate file cleanup. What it Solves: Saves storage space πŸ’Ύ. Reduces file confusion πŸ˜•βž‘οΈπŸ™‚. Automates tedious cleanup tasks πŸ€–. How it works: Trigger: Monitors a Google Drive folder for new files. Configuration: Sets rules for keeping and handling duplicates. Find Duplicates: Identifies duplicate files based on their content (MD5Checksum). Action: Either moves duplicates to trash or renames them. Setup Guide: Google Drive Trigger ⏰: Set up the trigger to watch a specific folder or your entire drive (use caution with the root folder! ⚠️). Configure the polling interval (default: every 15 minutes). Config Node βš™οΈ: keep: Choose whether to keep the "first" or "last" uploaded file (default: "last"). action: Select "trash" to delete duplicates or "flag" to rename them with "DUPLICATE-" (default: "flag"). owner & folder: Taken from the trigger. Only change if needed. Key Considerations: Google Drive API limits: Be mindful of API usage. Folder Scope: The workflow handles one folder depth by default. (WARNING: If configured to work with the Root folder / all files in all sub-directories are processed so USE THIS OPTION WITH CAUTION since the workflow might trash/rename important files) Google Apps: Google docs are ignored since they are not actual binary-files and their content can't be compared. Enjoy your clean Google Drive! ✨

Ventsislav MinevBy Ventsislav Minev
1191

Automate QuickBooks customer & estimate creation from Google Sheets

This n8n template from Intuz provides a complete and automated solution to accelerate your sales and quoting process into Quickbooks. This workflow creates a seamless data pipeline from a Google Sheet directly into QuickBooks, automating the creation of new customers and their initial sales estimates. It’s designed to save time, reduce human error, and ensure your financial records are always up-to-date. How it works Trigger on New Sheet Row: The workflow starts automatically when you add a new row containing customer and estimate details to your designated Google Sheet. Check for Duplicates: Before doing anything else, it takes the customer's name from the sheet and searches your QuickBooks account to see if a customer with that exact name already exists. Route Based on Existence (If/Else Logic): If the Customer is NEW: The workflow proceeds down the "true" path, first creating a new customer record in QuickBooks with the details from the sheet (Name, Email, Phone, Company). Immediately after, it creates a new sales estimate linked to that newly created customer. If the Customer ALREADY EXISTS: The workflow follows the "false" path and stops. This is a built-in safety measure to prevent creating duplicate customer records. End of Process: The workflow concludes, having either created a new customer and estimate or having intelligently stopped to avoid duplication. Step by Step Instructions Follow these steps carefully to get the workflow running. Connect Your Credentials Google: Connect your Google account using OAuth2. Ensure you have enabled permissions for both Google Sheets and Google Drive. QuickBooks: Connect your QuickBooks Online account using OAuth2 credentials. Prepare Your Google Sheet This is the most critical step. Create a Google Sheet and ensure the first row contains these exact column headers: CustomerName Email Phone Company Name Amount Configure the n8n Nodes Google Sheets Trigger: Select your Google Sheet from the Document ID dropdown. Select the specific sheet from the Sheet Name dropdown. Create an estimate (QuickBooks Node): This node has a default product/service (itemId) and tax code (TaxCodeRef) set. You must update these to match the items and tax codes in your QuickBooks account. See the Customization section for more details. Activate the Workflow Save the workflow and toggle the Active switch to "on". Now, every time you add a new row to your sheet, the automation will run. Connect with us Website: https://www.intuz.com/services Email: getstarted@intuz.com LinkedIn: https://www.linkedin.com/company/intuz Get Started: https://n8n.partnerlinks.io/intuz For Custom Worflow Automation Click here- Get Started

Intuz By Intuz
528

Bilibili video downloader with Google Drive upload & email notification

Bilibili Video Downloader with Google Drive Upload & Email Notification Automate downloading of Bilibili videos via the Bilibili Video Downloader API (RapidAPI), upload them to Google Drive, and notify users by email β€” all using n8n workflow automation. --- 🧠 Workflow Overview This n8n automation allows users to: Submit a Bilibili video URL. Fetch download info from the Bilibili Video Downloader API (RapidAPI). Automatically download and upload the video to Google Drive. Share the file and send an email notification to the user. --- βš™οΈ Node-by-Node Explanation | Node | Function | | ---------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- | | On form submission | Triggers when a user submits the Bilibili video URL through the form. | | Fetch Bilibili Video Info from API | Sends the video URL to the Bilibili Video Downloader API (RapidAPI) to retrieve download info. | | Check API Response Status | Validates that the API returned a 200 success status before proceeding. | | Download Video File | Downloads the actual video from the provided resource URL. | | Upload Video to Google Drive | Uploads the downloaded video file to the user’s connected Google Drive. | | Google Drive Set Permission | Sets sharing permissions to make the uploaded video publicly accessible. | | Success Notification Email with Drive Link | Sends the Google Drive link to the user via email upon successful upload. | | Processing Delay | Adds a delay before executing error handling if something fails. | | Failure Notification Email | Sends an error notification to the user if download/upload fails. | --- 🧩 How to Configure Google Drive in n8n In n8n, open Credentials β†’ New β†’ Google Drive. Choose OAuth2 authentication. Follow the on-screen instructions to connect your Google account. Use the newly created credential in both Upload Video and Set Permission nodes. Test the connection to ensure access to your Drive. --- πŸ”‘ How to Obtain Your RapidAPI Key To use the Bilibili Video Downloader API (RapidAPI): Visit bilibili videodownloade. Click Subscribe to Test (you can choose free or paid plans). Copy your x-rapidapi-key from the β€œEndpoints” section. Paste the key into your n8n Fetch Bilibili Video Info from API node header. Example header: json { "x-rapidapi-host": "bilibili-video-downloader.p.rapidapi.com", "x-rapidapi-key": "your-rapidapi-key-here" } --- πŸ’‘ Use Case This automation is ideal for: Content creators archiving Bilibili videos. Researchers collecting media resources. Teams that need centralized video storage in Google Drive. Automated content management workflows. --- πŸš€ Benefits βœ… No manual downloads – fully automated. βœ… Secure cloud storage via Google Drive. βœ… Instant user notification on success or failure. βœ… Scalable for multiple users or URLs. βœ… Powered by the reliable Bilibili Video Downloader API (RapidAPI). --- πŸ‘₯ Who Is This For n8n developers wanting to explore advanced workflow automations. Content managers handling large volumes of Bilibili content. Digital archivists storing video data in Google Drive. Educators sharing Bilibili educational videos securely. --- 🏁 Summary With this n8n workflow, you can seamlessly integrate the Bilibili Video Downloader API (RapidAPI) into your automation stack β€” enabling effortless video downloading, Google Drive uploading, and user notifications in one unified system.

Sk developer By Sk developer
413

Analyze call recordings with OpenAI and update Zoho CRM leads automatically

Zoho CRM - Conversation Intelligence Analyzer This workflow automatically processes customer call recordings, transcribes them using OpenAI Whisper, extracts key topics, identifies commitments, analyzes sentiment, generates follow-up suggestions and updates the corresponding Zoho CRM Lead β€” all without manual efforts. It eliminates the need for listening to calls or writing summaries and equips your sales team with instant AI-generated insights. ⚑ Quick Start (Fast Setup) Import the workflow JSON into n8n. Add Zoho CRM OAuth2 & OpenAI API credentials. Copy the webhook URL and configure your telephony system to POST call recordings. Map Zoho custom fields. Upload a test recording β†’ Confirm CRM updates β†’ Activate workflow. πŸ“˜ What It Does This workflow turns every incoming call recording into structured insights which your sales & customer support team can immediately use. When a recording is received, the call is automatically transcribed using OpenAI’s Whisper model. That transcript is then processed by multiple AI nodes that detect topics, customer sentiment, commitments and possible follow-up actions. All extracted data β€” such as mood, sentiment score, subjects, action items and commitments is merged into a clean result object and pushed to the matching Lead in Zoho CRM. The sales team gets ready-to-use call intelligence instantly, improving decision-making, accuracy and speed. This automation works 24/7 and replaces hours of manual review work with reliable AI-generated summaries. πŸ‘€ Who’s It For Sales & Customer support teams using Zoho CRM. Support teams handling inbound/outbound calls. Businesses wanting call analytics without manual transcription. Zoho CRM admins who want automation with minimal maintenance. Organizations using telephony/VoIP systems that support call exports. 🧾 Requirements To use this workflow, you need: An n8n instance (self-hosted or cloud) Zoho CRM OAuth2 credentials OpenAI API key (Whisper + GPT models) A telephony system capable of POSTing audio files to a webhook Zoho fields to store: Topics Main subject Action items Sentiment Mood Follow-up text Commitments (optional) βš™οΈ How It Works & How to Set Up Webhook Trigger Your call system sends an audio file (.mp3, .wav, etc.) to the webhook. The workflow starts instantlyβ€”no polling required. Workflow Configuration Static values like: sentimentThreshold = 0.7 minCommitmentConfidence = 0.8 ensure consistent logic across nodes. Audio Transcription (OpenAI Whisper) The audio file is converted to text. This transcript becomes the base for all analysis nodes. Key Topic Extraction AI identifies: Key topics Main subject Important action items Sentiment & Mood Analysis AI analyzes: Customer mood Sales rep tone Overall sentiment Sentiment score Commitment Extraction AI detects commitments using a structured JSON schema. Follow-up Generation GPT generates 3–5 follow-up suggestions based on the transcript & commitments. Combine All Insights A Set node merges transcription, topics, sentiment, commitments and follow-up text. Update Zoho CRM Lead Updates Zoho custom fields so the sales team gets immediate insights. πŸ›  How to Customize Nodes Transcription Node Switch to another Whisper/GPT model Add language options Topic Extraction Add more attributes (risks, objections, intent) Sentiment Analysis Tune thresholds Add more emotion labels Commitment Extraction Modify schema Add filtering logic CRM Update Map to different fields Append notes instead of overwriting βž• Add-Ons (Optional Enhancements) Slack/Teams alerts for negative sentiment Email transcripts to teams Save files to Google Drive / S3 Create Zoho tasks from commitments Multi-language transcription Sales rep performance scoring πŸ’Ό Use Case Examples Sales Call Analysis – Auto-summarize calls for follow-up. Support Hotline Monitoring – Detect customer frustration. QA Audits – Auto-generate evaluation notes. Voice-to-CRM Logging – Store conversation data automatically. Compliance Tracking – Capture legally relevant commitments. πŸ›  Troubleshooting Guide | Issue | Possible Cause | Solution | |------|----------------|----------| | Workflow not triggered | Telephony not hitting webhook | Recheck webhook URL & logs | | Transcript empty | Unsupported/corrupted audio | Validate file before sending | | CRM not updating | Wrong Zoho field IDs | Verify field IDs in Zoho | | Commitments missing | Transcript unclear | Improve audio quality or edit schema | | Sentiment inaccurate | Model interpretation | Adjust sentimentThreshold | 🀝 Need Help? If you want to customize this workflow, integrate telephony systems or want to build advanced level CRM automation, then our n8n workflow development team at WeblineIndia team is happy to help. We’re here to support setup, scaling, and custom enhancements.

WeblineIndiaBy WeblineIndia
259

YouTube analytics data reporting API integration for AI agents

Need help? Want access to this workflow + many more paid workflows + live Q&A sessions with a top verified n8n creator? Join the community Complete MCP server exposing 8 YouTube Reporting API operations to AI agents. ⚑ Quick Setup Import this workflow into your n8n instance Credentials Add YouTube Reporting API credentials Activate the workflow to start your MCP server Copy the webhook URL from the MCP trigger node Connect AI agents using the MCP URL πŸ”§ How it Works This workflow converts the YouTube Reporting API into an MCP-compatible interface for AI agents. β€’ MCP Trigger: Serves as your server endpoint for AI agent requests β€’ HTTP Request Nodes: Handle API calls to https://youtubereporting.googleapis.com/ β€’ AI Expressions: Automatically populate parameters via $fromAI() placeholders β€’ Native Integration: Returns responses directly to the AI agent πŸ“‹ Available Operations (8 total) πŸ”§ V1 (8 endpoints) β€’ GET /v1/jobs: Retrieve Report Metadata β€’ POST /v1/jobs: Creates a job and returns it. β€’ DELETE /v1/jobs/{jobId}: Deletes a job. β€’ GET /v1/jobs/{jobId}: Gets a job. β€’ GET /v1/jobs/{jobId}/reports: Lists reports created by a specific job. Returns NOT_FOUND if the job does no... β€’ GET /v1/jobs/{jobId}/reports/{reportId}: Gets the metadata of a specific report. β€’ GET /v1/media/{resourceName}: Method for media download. Download is supported on the URI `/v1/media/{+name... β€’ GET /v1/reportTypes: List Report Types πŸ€– AI Integration Parameter Handling: AI agents automatically provide values for: β€’ Path parameters and identifiers β€’ Query parameters and filters β€’ Request body data β€’ Headers and authentication Response Format: Native YouTube Reporting API responses with full data structure Error Handling: Built-in n8n HTTP request error management πŸ’‘ Usage Examples Connect this MCP server to any AI agent or workflow: β€’ Claude Desktop: Add MCP server URL to configuration β€’ Cursor: Add MCP server SSE URL to configuration β€’ Custom AI Apps: Use MCP URL as tool endpoint β€’ API Integration: Direct HTTP calls to MCP endpoints ✨ Benefits β€’ Zero Setup: No parameter mapping or configuration needed β€’ AI-Ready: Built-in $fromAI() expressions for all parameters β€’ Production Ready: Native n8n HTTP request handling and logging β€’ Extensible: Easily modify or add custom logic > πŸ†“ Free for community use! Ready to deploy in under 2 minutes.

David AshbyBy David Ashby
149

Validate & process startup pitch decks with email verification & Google Drive

Startup Pitch Deck Submission Validator & Auto-Processor Overview A comprehensive n8n workflow template that completely automates the startup pitch deck submission process for accelerators, incubators, VC firms, and startup competitions. This workflow validates founder emails, stores pitch decks securely, generates professional PDF summaries, and sends notifications to both your team and the foundersβ€”all in under 30 seconds per submission. Key Features Email Verification & Spam Protection Real-time email validation using VerifiEmail API Checks for RFC compliance, MX records, disposable emails, and spoofed addresses Automatically rejects invalid submissions before file storage Prevents spam, fake entries, and temporary email addresses Automated File Management Downloads pitch deck PDFs from provided URLs Uploads to organized Google Drive folders with automatic naming Creates two permanent archives: Original pitch decks in /PitchDecks/ Generated summaries in /Submission Summaries/ Maintains clean folder structure with timestamp-based filenames Professional PDF Reports Generates beautiful, branded PDF summary reports Includes company info, founder details, email verification status Professional gradient design with interactive elements Links to Google Drive documents for easy access Smart Email Notifications Admin Team Notification: Comprehensive email with all details and clickable document links Founder Confirmation: Professional thank-you email with next steps and timeline Invalid Submission Alerts: Immediate notification for failed verifications with detailed reasons Intelligent Routing Conditional logic based on email validation results Valid submissions proceed through full workflow Invalid submissions trigger admin alerts and stop processing No wasted resources on fake submissions Error Handling Comprehensive error detection at every step Admin alerts for failed email verifications Graceful handling of file download failures Detailed logging for troubleshooting Perfect For Startup Accelerators (Y Combinator, Techstars, 500 Startups style programs) Incubators & Innovation Hubs Venture Capital Firms (deal flow management) Pitch Competitions (local, national, international events) Investment Rounds (seed, Series A applications) Government Innovation Programs Corporate Accelerators University Entrepreneurship Programs Workflow Statistics Total Nodes: 11 Complexity: ⭐⭐⭐ Medium Processing Time: 15-30 seconds per submission Setup Time: 15-20 minutes Code Required: None (no-code solution) Maintenance: Minimal (set and forget) Requirements Required Services & APIs VerifiEmail API Purpose: Email verification Sign up: https://verifi.email Google Drive Purpose: File storage Setup: Enable Drive API in Google Cloud Console Gmail Purpose: Email notifications Setup: Enable Gmail API in Google Cloud Console HTML to PDF API (pdfmunk.com) Purpose: PDF generation Sign up: https://pdfmunk.com Optional Integrations Typeform - For frontend submission forms Google Forms - Alternative form solution Webflow - For custom landing pages Airtable - For additional database logging Slack - For team notifications What Gets Created Folder Structure in Google Drive My Drive/ β”œβ”€β”€ PitchDecks/ β”‚ β”œβ”€β”€ TechVentureJohnDoePitchDeck.pdf β”‚ β”œβ”€β”€ AIStartupJaneSmithPitchDeck.pdf β”‚ └── GreenTechMikeJonesPitchDeck.pdf β”‚ └── Submission Summaries/ β”œβ”€β”€ TechVentureSummary20251012_143025.pdf β”œβ”€β”€ AIStartupSummary20251012_145532.pdf └── GreenTechSummary20251012_151147.pdf Email Notifications Admin Team Email (to: accelerator@yourdomain.com) All startup details Founder information with verified email badge Clickable buttons to view pitch deck and summary Email verification breakdown (RFC, MX, disposable check) Google Drive folder structure overview Document IDs for reference Founder Confirmation (to: founder's email) Personalized thank you message Submission confirmation checklist Detailed submission summary table Clear next steps with timeline (5-7 day review) PDF summary attached for records Contact information for questions Invalid Email Alert (to: admin@yourdomain.com) Failed submission details Email verification failure reasons Timestamp for tracking Option for manual review Quick Start Guide Import Template Download the JSON file In n8n: Workflows β†’ Import from File Select: startup-pitch-deck-validator-template.json Configure Credentials (15 minutes) A. VerifiEmail API Sign up at https://verifi.email Get API key from dashboard In n8n: Credentials β†’ VerifiEmail API β†’ Paste key B. Google Drive OAuth2 Go to https://console.cloud.google.com Create project β†’ Enable Drive API Create OAuth 2.0 credentials In n8n: Credentials β†’ Google Drive OAuth2 β†’ Follow flow C. Gmail OAuth2 Same Google Cloud project Enable Gmail API In n8n: Credentials β†’ Gmail OAuth2 β†’ Authorize D. HTML to PDF API Sign up at https://pdfmunk.com Get API key In n8n: Credentials β†’ HTML to PDF API β†’ Paste key Create Google Drive Folders Create these folders in your Google Drive: /PitchDecks/ (for original pitch decks) /Submission Summaries/ (for generated reports) Then select them in the workflow nodes. Update Email Addresses Replace placeholder emails in these nodes: Notify Accelerator Team: Change accelerator@yourdomain.com Alert Admin - Invalid Email: Change admin@yourdomain.com Founder confirmation template: Update support@youraccelerator.com Test the Workflow Send a test webhook: curl -X POST https://your-n8n.com/webhook/startup-submission -H "Content-Type: application/json" -d '{ "name": "Jane Smith", "email": "jane@example.com", "startup_name": "TechVenture AI", "website": "https://techventure.io", "industry": "Artificial Intelligence", "pitchdeckfile_url": "https://www.w3.org/WAI/ER/tests/xhtml/testfiles/resources/pdf/dummy.pdf" }' Activate Workflow Click the toggle in top-right corner to activate! Detailed Setup Instructions Step 1: VerifiEmail Configuration Visit https://verifi.email and create account Navigate to API section in dashboard Copy your API key In n8n workflow, click "Verifi Email" node Create new credential β†’ Paste API key Test credential to ensure it works Step 2: Google Cloud Project Setup Create Google Cloud Project Go to https://console.cloud.google.com Click "New Project" Name it: "n8n Startup Workflow" Click "Create" Enable Required APIs Go to "APIs & Services" β†’ "Library" Search and enable: "Google Drive API" Search and enable: "Gmail API" Create OAuth Credentials Go to "APIs & Services" β†’ "Credentials" Click "Create Credentials" β†’ "OAuth 2.0 Client ID" Application type: "Web application" Add authorized redirect URI from n8n Download credentials JSON Configure in n8n In workflow, click any Google Drive node Create new credential β†’ Google Drive OAuth2 Upload credentials JSON or paste values Complete OAuth flow and authorize Repeat for Gmail nodes using same project Step 3: Folder Setup Open Google Drive in browser Create folder: "PitchDecks" (note the folder ID from URL) Create folder: "Submission Summaries" In workflow, select these folders in the respective nodes: "Upload Pitch Deck to Drive" β†’ PitchDecks folder "Save Summary PDF to Drive" β†’ Submission Summaries folder Step 4: PDF API Setup Sign up at https://pdfmunk.com Get API key from account dashboard In "HTML to PDF" node, create new credential Paste API key Test with sample execution Step 5: Email Customization In "Notify Accelerator Team" node: Line 7: Change recipient email Update company name in footer (optional) In "Send Founder Confirmation" node: Line 69-70: Update support email Line 72: Update company name and year In "Alert Admin - Invalid Email" node: Line 3: Change recipient email Step 6: Test & Validate Test with Valid Email: Use your own email address Valid pitch deck URL Verify you receive confirmation email Check Google Drive for files Test with Invalid Email: Use temporary email service Verify admin receives alert Confirm no files are stored Test Error Handling: Use invalid file URL Check error messages Verify graceful failure Workflow DiagramStart β†’ Webhook Trigger ↓ Email Verification (VerifiEmail API) ↓ Conditional Check (Valid?) ↙️ β†˜οΈ TRUE FALSE ↓ ↓ Download PDF Alert Admin ↓ (end) Upload to Drive ↓ Generate Summary PDF ↓ Download Summary ↓ Save to Drive ↓ Notify Admin Team ↓ Confirm to Founder ↓ Done! βœ… Processing Flow Details For Valid Submissions (TRUE Branch): Webhook receives data β†’ ~0s Email verification β†’ ~2-3s Download pitch deck β†’ ~3-5s Upload to Google Drive β†’ ~2-3s Generate PDF summary β†’ ~5-8s Download PDF β†’ ~1-2s Save PDF to Drive β†’ ~2-3s Send admin notification β†’ ~2-3s Send founder confirmation β†’ ~2-3s Total: 15-30 seconds For Invalid Submissions (FALSE Branch): Webhook receives data β†’ ~0s Email verification β†’ ~2-3s Send admin alert β†’ ~2-3s Total: 4-6 seconds (saves resources!) Customization Options Easy Customizations Email Templates Modify HTML in Gmail nodes Add your logo Change colors and branding Adjust text and messaging PDF Template Edit HTML in "HTML to PDF" node Add custom styling Include additional fields Add company logo/branding Folder Structure Create subfolders by industry Add year-based organization Implement custom naming conventions Notification Preferences Add Slack notifications Set up SMS alerts Create calendar events Log to Airtable/database Advanced Customizations Add Duplicate Detection Check if email already submitted Prevent multiple submissions Create whitelist/blacklist Implement Scoring System Add rating fields to PDF Create evaluation criteria Automate preliminary screening Multi-Stage Workflow Add approval process Create interview scheduling Implement status updates Analytics & Reporting Track submission metrics Generate monthly reports Monitor email verification rates Analyze industry trends Troubleshooting Common Issues & Solutions Email Verification Fails Problem: All emails marked as invalid Solution: Check VerifiEmail API key and quota Google Drive Upload Error Problem: "Insufficient permissions" error Solution: Re-authorize OAuth, ensure Drive API enabled Check: Folder exists and is accessible PDF Generation Fails Problem: PDF not generated or broken Solution: Check HTML to PDF API key and quota Verify: HTML template syntax is valid Emails Not Sending Problem: Gmail node fails Solution: Re-authorize Gmail OAuth, check API quota Check: Email addresses are valid format File Download Fails Problem: "Cannot fetch file from URL" Solution: Verify URL is publicly accessible Check: File exists and is not behind authentication Webhook Not Triggering Problem: No workflow execution Solution: Check webhook URL is correct Verify: Workflow is activated (toggle ON) Performance & Scalability Current Capacity Concurrent Submissions: Up to 10-20 simultaneously Daily Volume: ~500-1000 submissions (depends on API quotas) File Size Limit: Up to 100MB per pitch deck Storage: Unlimited (within Google Drive quota) Scaling Considerations For High Volume (1000+ submissions/day): Upgrade to paid API tiers Use queue system for processing Add database for tracking Implement rate limiting For Large Files (>100MB): Use direct file upload to Drive Skip PDF generation for large files Add file size validation Security & Privacy Data Protection Email verification via secure API Encrypted file transfer (HTTPS) OAuth2 authentication for Google services No data stored in n8n beyond execution logs Compliance GDPR compliant (data minimization) No sensitive data retention Secure credential storage Audit trail via execution logs Community Support n8n Forum: https://community.n8n.io Discord: https://discord.gg/n8n GitHub Issues: https://github.com/n8n-io/n8n πŸ“„ License This template is provided as-is for commercial and personal use.

Jitesh DugarBy Jitesh Dugar
69

AI-Powered Contact Intelligence & Enrichment with OpenAI/Anthropic and Supabase

AI Contact Enrichment πŸ“‹ Template Description Overview Automatically enhance and enrich contact data using AI to fill in missing information, generate insights, and create detailed buyer personas. Supports multiple AI providers (OpenAI, Anthropic, etc.) with automatic logging to Supabase. Description This workflow transforms incomplete contact records into rich, actionable profiles. By leveraging AI, it can infer job roles, company information, likely pain points, communication preferences, and buying motivations from minimal input data. Perfect for sales and marketing teams looking to improve data quality and personalize outreach. Key Benefits: Smart Data Completion: Fill in missing contact fields using AI inference Buyer Persona Generation: Create detailed profiles from basic information Universal AI Support: Works with OpenAI, Anthropic Claude, or custom providers CRM Enhancement: Automatically enrich contacts as they enter your system Lead Qualification: Assess lead quality and fit based on enriched data Personalization Engine: Generate insights for tailored outreach Data Quality: Maintain clean, complete contact records Use Cases: Sales prospecting and lead enrichment Marketing persona development CRM data cleansing and completion Account-based marketing (ABM) research Lead scoring and qualification Personalized email campaign preparation Contact segmentation and targeting --- βš™οΈ Setup Instructions Prerequisites n8n instance (cloud or self-hosted) AI Provider account (OpenAI, Anthropic, or custom) Supabase account with database access Step 1: Configure Environment Variables Add these to your n8n environment settings: bash AI_PROVIDER=openai or 'anthropic', 'custom' AIAPIKEY=yourapikey_here AI_MODEL=gpt-3.5-turbo or 'gpt-4', 'claude-3-sonnet-20240229' AI_ENDPOINT= Only for custom providers Recommended Models: Cost-effective: gpt-3.5-turbo (fast, affordable, good for basic enrichment) High-quality: gpt-4 or claude-3-sonnet-20240229 (better inference, deeper insights) Premium: claude-3-opus-20240229 (best for complex persona generation) How to set environment variables: n8n Cloud: Go to Settings β†’ Environment Variables Self-hosted: Add to your .env file or docker-compose configuration Step 2: Set Up Supabase Database Create the logging table in your Supabase database: sql CREATE TABLE workflow_logs ( id BIGSERIAL PRIMARY KEY, workflow_name TEXT NOT NULL, data JSONB NOT NULL, ai_response JSONB NOT NULL, created_at TIMESTAMP WITH TIME ZONE DEFAULT NOW() ); CREATE INDEX idxworkflowlogscreatedat ON workflowlogs(createdat); CREATE INDEX idxworkflowlogsworkflowname ON workflowlogs(workflowname); -- Optional: Create a view for enriched contacts CREATE VIEW enriched_contacts AS SELECT id, data->>'email' as email, data->>'name' as name, data->>'company' as company, airesponse as enrichmentdata, created_at FROM workflow_logs WHERE workflow_name = 'AI Contact Enrichment' ORDER BY created_at DESC; To run this SQL: Open your Supabase project dashboard Go to the SQL Editor Paste the SQL above and click "Run" Step 3: Configure Supabase Credentials in n8n Go to Settings β†’ Credentials Click Add Credential β†’ Supabase API Enter your Supabase URL and API key (found in Project Settings β†’ API) Name it Supabase API Click Save Step 4: Activate the Webhook Import this workflow into n8n Click the Activate toggle in the top-right corner Click on the "Webhook Trigger" node Copy the Production URL (this is your webhook endpoint) Save this URL for integration with your applications Step 5: Test the Workflow Send a test POST request to the webhook: bash curl -X POST https://your-n8n-instance.com/webhook/contact-enrichment \ -H "Content-Type: application/json" \ -d '{ "email": "john.doe@acmecorp.com", "name": "John Doe", "company": "Acme Corporation", "linkedin_url": "https://linkedin.com/in/johndoe" }' Successful Response: json { "success": true, "workflow": "AI Contact Enrichment", "timestamp": "2025-01-14T12:00:00.000Z" } --- πŸ“₯ Expected Payload Format The webhook accepts JSON with basic contact information: Minimal Input json { "email": "string (required or name required)", "name": "string (required or email required)" } Recommended Input json { "email": "string", "name": "string", "company": "string", "job_title": "string", "linkedin_url": "string", "phone": "string", "location": "string", "website": "string" } Complete Input Example json { "email": "sarah.chen@techstartup.io", "name": "Sarah Chen", "company": "TechStartup Inc.", "job_title": "VP of Marketing", "linkedin_url": "https://linkedin.com/in/sarahchen", "phone": "+1-555-0123", "location": "San Francisco, CA", "website": "https://techstartup.io", "industry": "B2B SaaS", "company_size": "50-200 employees", "notes": "Met at SaaS conference 2024" } Field Guidelines: At minimum, provide either email or name More input fields = better AI enrichment quality Include linkedin_url for best results company helps with firmographic enrichment Any additional context improves accuracy --- πŸ”„ Workflow Flow Webhook Trigger: Receives basic contact information from your application, form, or CRM Process Data: Adds unique ID and timestamp to the incoming data Prepare AI Request: Configures AI provider settings from environment variables Call AI API: Sends contact data to AI with enrichment prompt Save to Supabase: Archives original data and enrichment results Format Response: Returns success confirmation --- 🎯 Customization Tips Enhance AI Prompts for Better Enrichment Modify the "Prepare AI Request" node to customize enrichment: javascript // Enhanced prompt for contact enrichment const systemPrompt = `You are an expert sales intelligence analyst. Analyze the provided contact information and generate a comprehensive enrichment including: INFERRED DETAILS: Fill in missing information based on available data Full job title and seniority level Department and reporting structure Years of experience (estimated) Professional background COMPANY INSIGHTS: If company name provided Industry and sub-industry Company size and revenue (estimated) Key products/services Recent news or developments BUYER PERSONA: Create a detailed profile Primary responsibilities Likely pain points and challenges Key priorities and goals Decision-making authority Budget influence level ENGAGEMENT STRATEGY: Provide outreach recommendations Best communication channels Optimal outreach timing Key talking points Personalization suggestions Content interests LEAD SCORE: Rate 1-10 based on: Fit for product/service (specify your ICP) Seniority and decision power Company size and maturity Engagement potential Return as structured JSON with clear sections.`; const userMessage = Contact Information:\n${JSON.stringify($json.data, null, 2)}; const aiConfig = { provider: $env.AI_PROVIDER || 'openai', apiKey: $env.AIAPIKEY, model: $env.AI_MODEL || 'gpt-3.5-turbo', endpoint: $env.AI_ENDPOINT, messages: [ { role: 'system', content: systemPrompt }, { role: 'user', content: userMessage } ] }; return { json: { aiConfig, data: $json } }; Add External Data Sources Enhance enrichment with third-party APIs: After "Process Data" node, add: Clearbit/Hunter.io Node: Get verified company data LinkedIn API: Pull professional information Company Database: Query internal customer data Web Scraping: Extract data from company websites Then merge all data before AI enrichment for best results Connect to Your CRM Auto-update contacts after enrichment: Salesforce Integration: javascript // Add after "Call AI API" node // Update Salesforce contact with enriched data const enrichedData = JSON.parse($json.ai_response); return { json: { contactId: $json.data.salesforce_id, updates: { Description: enrichedData.buyer_persona, CustomScorec: enrichedData.leadscore, PainPointsc: enrichedData.painpoints } } }; HubSpot Integration: Add HubSpot node to update contact properties Map enriched fields to custom HubSpot properties Pipedrive Integration: Use Pipedrive node to update person records Add custom fields for AI insights Implement Lead Scoring Add scoring logic after enrichment: javascript // Calculate lead score based on enrichment const enrichment = JSON.parse($json.ai_response); let score = 0; // Job title scoring if (enrichment.seniority === 'C-Level') score += 30; else if (enrichment.seniority === 'VP/Director') score += 20; else if (enrichment.seniority === 'Manager') score += 10; // Company size scoring if (enrichment.company_size === 'Enterprise') score += 25; else if (enrichment.company_size === 'Mid-Market') score += 15; // Decision authority scoring if (enrichment.decision_authority === 'High') score += 25; else if (enrichment.decision_authority === 'Medium') score += 15; // Budget influence if (enrichment.budget_influence === 'Direct') score += 20; return { json: { ...enrichment, lead_score: score } }; Add Compliance Checks Insert before AI processing: javascript // Check for opt-out or compliance flags const email = $json.email.toLowerCase(); // Check against suppression list const suppressedDomains = ['competitor.com', 'spam.com']; const domain = email.split('@')[1]; if (suppressedDomains.includes(domain)) { throw new Error('Contact on suppression list'); } // Verify email format const emailRegex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/; if (!emailRegex.test(email)) { throw new Error('Invalid email format'); } return { json: $json }; Batch Enrichment Process multiple contacts: Add Spreadsheet File trigger instead of webhook Add Split In Batches node (process 10-20 at a time) Run enrichment for each contact Combine results and export to CSV --- πŸ› οΈ Troubleshooting Common Issues Issue: "Enrichment is too generic" Solution: Provide more input data (company, job title, LinkedIn) Use GPT-4 or Claude models for better inference Enhance the system prompt with specific instructions Issue: "AIAPIKEY is undefined" Solution: Ensure environment variables are set correctly Verify variable names match exactly (case-sensitive) Issue: "Enrichment contradicts actual data" Solution: AI makes inferences - always validate critical information Add validation step to check enriched data against known facts Use external APIs for verification Issue: "Too slow for real-time use" Solution: Implement queue system for async processing Use faster models (gpt-3.5-turbo) for speed Process in batches during off-peak hours Issue: "Supabase credentials not found" Solution: Check credential name matches exactly: "Supabase API" Verify Supabase URL and API key are correct Debugging Tips Test with known contacts first to validate accuracy Compare AI enrichment against actual data Check execution logs for API errors Start with minimal prompt, then enhance gradually Use "Execute Node" to test individual steps --- πŸ“Š Analyzing Enriched Data Query and analyze your enriched contacts: sql -- Get all enriched contacts SELECT * FROM enriched_contacts ORDER BY created_at DESC; -- Find high-value leads (assuming scoring implemented) SELECT email, name, company, airesponse->>'leadscore' as score FROM enriched_contacts WHERE (airesponse->>'leadscore')::int > 70 ORDER BY (airesponse->>'leadscore')::int DESC; -- Analyze enrichment by company SELECT data->>'company' as company, COUNT(*) as contact_count, AVG((airesponse->>'leadscore')::int) as avg_score FROM workflow_logs WHERE workflow_name = 'AI Contact Enrichment' AND airesponse->>'leadscore' IS NOT NULL GROUP BY data->>'company' ORDER BY contact_count DESC; -- Find contacts needing follow-up SELECT email, name, airesponse->>'engagementstrategy' as strategy, created_at FROM enriched_contacts WHERE created_at > NOW() - INTERVAL '7 days' ORDER BY created_at DESC; Export Enriched Data sql -- Export to CSV COPY ( SELECT data->>'email' as email, data->>'name' as name, data->>'company' as company, airesponse->>'jobtitle' as enriched_title, ai_response->>'seniority' as seniority, airesponse->>'leadscore' as score FROM workflow_logs WHERE workflow_name = 'AI Contact Enrichment' ) TO '/tmp/enriched_contacts.csv' WITH CSV HEADER; --- πŸ“ˆ Integration Ideas Form Integration Automatically enrich new leads from forms: Typeform: Trigger on form submission Google Forms: Use Google Sheets trigger Calendly: Enrich after meeting booking Webflow Forms: Webhook trigger from form CRM Integration Real-time enrichment as contacts enter CRM: Salesforce: Trigger on new lead/contact creation HubSpot: Enrich on form submission or import Pipedrive: Auto-enrich new persons Close: Webhook on lead creation Email Tools Enhance cold outreach campaigns: Instantly.ai: Enrich before campaign launch Lemlist: Generate personalization variables Apollo.io: Supplement with AI insights Mailshake: Enrich prospect lists Marketing Automation Power ABM and segmentation: Marketo: Enrich leads for scoring Pardot: Enhance prospect profiles ActiveCampaign: Personalization data Klaviyo: E-commerce customer insights Slack Integration Team notifications and collaboration: Send enrichment summaries to sales channel Notify reps of high-value leads Share persona insights with marketing Alert on key account contacts --- πŸ”’ Security & Compliance Best Practices Data Protection Encrypt Sensitive Data: Use environment variables for all credentials Access Control: Limit webhook access with authentication Data Retention: Set automatic deletion policies in Supabase Audit Logging: Track all enrichment activities Privacy Compliance GDPR Compliance: Get consent before enriching personal data Allow contacts to request data deletion Document legal basis for processing CCPA Compliance: Honor do-not-sell requests Data Minimization: Only enrich necessary fields Right to Access: Allow contacts to view enriched data AI Ethics Bias Awareness: Review AI inferences for bias Accuracy Validation: Verify critical information Transparency: Disclose use of AI enrichment Human Oversight: Review before critical decisions --- πŸ’‘ Best Practices Input Data Quality Always include email or full name as anchor point Add LinkedIn URLs for 50% better accuracy Provide company name for firmographic insights Include any known details - more data = better results Prompt Engineering Be specific about your ideal customer profile (ICP) Request structured output (JSON format) Define scoring criteria that match your business Ask for actionable insights not just descriptions Post-Enrichment Workflow Always validate critical information before use Review AI inferences for accuracy and bias Update CRM promptly to maintain data freshness Track enrichment ROI (conversion rates, time saved) Performance Optimization Batch process during off-peak hours Use appropriate models (gpt-3.5 for speed, gpt-4 for quality) Cache common enrichments to reduce API costs Set rate limits to avoid API throttling --- 🏷️ Tags sales-automation, lead-enrichment, ai-automation, crm-integration, data-enrichment, contact-intelligence, buyer-personas, lead-scoring, webhook, supabase, openai, anthropic, b2b-sales --- πŸ“ License This workflow template is provided as-is for use with n8n. 🀝 Support For questions or issues: n8n Community Forum: https://community.n8n.io n8n Documentation: https://docs.n8n.io 🌟 Example Output Input: json { "email": "mike.johnson@cloudtech.com", "name": "Mike Johnson", "company": "CloudTech Solutions", "job_title": "Director of IT" } AI-Generated Enrichment: json { "full_title": "Director of Information Technology", "seniority": "Director", "department": "Technology/IT", "experience_years": "10-15", "company_insights": { "industry": "Cloud Computing", "size": "Mid-Market (100-500)", "revenue_estimate": "$10M-$50M" }, "buyer_persona": { "responsibilities": ["Infrastructure management", "Vendor selection", "Security oversight"], "pain_points": ["Legacy system migration", "Cost optimization", "Security compliance"], "priorities": ["Scalability", "Cost reduction", "Team efficiency"] }, "engagement_strategy": { "best_channels": ["Email", "LinkedIn"], "timing": "Tuesday-Thursday, 9-11 AM", "talking_points": ["ROI and cost savings", "Security features", "Ease of implementation"], "personalization": "Reference cloud migration challenges" }, "lead_score": 75 } --- πŸ”„ Version History v1.0.0 (2025-01-14): Initial release with universal AI provider support

Shelly-Ann DavyBy Shelly-Ann Davy
41
All templates loaded