by Raphael De Carvalho Florencio
What this template does Transforms provider documentation (URLs) into an auditable, enforceable multicloud security control baseline. It: Fetches and sanitizes HTML Uses AI to extract security requirements (strict 3-line TXT blocks) Composes enforceable controls** (strict 7-line TXT blocks with true-equivalence consolidation) Builds the final baseline* (TXT or JSON, see *Outputs) with a Technology: header Returns a downloadable artifact via webhook and can append/create the file in Google Drive Why it’s useful Eliminates manual copy-paste and produces a consistent, portable baseline ready for review, audit, or enforcement tooling—ideal for rapidly generating or refreshing baselines across cloud providers and services. Multicloud support The workflow is multicloud by design. Provide the target cloud in the request and run the same pipeline for: AWS, **Azure, GCP (out of the box) Extensible to other providers/services by adjusting prompts and routing logic How it works (high level) POST /create (Basic Auth) with { cloudProvider, technology, urls[] } Input validation → generate uuid → resolve Google Drive folder (search-or-create) Download & sanitize each URL AI pipeline: Extractor → Composer → Baseline Builder → (optional) Baseline Auditor Append/create file in Drive and return a downloadable artifact (TXT/JSON) via webhook Request (webhook) Method: POST URL: https://<your-n8n>/webhook/create Auth: Basic Auth Headers: Content-Type: application/json Example input (Postman/CLI) { "cloudProvider": "aws", "technology": "Amazon S3", "urls": [ "https://docs.aws.amazon.com/AmazonS3/latest/userguide/security-best-practices.html", "https://www.trendmicro.com/cloudoneconformity/knowledge-base/aws/S3/", "https://repost.aws/knowledge-center/secure-s3-resources" ] } Field reference cloudProvider (string, required) — case-insensitive. Supported: aws, azure, gcp. technology (string, required) — e.g., "Amazon S3", "Azure Storage", "Google Cloud Storage". urls (string\[], required) — 1–20 http(s) URLs (official/reputable docs). Optional (Google Drive destination): gdriveTargetId (string) — Google Drive folderId used for append/create. gdrivePath (string) — Path like "DefySec/Baselines" (folders are created if missing). gdriveTargetName (string) — Folder name to find/create under root. Optional (Assistant overrides): assistantExtractorId, assistantComposerId, assistantBaselineId, assistantAuditorId (strings) Resolution precedence Drive: gdriveTargetId → gdrivePath → gdriveTargetName → default folder. Assistants: explicit IDs above → dynamic resolution by name (expects 1_DefySec_Extractor, 2_DefySec_Control_Composer, 3_DefySec Baseline Builder, 4_DefySec_Baseline_Auditor). Validation Rejects empty urls or non-http(s) schemes; normalizes cloudProvider to aws|azure|gcp. Sanitizes fetched HTML (removes scripts/styles/headers) before AI steps. Outputs Primary:* downloadable *TXT** file controls_<technology>_<timestamp>.txt (via webhook). Composer outcomes:** if no groups to consolidate → NO_CONTROLS_TO_BE_CONSOLIDATED; if nothing valid remains → NO_CONTROLS_FOUND.  JSON path:* when the Builder stage is configured for *JSON-only** output (strict schema), the workflow returns a .json artifact and the Auditor validates it (see next section).  Techniques used (from the built-in assistants) Provider-aware extraction with strict TXT contract (3 lines):* Extractor limits itself to the declared provider/technology, outputs only Description/Reference/SecurityObjective, and applies a *reflexive quality check** before emitting.  Normalization & strict header parsing:** Composer normalizes whitespace/fences, requires the CloudProvider/Technology header, and ignores anything outside the exact 3-line block shape.  True-equivalence grouping & consolidation:* Composer groups *only** when intent, enforcement locus/mechanism, scope, and mode/setting all match—otherwise items remain distinct.  7-line enforceable control format:* Composer renders each (consolidated or unique) control in *exactly seven labeled lines** to keep results auditable and automatable.  Builder with JSON-only schema & technology inference:* Builder parses 7-line blocks, infers technology, consolidates true equivalents again if needed, and returns *pure JSON** matching a canonical schema (with counters in meta).  Self-evaluation loop (Auditor):* Auditor *unwraps transport, validates **schema & content, checks provider terminology/scope/automation, and returns either GOOD_ENOUGH or a JSON instruction set for the Builder to fix and re-emit—enabling reflective improvement.  Reference prioritization:** Across stages, official provider documentation is preferred in References (AWS/Azure/GCP).  Customization & extensions Prompt-reflective techniques:** keep (or extend) the Auditor loop to add more review passes and quality gates.  Compliance assistants:* add assistants to analyze/label controls for *HIPAA, PCI DSS, SOX** (and others), emitting mappings, gaps, and remediation notes. Implementation context:* feed internal implementation docs, runbooks, or *Architecture Decision Records (ADRs); use these as **grounding to generate or refine controls (works with local/self-hosted LLMs, too). Local/self-hosted LLMs:** swap OpenAI nodes for your on-prem LLM endpoint while keeping the pipeline. Provider-specific outputs:** extend the final stage to export Policy-as-Code or IaC snippets (Rego/Sentinel, CloudFormation Guard, Bicep/ARM, Terraform validations). Assistant configuration & prompts Full assistant configurations and prompts (Extractor, Composer, Baseline Builder, Baseline Auditor) are available here: https://github.com/followdrabbit/n8nlabs/tree/main/Lab03%20-%20Multicloud%20AI%20Security%20Control%20Baseline%20Builder/Assistants Security & privacy No hardcoded secrets in HTTP nodes; use n8n’s Credential Manager. Drive operations are optional and folder-scoped. For sensitive environments, switch to a local LLM and provide only sanitized/approved inputs. Quick test (curl) curl -X POST "https://<your-n8n>/webhook/create" \ -u "<user>:<pass>" \ -H "Content-Type: application/json" \ -d '{ "cloudProvider":"aws", "technology":"Amazon S3", "urls":[ "https://docs.aws.amazon.com/AmazonS3/latest/userguide/security-best-practices.html" ] }' \ -OJ
by Jitesh Dugar
🎫 Verified Press Pass Generator for Media Events Automate press credential verification and badge generation for journalists covering your events 📝 Description Streamline your event media management with this comprehensive press pass automation. When journalists apply for credentials, this workflow instantly validates their identity, verifies their media affiliation, generates professional digital badges with QR codes, and delivers everything via email—all within seconds. Perfect for conferences, product launches, trade shows, corporate events, and any occasion requiring verified media access. ✨ Key Features 🔐 Advanced Email Verification Real-time email validation using VerifiEmail API Checks RFC compliance, MX records, and domain reputation Detects disposable email addresses and spoofed domains Confirms journalist works for legitimate media organization 🎨 Professional Badge Design Auto-generates branded digital press passes Includes journalist photo, name, media outlet, and credentials Embedded QR code for contactless event entry Customizable colors, fonts, and event branding 400×600px portrait format optimized for mobile display 📧 Automated Communication Beautiful HTML email with embedded badge preview Download links for PNG and PDF versions Clear instructions for event check-in Professional event branding throughout 📊 Multi-Platform Logging Google Sheets backup with timestamp logs Slack notifications for organizer oversight Complete audit trail for compliance ⚡ Lightning Fast Processing Average execution time: 5-10 seconds Real-time webhook response with confirmation Scalable to hundreds of applications per hour Error handling with graceful fallbacks 🎯 Use Cases Event Types: Tech conferences and summits Product launch events Trade shows and exhibitions Political rallies and press conferences Sports events and tournaments Film festivals and premieres Corporate announcements Award ceremonies 🔧 What You Need Required Services: n8n (Cloud or Self-hosted) VerifiEmail API (Get API Key) - Email verification HTMLCSSToImage API (Get API Key) - Badge generation Gmail Account (OAuth) - Email delivery Slack Workspace - Team notifications Google Sheets - Backup logging 📋 How It Works Step-by-Step Process: 1. Application Submission Journalist fills out form on your event website (name, email, media outlet, photo, phone) 2. Data Validation Webhook receives application and checks for required fields (name, email, photo) 3. Email Verification VerifiEmail API validates email domain, checks MX records, and confirms media affiliation 4. Credential Generation Generates unique press ID (PRESS-XXX-timestamp) Creates QR code linking to verification portal Sets 30-day validity period 5. Badge Creation HTMLCSSToImage API renders professional badge with: Circular profile photo Name and media outlet Press ID in styled container Scannable QR code Event name and validity dates "VERIFIED" indicator 6. Distribution Sends HTML email with badge preview and download link Posts notification to Slack channel Backs up to Google Sheets Returns success response to webhook 7. Event Check-In Security scans QR code at event entrance, verifies credentials instantly 🚀 Setup Instructions Quick Start (15 minutes): 1. Import Workflow Download the JSON file In n8n: Click Workflows → Import from File Upload the JSON and open the workflow 2. Configure Webhook Activate the workflow Copy the webhook URL from the Webhook Trigger node Add this URL to your website form's action attribute 3. Add API Credentials VerifiEmail:** Create credential with API key from verifi.email dashboard HTMLCSSToImage:** Add User ID and API Key from htmlcsstoimg.com Gmail:** Connect via OAuth (click "Sign in with Google") Slack:** Connect via OAuth and select notification channel Google Sheets:** Connect via OAuth 4. Setup Google Sheets Create a new sheet named "Press Pass Logs" with these column headers: Timestamp | Press ID | Name | Email | Phone | Media Outlet | Email Domain | Verification Status | Event Name | Issued Date | Valid Until | Badge Image URL | QR Code URL | Verification URL | Photo URL | Execution Mode 5. Customize Badge Design Open the "HTML/CSS to Image" node Edit the HTML in html_content field Change gradient colors: Replace #667eea and #764ba2 with your brand colors Update event name default value Modify font sizes, spacing, or layout as needed 6. Update Email Content Open "Send Press Pass Email" node Customize email text, support contact info Update company/event branding Modify footer with your details 7. Configure Slack Channel Open "Notify Organizers (Slack)" node Select your preferred notification channel Customize notification message format 8. Test the Workflow Send a test POST request using Postman or cURL: curl -X POST https://your-n8n-url/webhook/press-application \ -H "Content-Type: application/json" \ -d '{ "name": "Jane Smith", "email": "jane@bbc.com", "media_outlet": "BBC News", "photo_url": "https://randomuser.me/api/portraits/women/50.jpg", "phone": "+44-1234567890", "event_name": "Tech Summit 2025" }' 9. Go Live Verify test execution completed successfully Check email received with badge Activate workflow for production use 🎨 Customization Options Badge Design: Colors:** Change gradient from purple (#667eea, #764ba2) to your brand colors Fonts:** Swap Google Font from Poppins to any available font Logo:** Add event logo in header section Size:** Adjust viewport_width and viewport_height for different dimensions Layout:** Modify HTML structure for custom badge designs Email Templates: Branding:** Update colors, fonts, and styling in HTML email Content:** Customize greeting, instructions, and footer Attachments:** Add PDF version or additional documents Language:** Translate all text to your language 🔒 Security & Privacy Data Protection: ✅ Email verification prevents fake submissions ✅ QR codes use unique, non-guessable IDs ✅ HTTPS webhook for encrypted transmission ✅ No sensitive data stored in workflow variables ✅ Audit trail for compliance requirements Best Practices: Use environment variables for API keys Enable webhook authentication (Basic Auth or API key) Implement rate limiting on webhook endpoint Regularly rotate API credentials Set up backup systems for critical data 🛠️ Troubleshooting Common Issues: Issue: "Webhook not receiving data" Solution: Ensure workflow is activated and webhook URL is correct in form action Issue: "Email verification fails for valid domains" Solution: Check VerifiEmail API credit balance and credential configuration Issue: "Badge image not generating" Solution: Verify HTMLCSSToImage API key is correct and has sufficient credits Issue: "Gmail not sending" Solution: Reconnect Gmail OAuth credential and check sending limits Issue: "QR code not loading in badge" Solution: Ensure QR code URL is properly encoded and publicly accessible 📈 Performance Metrics Average execution time:** 5-10 seconds Success rate:** 98%+ (with valid inputs) Concurrent capacity:** 50+ requests/minute API reliability:** 99.9% uptime (dependent on services) Badge generation:** <2 seconds Email delivery:** <3 seconds 🏷️ Tags event-management press-pass credential-verification badge-generation email-automation qr-code media-relations event-technology htmlcsstoimage verifi-email gmail slack google-sheets webhook automation workflow conference journalism press-credentials 📄 License This workflow template is provided as-is for use with n8n. Customize freely for your organization's needs.
by Punit
HubSpot Customer Onboarding Automation Overview Streamline your customer onboarding process with this intelligent automation that triggers when new contacts are created in HubSpot. The workflow automatically sends personalized welcome emails, schedules onboarding calls, and assigns customer success managers - ensuring every new customer receives immediate attention and proper support. What This Workflow Does Core Features Real-time Contact Detection**: Monitors HubSpot for new contact creation events via webhooks Intelligent Email Generation**: Uses AI to create personalized welcome emails based on contact information Automated Calendar Scheduling**: Finds available time slots and schedules onboarding calls with new contacts Smart CSM Assignment**: Automatically assigns contacts to appropriate customer success managers Multi-channel Communication**: Sends HTML-formatted emails with professional styling Calendar Integration**: Full Google Calendar management with attendee invitations Business Value Instant Response**: New customers receive immediate welcome communication Personalization at Scale**: Each email is uniquely crafted based on contact details and company information Process Consistency**: Ensures every new contact follows the same high-quality onboarding process Resource Optimization**: Automatically schedules meetings in available time slots Customer Experience**: Professional, timely communication builds trust from day one Prerequisites Required Accounts & Credentials HubSpot Account with Developer API access for webhooks HubSpot Pro/Enterprise for OAuth2 API access OpenAI API access for AI-powered email generation Google Calendar account for meeting scheduling Gmail account for email delivery Public-facing n8n instance or n8n Cloud for webhook reception Technical Requirements HubSpot webhook subscription capabilities Google Workspace or personal Google account OpenAI API with GPT-4o access n8n instance with LangChain nodes package installed Setup Instructions Step 1: HubSpot Developer Setup Create HubSpot Developer Account: Go to HubSpot Developer Portal Create or access your developer account Navigate to Apps section Create Webhook Subscription: In HubSpot Developer Portal: Apps > Create App Configure webhook subscription for contact.creation events Set webhook URL to your n8n webhook endpoint Note the App ID and Developer API key Add HubSpot Developer Credentials: In n8n: Settings > Credentials > "HubSpot Developer API" Enter Developer API key and App ID Step 2: HubSpot OAuth2 Configuration Create OAuth2 App: In HubSpot Developer Portal: Create OAuth2 app Add required scopes: contacts.read contacts.write crm.objects.owners.read Add HubSpot OAuth2 Credentials: In n8n: Settings > Credentials > "HubSpot OAuth2 API" Complete OAuth authorization flow Step 3: OpenAI Configuration Get OpenAI API Key: Visit OpenAI Platform Create API key with GPT-4o model access Add OpenAI Credentials: In n8n: Settings > Credentials > "OpenAI API" Enter your API key Step 4: Google Calendar Setup Enable Google Calendar API: Go to Google Cloud Console Enable Google Calendar API Create OAuth2 credentials Add Google Calendar Credentials: In n8n: Settings > Credentials > "Google Calendar OAuth2 API" Complete OAuth authorization flow Step 5: Gmail Configuration Enable Gmail API: In Google Cloud Console: Enable Gmail API Use same OAuth2 credentials as Calendar Add Gmail Credentials: In n8n: Settings > Credentials > "Gmail OAuth2" Complete OAuth authorization Step 6: Customize Company Information Update "Enter your company data here" Node: company_name: "Your Company Name" sender_name: "Your Name" sender_email: "your-email@company.com" company_activity: "Your company description" Important: The sender_email must match your HubSpot user email and Google account email Step 7: Configure Calendar Settings Update Calendar Agent Tool: Verify calendar ID matches your Google Calendar Ensure proper timezone settings Test calendar access permissions Configuration Details Webhook Event Handling The workflow processes HubSpot webhook events: Event Type**: contact.creation Data Processing**: Extracts contact ID and subscription type Validation**: Ensures event is contact creation before proceeding AI Email Generation System The email generation process uses: Model**: GPT-4o-mini for cost-effective, high-quality content Structured Output**: JSON format with subject and body fields Personalization Variables**: Contact name, email, company information Template Consistency**: Maintains professional tone and branding Calendar Management Features The calendar agent provides: Event Creation**: With and without attendees Event Retrieval**: Find available time slots Event Updates**: Modify existing appointments Event Deletion**: Remove canceled meetings Smart Scheduling**: Automatically finds next available slot Contact Assignment Logic The CSM assignment process: Owner Lookup**: Retrieves all HubSpot owners Sender Matching**: Finds owner matching the configured sender email Contact Assignment**: Updates contact record with owner ID Usage Instructions Automatic Operation Activate Workflow: Toggle workflow to "Active" status Webhook automatically registers with HubSpot Test with New Contact: Create test contact in HubSpot Monitor n8n execution log Verify email delivery and calendar event creation Monitor Performance: Check HubSpot webhook delivery logs Review email delivery success rates Validate calendar event creation Manual Testing Create Test Contact: Add new contact in HubSpot with complete information Ensure contact has valid email address Monitor workflow execution Validate Outputs: Email: Check recipient inbox for welcome email Calendar: Verify meeting invitation sent and accepted HubSpot: Confirm contact owner assignment Logs: Review n8n execution for any errors Expected Outputs Personalized Welcome Email AI-generated email featuring: Subject Line**: Customized based on company and contact information Personalized Greeting**: Uses contact's first name and relevant details Company Introduction**: Includes sender name, company name, and business description Meeting Notification**: Mentions upcoming scheduled onboarding call Professional Formatting**: HTML-styled for professional appearance Scheduled Onboarding Call Google Calendar event with: Title**: Descriptive meeting title including contact name Attendees**: New contact automatically invited Timing**: Next available 1-hour slot in sender's calendar Location**: Virtual meeting details (if configured) Description**: Meeting purpose and agenda HubSpot Contact Updates Automated contact management: Owner Assignment**: Contact assigned to appropriate CSM Activity Logging**: Webhook event recorded in contact timeline Data Enrichment**: Additional contact information if available Calendar Tool Responses Structured responses from calendar operations: Success Confirmations**: Meeting created successfully Error Handling**: Clear error messages for failed operations Event Details**: Complete information about created/modified events Troubleshooting Common Issues HubSpot Webhook Not Triggering Cause: Webhook subscription not properly configured or n8n endpoint not accessible Solutions: Verify n8n webhook URL is publicly accessible Check HubSpot webhook subscription settings Confirm webhook is active in HubSpot Developer Portal Test webhook delivery using HubSpot's testing tools Contact Information Not Retrieved Cause: Insufficient HubSpot API permissions or invalid contact ID Solutions: Verify HubSpot OAuth2 scopes include contact read permissions Check contact ID extraction from webhook payload Ensure contact exists and is accessible via API Test contact retrieval manually Email Generation Failed Cause: OpenAI API issues or insufficient token limits Solutions: Check OpenAI API key validity and usage limits Verify GPT-4o model access permissions Review prompt complexity and token requirements Test AI generation with simpler prompts Calendar Event Creation Failed Cause: Google Calendar permissions or invalid calendar ID Solutions: Verify Google Calendar OAuth2 permissions Check calendar ID configuration matches sender email Ensure calendar is accessible and not restricted Test calendar operations manually Gmail Delivery Problems Cause: Authentication issues or email formatting problems Solutions: Check Gmail OAuth2 token validity Verify sender email matches authenticated account Review HTML formatting for email compatibility Test email delivery with simple text format Performance Optimization High Contact Volume Implement rate limiting for API calls Add error retry mechanisms with exponential backoff Monitor token usage and API quotas Consider batch processing for multiple contacts Large Calendar Schedules Optimize calendar queries with specific date ranges Implement caching for frequently accessed calendar data Add timeout handling for slow calendar operations Consider pagination for large event lists Customization Examples Different CRM Systems Replace HubSpot with alternative CRMs: Salesforce**: Use Salesforce webhook and contact management Pipedrive**: Implement Pipedrive person creation triggers Zoho CRM**: Configure Zoho webhook subscriptions Airtable**: Use Airtable as simple CRM with webhooks Alternative Email Providers Replace Gmail with other email services: SendGrid**: Use SendGrid for transactional emails Mailgun**: Implement Mailgun email delivery Microsoft Outlook**: Use Outlook for business email AWS SES**: Configure Amazon Simple Email Service Enhanced Email Content Improve email personalization: Company Research**: Add web scraping for company information Industry-Specific Templates**: Different emails for different industries Multi-language Support**: Detect contact language and localize content Dynamic Content**: Include relevant resources based on contact properties Advanced Calendar Features Extend calendar functionality: Buffer Time**: Automatically add buffer between meetings Meeting Types**: Different durations for different contact types Timezone Handling**: Automatic timezone detection and conversion Recurring Meetings**: Schedule follow-up meetings automatically Workflow Branching Add conditional logic: Contact Source**: Different flows for different lead sources Company Size**: Tailored onboarding for enterprise vs SMB Geographic Routing**: Regional CSM assignment Product Interest**: Specialized onboarding based on product selection Security Considerations API Security Store all credentials securely in n8n credential system Use OAuth2 authentication where available Regularly rotate API keys and refresh tokens Monitor API usage for unauthorized access Data Privacy Ensure compliance with data protection regulations (GDPR, CCPA) Implement data retention policies for contact information Consider data encryption for sensitive customer data Document data flows for privacy audits Webhook Security Implement webhook signature verification where supported Use HTTPS endpoints for all webhook URLs Monitor webhook delivery logs for suspicious activity Consider IP whitelisting for webhook sources Integration Considerations HubSpot Best Practices Rate Limiting**: Respect HubSpot API rate limits Error Handling**: Implement proper error responses for webhooks Data Sync**: Ensure data consistency between systems Backup Procedures**: Regular backup of workflow configurations Email Deliverability Authentication**: Implement SPF, DKIM, and DMARC records Content Quality**: Avoid spam triggers in email content List Management**: Respect unsubscribe requests Monitoring**: Track email delivery and engagement metrics Business Process Integration Sales Handoff Lead Qualification**: Integrate with lead scoring systems Sales Notification**: Alert sales team of high-value prospects CRM Updates**: Sync onboarding status with sales pipeline Activity Tracking**: Log all onboarding activities in CRM Customer Success Workflows Milestone Tracking**: Monitor onboarding progress Health Scoring**: Assess customer engagement levels Escalation Procedures**: Flag at-risk customers for intervention Success Metrics**: Track onboarding completion rates Support and Maintenance Regular Maintenance Monitor webhook delivery success rates Review email open and response rates Update AI prompts based on feedback Audit calendar scheduling efficiency Performance Monitoring Track workflow execution times and success rates Monitor API usage and costs across all services Review customer feedback on onboarding experience Analyze conversion rates from onboarding to activation Updates and Improvements Stay updated with API changes from integrated services Test workflow compatibility with platform updates Implement customer feedback and feature requests Document all customizations for team reference Cost Optimization API Usage Management Monitor OpenAI token consumption patterns Optimize prompts for efficiency and effectiveness Track Google API usage for calendar and email operations Implement usage alerts and budgets Alternative Approaches Consider using local AI models for email generation Implement template-based emails for cost reduction Use free tiers where available and appropriate Regular cost-benefit analysis of integrated services License and Attribution This workflow template is provided under MIT license. Calendar agent implementation inspired by Nate Herk's YouTube channel. Attribution to original creators appreciated when sharing or modifying. Users are responsible for compliance with all integrated services' terms of service and data handling requirements. Support Contact For customizations, troubleshooting, or additional workflow development: Email**: punit@geekfleet.dev Creator Profile**: n8n Creator Profile Specializations**: n8n, Make, LangChain, and LangGraph workflow development
by Naveen Choudhary
Who's it for This workflow is perfect for digital marketing agencies, sales teams, and business development professionals who want to automate lead qualification, scoring, and personalized outreach. If you're tired of manually reviewing every form submission and crafting individual responses, this template will save you hours while improving response quality. What it does This AI-powered lead management system automatically processes JotForm submissions through a sophisticated 6-step pipeline: Captures leads from JotForm submissions in real-time Scores each lead using AI (GPT-4.1-nano) based on budget, company fit, and project clarity Logs all data to Google Sheets with AI scores, tiers (high/medium/low), and reasoning Enriches company information by fetching industry, employee count, tech stack, and location data Generates personalized emails that reference the lead's specific needs and company insights Sends tailored responses via Gmail with tier-appropriate calls-to-action High-tier leads get priority treatment with direct calendar links, medium-tier leads receive consultation offers, and low-tier leads are sent helpful resources—all automatically. How to set up Requirements JotForm account with a contact form (free tier works) OpenAI API key with GPT-4.1-nano access Google account for Sheets and Gmail Company enrichment API endpoint (see setup guide below) Setup steps Clone this workflow to your n8n instance Configure JotForm Trigger: Connect your JotForm account and select your contact form Add OpenAI credentials: Both AI nodes use the same OpenAI API key Set up Google Sheets: Create a new spreadsheet with columns: first_name, last_name, company, email, message, estimated_budget, ai_score, ai_tier, ai_reasoning Configure Gmail: Connect your Gmail account for sending responses Set up enrichment API: Deploy the company enrichment workflow (workflow #9960) and update the webhook URL in the "API: Company Enrichment Request" node Company Enrichment API Setup The enrichment API is a separate workflow that fetches company data. You can: Use the enrichment workflow template Deploy it to your n8n instance Update the webhook URL in the HTTP Request node to point to your deployed version How to customize Adjust AI scoring criteria: Modify the system prompt in "AI: Lead Scoring Analysis" to match your ideal customer profile and budget thresholds Customize email templates: Edit the system prompt in "AI: Generate Personalized Email" to match your brand voice and offerings Add more data points: Extend the Google Sheets schema to capture additional form fields or enrichment data Change email provider: Swap Gmail for Outlook, SendGrid, or any SMTP service Add notifications: Insert a Slack or Discord node after lead scoring to alert your team about high-tier leads instantly Implement lead routing: Add an IF node after scoring to route high-value leads to senior team members.
by Fayzul Noor
Description This workflow is built for e-commerce store owners, customer support teams, and retail businesses who want to provide instant, intelligent email support without hiring additional staff. If you're tired of manually responding to customer inquiries, searching through product catalogs, and copying information into emails, this automation will transform your support process. It turns your inbox into a smart AI-powered support system that reads, understands, and responds to customer questions about your store products while you focus on growing your business. How it works / What it does: This n8n automation completely transforms how you handle customer email inquiries using AI and Retrieval-Augmented Generation (RAG) technology. Here's a simple breakdown of how it works: Monitor your Gmail inbox using the Gmail Trigger node, which checks every minute for new customer emails (excluding emails sent by you). Assess if a reply is needed with an AI-powered classification system. The workflow uses GPT-4.1 with a structured JSON parser to determine whether incoming emails are genuine customer inquiries about your men's clothing store that require a response. Filter relevant emails through the If Needs Reply node, which only passes emails that need attention to the AI Agent, preventing unnecessary processing. Generate intelligent responses using an AI Agent powered by GPT-4.1-nano. The agent uses a friendly, professional tone and starts each email with "Dear" and ends with "Best regards" to maintain proper email etiquette. Search your knowledge base with a Vector Store RAG tool connected to Pinecone. The AI Agent queries your men's clothing product database using OpenAI embeddings to find accurate, up-to-date information about prices, features, and product details. Send personalized replies automatically through the Gmail node, which responds directly to the original email thread with clear, concise, and empathetic answers to customer questions. Once everything is set up, the system runs on autopilot and provides 24/7 customer support without any manual intervention. How to set up: Follow these steps to get your AI-powered email support system running: Import the JSON file into your n8n instance. Add your API credentials: Gmail OAuth2 credentials for reading and sending emails OpenAI API key for the AI Agent and embeddings Pinecone API credentials for vector storage Set up your Pinecone vector database: Create a Pinecone index. Create a namespace. Upload your store data to the vector store Configure the Gmail Trigger node to monitor the correct email account. Customize the AI Agent's system message to match your brand voice and support policies. Activate the workflow to enable automatic monitoring and responses. Requirements: Before running the workflow, make sure you have the following: An n8n account or instance (self-hosted or n8n Cloud) A Gmail account for receiving and sending customer emails OpenAI API access for the AI Agent and embeddings (GPT-4.1 and GPT-4.1-nano models) A Pinecone account with a configured vector database containing your product information Your store data, product catalog prepared and uploaded to Pinecone How to customize the workflow: This workflow is flexible and can be customized to fit your business needs. Here's how you can tailor it: Adjust the response style by modifying the system message in the AI Agent node. You can make it more casual, formal, or brand-specific. Add response length controls by updating the system message instructions. Currently set to keep responses short and concise, you can adjust this for more detailed explanations. Change the polling frequency in the Gmail Trigger node. The default is every minute, but you can adjust it to check more or less frequently based on your email volume. Filter specific types of emails by modifying the filters in the Gmail Trigger and "Assess if message needs a reply" nodes to handle specific subjects, senders, or keywords. Connect to different email platforms by replacing the Gmail nodes with other email services like Outlook, IMAP, or customer support platforms. Add human-in-the-loop approval by inserting a webhook or notification node before the Gmail reply node, allowing manual review before sending responses. Implement response tracking by adding database nodes to log all AI-generated responses for quality control and training purposes. Add multi-language support by incorporating translation nodes or configuring the AI Agent to detect and respond in the customer's language.
by Nitin Dixit
Who's it for HR professionals and recruitment teams handling high application volumes Startup founders and hiring managers seeking to scale hiring efficiently Companies wanting consistent, objective candidate evaluation Teams spending 20+ hours per week on manual resume screening What it does Receives job applications automatically via Jotform webhook Downloads and parses resume PDFs using LlamaParse AI extraction Analyzes candidate qualifications with OpenAI GPT-4 (compatibility score, strengths, concerns, technical skills) Routes candidates into three categories based on AI score (1-10 scale) Sends personalized HTML emails: interview invitations for strong candidates (7-10), status updates for moderate (5-6), respectful rejections for weak matches (1-4) Generates detailed HR briefing emails for top candidates with interview questions and focus areas Completes full screening process in under 2 minutes per application How it works Jotform trigger captures new submissions with resume attachments HTTP requests fetch submission data and download PDF files LlamaParse extracts text from resume PDFs with status checking loop OpenAI AI Agent analyzes resume and cover letter, outputs structured JSON assessment JavaScript code parses AI output into usable data fields Switch node routes candidates to appropriate email path based on score Gmail nodes send customized HTML emails to candidates and HR team All processing happens automatically without manual intervention Set up requirements Jotform account** with API key (form fields: name, email, phone, position, start date, interview preference, cover letter, resume upload) LlamaCloud account** with API key for PDF parsing OpenAI API key** with GPT-4o-mini access Gmail OAuth2** credentials for sending emails Estimated setup time: 25-30 minutes Cost: ~$0.05-0.10 per application processed How to customize Email templates**: Replace all placeholders (company name, HR manager, contact details, interview format, social links) AI evaluation**: Edit AI Agent prompt to match your job requirements and scoring criteria Score thresholds**: Adjust Switch node conditions to change candidate category ranges (default: 7+ strong, 5-6 moderate, <5 weak) Additional features**: Add Google Sheets logging, Slack notifications, calendar booking, or ATS integration Branding**: Update HTML email colors, fonts, and styling to match company brand HR notifications**: Change recipient email from default to your HR manager's address
by Daniel Shashko
How it Works This workflow automatically monitors your Gmail support inbox every minute for new unread messages, instantly sending each email to OpenAI for intelligent analysis. The AI engine evaluates sentiment (Positive/Neutral/Negative/Critical), urgency level (Low/Medium/High/Critical), and categorizes requests into Technical, Billing, Feature Request, Bug Report, or General Inquiry, while extracting key issues and generating professional response templates. The system calculates a priority score (0-110 points) by combining urgency weight (25 points per level) with sentiment impact (10 points per level), automatically flagging any Critical urgency or Critical sentiment tickets for immediate attention. Critical issues trigger instant Slack alerts with full context, suggested responses, and 30-minute SLA reminders, while routine tickets route to monitoring channels for standard processing. Every ticket is logged to Airtable with complete analysis data and thread tracking, then simultaneously posted to a Google Sheets analytics dashboard for real-time metrics. A secondary AI pass generates strategic insights including trend identification, risk assessment, and actionable recommendations for the support team, storing these insights back in Airtable linked to the original ticket. The entire process takes seconds from email arrival to team notification, eliminating manual triage and ensuring critical customer issues receive immediate attention while building a searchable knowledge base of support patterns. Who is this for? Customer support teams drowning in high email volumes needing automated prioritization SaaS companies tracking support metrics and response times for customer satisfaction Startups with lean support teams requiring intelligent ticket routing and escalation E-commerce businesses managing technical support, returns, and billing inquiries simultaneously Support managers needing data-driven insights into customer pain points and support trends Setup Steps Setup time: Approx. 20-30 minutes (OpenAI API, Gmail connection, database setup) Requirements: Gmail account with support email access OpenAI API account with API key Airtable account with workspace access Google Sheets for analytics dashboard Slack workspace with incoming webhooks Sign up for OpenAI and obtain your API key for the AI analysis nodes. Create an Airtable base with two tables: "tblSupportTickets" (main records) and "tblInsights" (AI insights) with matching column names. Create a Google Sheet with columns for Date, Time, Customer, Email, Subject, Sentiment, Urgency, Category, Priority, Critical, Status. Set up these nodes: Monitor Support Emails: Connect Gmail account, configure to check INBOX label for unread messages. AI Analysis Engine: Add OpenAI credentials and API key, system prompt pre-configured. Parse & Enrich Data: JavaScript code automatically extracts and scores data (no changes needed). Route by Urgency: Configure routing rules to split critical vs. routine tickets. Slack Alert Nodes: Set up webhook URLs for critical alerts channel and routine monitoring channel. Log to Airtable Database: Connect Airtable, select base and table, map all data fields. Update Analytics Dashboard: Connect Google Sheets and select target sheet/range. Generate Insights & Store AI Insights: OpenAI credentials already set, Airtable connection for storage. Replace placeholder IDs: Airtable base ID (appXXXXXXXXXXXXXX), table names, Google Sheet document ID (1XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX). Credentials must be entered into their respective nodes for successful execution. Customization Guidance Priority Scoring Formula:** Adjust urgency multiplier (currently 25) and sentiment weight (currently 10) in the Code node to match your SLA requirements. Urgency Thresholds:** Modify critical routing logic—currently any "Critical" urgency or sentiment triggers immediate alerts. AI Analysis Temperature:** Lower OpenAI temperature (0.1-0.2) for more consistent categorization, or raise (0.4-0.5) for nuanced sentiment detection. Polling Frequency:** Change Gmail trigger from every minute to every 5/15/30 minutes based on support volume and urgency needs. Email Filters:** Add sender whitelist/blacklist, specific label filters, or date ranges to focus on particular customer segments. Category Customization:** Modify AI system prompt to add industry-specific categories like "Compliance," "Integration," "Onboarding," etc. Multi-Language Support:** Add language detection and translation steps before AI analysis for international support teams. Auto-Response:** Insert Gmail send node after AI analysis to automatically send suggested responses for low-priority inquiries. Escalation Rules:** Add additional routing for VIP customers, enterprise accounts, or tickets mentioning "cancel/refund." Dashboard Enhancements:** Connect to Data Studio, Tableau, or Power BI for advanced support analytics and team performance tracking. Once configured, this workflow transforms your support inbox into an intelligent triage system that never misses critical issues, provides instant team visibility, and builds actionable customer insights—all while your team focuses on solving problems instead of sorting emails. Built by Daniel Shashko Connect on LinkedIn
by Atta
Stop drowning in job applications. This workflow transforms your hiring process from a manual, time-consuming data-entry task into an automated, intelligent screening system. When a candidate applies via your Jotform, this workflow automatically: Downloads their PDF resume (even from private links). Extracts the text from the resume and reads their cover letter. Compares the application to the Notion job description using Gemini AI. Generates an "AI Fit Score" (0-100) and a concise summary. Filters out low-scoring applicants. Creates a new, fully detailed candidate page in your Notion database, linked to the correct job. Instantly alerts your hiring team on Slack with the candidate's score and summary. Sends an automated confirmation email to the candidate. Features Triggers on New Jotform Submissions: Kicks off the moment a candidate clicks "Apply Now." Handles Private Files: Securely downloads private resume files from Jotform using your API key. PDF Text Extraction: Automatically reads the text from any uploaded PDF resume. Deep AI Analysis: Uses Gemini AI to compare the candidate's resume and cover letter against the specific job description from Notion. Relational Database Linking: Automatically links the new candidate to the correct "Open Position" page in Notion. Automated Quality Filtering: An IF node stops low-scoring candidates from cluttering your database. Multi-Channel Communication: Provides instant feedback to your team (Slack) and the candidate (Email). Nodes Used 🟣 Jotform Trigger (Jotform Trigger) ✉️ Gmail (Send Confirmation Email) ⬇️ HTTP Request (Download Resume PDF) 📄 Extract From File (Read Resume Text) 🔍 Notion (Find Job in Notion) 🖇️ Merge (Combine Data) 🧠 AI Agent (AI Candidate Analysis) ❓ IF (Score > 40?) ➕ Notion (Create Candidate in Notion) 📣 Slack (Alert Hiring Team) 🚫 No Operation, do nothing (Ignore (Score < 40)) How to use this template This template requires manual setup due to Jotform's unique Question IDs (QIDs). Please follow these steps carefully. ⚠️ CRITICAL WARNING ON JOTFORM QIDs To get the file URL, this template requires you to turn "Resolve Data" OFF in the Jotform Trigger. This means the workflow uses Question IDs (e.g., q7_positionApplying, q8_typeA8) instead of human-readable labels. Your QIDs will be different from the ones in this template. You must run the trigger once, find your QIDs, and replace them in the downstream nodes. 1. Set up Jotform and Notion (See "More Information" section below) Before you start, create your Jotform form and your two Notion databases ("Open Positions" and "Candidates") as described at the end of this document. 2. Configure the Jotform Trigger Node Credentials: Connect your Jotform account. Form: Select your "Job Application" form. IMPORTANT: In the node Parameters, find the "Resolve Data" option and turn it OFF. Test: Run a test by submitting your form. Look at the output and write down your unique QIDs for each field (e.g., q3_fullName, q7_positionApplying, q8_typeA8, uploadYour). 3. Configure the Download Resume PDF (HTTP Request) Node Credentials: This node needs your Jotform API Key. Authentication: Query Auth Credential: Create new Header Auth credentials. Name: Jotform API Key (Query) Parameter Name: apiKey Parameter Value: [Paste your Jotform API Key here] URL: Replace uploadYour in the expression {{ $('Jotform Trigger').item.json.uploadYour[0] }} with the QID for your file upload field. 4. Configure the Find Job in Notion Node (See the "Required Notion Setup" section at the end of this document for detailed instructions on how to build this database) Credentials: Connect your Notion credentials. Database ID: Select your "Open Positions" database. Filter Value: Replace q7_positionApplying in the expression {{ $('Jotform Trigger').item.json.q7_positionApplying }} with the QID for your "Position" dropdown. 5. Configure the AI Candidate Analysis Node Credentials: Connect your Google AI (Gemini) credentials. Prompt: In the prompt, find the line for "Candidate's Cover Letter". Replace q8_typeA8 in the expression {{ $('Jotform Trigger').item.json.q8_typeA8 }} with the QID for your cover letter field. 6. Configure the IF (Score > 40?) Node No credentials needed. You can change the "Value 2" from 40 to any score you want to use as your quality filter. 7. Configure the Create Candidate in Notion Node (See the "Required Notion Setup" section at the end of this document for detailed instructions on how to build this database) This is the most important step. Connect your Notion credentials and select your "Candidates" database. You must go through every single property and replace my QIDs with your QIDs from the Jotform trigger. Candidate Name: {{ $('Jotform Trigger').item.json.q3_fullName.first }} ... (Replace q3_fullName) Email: {{ $('Jotform Trigger').item.json.q4_email }} (Replace q4_email) Phone: {{ $('Jotform Trigger').item.json.q5_phoneNumber?.full ? ... (Replace q5_phoneNumber) Position (Relation): This expression, {{ $('Find Job in Notion').item.json.id }}, is correct. AI Summary, Score, Skills: These expressions are also correct. Resume (File): In the URL field, replace uploadYour with your file QID. 8. Configure Communication Nodes Send Confirmation Email (Gmail): Connect your email credentials and customize the email body. Alert Hiring Team (Slack): Connect your Slack credentials and select your desired channel (e.g., #hiring). 9. Activate your Workflow\! Once all steps are configured and QIDs are replaced, save and activate your workflow. How to Adapt the Template Log Rejected Candidates: Connect the false (No) output of the IF (Score > 40?) node to a Google Sheets node to keep a log of all candidates who didn't meet the score threshold. Change the AI Prompt: Edit the prompt in the AI Candidate Analysis node to ask for different insights, such as "List 3 potential red flags" or "Estimate years of experience." Use a Different AI: Replace the Google AI node with an OpenAI or Claude node. Change Notifications: Swap the Slack node for Discord, Microsoft Teams, or a simple email notification. More Information About Jotform Jotform is a powerful and easy-to-use online form builder perfect for creating professional job application forms. Its flexibility with file uploads and webhooks makes it an ideal trigger for this n8n automation. If you don't have an account, you can get started using the link above. Required Jotform Fields Your Jotform must have these fields for the template to work: Full Name Email Phone Number (Can be optional) File Upload (Label: Upload Your Resume) Crucial: Set the file type option to pdf only. Dropdown (Label: Position Applying For) Crucial: The options (e.g., "Marketing Manager") must exactly match the page titles in your "Open Positions" Notion database. Long Text (Label: Summary / Cover Letter) Required Notion Setup This workflow requires two separate databases in Notion that are linked together. Both databases must be shared with your n8n integration. Database 1: "Open Positions" This database holds your job descriptions. The AI reads from this database to understand the job requirements. Create a new Table database in Notion named Open Positions. Create the following properties: Name (Title): This is the job title. It must exactly match the options in your Jotform dropdown (e.g., "Marketing Manager"). Job Description (Text): A text field where you will paste the full job description for the role. Database 2: "Candidates" This database will store every new applicant and their AI-generated score. Create a new Table database in Notion named Candidates. Create the following properties to store the data: Candidate Name (Title): This will be filled with the applicant's name from the form. Email (Email): Stores the candidate's email. Phone (Phone): Stores the candidate's phone number. Resume (File): Stores the link to the resume PDF. AI Summary (Text): Stores the 2-sentence summary from the AI. AI Fit Score (Number): Stores the 0-1S00 score from the AI. Key Skills (Multi-select): Stores the skills array generated by the AI. Position (Relation): This is the final, crucial property. Type: Select Relation. Database: In the menu, search for and select your "Open Positions" database. IMPORTANT: A toggle labeled "Show on 'Open Positions'" will appear. You must turn this toggle ON. This creates a two-way relation, which is required for n8n to see and use this property.
by Rahul Joshi
Description Streamline your Net Promoter Score (NPS) survey process by automating survey delivery, response tracking, and structured data storage. This workflow integrates GoHighLevel, Gmail, and Notion to ensure every customer response is captured, categorized, and actionable. 💬📧📊 What This Template Does Trigger from GoHighLevel when a deal moves to "Completed." ⚡ Send NPS survey emails via Gmail to the customer automatically. ✉️ Capture responses through a Webhook and store them in structured format. 🔗 Process and categorize NPS responses (Promoter, Passive, Detractor). 🧮 Save results in Notion for centralized tracking and analysis. 📒 Send Slack notifications for quick visibility into customer satisfaction. 🔔 Key Benefits ✅ Automated NPS survey delivery and response tracking ✅ Centralized data storage for long-term insights ✅ Real-time team notifications for faster action ✅ Standardized response categorization ✅ Error handling ensures no response is lost Features GoHighLevel integration to trigger surveys at the right stage Gmail email automation with personalized survey links Webhook capture for dynamic NPS responses Notion database integration for structured data storage Slack alerts for quick feedback visibility Requirements n8n instance (cloud or self-hosted) GoHighLevel API credentials Gmail API credentials (OAuth2) Notion API integration token Slack API token (optional for notifications) Target Audience This workflow is ideal for Customer Success teams, SaaS businesses, agencies, and service providers who want to measure customer satisfaction at scale and act quickly on feedback. Step-by-Step Setup Instructions Configure GoHighLevel, Gmail, Notion, and Slack credentials in n8n. Set up a Notion database with fields for customer, score, category, and comments. Replace hardcoded values with environment variables ($env.GHL_API_KEY, $env.NOTION_DB_ID, etc.). Import the JSON into your n8n instance. Run once manually with test data to verify. Enable the workflow for automated execution. ✅
by Ramon David
This workflow manages subscription billing reminders and data updates via Telegram. It runs daily at 8:00 AM to check for upcoming due subscriptions, formats relevant information, and sends reminders to users. It also processes user messages for subscription management—adding, updating, or retrieving billing info—using AI-powered natural language understanding. Main outcomes include automated subscription tracking, timely reminders, and conversational interaction through Telegram, reducing manual tracking efforts and improving billing accuracy. Automation Benefits Time & Cost Savings Manual Process: Several hours/week spent managing subscriptions and reminders manually. Automated Process: Workflow completes checks, reminders, and data updates in under a minute. Time Savings: Saves approximately 5 hours weekly, translating to significant productivity gains and cost reduction. ROI: Automation pays for itself within the first month due to saved labor. Error Reduction: Minimized manual entry errors, ensuring accurate billing records and timely reminders. Business Impact Solves the problem of manual subscription tracking and reminders. Scales effortlessly as subscription list grows. Opens new opportunities for proactive customer engagement, personalized messaging, and integrated billing insights. Setup Guide Prerequisites Google Sheets account with subscription data sheet. OpenAI API key with access to GPT-4. Telegram bot token with messaging permissions. Email SMTP setup if email reminders are used. API Configuration Google Sheets: Generate OAuth2 credentials, enable Sheets API, and authorize access. OpenAI: Create API key, set model to GPT-4, and test connectivity. Telegram: Create bot via BotFather, retrieve token, and set webhook URL. Webhook URL: Use the provided URL in the Telegram bot settings. Node-by-Node Setup OpenAI Chat Model: Enter API credentials, select GPT-4 model. Google Sheets: Input spreadsheet ID, sheet name, and ensure correct permissions. Telegram Nodes: Insert chat ID, message parsing, and response formatting. Schedule Trigger: Confirm cron expression for daily execution. For AI nodes, test with sample messages to verify formatting and extraction. Testing & Validation Run workflow manually. Confirm data is retrieved, processed, and responses sent. Verify subscription updates in Google Sheets. Check Telegram chats for correct message flow. N8N Documentation References Google Sheets Node OpenAI Node Telegram Node Schedule Trigger Maintenance & Troubleshooting Regular Maintenance (Monthly) Check API credentials and renew tokens if expired. Monitor workflow logs for errors. Review Google Sheets data for consistency. Update API keys when new versions or permissions are granted. Verify currency conversion accuracy periodically. Common Issues & Solutions Workflow not triggering: check schedule settings and webhook URLs. Data not updating: verify Google Sheets credentials and permissions. Incorrect responses: test AI prompt inputs and outputs. API failures: regenerate API keys or check quota limits. Reconfigure nodes if external API changes. Monitoring & Alerts Set up email or Slack alerts for failures. Regularly review execution logs. Track key metrics like successful runs, error rates, and response times. Support & Escalation Check n8n logs first for errors. Export workflow for support if needed. Use n8n community forums for common issues. Contact API providers for account-specific problems. Emergency procedures: restart workflow, regenerate tokens. Updates & Improvements Review workflow performance quarterly. Optimize AI prompts for better accuracy. Backup workflow configurations before major changes. Incorporate user feedback for feature enhancements.
by Jitesh Dugar
Overview Automatically generate professional PDF invoices when new orders are placed in Shopify. This template creates beautifully formatted invoices from order data, converts them to PDF, saves to Google Drive, and emails customers - all in one seamless workflow. 🎯 What This Template Does Transform your Shopify order fulfillment with complete invoice automation. When a customer places an order, this workflow automatically: ✅ Receives order data via Shopify webhook ✅ Validates payment status (only processes paid orders) ✅ Generates professional HTML invoice with your branding ✅ Converts to PDF using HTML to PDF conversion ✅ Saves invoice to Google Drive for record-keeping ✅ Emails PDF invoice to customer automatically ✅ Provides webhook response back to Shopify 🚀 Key Benefits Save Hours of Manual Work Eliminate manual invoice creation and sending Process unlimited orders 24/7 without intervention Professional invoices enhance your brand image Complete Automation No missed invoices - every paid order gets processed Automatic file organization in Google Drive Immediate customer notification improves satisfaction Professional Results Clean, branded invoice design that looks enterprise-ready Proper calculations for taxes, shipping, and totals PDF format suitable for accounting and customer records 🛠 What You'll Need Required Integrations: Shopify Store** - For order webhooks HTML to PDF Service** - For invoice conversion (API key required) Google Drive** - For invoice storage Email Provider** - For sending invoices to customers Technical Requirements: n8n instance (cloud or self-hosted) Basic webhook configuration in Shopify 10 minutes for initial setup 📋 Features Included Smart Order Processing Payment validation (only processes paid orders) Complete order data extraction (customer, items, addresses) Tax and shipping calculations Multi-currency support Professional Invoice Design Modern, clean layout with company branding Detailed line items with SKUs and quantities Proper totals breakdown (subtotal, tax, shipping) Customer billing and shipping addresses Automated Distribution PDF saved with descriptive filename (invoice-ORDER_NUMBER.pdf) Organized storage in Google Drive "Invoices" folder Professional email template with attachment Proper webhook responses for Shopify integration Error Handling Skips unpaid orders with proper notification Comprehensive data validation Detailed execution logs for troubleshooting 🎨 Customization Options Easy Branding Update company name, address, and contact details Modify color scheme and styling Add your logo and brand elements Invoice Layout Customize invoice template in HTML/CSS Add or remove fields as needed Modify PDF formatting options Email Templates Personalize customer email messages Add tracking links or additional information Customize sender details 💼 Perfect For E-commerce Stores** - Shopify merchants of any size Service Businesses** - Professional service invoicing Digital Products** - Immediate invoice delivery B2B Companies** - Automated business invoicing Accounting Teams** - Streamlined record-keeping 🔧 Setup Instructions Import Template - Add to your n8n instance Configure Webhook - Set up Shopify order webhook Add Credentials - Connect Google Drive and email accounts Update API Endpoint - Add your HTML to PDF service URL Customize Branding - Update company information in HTML template Test & Deploy - Run test orders to verify functionality 📊 Expected Results Time Savings: Save 15-30 minutes per order on manual invoice processing Accuracy: Eliminate human errors in invoice calculations Customer Experience: Immediate invoice delivery improves satisfaction Organization: All invoices automatically organized and stored Scalability: Handle thousands of orders without additional effort 🔗 Works With Shopify** (primary trigger) WooCommerce** (with minor modifications) Any HTML to PDF API** (Puppeteer, wkhtmltopdf, etc.) Google Drive** (file storage) Gmail/SMTP** (email delivery) 📈 Use Cases Retail Stores Automatic invoice generation for online orders Professional receipts for customer records Seamless integration with existing Shopify workflow Service Businesses Automated billing for completed services Professional invoice presentation Immediate delivery to clients Digital Products Instant invoice delivery upon purchase Automated VAT/tax handling for different regions Professional documentation for digital goods 🎯 ROI Calculator If you process 100 orders per month: Manual time**: 100 orders × 20 minutes = 33+ hours Cost savings**: 33 hours × $25/hour = $825/month Annual savings**: $9,900+ in labor costs alone Plus benefits of improved customer satisfaction, reduced errors, and better organization. 🚀 Get Started Ready to automate your invoice workflow? This template provides everything you need for professional, automated invoice generation that scales with your business. Installation Time: 10 minutes Skill Level: Beginner to Intermediate Maintenance: Zero - runs automatically once configured Transform your order fulfillment process today with this complete invoice automation solution!
by Jainik Sheth
What is this? This workflow is a Lead Qualification Voice Agent automation template built in n8n. It automates the process of qualifying leads by initiating outbound calls, analyzing call transcripts, updating lead data, and sending follow-up emails. The workflow integrates Google Sheets, OpenAI, and Twilio (via ElevenLabs API) to streamline lead management for sales or customer success teams. 1. Initiate Call Purpose: This step starts the lead qualification process by detecting new leads and preparing to contact them. How it works: The workflow is triggered when a new lead is added to your data source (such as a new row in Google Sheets, using the “Google Sheets Trigger” node). The trigger node captures essential lead information (e.g., name, phone number, service of interest) from the new entry. The workflow then prepares a personalized call script or opener, often using an AI node (like OpenAI) to generate a friendly and relevant introduction based on the lead’s details. An outbound call is initiated to the lead’s phone number using a telephony integration node (such as HTTP Request to ElevenLabs or Twilio). Note: Ensure your trigger node is correctly set up to monitor the right data source and columns. Configure the telephony node with valid API credentials and the correct phone number field. Optionally, customize the AI prompt to tailor the call opener to your business context. 2. Fetch Client Data Purpose: This step retrieves detailed information about the lead from your data source (such as a CRM, database, or Google Sheets). How it works: The workflow uses a data retrieval node (such as Google Sheets, HTTP Request, or a database node) to fetch client details based on a unique identifier (like phone number or email) captured in the trigger step. The node is configured to query the data source for all relevant fields, such as the lead’s name, company, previous interactions, and any custom attributes important for your qualification process. The fetched data is then made available to subsequent nodes, allowing for dynamic personalization of the call script and follow-up actions. Note: Ensure your data source is up-to-date and contains all necessary fields for lead qualification. 3. Outbound Call Processing Purpose: To manage the workflow after the outbound call is initiated, including handling call results, analyzing transcripts, and updating lead status. How it works: After the call is placed (using a telephony integration node), the workflow waits for the call to complete. This can be achieved using a webhook node (if your provider supports callbacks) or a polling node to check call status. Once the call is finished, the workflow retrieves the call outcome (e.g., answered, voicemail, failed) and, if available, the call transcript. The transcript can be sent to an AI node (like OpenAI) for analysis—such as extracting intent, sentiment, or key information discussed during the call. Based on the analysis, the workflow updates the lead’s status in your data source (e.g., marking as “Qualified,” “Needs Follow-up,” or “Unreachable”). Optionally, the workflow can trigger additional actions, such as sending a follow-up email, notifying a sales rep, or logging the interaction in your CRM. Note: Use webhook nodes for real-time call result processing if your telephony provider supports it. Log all call results and analysis for future reference and reporting. Prerequisities OpenAI Google Sheets Twilio Elevenlabs: Import the twilio number into Elevenlabs Set up an agent in Elevenlabs Set up prompt into Elevenlabs Set up webhooks for fetch client initiation data and post call data Customization Change Data Source: Swap the Google Sheets node for another data source (e.g., Airtable, MySQL) as needed. Modify Call Script: Edit the OpenAI prompt to generate different call openers or scripts based on your use case. Adjust Call Logic: Modify the outbound call node to use a different telephony provider or to handle call scheduling. Notification Options: Integrate with email, chat, or notification services to alert your team of qualified leads.