by WeblineIndia
Zoho CRM – Social Media Engagement Tracker This workflow automatically monitors new or updated Contacts in Zoho CRM, enriches them using People Data Labs, checks public visibility across News + Reddit, calculates an engagement score and updates Zoho CRM fields accordingly. When a Contact shows high online engagement, the workflow automatically opens a Deal and logs a note to help sales teams act quickly. 🚀 Quick Implementation Import this workflow JSON into n8n. Add Zoho OAuth2 credentials & set webhook URL. Add People Data Labs API Key & GNews API Key. Ensure CRM custom fields exist-Social_Profiles,Engagement_Score,Mentions_Counts,Social_Status Update a Contact in Zoho → watch automation fire! 🔍 What It Does This automation transforms a simple Zoho CRM instance into a proactive intelligence system that detects which contacts are gaining public attention online. When a Contact is created or updated in Zoho CRM, n8n automatically retrieves verified profile data such as LinkedIn, Twitter, Facebook and GitHub using People Data Labs — eliminating manual research and spreadsheet maintenance. Next, the workflow checks whether the contact is appearing in global News platforms (via GNews) or being discussed on Reddit. It analyzes the volume and context of these public mentions to estimate how relevant, visible or influential the person may be online. Each discovered activity contributes to a calculated Engagement Score. That score and all enrichment details are written back to Zoho CRM, helping sales and marketing teams instantly identify high-potential contacts. When the score exceeds a defined threshold, the workflow even creates a Deal automatically — meaning your CRM will notify your team of hot prospects before someone else reaches them. This safeguards missed opportunities, speeds outreach and improves your entire pipeline efficiency. 🎯 Who’s It For B2B sales teams & SDRs. CRM admins improving data quality. Marketing analysts tracking brand mentions. Growth teams targeting public-facing prospects. Lead scoring, enrichment & prioritization automation. 🧩 Requirements | Tool | Purpose | |------|---------| | n8n | Workflow automation | | Zoho CRM | Contact data and CRM updates | | PDL API Key | Social profiles enrichment | | GNews API Key | Public news mention search | | Internet Access | API communication | Zoho CRM must contain these custom Contact fields: Social_Profiles Engagement_Score Mentions_Counts Social_Status ⚙️ How It Works — Setup & Configuration Steps 1️⃣ Install and Import Open n8n → Import from File Import this workflow JSON 2️⃣ Configure Authentication Assign Zoho OAuth2 credentials to all Zoho nodes Add PDL API Key in header x-api-key Add GNews API Key in query param apikey 3️⃣ Configure Zoho CRM Webhook Zoho CRM → Developer Space → Webhooks Module: Contacts URL: https://YOUR-N8N-URL/webhook/zoho-crm-new-contact Method: POST Trigger: Create + Update Test by modifying a Contact. 4️⃣ Validate CRM Field Mappings Ensure custom fields exist and allow updates 🛠 Customize Nodes | Node | Customization Options | |------|----------------------| | Engagement Scoring | Adjust weights for likes/comments/news | | IF High Engagement | Change threshold (default ≥ 200) | | Deal Creation | Customize Deal name, stage, pipeline | | Social Profiles | Add more sites: TikTok, Instagram, etc. | | Notes | Include full mention breakdown | ➕ Add-Ons / Optional Improvements | Feature | Benefit | |--------|---------| | Slack notifications | Real-time alerts for hot contacts | | Google Sheets logging | Trend reports across engagements | | Weekly re-scans | Detect new mentions automatically | | UTM tracking | Monitor marketing effectiveness | | AI sentiment scoring | Prioritize positive vs negative mentions | 💡 Use Case Examples Automatic lead prioritization for outbound sales. Identify influencers or public figures inside CRM. Detect PR opportunities from sudden news mentions. Track competitor engagement through contacts. Increase CRM intelligence without manual data entry. (And many more real-world CRM automation use cases) 🧯 Troubleshooting Guide | Issue | Reason | Solution | |------|--------|----------| | No workflow execution | Webhook not triggered | Check Zoho webhook config | | No social profiles | Contact lacks digital footprint | Test with a known public profile | | Deal not created | Score below limit | Reduce score threshold | | HTTP 401 errors | Invalid API credentials | Re-connect Zoho / update keys | | Reddit search empty | Rate limiting or mismatch | Retry + adjust keyword logic | 🤝 Need Help? This workflow is built by n8n automation developers at WeblineIndia. We can help you: Deploy this workflow into production, Integrate more CRMs & intelligence providers, Add reporting dashboards & alerts, Build custom scoring and automation logic, And so much more.
by Dariusz Koryto
Automated FTP File Migration with Smart Cleanup and Email Notifications Overview This n8n workflow automates the secure transfer of files between FTP servers on a scheduled basis, providing enterprise-grade reliability with comprehensive error handling and dual notification systems (email + webhook). Perfect for data migrations, automated backups, and multi-server file synchronization. What it does This workflow automatically discovers, filters, transfers, and safely removes files between FTP servers while maintaining complete audit trails and sending detailed notifications about every operation. Key Features: Scheduled Execution**: Configurable timing (daily, hourly, weekly, or custom cron expressions) Smart File Filtering**: Regex-based filtering by file type, size, date, or name patterns Safe Transfer Protocol**: Downloads → Uploads → Validates → Cleans up source Dual Notifications**: Email alerts + webhook integration for both success and errors Comprehensive Logging**: Detailed audit trail of all operations with timestamps Error Recovery**: Automatic retry logic with exponential backoff for network issues Production Ready**: Built-in safety measures and extensive documentation Use Cases 🏢 Enterprise & IT Operations Data Center Migration**: Moving files between different hosting environments Backup Automation**: Scheduled transfers to secondary storage locations Multi-Site Synchronization**: Keeping files in sync across geographic locations Legacy System Integration**: Bridging old and new systems through automated transfers 📊 Business Operations Document Management**: Automated transfer of contracts, reports, and business documents Media Asset Distribution**: Moving images, videos, and marketing materials between systems Data Pipeline**: Part of larger ETL processes for business intelligence Compliance Archiving**: Moving files to compliance-approved storage systems 🔧 Development & DevOps Build Artifact Distribution**: Deploying compiled applications across environments Configuration Management**: Synchronizing config files between servers Log File Aggregation**: Collecting logs from multiple servers for analysis Automated Deployment**: Moving release packages to production servers How it works 📋 Workflow Steps Schedule Trigger → Initiates workflow at specified intervals File Discovery → Lists files from source FTP server with optional recursion Smart Filtering → Applies customizable filters (type, size, date, name patterns) Secure Download → Retrieves files to temporary n8n storage with retry logic Safe Upload → Transfers files to destination with directory auto-creation Transfer Validation → Verifies successful upload before proceeding Source Cleanup → Removes original files only after confirmed success Comprehensive Logging → Records all operations with detailed metadata Dual Notifications → Sends email + webhook notifications for success/failure 🔄 Error Handling Flow Network Issues** → Automatic retry with exponential backoff (3 attempts) Authentication Problems** → Immediate email alert with troubleshooting steps Permission Errors** → Detailed logging with recommended actions Disk Space Issues** → Safe failure with source file preservation File Corruption** → Integrity validation with rollback capability Setup Requirements 🔑 Credentials Needed Source FTP Server Host, port, username, password Read permissions required SFTP recommended for security Destination FTP Server Host, port, username, password Write permissions required Directory creation permissions SMTP Email Server SMTP host and port (e.g., smtp.gmail.com:587) Authentication credentials For success and error notifications Monitoring API (Optional) Webhook URL for system integration Authentication tokens if required ⚙️ Configuration Steps Import Workflow → Load the JSON template into your n8n instance Configure Credentials → Set up all required FTP and SMTP connections Customize Schedule → Adjust cron expression for your timing needs Set File Filters → Configure regex patterns for your file types Configure Paths → Set source and destination directory structures Test Thoroughly → Run with test files before production deployment Enable Monitoring → Activate email notifications and logging Customization Options 📅 Scheduling Examples 0 2 * * * # Daily at 2 AM 0 */6 * * * # Every 6 hours 0 8 * * 1-5 # Weekdays at 8 AM 0 0 1 * * # Monthly on 1st */15 * * * * # Every 15 minutes 🔍 File Filter Patterns Documents \\.(pdf|doc|docx|xls|xlsx)$ Images \\.(jpg|jpeg|png|gif|svg)$ Data Files \\.(csv|json|xml|sql)$ Archives \\.(zip|rar|7z|tar|gz)$ Size-based (add as condition) {{ $json.size > 1048576 }} # Files > 1MB Date-based (recent files only) {{ $json.date > $now.minus({days: 7}) }} 📁 Directory Organization // Date-based structure /files/{{ $now.format('YYYY/MM/DD') }}/ // Type-based structure /files/{{ $json.name.split('.').pop() }}/ // User-based structure /users/{{ $json.owner || 'system' }}/ // Hybrid approach /{{ $now.format('YYYY-MM') }}/{{ $json.type }}/ Template Features 🛡️ Safety & Security Transfer Validation**: Confirms successful upload before source deletion Error Preservation**: Source files remain intact on any failure Audit Trail**: Complete logging of all operations with timestamps Credential Security**: Secure storage using n8n's credential system SFTP Support**: Encrypted transfers when available Retry Logic**: Automatic recovery from transient network issues 📧 Notification System Success Notifications: Confirmation email with transfer details File metadata (name, size, transfer time) Next scheduled execution information Webhook payload for monitoring systems Error Notifications: Immediate email alerts with error details Troubleshooting steps and recommendations Failed file information for manual intervention Webhook integration for incident management 📊 Monitoring & Analytics Execution Logs**: Detailed history of all workflow runs Performance Metrics**: Transfer speeds and success rates Error Tracking**: Categorized failure analysis Audit Reports**: Compliance-ready activity logs Production Considerations 🚀 Performance Optimization File Size Limits**: Configure timeouts based on expected file sizes Batch Processing**: Handle multiple files efficiently Network Optimization**: Schedule transfers during off-peak hours Resource Monitoring**: Track n8n server CPU, memory, and disk usage 🔧 Maintenance Regular Testing**: Validate credentials and connectivity Log Review**: Monitor for patterns in errors or performance Credential Rotation**: Update passwords and keys regularly Documentation Updates**: Keep configuration notes current Testing Protocol 🧪 Pre-Production Testing Phase 1: Test with 1-2 small files (< 1MB) Phase 2: Test error scenarios (invalid credentials, network issues) Phase 3: Test with representative file sizes and volumes Phase 4: Validate email notifications and logging Phase 5: Full production deployment with monitoring ⚠️ Important Testing Notes Disable Source Deletion** during initial testing Use test directories to avoid production data impact Monitor execution logs** carefully during testing Validate email delivery** to ensure notifications work Test rollback procedures** before production use Support & Documentation This template includes: 8 Comprehensive Sticky Notes** with visual documentation Detailed Node Comments** explaining every configuration option Error Handling Guide** with common troubleshooting steps Security Best Practices** for production deployment Performance Tuning** recommendations for different scenarios Technical Specifications n8n Version**: 1.0.0+ Node Count**: 17 functional nodes + 8 documentation sticky notes Execution Time**: 2-10 minutes (depending on file sizes and network speed) Memory Usage**: 50-200MB (scales with file sizes) Supported Protocols**: FTP, SFTP (recommended) File Size Limit**: Up to 150MB per file (configurable) Concurrent Files**: Processes files sequentially for stability Who is this for? 🎯 Primary Users System Administrators** managing file transfers between servers DevOps Engineers** automating deployment and backup processes IT Operations Teams** handling data migration projects Business Process Owners** requiring automated file management 💼 Industries & Use Cases Healthcare**: Patient data archiving and compliance reporting Financial Services**: Secure document transfer and regulatory reporting Manufacturing**: CAD file distribution and inventory data sync E-commerce**: Product image and catalog management Media**: Asset distribution and content delivery automation
by ScoutNow
Monitor and record your personal or competitors’ social media growth with this scalable n8n automation template. Using official APIs from X (formerly Twitter) and YouTube, the workflow fetches daily follower and subscriber counts, stores them in a structured n8n Data Table, and now sends automated weekly summary emails via Gmail. Built with extensibility in mind, this workflow is ready for future updates to support additional platforms like Instagram, TikTok, LinkedIn, and more. Features 📈 Daily Social Media Tracking Automatically collects X follower counts and YouTube subscriber numbers based on usernames, not channel IDs. 📦 Data Table Logging Cleanly stores daily metrics in a dedicated n8n Data Table with timestamps. 📧 Weekly Email Reports (New) Sends a concise weekly summary of growth trends using the Gmail node. 🔁 Easy Customization Swap out usernames in a couple of fields — no deep edits required. 🛠️ Extensible Design Structure is ready to support more platforms (e.g., TikTok, Instagram, LinkedIn). 🧩 API-Based Accuracy Uses official APIs from X and YouTube for real-time, reliable data. Setup Instructions 1. Get API Credentials X API (Bearer Token)** → developer.x.com YouTube API Key** → Google Cloud Console Gmail Credentials* → Enable the *Gmail API** in your Google Cloud project and configure OAuth2 credentials for use in n8n. 2. Configure in n8n Import the template In the HTTP Request nodes: Add Bearer Auth (for X API) Add Query Auth with your YouTube API Key (?key=<your_api_key>) In the Gmail node: Connect your Gmail account via OAuth2 credentials Customize recipient email(s) and message format Edit these fields to track your accounts: xUsername → your X / Twitter handle ytChannelUsername → your YouTube channel’s username 3. Create the Data Table Inside the n8n dashboard, create a table with the following fields: | Field Name | Type | | ------------------- | -------- | | date | DateTime | | xFollowersCount | Number | | ytSubscriberCount | Number | How It Works Trigger: Daily cron node starts the workflow. Fetch X Followers: Grabs follower count using the X API. Fetch YouTube Subscribers: Retrieves sub count using the YouTube API. Store Data: Logs all values into your Data Table with a timestamp. Weekly Email Summary: Once a week, the Gmail node compiles recent data and emails a growth report. Future Expansion: The structure is ready to include more platforms. Use Cases Track your brand or competitor’s social growth daily Receive weekly email reports on follower/subscriber changes Build custom dashboards or growth charts Compare performance across platforms Generate automated growth reports Requirements X API Bearer Token YouTube API Key Gmail API Credentials Access to n8n (cloud or self-hosted) Delivery Options You can extend this template to: Post daily growth summaries to Slack or Telegram Auto-update a Google Sheet or Notion database Send more detailed weekly reports Add new platforms (Instagram, TikTok, LinkedIn, etc.) Details | Node | Function | | ------------ | ----------------------------------- | | HTTP Request | Pull data from APIs | | Cron | Trigger workflow daily | | Data Table | Store historical growth data | | Gmail | Send weekly email reports | | Set | Define usernames and settings |
by Anthony
Description This workflow automates video distribution to 9 social platforms simultaneously using Blotato's API. It includes both a scheduled publisher (checks Google Sheets for videos marked "Ready") and a subworkflow (can be called from other workflows). Perfect for creators and marketers who want to eliminate manual posting across Instagram, YouTube, TikTok, Facebook, LinkedIn, Threads, Twitter, Bluesky, and Pinterest. How It Works Scheduled Publisher Workflow Schedule Trigger – Runs daily at 10 PM (configurable). Fetch Video – Pulls video URL and description from Google Sheets where "ReadyToPost" = "Ready". Upload to Blotato – Sends video to Blotato's media service. Broadcast to 9 Platforms – Publishes simultaneously to all connected social accounts. Update Sheet – Changes "ReadyToPost" to "Finished" so it won't repost. Subworkflow: Video Publisher (Reusable) Receive Input – Gets URL, title, and description from parent workflow. Fetch Credentials – Pulls Blotato API key from n8n Data Table. Upload & Distribute – Uploads to Blotato, then posts to all platforms. Completion Signal – Returns to parent workflow when done. > 💡 Tip: The subworkflow can be called from ANY workflow - great for posting videos generated by AI workflows, webhook triggers, or manual forms. Test Workflow (Optional) Form Submission – Upload a video file with title and description. Upload to Dropbox – Generates shareable URL via "[SUB] Dropbox Upload Link" subworkflow. Trigger Publisher – Calls the subworkflow above to distribute the video. Setup Instructions Estimated Setup Time: 20-25 minutes Step 1: Blotato Account Setup Create account at Blotato Dashboard Connect all your social media accounts (most time-consuming step) Go to Settings and copy your account IDs for each platform Go to API Settings and copy your API key Step 2: Configure Workflow Update Social IDs: Open "Assign Social Media IDs" node Replace placeholder IDs with your actual Blotato account IDs: { "instagram_id": "YOUR_ID", "youtube_id": "YOUR_ID", "tiktok_id": "YOUR_ID", ... } Create Data Table: Create n8n Data Table named "Credentials" Add columns: service and token Add row: service = blotato, token = YOUR_API_KEY Set Up Google Sheet: Create sheet with columns: URL VIDEO, ReadyToPost, Description, Titre (Title) Add video data Set ReadyToPost to "Ready" for videos you want to post Connect Your Sheet: Update "Get my video" node with your Google Sheet ID > ⚙️ Pro Tip: If you don't need the scheduled version, just use the subworkflow and call it from other workflows. Use Cases AI Video Workflows:** Automatically post videos generated by Veo, Sora, or other AI models to all platforms. Content Schedulers:** Queue videos in Google Sheets, let the scheduler post them automatically. Batch Publishing:** Generate 10 videos, mark them all "Ready", and let the workflow distribute them. Marketing Campaigns:** Coordinate multi-platform launches with a single click. Agencies:** Manage multiple client accounts by swapping Blotato credentials in the Data Table. Customization Options Remove Unused Platforms:** Disconnect any social media nodes you don't use (speeds up execution). Change Schedule:** Modify the Schedule Trigger to run multiple times per day or on specific days. Different File Hosts:** Replace Dropbox with Google Drive, S3, or Cloudinary in the test workflow. Platform-Specific Captions:** Add IF nodes before each platform to customize descriptions or add hashtags. Add Approval Step:** Insert a WhatsApp or Telegram notification before posting for manual review. Watermarks:** Add a Code node to overlay branding before uploading to Blotato. Important Notes ⚠️ Two Workflows in One File: Lines 1-600: Scheduled publisher (checks Google Sheets) Lines 600+: Subworkflow (called by other workflows) ⚠️ Data Table vs. Hardcoding: Scheduled workflow: Hardcoded API keys in HTTP nodes Subworkflow: Uses Data Table for API keys (recommended approach) ⚠️ Why Use the Subworkflow? Can be called from ANY workflow Easier to manage API keys (one place to update) More flexible for complex automation systems
by Paolo Ronco
Automated Certificate Creation & Verification (PDF Template-based) 🔍 Overview This n8n workflow provides a complete end-to-end system for creating, distributing, and verifying digital certificates, using PDF Generator API templates instead of raw HTML. It is designed as a production-ready MVP, fully functional and tested, that can be imported and adapted with minimal configuration. The workflow exposes public endpoints to: generate personalized certificates as PDFs assign unique Certification IDs email certificates automatically verify certificate authenticity via API 🎯 Typical use cases This workflow is ideal for: training providers and academies online courses and bootcamps internal company certifications workshops and events proof-of-completion documents Any scenario where certificates must be generated automatically and verified reliably. ⚙️ What this workflow does 1️⃣ Certificate creation (Webhook) Endpoint POST /certifications2 When triggered, the workflow: Receives candidate data (name, surname, course, email) Generates a unique Certification ID Ensures the ID does not already exist Stores certificate data in an n8n Data Table Generates a PDF using a PDF Generator API template Sends the certificate via email as a PDF attachment 2️⃣ PDF generation (Template-based) Instead of HTML, the workflow sends a JSON payload to a predefined PDF template. Example payload: { "Candidate": "John Doe", "CourseName": "Advanced n8n Automation", "DueDate": "2025-01-10", "ID": "LQ4Z5H8R2A1F" } The PDF layout (fonts, colors, logos, formatting) is fully managed via the PDF Generator API Template UI, keeping the workflow clean and maintainable. 3️⃣ Email delivery Uses Gmail OAuth2 Sends a customizable email Attaches the generated certificate PDF automatically 4️⃣ Certificate verification Endpoint GET /certificationscheck?id=CERTIFICATION-ID This endpoint: checks if the Certification ID exists returns validation status and candidate info Example response (valid): { "ok": true, "name": "John", "surname": "Doe" } This enables public, API-based certificate verification. 🛠 Requirements Before importing the workflow, you need: n8n instance (cloud or self-hosted) n8n Data Table with the following fields: Name (string) Surname (string) CertificationID (string) PDF Generator API account Gmail OAuth2 credentials Ability to expose webhook endpoints publicly 🚀 Setup guide Step 1 – Import the workflow Open n8n Go to Workflows → Import Paste the provided workflow JSON Step 2 – Configure the Data Table Create (or reuse) an n8n Data Table with these fields: | Field | Type | | --------------- | ------ | | Name | string | | Surname | string | | CertificationID | string | Update the following nodes to reference your Data Table: Insert_Certification Find_Certification_By_ID Find_Certification_By_ID1 Step 3 – Configure PDF Generator API Create a PDF template in PDF Generator API Add placeholders such as: {Candidate} {CourseName} {DueDate} {ID} In n8n, set credentials on the Generate a PDF document node ⚠️ Placeholder names must exactly match the JSON keys used in the workflow. Step 4 – Configure email credentials Open the Email Certificate node Set Gmail OAuth2 credentials Customize subject and message body if needed Step 5 – Activate the workflow Click Activate Your endpoints are now live: /certifications2 /certificationscheck 🧪 Status & notes This workflow is an MVP, but already production-ready Designed to be: modular reusable easy to extend Recommended version for new implementations HTML-based version is kept only for reference/backward compatibility 💡 Customization ideas You can easily extend this workflow by: adding QR codes to certificates storing additional metadata integrating with LMS platforms adding a public verification webpage switching email provider
by WeblineIndia
Weekly hiring‑manager snapshot from Breezy HR to email (pipeline, next‑week interviews, stuck) This workflow sends each hiring manager a single weekly email with an overview of their open roles: pipeline totals, a per‑position summary, interviews scheduled next week and stuck candidates (no movement ≥ 7 days). It queries Breezy HR using your API token, detects the HM via each position’s team (falling back to a simple map when unavailable), aggregates results and emails one digest per HM. The job runs Mondays at 07:30 Asia/Kolkata, includes a DRY_RUN preview and rate‑limits sends. Who’s it for Hiring managers who want a once‑a‑week snapshot instead of many separate updates. Talent/recruiting teams using Breezy HR who need pipeline hygiene and next‑week readiness at a glance. Ops partners who prefer a standardized email with HTML tables and a text fallback. How it works Cron (Mon 07:30 IST) triggers weekly. Breezy → Positions: Fetch open positions (configurable). Find HM: For each position, read the position team and look for a member with a “hiring manager” role; if none, use the fallback map. Candidates per position: Fetch candidates, compute stage counts and mark stuck where last activity ≥ STUCK_AFTER_DAYS. Events per position: Fetch events and keep those that look like interviews scheduled next calendar week. Aggregate per position → Group by hiring manager → Build one HTML digest per HM. DRY_RUN? If true, output a preview only; otherwise send emails with a small delay between each. How to set up Credentials in n8n HTTP Header Auth for Breezy HR: set Authorization: Bearer <YOUR_TOKEN> in a credential (don’t hardcode in the node). SMTP (Gmail) to send digests. Open “Set: Config” (single place to edit) BREEZY_API_BASE = https://api.breezy.hr/v3 COMPANY_ID = your Breezy company ID TIMEZONE = Asia/Kolkata INCLUDE_ONLY_OPEN = true (use STATE_FILTER = open) USE_BREEZY_HM_DETECTION = true HM_FALLBACK_MAP_JSON = e.g., { "Default": "hm@example.com", "Java TL": "javatl@company.com" } STUCK_AFTER_DAYS = 7 INTERVIEW_EVENT_KEYWORDS_CSV = interview SMTP_FROM = sender address SUBJECT_TEMPLATE = Weekly HM snapshot {{range}} — {{positions_count}} roles, {{candidates_count}} candidates INTRO_TEMPLATE / OUTRO_TEMPLATE DRY_RUN = false (set true to preview) RATE_LIMIT_EMAIL_SECONDS = 5 Activate the workflow. Requirements Breezy HR API token with access to positions, teams, candidates and events. SMTP (Gmail) account to send emails. n8n (cloud or self‑hosted) with HTTP Header Auth and SMTP credentials. How to customize Schedule:** Change Cron to your preferred day/time. Scope:** Set INCLUDE_ONLY_OPEN=false to include other position states. Interview detection:** Edit INTERVIEW_EVENT_KEYWORDS_CSV to match your account’s event labels. Stuck threshold:** Adjust STUCK_AFTER_DAYS (e.g., 10 or 14). Templates:** Update SUBJECT_TEMPLATE, INTRO_TEMPLATE, OUTRO_TEMPLATE. Fallback mapping:** Expand HM_FALLBACK_MAP_JSON for positions lacking team data. Add‑ons Slack delivery:** Post a weekly summary to a channel or DM the HM alongside the email. CSV attachments:** Attach per‑HM CSV of positions/candidates for offline work. Manager CC:** CC a recruiting lead or HRBP for visibility on key roles. Writeback:* Log weekly metrics to *Google Sheets** for dashboards. Custom windows:** Use a different future window (e.g., interviews in the next 2 weeks). Use Case Examples Busy HMs* who want one email showing *where to focus** for the coming week. Recruiting Ops* keeping tabs on *pipeline health** and stalled candidates. Leadership reviews** where weekly snapshots feed into Monday stand‑ups. Common troubleshooting | Issue | Possible Cause | Solution | |---|---|---| | No emails sent | DRY_RUN=true | Set DRY_RUN=false to send. | | Missing HM recipients | Team endpoint returned no “hiring manager” and fallback map not configured | Add position→email in HM_FALLBACK_MAP_JSON (or set a better default). | | Interviews list is empty | Different event label in your Breezy account | Add your labels to INTERVIEW_EVENT_KEYWORDS_CSV (comma‑separated). | | Stuck candidates not flagged | Threshold too high or activity timestamps missing | Lower STUCK_AFTER_DAYS or verify candidate activity data. | | API errors | Bad token or insufficient scopes | Recreate the Breezy credential with a valid Bearer token. | | Emails fail to send | SMTP auth/quota issues | Check SMTP credentials/from‑address permissions and provider limits. | Need Help? If you’d like help tuning the interview filters, changing the grouping logic, or adding Slack/CSV writebacks, feel free to reach out our n8n experts at WeblineIndia. We'll be happy to help you tailor this to your stack.
by David Olusola
💰 Auto-Send PDF Invoice When Stripe Payment is Received This workflow automatically generates a PDF invoice every time a successful payment is received in Stripe, then emails the invoice to the customer via Gmail. Perfect for freelancers, SaaS businesses, and service providers who want to automate billing without manual effort. ⚙️ How It Works Stripe Payment Webhook Listens for successful payment events (payment_intent.succeeded). Triggers the workflow whenever a new payment is made. Normalize Payment Data A Code node extracts and formats details like: Payment ID Amount & currency Customer name & email Payment date Description Generates a unique invoice number. Generate Invoice HTML A Code node builds a professional invoice template in HTML. Data is dynamically inserted (amount, customer info, invoice number). Output prepared for PDF generation. Send Invoice Email The Gmail node sends an email to the customer. Invoice is attached as a PDF file. Includes a confirmation message with payment details. 🛠️ Setup Steps 1. Stripe Webhook In your Stripe Dashboard: Navigate to Developers → Webhooks Add a new endpoint with your Webhook URL from the n8n Webhook node. Select event: payment_intent.succeeded 2. Gmail Setup In n8n, connect your Gmail OAuth2 credentials. Emails will be sent directly from your Gmail account. 3. Customize Invoice Open the Generate Invoice HTML node. Replace "Your Company Name" with your actual business name. Adjust invoice branding, colors, and layout as needed. 📧 Example Email Sent Subject: Invoice INV-123456789 - Payment Confirmation Body: Dear John Doe, Thank you for your payment! Please find your invoice attached. Payment Details: Amount: USD 99.00 Payment ID: pi_3JXXXXXXXX Date: 2025-08-29 Best regards, Your Company Name (Attached: invoice_INV-123456789.pdf) ⚡ With this workflow, every Stripe payment automatically creates and delivers a polished PDF invoice — no manual work required.
by vinci-king-01
How it works This workflow automatically monitors government regulatory changes and provides comprehensive compliance tracking and executive alerts. Key Steps Scheduled Monitoring - Runs daily at 9 AM to check for new regulatory changes from government sources. AI-Powered Scraping - Uses ScrapeGraphAI to extract regulatory information from Federal Register and government websites. Impact Assessment - Analyzes each regulation for business impact, risk factors, and compliance requirements. Compliance Tracking - Creates detailed tracking records with assigned teams, deadlines, and action items. Executive Alerts - Sends prioritized alerts to relevant teams based on impact level and urgency. Set up steps Setup time: 10-15 minutes Configure ScrapeGraphAI credentials - Add your ScrapeGraphAI API key for web scraping capabilities. Set up email connections - Configure email service to send executive alerts to compliance and legal teams. Customize monitoring targets - Update the government website URLs to monitor specific agencies or regulatory bodies. Adjust alert recipients - Configure email distribution lists for different impact levels (Critical, High, Medium, Low). Set up compliance tracking - Integrate with your project management system for task assignment and progress tracking. Key Features Automated Impact Assessment** - Uses AI to evaluate regulatory impact on your business sectors Priority-Based Alerts** - Sends urgent notifications for critical regulations requiring immediate attention Compliance Task Generation** - Automatically creates compliance checklists and action items Team Assignment** - Routes regulations to appropriate teams based on impact level Deadline Tracking** - Monitors comment deadlines, effective dates, and review timelines
by Easy8.ai
Use this workflow to enrich lead records from Easy Redmine with Lusha data and sync updated fields back to the CRM. About Workflow This workflow connects Easy Redmine CRM with Lusha via API to enrich lead records. It fetches lead data from Easy Redmine, queries Lusha for matching contact information, transforms the results (e.g., phone, employee count, LinkedIn), and updates the original records in Easy Redmine CRM automatically. Use Case Built for CRM and sales teams using Easy Redmine, this automation replaces manual Lusha lookups and lead updates. It ensures that enriched data is consistently added to your CRM—boosting lead quality and reducing data maintenance time. How it works Schedule Trigger** => Runs daily at a set hour (e.g., 10:00) Get Leads from Easy Redmine** => Pulls leads via saved query (e.g., today's leads) using the easy_leads resource Split Out** => Breaks down the batch of leads into single records for enrichment Get Data from Lusha** => Sends HTTP requests to Lusha’s API using lead fields (email, name, company) Filter Leads Found in Lusha** => Skips leads with missing or failed Lusha enrichment Contact Data Transformation for CRM** => Maps and transforms contact data: Extracts phones, email, LinkedIn, job info Converts employee ranges like [1000, 5000] into 5000 Flattens nested Lusha response into CRM-friendly format Update Leads in Easy Redmine CRM** => Sends a PUT request to update each lead How to use Import the workflow into your n8n instance Set credentials for: Easy Redmine API Lusha API (HTTP Header Auth) Update the Get Leads from Easy Redmine node with your query ID Ensure Lusha API fields (email, name, company) match available lead fields Adjust the transformation logic in the Code node if needed Update the custom field ID in the final PUT request if your CRM uses different IDs Test with sample data before activating the automation Example Use Cases Sales Intelligence**: Enrich new leads with verified phone and social info CRM Hygiene**: Keep records consistent and complete without manual edits Lead Scoring**: Add employee count and LinkedIn for better segmentation Requirements Easy Redmine API access Lusha API access API credentials for both platforms Customization Options Add more fields from Lusha (job title, company website, etc.) Include error notifications if updates fail Add filters to target only leads missing phone or LinkedIn info Use Merge node if fetching multiple lead segments Workflow Improvement Suggestions Rename technical node labels for better readability Secure credentials via environment variables or vault Handle rate limits or retries if using large lead batches This workflow automates lead enrichment, ensuring CRM records are updated with accurate, verified data—without the manual copy-paste.
by Automate With Marc
Automate Video Generation with Sora 2 & Veo 3.1 - For Beginners Kick-start AI video generation in n8n with two popular paths: OpenAI Sora 2 and Google Veo 3.1 (via Wavespeed). This beginner-friendly template lets you type a prompt in Chat Trigger, then automatically: Call Sora 2 to generate a short 720p clip and email the MP4. Call Veo 3.1 through Wavespeed, poll until ready, and email the result link. 🎥 Watch the full step-by-step build: https://www.youtube.com/watch?v=qjFWfYvHxlY What this template does Chat input → Two video routes run in parallel: Sora 2 route: HTTP Request (POST /v1/videos) → HTTP Request (GET /videos/{id}/content) → Gmail (attach MP4). Veo 3.1 route (Wavespeed): HTTP Request (POST /google/veo3.1/text-to-video) → poll result with HTTP Request (GET /predictions/{id}/result) inside a Wait + IF loop → Gmail (send result URL). Includes pinned sample prompt for a marketing use case. Uses Sticky Notes to explain each lane and link to the tutorial. Why it’s useful (for beginners) No code required: fill credentials, paste your prompt, run. Side-by-side comparison: learn how Sora 2 vs Veo 3.1 flows differ (direct file vs polled URL). Email delivery built-in: get outputs in your inbox for quick review. Requirements OpenAI API key with access to Sora 2 video endpoint. Wavespeed API key (for Veo 3.1). Google Gmail OAuth2 (to send yourself the results). n8n (self-hosted or Cloud), with internet access. Note: Replace any placeholder or demo credentials after import. Never commit real keys to public templates. Credentials to set in n8n HTTP Header Auth – OpenAI Sora 2 Header Name: Authorization Value: Bearer YOUR_OPENAI_API_KEY HTTP Header Auth – Wavespeed Header Name: Authorization Value: Bearer YOUR_WAVESPEED_API_KEY Gmail OAuth2 Connect your Google account. In the two Gmail nodes, change “sendTo” to your email. How it works (nodes overview) When chat message received (Chat Trigger) Receives your chatInput prompt. Veo 3.1 lane (top) HTTP Request — Post to Wavespeed POST https://api.wavespeed.ai/api/v3/google/veo3.1/text-to-video Body params (editable): aspect_ratio, duration, generate_audio, prompt, resolution. Wait 1 Minute → HTTP Request — Get result Polls GET /api/v3/predictions/{id}/result. IF (status === "completed") True → Gmail — Send Video Result to Email (sends the output URL). False → Wait another 60 secs → back to Wait 1 Minute (poll again). Sora 2 lane (bottom) HTTP Request — POST /v1/videos (OpenAI) Multipart form: prompt={{$json.chatInput}}, model="sora-2-pro", size="1280x720", seconds="8". HTTP Request — GET /v1/videos/{id}/content Downloads the MP4 as binary (video.mp4). Gmail — Send Video to Email Attaches video.mp4 and emails it to you. Setup (step-by-step) Import the template into n8n. Open each HTTP Request node and select the correct HTTP Header Auth credentials. Open both Gmail nodes and: Select your Gmail OAuth2 credential. Change “sendTo” to your email. (Optional) Tweak defaults: Sora 2: size (e.g., 1920x1080), seconds (e.g., 5–10). Veo 3.1 via Wavespeed: aspect_ratio (9:16, 16:9, 1:1), duration, resolution. Wait timing and max polling passes (add an extra IF to stop after N attempts). Execute Workflow and enter your prompt in the Chat window. Customization tips Different delivery: swap Gmail for Google Drive, Slack, or Telegram nodes. Approval loop: after email, branch to a Slack approval step before archiving the file. Brand presets: store common prompt fragments (tone, overlays, logo instructions) in an Item Lists/Set node and merge into the main prompt. Content length: Sora and Veo costs/latency grow with duration—start short (5–8s), then iterate. Troubleshooting 403/401 errors: re-check API keys and header names (Authorization: Bearer …). Empty Veo output: confirm polling loop runs until status = completed; inspect the GET result JSON path used in email (data.outputs[0]). Sora content fetch fails: ensure the second GET uses the returned id path and outputs binary video.mp4. Email not received: verify Gmail OAuth2 scope and recipient; check n8n executions for errors. NSFW/safety blocks: refine the prompt to avoid restricted content.
by Matheus Pedrosa
Workflow Overview Keeping API documentation updated is a challenge, especially when your endpoints are powerful n8n webhooks. This project solves that problem by turning your n8n instance into a self-documenting API platform. This workflow acts as a central engine that scans your entire n8n instance for designated webhooks and automatically generates a single, beautiful, and interactive HTML documentation page. By simply adding a standard Set node with specific metadata to any of your webhook workflows, you can make it instantly appear in your live documentation portal, complete with code examples and response schemas. The final output is a single, callable URL that serves a professional, dark-themed, and easy-to-navigate documentation page for all your automated webhook endpoints. Key Features: Automatic Discovery:** Scans all active workflows on your instance to find endpoints designated for documentation. Simple Configuration via a Set Node:** No custom nodes needed! Just add a Set node named API_DOCS to any workflow you want to document and fill in a simple JSON structure. Rich HTML Output:** Dynamically generates a single, responsive, dark-mode HTML page that looks professional right out of the box. Interactive UI:** Uses Bootstrap accordions, allowing users to expand and collapse each endpoint to keep the view clean and organized. Developer-Friendly:** Automatically generates a ready-to-use cURL command for each endpoint, making testing and integration incredibly fast. Zero Dependencies:** The entire solution runs within n8n. No need to set up or maintain external documentation tools like Swagger UI or Redoc. Setup Instructions: This solution has two parts: configuring the workflows you want to document, and setting up this generator workflow. Part 1: In Each Workflow You Want to Document Next to your Webhook trigger node, add a Set node. Change its name to API_DOCS. Create a single variable named jsonOutput (or docsData) and set its type to JSON. Paste the following JSON structure into the value field and customize it with your endpoint's details: { "expose": true, "webhookPath": "PASTE_YOUR_WEBHOOK_PATH_HERE", "method": "POST", "summary": "Your Endpoint Summary", "description": "A clear description of what this webhook does.", "tags": [ "Sales", "Automation" ], "requestBody": { "exampleKey": "exampleValue" }, "successCode": 200, "successResponse": { "status": "success", "message": "Webhook processed correctly." }, "errorCode": 400, "errorResponse": { "status": "error", "message": "Invalid input." } } Part 2: In This Generator Workflow n8n API Node: Configure the GetWorkflows node with your n8n API credentials. It needs permission to read workflows. Configs Node: Customize the main settings for your documentation page, like the title (name_doc), version, and a short description. Webhook Trigger: The Webhook node at the start (default path is /api-doc) provides the final URL for your documentation page. Copy this URL and open it in your browser. Required Credentials: n8n API Credentials: To allow this workflow to read your other workflows.
by Trung Tran
Automated Slack Channel Audit Workflow with Chatbot and GPT-4.1 > Automatically scans all public Slack channels weekly to detect those with no activity in the past 30 days, then generates and sends a detailed inactivity report to admins for review and action. Helps keep your Slack workspace clean, relevant, and clutter-free. 🧑💼 Who’s it for This workflow is built for: Slack Workspace Admins** IT or Ops Managers** HR/Compliance Teams** …who want to maintain a clean and active Slack workspace by regularly reviewing inactive channels. ⚙️ How it works / What it does This automated n8n workflow: Runs weekly via a scheduled trigger. Fetches all public Slack channels in the workspace. Checks message history of each channel for activity. Filters channels that have had no discussion in the past 30 days. Generates a Slack-friendly report with key metadata (name, member count, purpose, etc.). Sends the report to a Slack channel for admin review and possible action (e.g., archive, engage, repurpose). 🛠️ How to set up Configure your Slack App Go to https://api.slack.com/apps → Create App Add the following OAuth scopes to your Bot Token: channels:read → to get list of public channels channels:history → to fetch message history users:read → to personalize report (optional) chat:write → to post the report to a Slack channel Install the app in your workspace Copy the Bot User OAuth Token Add it to your n8n Slack credentials under "Slack API" Customize the schedule in the "Weekly Schedule Trigger" node to control report frequency. Connect your Slack workspace to the workflow using your credentials. ✅ Requirements n8n (self-hosted or cloud) Slack App with: channels:read channels:history chat:write Active channels and member data A designated Slack channel to receive the report 🔧 How to customize the workflow | Component | Customization Options | |----------|------------------------| | ⏱️ Schedule Trigger | Change to daily, monthly, etc. | | 📅 Inactivity Threshold | Modify Filter channel with last discussion 30 days ago to 60/90 days | | 📊 Report Formatting | Tweak the Consume slack report node to change formatting or summary | | 💬 Output Channel | Change target channel in Send Channel Inactivity Report | | 🚫 Auto-archiving | Add logic to archive channels with 0 members or activity (using Slack API) | 📝 Slack Permissions Reference | Action | Slack Scope Required | |--------|-----------------------| | Get all public channels | channels:read | | Get message history of a channel | channels:history | | Post message to Slack | chat:write | | Get user info (optional) | users:read |