by Intuz
This n8n template from Intuz provides a complete and automated solution for scaling your DevOps practices across multiple repositories. Are you tired of the repetitive dance between git push, creating a pull request in GitHub, updating the corresponding task in JIRA, and then manually notifying your team in Slack, or Notion? This template puts your entire post-commit workflow on autopilot, creating a seamless and intelligent bridge between your code and your project management. By embedding specific keywords and a JIRA issue ID into your git commit commands, this workflow automatically creates a Pull Request in the correct GitHub repository and updates the corresponding JIRA ticket. This creates a complete, centralized system that keeps all your projects synchronized, providing a massive efficiency boost for teams managing a diverse portfolio of codebases. Who This Template Is For? This template is a must-have for any organization looking to streamline its software development lifecycle (SDLC). It’s perfect for: Development Teams: Eliminate tedious, manual tasks and enforce a consistent workflow, allowing developers to stay focused on coding. DevOps Engineers: A ready-to-deploy solution that integrates key developer tools without weeks of custom scripting. Engineering Managers & Team Leads: Gain real-time visibility into development progress and ensure processes are followed without constant check-ins. Project Managers: Get accurate, automatic updates in JIRA the moment development work is completed, improving project tracking and forecasting. Step-by-Step Setup Instructions Follow these steps carefully to configure the workflow for your environment. 1. Connect Your Tools (Credentials) GitHub: Create credentials with repo scope to allow PR creation. JIRA: Create an API token and connect your JIRA Cloud or Server instance. Slack: Connect your Slack workspace using OAuth2. Notion: Connect your Notion integration token. 2. Configure the GitHub Webhook (For Each Repository) This workflow is triggered by a GitHub webhook. You must add it to every repository you want to automate. First, Save and Activate the n8n workflow to ensure the webhook URL is live. In the n8n workflow, copy the Production URL from the Webhook node. Go to your GitHub repository and navigate to Settings > Webhooks > Add webhook. In the Payload URL field, paste the n8n webhook URL. Change the Content type to application/json. Under "Which events would you like to trigger this webhook?", select "Just the push event." Click "Add webhook." Repeat this for all relevant repositories. 3. Configure the JIRA Nodes (Crucial Step) Your JIRA project has unique IDs for its statuses. You must update the workflow to match yours. Find the two JIRA nodes named "Update task status after PR" and "Update the task status without PR." In each node, go to the Status ID field. Click the dropdown and select the status that corresponds to "Done" or "Development Done" in your specific JIRA project workflow. The list is fetched directly from your connected JIRA instance. 4. Configure Notification Nodes Tell the workflow where to send updates. For Slack: Open the two nodes named "Send message in slack..." and select your desired channel from the Channel ID dropdown. For Notion: Open the two nodes named "Append a block in notion..." and paste the URL of the target Notion page or database into the Block ID field. 5. Final Activation Once all configurations are complete, ensure the workflow is Saved and the toggle switch is set to Active. You are now ready to automate! Customization Guidance This template is a powerful foundation. Here’s how you can adapt it to your team's specific needs. 1. Changing the PR Title or Body: Go to the "Request to create PR" (HTTP Request) node. In the JSON Body field, you can edit the title and body expressions. For example, you could add the committer's name ({{$('Webhook').item.json.body.pusher.name }}) or a link back to the JIRA task. 2. Adapting to a Fixed Branching Strategy: If your team always creates pull requests against a single branch (e.g., develop), you can simplify the workflow. In the "Request to create PR" node, change the base value in the JSON body from {{...}} to your static branch name: "base": "develop". You can then remove the base branch logic from the "Commit Message Breakdown" (Code) node. 3. Modifying Notification Messages: The text sent to Slack and Notion is fully customizable. Open any of the Slack or Notion nodes and edit the text fields. You can include any data from previous nodes, such as the PR URL ({{ $('Request to create PR').item.json.body.html_url }}) or the repository name. 4. Adjusting the Commit Regex for Different Conventions: This is an advanced customization. If your team uses a different commit format (e.g., (DEV-123) instead of DEV-123), you can edit the regular expression in the "Commit Message Breakdown" (Code) node. Be sure to test your changes carefully. 5. Adding/Removing Notification Channels: Don't use Notion? Simply delete the two Notion nodes. Want to send an email instead? Add a Gmail or SMTP node in parallel with a Slack node and configure it with the same data. 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
by Abdul Mir
Overview Turn your cluttered inbox into a smart, autonomous assistant that categorizes emails, replies to leads, checks your calendar, and notifies you on Telegram—all without lifting a finger. This workflow is designed for a marketing agency, but can be adapted for any business. It classifies incoming emails into categories like Sales, Client Communication, Reports, Billing, and Other. If it detects a new lead or priority message, it routes the email to one of two agents: The Calendar Agent checks your availability in Google Calendar and drafts a consultation reply The Knowledge Agent answers FAQs using your business knowledge base (with Supabase embeddings) Both agents create draft email responses and send a Telegram alert so you're always in the loop. Who’s it for Founders and agency owners buried in emails Marketing teams handling lots of inbound leads Customer support managers automating Tier 1 replies Anyone who wants a cleaner, smarter inbox without hiring a VA How it works Gmail trigger watches for incoming emails Email content is passed to an AI classifier to apply a label (Sales, Client, Billing, etc.) If the message is a new inquiry or lead, it’s routed to: Calendar Agent → checks Google Calendar and drafts a reply with available slots Knowledge Agent → searches vector DB and drafts a helpful reply from documentation Both agents create a Gmail draft response and send a Telegram notification with summary Example use case > A lead emails you asking for a discovery call. > > ✅ Email is labeled "Sales" > ✅ AI Calendar Agent checks your Google Calendar > ✅ A reply is drafted offering free time slots > ✅ You get a Telegram ping: > "New lead: Abdul Mir. I checked your calendar and drafted a reply. Check your email!" How to set up Connect your Gmail and set up a trigger for new messages Train the AI classifier with example categories and emails Connect Google Calendar API for availability checks Upload your internal docs and sync to Supabase vector store Connect Telegram for alerts Customize AI prompts and escalation logic as needed Requirements Gmail integration OpenAI or Claude API (for classification + chat agents) Google Calendar API Supabase (or Pinecone, Weaviate) for RAG vector DB Telegram bot API key How to customize Add custom labels like “Recruiting,” “Investor,” or “Support” Replace Telegram with Slack or SMS alerts Add CRM sync to update lead status Escalate complicated replies to a human via task creation Add auto-send (instead of drafts) after review or based on confidence score
by Oneclick AI Squad
Streamline your post-event analysis with this smart n8n workflow. Triggered by a simple webhook, it instantly gathers attendee and engagement data from your event platform, calculates key metrics, and uses AI to generate a polished, professional report. The final summary is emailed to stakeholders and saved securely in a database — all without manual effort. Perfect for conferences, webinars, and corporate events. 📧📈 Key Features Webhook triggered** – Starts instantly via HTTP POST request Multi-source data collection** – Fetches attendees & engagement metrics Advanced analytics** – Calculates attendance rates, engagement scores, top sessions AI-powered insights** – Uses GPT-4 to generate professional reports Auto-email delivery** – Sends report to stakeholders Database archiving** – Saves reports to PostgreSQL What it Analyzes Attendance rates & check-ins Average session time Engagement scores (polls, Q&A, networking) Top performing sessions Attendee breakdown (by role & company) AI-generated insights & recommendations Workflow Process The Webhook Trigger node starts the workflow when an HTTP POST request is received with event details. Get Attendees (GET)** pulls the list of registered and checked-in participants from your event system. Get Engagement Metrics (GET)** retrieves interaction data like poll responses, Q&A activity, and session views. Process Metrics** calculates key stats: attendance rate, average session duration, engagement score, and ranks top sessions. AI Generate Report** uses GPT-4 to create a clear, professional summary with insights and recommendations based on the data. AI Agent** coordinates data flow and prepares the final report structure using chat model and memory tools. Save to Database (Insert)** stores the full report and raw metrics in PostgreSQL for future reference. Send Report Email** automatically emails the AI-generated report to the specified recipient. Send Response** returns a confirmation back to the triggering system via webhook. Setup Instructions Import this JSON into n8n Configure credentials: Event API (for GET requests) OpenAI (GPT-4) SMTP (for email delivery) PostgreSQL (for data storage) Trigger via webhook with event data Receive comprehensive report via email within minutes! Prerequisites Event platform with REST API (for attendee & engagement data) OpenAI API key (GPT-4 access) SMTP server credentials (Gmail, SendGrid, etc.) PostgreSQL database with write access Example Webhook Payload { "eventId": "evt_123", "eventName": "Tech Summit 2025", "eventDate": "2025-10-29", "email": "manager@company.com" } Modification Options Add custom metrics in the Process Metrics node (e.g., NPS score, feedback sentiment) Change AI tone in AI Generate Report (formal, executive summary, or creative) Modify email template in Send Report Email with your branding Connect to different data sources by updating GET nodes Add Slack or Teams notification after Send Report Email Ready to automate your event reporting? Get in touch with us for custom n8n workflows!
by Oneclick AI Squad
This is a production-ready, end-to-end workflow that automatically compares hotel prices across multiple booking platforms and delivers beautiful email reports to users. Unlike basic building blocks, this workflow is a complete solution ready to deploy. ✨ What Makes This Production-Ready ✅ Complete End-to-End Automation Input**: Natural language queries via webhook Processing**: Multi-platform scraping & comparison Output**: Professional email reports + analytics Feedback**: Real-time webhook responses ✅ Advanced Features 🧠 Natural Language Processing for flexible queries 🔄 Parallel scraping from multiple platforms 📊 Analytics tracking with Google Sheets integration 💌 Beautiful HTML email reports 🛡️ Error handling and graceful degradation 📱 Webhook responses for real-time feedback ✅ Business Value For Travel Agencies**: Instant price comparison service for clients For Hotels**: Competitive pricing intelligence For Travelers**: Save time and money with automated research 🚀 Setup Instructions Step 1: Import Workflow Copy the workflow JSON from the artifact In n8n, go to Workflows → Import from File/URL Paste the JSON and click Import Step 2: Configure Credentials A. SMTP Email (Required) Settings → Credentials → Add Credential → SMTP Host: smtp.gmail.com (for Gmail) Port: 587 User: your-email@gmail.com Password: your-app-password (not regular password!) Gmail Setup: Enable 2FA on your Google Account Generate App Password: https://myaccount.google.com/apppasswords Use the generated password in n8n B. Google Sheets (Optional - for analytics) Settings → Credentials → Add Credential → Google Sheets OAuth2 Follow the OAuth flow to connect your Google account Sheet Setup: Create a new Google Sheet Name the first sheet "Analytics" Add headers: timestamp, query, hotel, city, checkIn, checkOut, bestPrice, platform, totalResults, userEmail Copy the Sheet ID from URL and paste in the "Save to Google Sheets" node Step 3: Set Up Scraping Service You need to create a scraping API that the workflow calls. Here are your options: Option A: Use Your Existing Python Script Create a simple Flask API wrapper: api_wrapper.py from flask import Flask, request, jsonify import subprocess import json app = Flask(name) @app.route('/scrape/<platform>', methods=['POST']) def scrape(platform): data = request.json query = f"{data['checkIn']} to {data['checkOut']}, {data['hotel']}, {data['city']}" try: result = subprocess.run( ['python3', 'price_scrap_2.py', query, platform], capture_output=True, text=True, timeout=30 ) Parse your script output output = result.stdout Assuming your script returns price data return jsonify({ 'price': extracted_price, 'currency': 'USD', 'roomType': 'Standard Room', 'url': booking_url, 'availability': True }) except Exception as e: return jsonify({'error': str(e)}), 500 if name == 'main': app.run(host='0.0.0.0', port=5000) Deploy: pip install flask python api_wrapper.py Update n8n HTTP Request nodes: URL: http://your-server-ip:5000/scrape/booking URL: http://your-server-ip:5000/scrape/agoda URL: http://your-server-ip:5000/scrape/expedia Option B: Use Third-Party Scraping Services Recommended Services: ScraperAPI** (scraperapi.com) - $49/month for 100k requests Bright Data** (brightdata.com) - Pay as you go Apify** (apify.com) - Has pre-built hotel scrapers Example with ScraperAPI: // In HTTP Request node URL: http://api.scraperapi.com Query Parameters: api_key: YOUR_API_KEY url: https://booking.com/search?hotel={{$json.hotelName}}... Option C: Use n8n SSH Node (Like Your Original) Keep your SSH approach but improve it: Replace HTTP Request nodes with SSH nodes Point to your server with the Python script Ensure error handling and timeouts // SSH Node Configuration Host: your-server-ip Command: python3 /path/to/price_scrap_2.py "{{$json.hotelName}}" "{{$json.city}}" "{{$json.checkInISO}}" "{{$json.checkOutISO}}" "booking" Step 4: Activate Webhook Click on "Webhook - Receive Request" node Click "Listen for Test Event" Copy the webhook URL (e.g., https://your-n8n.com/webhook/hotel-price-check) Test with this curl command: curl -X POST https://your-n8n.com/webhook/hotel-price-check \ -H "Content-Type: application/json" \ -d '{ "message": "I want to check Marriott Hotel in Singapore from 15th March to 18th March", "email": "user@example.com", "name": "John Doe" }' Step 5: Activate Workflow Toggle the workflow to Active The webhook is now live and ready to receive requests 📝 Usage Examples Example 1: Basic Query { "message": "Hilton Hotel in Dubai from 20th December to 23rd December", "email": "traveler@email.com", "name": "Sarah" } Example 2: Flexible Format { "message": "I need prices for Taj Hotel, Mumbai. Check-in: 5th January, Check-out: 8th January", "email": "customer@email.com" } Example 3: Short Format { "message": "Hyatt Singapore March 10 to March 13", "email": "user@email.com" } 🎨 Customization Options 1. Add More Booking Platforms Steps: Duplicate an existing "Scrape" node Update the platform parameter Connect it to "Aggregate & Compare" Update the aggregation logic to include the new platform 2. Change Email Template Edit the "Format Email Report" node's JavaScript: Modify HTML structure Change colors (currently purple gradient) Add your company logo Include terms and conditions 3. Add SMS Notifications Using Twilio: Add new node: Twilio → Send SMS Connect after "Aggregate & Compare" Format: "Best deal: ${hotel} at ${platform} for ${price}" 4. Add Slack Integration Add Slack node after "Aggregate & Compare" Send to #travel-deals channel Include quick booking links 5. Implement Caching Add Redis or n8n's built-in cache: // Before scraping, check cache const cacheKey = ${hotelName}-${city}-${checkIn}-${checkOut}; const cached = await $cache.get(cacheKey); if (cached && Date.now() - cached.timestamp < 3600000) { return cached.data; // Use 1-hour cache } 📊 Analytics & Monitoring Google Sheets Dashboard The workflow automatically logs to Google Sheets. Create a dashboard with: Metrics to track: Total searches per day/week Most searched hotels Most searched cities Average price ranges Platform with best prices (frequency) User engagement (repeat users) Example Sheet Formulas: // Total searches today =COUNTIF(A:A, TODAY()) // Most popular hotel =INDEX(C:C, MODE(MATCH(C:C, C:C, 0))) // Average best price =AVERAGE(G:G) Set Up Alerts Add a node after "Aggregate & Compare": // Alert if prices are unusually high if (bestDeal.price > avgPrice * 1.5) { // Send alert to admin return [{ json: { alert: true, message: High prices detected for ${hotelName} } }]; } 🛡️ Error Handling The workflow includes comprehensive error handling: 1. Missing Information If user doesn't provide hotel/city/dates → Responds with helpful prompt 2. Scraping Failures If all platforms fail → Sends "No results" email with suggestions 3. Partial Results If some platforms work → Shows available results + notes errors 4. Email Delivery Issues Uses continueOnFail: true to prevent workflow crashes 🔒 Security Best Practices 1. Rate Limiting Add rate limiting to prevent abuse: // In Parse & Validate node const userEmail = $json.email; const recentSearches = await $cache.get(searches:${userEmail}); if (recentSearches && recentSearches.length > 10) { return [{ json: { status: 'rate_limited', response: 'Too many requests. Please try again in 1 hour.' } }]; } 2. Input Validation Already implemented - validates hotel names, cities, dates 3. Email Verification Add email verification before first use: // Send verification code const code = Math.random().toString(36).substring(7); await $sendEmail({ to: userEmail, subject: 'Verify your email', body: Your code: ${code} }); 4. API Key Protection Never expose scraping API keys in responses or logs 🚀 Deployment Options Option 1: n8n Cloud (Easiest) Sign up at n8n.cloud Import workflow Configure credentials Activate Pros: No maintenance, automatic updates Cons: Monthly cost Option 2: Self-Hosted (Most Control) Using Docker docker run -it --rm \ --name n8n \ -p 5678:5678 \ -v ~/.n8n:/home/node/.n8n \ n8nio/n8n Using npm npm install -g n8n n8n start Pros: Free, full control Cons: You manage updates Option 3: Cloud Platforms Railway.app (recommended for beginners) DigitalOcean App Platform AWS ECS Google Cloud Run 📈 Scaling Recommendations For < 100 searches/day Current setup is perfect Use n8n Cloud Starter or small VPS For 100-1000 searches/day Add Redis caching (1-hour cache) Use queue system for scraping Upgrade to n8n Cloud Pro For 1000+ searches/day Implement job queue (Bull/Redis) Use dedicated scraping service Load balance multiple n8n instances Consider microservices architecture 🐛 Troubleshooting Issue: Webhook not responding Solution: Check workflow is Active Verify webhook URL is correct Check n8n logs: Settings → Log Streaming Issue: No prices returned Solution: Test scraping endpoints individually Check if hotel name matches exactly Verify dates are in future Try different date ranges Issue: Emails not sending Solution: Verify SMTP credentials Check "less secure apps" setting (Gmail) Use App Password instead of regular password Check spam folder Issue: Slow response times Solution: Enable parallel scraping (already configured) Add timeout limits (30 seconds recommended) Implement caching Use faster scraping service
by Daiki Takayama
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., document_en.pdf, document_zh.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!
by Dariusz Koryto
Google Drive to FTP Transfer Workflow - Setup Guide Overview This n8n workflow automatically transfers files from Google Drive to an FTP server on a scheduled basis. It includes comprehensive logging, email notifications, and error handling. Features Automated Scheduling**: Runs every 6 hours (customizable) Manual Trigger**: Webhook endpoint for on-demand transfers File Filtering**: Supports specific file types and size limits Comprehensive Logging**: Detailed transfer reports saved to Google Drive Email Notifications**: HTML reports sent after each run Error Handling**: Graceful handling of failed transfers Batch Processing**: Files processed individually to prevent rate limits Prerequisites Before setting up this workflow, ensure you have: n8n instance running (self-hosted or cloud) Google Drive account with files to transfer FTP server with upload permissions Email service for sending reports (SMTP) Step-by-Step Setup Instructions 1. Google Drive API Setup 1.1 Create Google Cloud Project Go to Google Cloud Console Create a new project or select existing one Enable the Google Drive API: Navigate to "APIs & Services" → "Library" Search for "Google Drive API" Click "Enable" 1.2 Create OAuth2 Credentials Go to "APIs & Services" → "Credentials" Click "Create Credentials" → "OAuth client ID" Configure consent screen if prompted Choose "Web application" as application type Add your n8n instance URL to authorized redirect URIs: https://your-n8n-instance.com/rest/oauth2-credential/callback Note down the Client ID and Client Secret 1.3 Configure n8n Credential In n8n, go to "Credentials" → "Add Credential" Select "Google Drive OAuth2 API" Enter your Client ID and Client Secret Complete OAuth flow by clicking "Connect my account" Set credential ID as: your-google-drive-credentials-id 2. FTP Server Setup 2.1 FTP Server Requirements Ensure FTP server is accessible from your n8n instance Verify you have upload permissions Note the server details: Host/IP address Port (usually 21 for FTP) Username and password Destination directory path 2.2 Configure n8n FTP Credential In n8n, go to "Credentials" → "Add Credential" Select "FTP" Enter your FTP server details: Host: your-ftp-server.com Port: 21 (or your custom port) Username: your-ftp-username Password: your-ftp-password Set credential ID as: your-ftp-credentials-id 3. Email Setup (SMTP) 3.1 Choose Email Provider Configure SMTP settings for one of these providers: Gmail**: smtp.gmail.com, port 587, use App Password Outlook**: smtp-mail.outlook.com, port 587 Custom SMTP**: Your organization's SMTP server 3.2 Configure n8n Email Credential In n8n, go to "Credentials" → "Add Credential" Select "SMTP" Enter your SMTP details: Host: smtp.gmail.com (or your provider) Port: 587 Security: STARTTLS Username: your-email@example.com Password: your-app-password Set credential ID as: your-email-credentials-id 4. Workflow Configuration 4.1 Import Workflow Copy the workflow JSON from the artifact above In n8n, click "Import from JSON" Paste the workflow JSON and import 4.2 Update Credential References Google Drive nodes: Verify credential ID matches your-google-drive-credentials-id FTP node: Verify credential ID matches your-ftp-credentials-id Email node: Verify credential ID matches your-email-credentials-id 4.3 Customize Parameters FTP Server Settings (Upload to FTP node) { "host": "your-ftp-server.com", // Replace with your FTP host "username": "your-ftp-username", // Replace with your FTP username "password": "your-ftp-password", // Replace with your FTP password "path": "/remote/directory/{{ $json.validFiles[$json.batchIndex].name }}", // Update destination path "port": 21 // Change if using different port } Email Settings (Send Report Email node) { "sendTo": "admin@yourcompany.com", // Replace with your email address "subject": "Google Drive to FTP File Transfer - Report" } File Filter Settings (Filter & Validate Files node) In the JavaScript code, update these settings: const transferNotes = { settings: { maxFileSizeMB: 50, // Change maximum file size allowedExtensions: [ // Add/remove allowed file types '.pdf', '.doc', '.docx', '.txt', '.jpg', '.png', '.zip', '.xlsx' ], autoDeleteAfterTransfer: false, // Set to true to delete from Drive after transfer verifyTransfer: true // Keep true for verification } }; Google Drive Notes Storage (Upload Notes to Drive node) { "parents": { "parentId": "your-notes-folder-id" // Replace with actual folder ID from Google Drive } } 5. Schedule Configuration 5.1 Modify Schedule Trigger In the "Schedule Trigger" node, adjust the interval: { "rule": { "interval": [ { "field": "hours", "hoursInterval": 6 // Change to desired interval (hours) } ] } } Alternative schedule options: Daily**: "field": "days", "daysInterval": 1 Weekly**: "field": "weeks", "weeksInterval": 1 Custom cron**: Use cron expression for complex schedules 5.2 Webhook Configuration The webhook trigger is available at: POST https://your-n8n-instance.com/webhook/webhook-transfer-status Use this for manual triggers or external integrations. 6. Testing and Validation 6.1 Test Connections Test Google Drive: Run "Get Drive Files" node manually Test FTP: Upload a test file using "Upload to FTP" node Test Email: Send a test email using "Send Report Email" node 6.2 Run Test Transfer Activate the workflow Click "Execute Workflow" to run manually Monitor execution in the workflow editor Check for any error messages or failed nodes 6.3 Verify Results FTP Server**: Confirm files appear in destination directory Email**: Check you receive the transfer report Google Drive**: Verify transfer notes are saved to specified folder 7. Monitoring and Maintenance 7.1 Workflow Monitoring Execution History**: Review past runs in n8n interface Error Logs**: Check failed executions for issues Performance**: Monitor execution times and resource usage 7.2 Regular Maintenance Credential Renewal**: Google OAuth tokens may need periodic renewal Storage Cleanup**: Consider archiving old transfer notes Performance Tuning**: Adjust batch sizes or schedules based on usage 8. Troubleshooting 8.1 Common Issues Google Drive Authentication Errors: Verify OAuth2 credentials are correctly configured Check if Google Drive API is enabled Ensure redirect URI matches n8n instance URL FTP Connection Failures: Verify FTP server credentials and connectivity Check firewall settings allow FTP connections Confirm destination directory exists and has write permissions Email Delivery Issues: Verify SMTP credentials and server settings Check if email provider requires app-specific passwords Ensure sender email is authorized File Transfer Failures: Check file size limits in filter settings Verify allowed file extensions include your file types Monitor FTP server disk space 8.2 Debug Mode Enable debug mode by: Adding console.log statements in code nodes Using "Execute Workflow" with step-by-step execution Checking node outputs for data validation 9. Advanced Customizations 9.1 Additional File Filters Add custom filtering logic in the "Filter & Validate Files" node: // Example: Filter by modification date const isRecentFile = new Date(file.modifiedTime) > new Date(Date.now() - 7 * 24 * 60 * 60 * 1000); // Last 7 days // Example: Filter by folder location const isInSpecificFolder = file.parents && file.parents.includes('specific-folder-id'); 9.2 Enhanced Reporting Customize the email report template in "Send Report Email" node: 📊 File Transfer Report Summary Date: {{ new Date().toLocaleString('en-US') }} Success Rate: {{ Math.round((successfulTransfers / totalFiles) * 100) }}% 9.3 Integration with Other Services Add nodes to integrate with: Slack**: Send notifications to team channels Discord**: Post updates to Discord servers Webhook**: Trigger other workflows or systems Database**: Log transfers to MySQL, PostgreSQL, etc. 10. Security Considerations 10.1 Credential Security Use environment variables for sensitive data Regularly rotate FTP and email passwords Implement least-privilege access for service accounts 10.2 Network Security Use SFTP instead of FTP when possible Implement VPN connections for sensitive transfers Monitor network traffic for unusual patterns 10.3 Data Privacy Ensure compliance with data protection regulations Implement data retention policies for transfer logs Consider encryption for sensitive file transfers Support and Resources Documentation Links n8n Documentation Google Drive API Documentation n8n Community Forum Getting Help If you encounter issues: Check the troubleshooting section above Review n8n execution logs for error details Search the n8n community forum for similar issues Create a support ticket with detailed error information Note: Replace all placeholder values (URLs, credentials, IDs) with your actual configuration before running the workflow.
by Genzi
Description A comprehensive real estate chatbot automation system that handles customer inquiries, property searches, and appointment scheduling through intelligent conversation flows and email processing. How it works? This template creates an end-to-end real estate automation system that handles customer inquiries from initial contact through appointment booking. 1. Customer Entry Point Webhook receives customer messages from chat interface Link detection checks if customer shared property URLs Smart routing - if property link found, fetch details immediately; otherwise proceed to chat 2. AI Content Processing Content filter (PRIORITY) - blocks non-real estate queries upfront Information extraction - scans messages for personal details and property requirements Human handoff detection - identifies requests for live agent assistance 3. Data Collection Phase Sequential gathering: Personal info (name → phone → email) then property needs Smart validation - phone format, email structure, budget parsing No redundancy - never asks for information already provided PostgreSQL storage - saves customer data and conversation memory 4. Property Search & Matching Database query filters properties by type, location, budget, availability Image enhancement - fetches property photos from media storage Results ranking - returns top 5 matches sorted by price 5. AI Response Generation GPT-4 formatting creates engaging, professional property listings Visual enhancement - includes property images and key details Personalized tone - acknowledges customer preferences 6. Appointment Automation Gmail monitoring - checks for appointment confirmations every hour Calendar integration - creates, updates, deletes appointments automatically Smart scheduling - checks availability, suggests alternatives for conflicts Email responses - sends confirmations and follow-ups Intelligence Features Context Awareness Remembers conversation history across sessions Builds complete customer profile progressively Maintains property preferences throughout interaction Smart Extraction Recognizes property types: HDB, Condo, Apartment Parses locations and MRT preferences automatically Handles various budget formats (SGD 2,500, $2500, etc.) Identifies timeline requirements and citizenship status Professional Handoffs Detects human agent requests with keyword matching Collects complete customer context before transfer Sends structured handoff emails with all requirements Ensures smooth transition to live agents Technical Components AI Models OpenAI GPT-4 - Main conversation handling and response formatting GPT-4 Mini - Appointment processing and email management LangChain Memory - Conversation context retention Database Integration PostgreSQL - Customer data, property listings, conversation history Property search with multi-criteria filtering Media storage integration for property images Communication Channels Webhook API - Primary chat interface Gmail integration - Appointment confirmations and notifications Google Calendar - Automated scheduling and availability checking Setup Requirements Configure database - PostgreSQL with property and customer tables Set up integrations - Gmail, Google Calendar, OpenAI API Customize prompts - Adjust AI responses for your brand Test workflow - Verify end-to-end functionality Monitor performance - Track conversation success rates The system is designed to handle the complete customer journey from initial inquiry to scheduled property viewing, with intelligent automation reducing manual work while maintaining high service quality.
by Oneclick AI Squad
This enterprise-grade n8n workflow automates the entire event planning lifecycle — from client briefs to final reports — using Claude AI, real-time financial data, and smart integrations. It converts raw client data into optimized, insight-driven event plans with cost savings, risk management, and automatic reporting, all with zero manual work. Key Features Multi-source data fusion** from Google Sheets (ClientBriefs, BudgetEstimates, ActualCosts, VendorDatabase) AI-powered orchestration* using *Claude 3.5 Sonnet** for event plan optimization Automatic ROI and variance analysis** with cost-saving insights Vendor intelligence** — ranks suppliers by cost, rating, and reliability Risk engine** computes event risk (probability × impact) Auto-approval logic** for safe, high-ROI events Multi-channel delivery:** Slack + Email + Google Sheets Audit-ready:** Full JSON plan + execution logs Scalable triggers:** Webhook or daily schedule Workflow Process | Step | Node | Description | | ---- | --------------------------- | -------------------------------------------------------- | | 1 | Orchestrate Trigger | Runs daily at 7 AM or via webhook (/event-orchestrate) | | 2 | Read Client Brief | Loads event metadata from the ClientBriefs sheet | | 3 | Read Budget Estimates | Fetches estimated budgets and vendor data | | 4 | Read Actual Costs | Loads live cost data for comparison | | 5 | Read Vendor Database | Pulls vendor pricing, reliability, and rating | | 6 | Fuse All Data | Merges data into a unified dataset | | 7 | Data Fusion Engine | Calculates totals, variances, and validates inputs | | 8 | AI Orchestration Engine | Sends structured prompt to Claude AI for analysis | | 9 | Parse & Finalize | Extracts JSON, computes ROI, risks, and savings | | 10 | Save Orchestrated Plan | Updates OrchestratedPlans sheet with results | | 11 | Team Sync | Sends status & summary to Slack | | 12 | Executive Report | Emails final interactive plan to event planner | Setup Instructions 1. Import Workflow Open n8n → Workflows → Import from Clipboard Paste the JSON workflow 2. Configure Credentials | Integration | Details | | ----------------- | -------------------------------------------------- | | Google Sheets | Service account with spreadsheet access | | Claude AI | Anthropic API key for claude-3-5-sonnet-20241022 | | Slack | Webhook or OAuth app | | Email | SMTP or Gmail OAuth credentials | 3. Update Spreadsheet IDs Ensure your Google Sheets include: ClientBriefs BudgetEstimates ActualCosts VendorDatabase OrchestratedPlans 4. Set Triggers Webhook:** /webhook/event-orchestrate Schedule:** Daily at 7:00 AM 5. Run a Test Use manual execution to confirm: Sheet updates Slack notifications Email delivery Google Sheets Structure ClientBriefs | eventId | clientName | eventType | attendees | budget | eventDate | plannerEmail | spreadsheetId | teamChannel | priority | |----------|-------------|------------|-----------|----------|------------|---------------|---------------|-------------| | EVT-2025-001 | Acme Corp | Conference | 200 | 75000 | 2025-06-15 | sarah@acme.com | 1A... | #event-orchestration | High | BudgetEstimates | category | item | budgetAmount | estimatedCost | vendor | | -------- | -------------- | ------------ | ------------- | ----------- | | Venue | Grand Ballroom | 20000 | 22500 | Luxe Events | ActualCosts | category | actualCost | | -------- | ---------- | | Venue | 23000 | VendorDatabase | vendorName | category | avgCost | rating | reliability | | ----------- | -------- | ------- | ------ | ----------- | | Luxe Events | Venue | 21000 | 4.8 | High | OrchestratedPlans Automatically filled with: eventId, savings, roi, riskLevel, status, summary, fullPlan (JSON) System Requirements | Requirement | Version/Access | | --------------------- | ---------------------------------------------- | | n8n | v1.50+ (LangChain supported) | | Claude AI API | claude-3-5-sonnet-20241022 | | Google Sheets API | https://www.googleapis.com/auth/spreadsheets | | Slack Webhook | Required for notifications | | Email Service | SMTP, Gmail, or SendGrid | Optional Enhancements Add PDF export for management reports Connect Google Calendar for event scheduling Integrate CRM (HubSpot / Salesforce) for client updates Add interactive Slack buttons for approvals Export results to Notion or Airtable Enable multi-event batch orchestration Add forecasting from past data trends Result: A single automated system that plans, analyzes, and reports events — with full AI intelligence and zero manual work. Explore More AI Workflows: https://www.oneclickitsolution.com/contact-us/
by Rahul Joshi
Description Automate your GoHighLevel (GHL) client onboarding process from the moment a deal is marked as “Won.” This workflow seamlessly generates client folders in Google Drive, duplicates contract and kickoff templates, schedules kickoff calls, sends branded welcome emails, creates onboarding tasks in GHL, and notifies your team in Slack. 🚀📂📧📅💬 What This Template Does Triggers automatically when an opportunity is marked as Won in GHL 🏆 Validates and formats client data to ensure clean records 🔍 Creates structured client folders in Google Drive 📂 Copies contract & kickoff deck templates with client-specific naming 📝 Sends personalized welcome email via Gmail ✉️ Schedules kickoff call in Google Calendar 📅 Creates onboarding tasks in GHL for account managers ✅ Sends Slack notifications to keep your team informed instantly 💬 Catches errors and sends alerts to a Slack error channel 🚨 Key Benefits Saves 30–45 minutes per onboarding ⏱️ Eliminates manual data entry and human errors 🧹 Guarantees consistent client experience across all deals 🤝 Automates document creation & sharing 📄 Ensures team visibility and faster response times 📲 Built-in validation and error handling for reliability 🔐 Features Webhook-based trigger from GoHighLevel ⚡ Automatic client data formatting and validation 🛠️ Google Drive folder & document automation with templates 📂 Personalized Gmail welcome email with branding ✉️ Automated kickoff call scheduling in Google Calendar 📅 Task creation in GHL for seamless follow-up 📌 Slack notifications for both success and error handling 💬 Error channel with detailed failure reports 🚨 Requirements n8n instance (cloud or self-hosted) GoHighLevel account with API access 🔑 Google Workspace (Drive, Gmail, Calendar) 📊 Slack workspace with Bot Token & channel access 💬 Pre-created contract and kickoff deck templates in Google Drive 📄 Target Audience Agencies & consultants using GoHighLevel for client management 🏢 Sales teams wanting instant onboarding after a deal closes 💰 Operations teams seeking consistent and repeatable onboarding flows ⚙️ Account managers who need structured onboarding tasks ✅ Businesses scaling client onboarding and reducing manual workload 🚀 Step-by-Step Setup Instructions Configure GHL webhook → Trigger on “Opportunity Status Changed = Won.” Connect your GHL API credentials (OAuth2 or API key). Add Google Drive OAuth2 credentials → Set parent folder ID & template IDs. Configure Gmail OAuth2 → Replace hardcoded email with client email variable. Connect Google Calendar → Select the calendar for kickoff calls. Connect Slack API → Choose channels for onboarding updates and errors. Update template IDs for contract and kickoff deck in the workflow. Import workflow into n8n, map credentials, and test once. Enable workflow → onboarding is now fully automated. ✅
by Cheng Siong Chin
Introduction Automates Singapore COE price tracking, predicts trends using AI, and recommends optimal car purchase timing. Scrapes LTA data biweekly, analyzes historical trends, forecasts next 6 bidding rounds, and sends alerts when buying windows appear—saving time and identifying cost-saving opportunities. How it Works Biweekly trigger scrapes LTA COE data → processes historical trends → AI predicts 6-month prices → compares current vs forecast → generates buy/wait recommendations → alerts sent via Gmail or Telegram. Setup Steps Add NVIDIA/OpenAI API credentials in n8n Connect Google Sheets for data storage Authenticate Gmail/Telegram for notifications Schedule trigger for Wednesdays 8PM SGT Configure alert thresholds in conditional nodes Workflow Schedule Trigger → HTTP Request (Scrape LTA) → Data Processing → Google Sheets (Store) → AI Prediction → Analysis Engine → Conditional Logic → Gmail/Telegram Notification Workflow Steps Scraping: Extract COE prices from OneMotoring Processing: Calculate moving averages, volatility, seasonal trends Storage: Save to Google Sheets with timestamps Prediction: AI forecasts next 6 bidding rounds Analysis: Compare current vs predicted prices, generate recommendation Notification: Alerts via email/Telegram Prerequisites NVIDIA/OpenAI API key, Google account (Sheets), Gmail/Telegram for notifications, basic COE category knowledge Use Cases First-time buyers monitoring price dips, fleet managers timing bulk purchases Customization Add economic indicators, integrate car loan calculators, track parallel imported car prices Benefits Saves hours of manual monitoring, captures 10–15% price dips, provides data-driven purchase timing (potential $5K–$15K savings)
by Cheng Siong Chin
Introduction Automates scholarship tracking by scraping university sites, assessing eligibility via AI, and publishing results to WordPress or Slack. Eliminates manual searches for students, counselors, and education platforms, enabling scalable curation and timely notifications. How it Works Webhook triggers parallel scraping of NUS, NTU, SIT, SUTD → merge data → AI evaluates eligibility → aggregate qualified scholarships → generate summaries → post to WordPress/Slack → send email notifications with appeal options. Setup Steps Configure OpenAI credentials and eligibility prompt template Update HTTP requests with university URLs and selectors Add WordPress site URL and API credentials Create Slack webhook and notification channel Configure Gmail/SMTP for email notifications Workflow Webhook → Scrape 4 Universities (Parallel) → Merge Data → Prepare Context → AI Eligibility Check → Aggregate Results → Generate Summary → Check Status → Publish Slack/Email/WordPress → Handle Appeals Workflow Steps Scraping: Fetch scholarship pages from four universities simultaneously Merge: Combine data into a unified dataset AI Processing: Analyze eligibility criteria, deadlines against student profile Aggregation: Consolidate qualified scholarships with match scores Publishing: Post to WordPress, send Slack/email with results Appeals: Webhook handles rejection appeals with AI review Prerequisites OpenAI API key, WordPress site with REST API, Slack workspace with webhook, Gmail/SMTP credentials, student profile data (GPA, citizenship, major) Use Cases Counselors automating recommendations for 100+ students, financial aid offices aggregating departmental opportunities Customization Add universities (SMU, SUSS, international institutions), include government schemes (MOE, Edusave, Mendaki) Benefits Saves 10+ hours weekly per counselor, monitors 50+ scholarships automatically, provides AI eligibility matching (85%+ accuracy)
by Rahul Joshi
Description Automate your weekly cross-platform social media analytics workflow with AI-powered insights. 📊🤖 This system retrieves real-time Twitter (X) and Facebook data, validates and merges the metrics, formats them via custom JavaScript, generates a visual HTML summary with GPT-4o, stores structured analytics in Notion, and broadcasts key results through Gmail and Slack — all in one seamless flow. Perfect for marketing, social media, and growth teams tracking weekly engagement trends. 🚀💬 What This Template Does 1️⃣ Starts on manual execution to fetch the latest performance data. 🕹️ 2️⃣ Collects live metrics from both Twitter (X API) and Facebook Graph API. 🐦📘 3️⃣ Merges API responses into one unified dataset for analysis. 🧩 4️⃣ Validates data completeness before processing; logs missing or invalid data to Google Sheets. 🔍 5️⃣ Uses JavaScript to normalize data into clean JSON structures for AI analysis. 💻 6️⃣ Leverages Azure OpenAI GPT-4o to generate a professional HTML analytics report. 🧠📈 7️⃣ Updates Notion’s “Growth Chart” database with historical metrics for record-keeping. 🗂️ 8️⃣ Sends the HTML report via Gmail to the marketing or analytics team. 📧 9️⃣ Posts a summarized Slack message highlighting key insights and platform comparisons. 💬 Key Benefits ✅ Eliminates manual social media reporting with full automation. ✅ Ensures clean, validated data before report generation. ✅ Delivers visually engaging HTML performance summaries. ✅ Centralizes analytics storage in Notion for trend tracking. ✅ Keeps teams aligned with instant Slack and Gmail updates. Features Dual-platform analytics integration (Twitter X + Facebook Graph). Custom JavaScript node for data normalization and mapping. GPT-4o model integration for HTML report generation. Real-time error logging to Google Sheets for transparency. Notion database update for structured performance tracking. Slack notifications with emoji-rich summaries and insights. Gmail automation for formatted weekly performance emails. Fully modular — easy to scale to other social platforms. Requirements Twitter OAuth2 API credentials for fetching X metrics. Facebook Graph API credentials for retrieving page data. Azure OpenAI credentials for GPT-4o AI report generation. Notion API credentials with write access to “Growth Chart.” Slack Bot Token with chat:write permission for updates. Google Sheets OAuth2 credentials for error logs. Gmail OAuth2 credentials to send HTML reports. Environment Variables TWITTER_API_KEY FACEBOOK_GRAPH_TOKEN AZURE_OPENAI_KEY NOTION_GROWTH_DB_ID SLACK_ALERT_CHANNEL_ID GOOGLE_SHEET_ERROR_LOG_ID GMAIL_MARKETING_RECIPIENTS Target Audience 📈 Marketing and growth teams analyzing engagement trends. 💡 Social media managers tracking cross-channel performance. 🧠 Data and insights teams needing AI-based summaries. 💬 Brand strategists and content teams monitoring audience health. 🧾 Agencies and operations teams automating weekly reporting. Step-by-Step Setup Instructions 1️⃣ Connect all required API credentials (Twitter, Facebook, Azure OpenAI, Notion, Gmail, Slack, Sheets). 2️⃣ Replace the username and page IDs in the HTTP Request nodes for your brand handles. 3️⃣ Verify the JavaScript node output structure for correct field mapping. 4️⃣ Configure the Azure GPT-4o prompt with your preferred tone and formatting. 5️⃣ Link your Notion database and confirm property names match (followers, likes, username). 6️⃣ Add recipient email(s) in the Gmail node. 7️⃣ Specify your Slack channel ID for automated alerts. 8️⃣ Test run the workflow manually to validate end-to-end execution. 9️⃣ Activate or schedule the workflow for regular weekly reporting. ✅