by iTzJok3r
Overview Intelligent email-to-WhatsApp automation that monitors Gmail and Outlook accounts, uses Google Gemini AI to filter important emails, and forwards them to WhatsApp via Evolution API. Key Features Multi-account support (Gmail + 2 Outlook accounts) AI-powered email classification with Google Gemini Automatic Arabic translation for foreign emails Approved sender whitelist Security email prioritization (2FA, activations, passwords) Spam and promotion filtering Automatic mark-as-read Link extraction from emails Setup Requirements Services Needed: n8n instance Gmail account with API access Microsoft Outlook account(s) Google Gemini API key (free tier available) Evolution API (self-hosted WhatsApp API) Credentials to Add: Gmail OAuth2 Microsoft Outlook OAuth2 Google Gemini API Evolution API Configuration Steps Import workflow Add all credentials in n8n Update WhatsApp numbers in all "Send" nodes (format: number@s.whatsapp.net) Replace "YourInstanceName" with your Evolution API instance Customize approved sender emails in AI Agent system prompts Test and activate How It Works Workflow monitors emails every minute, parses content with JavaScript, classifies importance with Google Gemini AI, extracts links, translates non-Arabic content, and sends formatted messages to WhatsApp. Use Cases Perfect for professionals needing instant mobile notifications for critical emails while filtering spam and promotions.
by go-surfe
🚀 Build Hyper-Targeted Prospecting Lists with Surfe & HubSpot This template automatically discovers companies that match your Ideal Customer Profile (ICP), finds the right people inside those companies and enriches them — ready to drop straight into HubSpot. Launch the workflow, sit back, and get a clean list of validated prospects in minutes. 1. ❓ What Problem Does This Solve? Sourcing prospects that truly fit your ICP is slow and repetitive. You jump between databases, copy domains, hunt down decision-makers, and then still have to enrich emails and phone numbers one by one. This workflow replaces all that manual effort: It queries Surfe’s database for companies that match your exact industry, size, revenue and geography filters. It pulls the best-fit people inside each company and enriches them in bulk. It keeps only records with both a direct email and mobile phone, then syncs them to HubSpot automatically. No spreadsheets, no copy-paste — just a fresh, qualified prospect list ready for outreach. 2. 🧰 Prerequisites You’ll need: A self-hosted or cloud instance of n8n A Surfe API Key A HubSpot Private App Token with contact read/write scopes A Gmail account (OAuth2) for the completion notification The workflow JSON file linked above N8N_FLOW_2__Building_Prospecting_Lists.json 3. 📌 Search ICP Companies Configuration — Fine-Tune Your Targeting 3.1 Editing the JSON Every targeting rule lives inside the “🔍 Search ICP Companies” HTTP node. Open the node Search ICP Companies → Parameters tab → JSON Body to edit the filters. | Filter | JSON path | What it does | Example | | --- | --- | --- | --- | | industries | filters.industries | Narrow to specific verticals (case-sensitive strings) | ["Software","Apps","SaaS"] | | employeeCount.from / to | filters.employeeCount | from / to | 1 / 35 | | countries | filters.countries | 2-letter ISO codes | ["FR","DE"] | | revenues | filters.revenues | Annual revenue brackets | ["1-10M"] | | limit | limit | Companies per run | 20 | 3.2 Where to find allowed values Surfe exposes an “🗂 Get Filters” endpoint that returns every accepted value for: industries employeeCounts revenues countries (always ISO-2 codes) You can hit it with a simple GET /v1/people/search/filters request or browse the interactive docs here: https://developers.surfe.com/public-008-people-filters developers.surfe.com For company-level searches, the same enumerations apply. 4. ⚙️ Setup Instructions 4.1 🔐 Create Your Credentials in n8n 4.1.1 🚀 Surfe API In your Surfe dashboard → Use Surfe Api → copy your API key Go to n8n → Credentials → Create Credential Choose Credential Type: Bearer Auth Name it something like SURFE API Key Paste your API key into the Bearer Token Save 4.1.2 📧 Gmail OAuth2 API Go to n8n → Credentials Create new credentials: Type: Gmail OAuth2 API A pop-up window will appear where you can log in with your Google account that is linked to Gmail Make sure you grant email send permissions when prompted 4.1.3 🎯 HubSpot 🔓 Private App Token Go to HubSpot → Settings → Integrations → Private Apps Create an app with scopes: crm.objects.contacts.read crm.objects.contacts.write crm.schemas.contacts.read Save the App token Go to n8n → Credentials → Create Credential → HubSpot App Token Paste your App Token ✅ You are now all set for the credentials 4.2 📥 Import and Configure the N8N Workflow Import the provided JSON workflow into N8N Create a New Blank Workflow click the … on the top left Import from File 4.2.1 🔗 Link Nodes to Your Credentials In the workflow, link your newly created credentials to each node of this list : Surfe HTTP nodes: Authentication → Generic Credential Type Generic Auth Type → Bearer Auth Bearer Auth → Select the credentials you created before Gmail Node Credentials to connect with → Gmail account Hubspot Node →Credentials to connect with → Gmail account Surfe HTTP nodes Surfe HTTP nodes HubSpot node → Credentials to connect with → select your HubSpot credentials in the list 5. 🔄 How This N8N Workflow Works Manual Trigger – Click Execute Workflow (or schedule it) to start. Search ICP Companies – Surfe returns company domains that match your filter set. Prepare JSON Payload with Company Domains – Formats the domain list for the next call. Search People in Companies – Finds people inside each company. Prepare JSON Payload Enrichment Request – Builds the bulk-enrichment request. Surfe Bulk Enrichments API – Launches one enrichment job for the whole batch. Wait + Polling loop – Checks job status every 3 seconds until it’s COMPLETED. Extract List of People – Pulls the enriched contacts from Surfe’s response. Filter: phone AND email – Keeps only fully reachable prospects (email and mobile). HubSpot: Create or Update – Inserts/updates each contact in HubSpot. Gmail – Sends you a “Your ICP prospecting enrichment is done” email. 6. 🧩 Use Cases Weekly prospect list refresh** – Generate 50 perfectly-matched prospects every Monday morning. Territory expansion** – Spin up a list of SMB software CEOs in a new country in minutes. ABM prep** – Build multi-stakeholder buying-group lists for target accounts. Campaign-specific lists** – Quickly assemble contacts for a limited-time product launch. 7. 🛠 Customization Ideas prepare 🎯 Refine filters for people – Add seniorities or other filters in the node JSON PAYLOAD WITH Company Domains use the surfe search people api doc https://developers.surfe.com/public-009-search-people-v2 ♻️ Deduplicate – Check HubSpot first to skip existing contacts. 🟢 Slack alert – Replace Gmail with a Slack notification. 📊 Reporting – Append enriched contacts to a Google Sheet for analytics. 8. ✅ Summary Fire off the workflow, and n8n will find ICP-fit companies, pull key people, enrich direct contact data and drop everything into HubSpot — all on autopilot. Prospecting lists, done for you.
by Rahul Joshi
Description Automatically identify clients who haven’t been contacted in 14+ days and re-engage them with personalized Gmail follow-up emails, Google Sheets tracking, and Slack notifications for account managers. Prevents churn by ensuring no client goes unnoticed. 💌📊💬 What This Template Does Triggers every Monday at 9:00 AM to check client activity. ⏰ Fetches all contacts from GoHighLevel CRM. 🔗 Filters clients with no updates in the last 14+ days. 🔍 Sends personalized Gmail re-engagement emails. 📧 Logs all inactive clients in Google Sheets for tracking. 📊 Sends Slack notifications summarizing inactive clients for account managers. 💬 Handles workflow errors and alerts the team via Slack. 🚨 Key Benefits ✅ Automated client re-engagement — no more missed follow-ups. ✅ Reduces churn by maintaining regular touchpoints. ✅ Centralized Google Sheets audit trail for visibility. ✅ Real-time Slack alerts keep teams informed. ✅ Fully customizable inactivity threshold (default: 14 days). ✅ Built-in error handling with instant Slack error alerts. Features Weekly cron trigger (default: Monday 9 AM). ⏰ GoHighLevel CRM integration to fetch contacts. 🔗 Dynamic filter for “inactive 14+ days” clients. 🕒 Personalized HTML re-engagement email via Gmail. 💌 Automatic Google Sheets logging with client metadata. 📊 Slack notification summarizing inactive clients. 💬 Error Trigger node for reliable monitoring. 🚨 Requirements n8n instance (cloud or self-hosted) Gmail OAuth2 credentials for sending emails Slack API credentials with chat:write and channels:read GoHighLevel OAuth2 credentials for CRM data access Google Sheets OAuth2 credentials for logging Target Audience Agencies and consultants managing multiple client relationships. 👩💼 Account managers preventing client churn. 🔄 Service businesses needing systematic client check-ins. 🏢 Remote teams requiring Slack alerts for client engagement. 🌐 Step-by-Step Setup Instructions Connect Gmail, Slack, Google Sheets, and HighLevel credentials in n8n. 🔑 Replace placeholder values (YOUR_GOOGLE_SHEET_ID, YOUR_SLACK_CHANNEL_ID) with environment variables. ⚙️ Customize inactivity threshold (default: 14 days). 🕒 Import the workflow JSON into n8n. 📦 Test manually with sample client records. ✅ Enable the workflow for weekly automated execution. 🚀
by Seb
Stripe invoicing automation that is connected to your CRM, in this example, it is ClickUp. At the end of the flow, once your lead has been sent an invoice, you (or your team) will be sent an email notifying you of the newly sent invoice with all relevant details. How it works: • Monitors ClickUp task status → triggers workflow when status changes to send invoice. • Fetches task details from ClickUp, including customer name, email, and project cost. • Creates a Stripe customer using the fetched information. • Generates a Stripe invoice via HTTP request, including description, footer, and due date (calculated in Unix timestamp). • Adds invoice items automatically with correct amounts (converted to cents for Stripe). • Sends the invoice to the customer automatically (manual or auto-charge option). • Sends notification emails to team members with a link to the ClickUp task. Works with other CRMs like Monday or HubSpot, not just ClickUp. Test mode is available in Stripe to validate the workflow without sending real invoices. Setup steps: • You will need to connect your ClickUp Account • Connect your Stripe Account via HTTP Request (Shown in YouTube Video Linked Below) • You will need to connect your email account to N8N (Gmail, Outlook etc) for sending the emails to your team and the client Important Have your Stripe account and PUT IT IN TEST/DEVELOPER MODE when testing and developing the automation. Alternatively, set up an entirely separate account from your main Stripe account. This is only up until the point where you want to send the invoice, as you cannot send an invoice when your Stripe account is in test/developer mode For a complete rundown on how to set this up watch my YouTube tutorial linked below See full video tutorial here: https://youtu.be/vthK5I8x33k?si=W0Nreu403pDs-ud3 My LinkedIn: https://www.linkedin.com/in/seb-gardner-5b439a260/
by Evervise
Transform database design from weeks to minutes with this intelligent multi-agent system. Perfect for agencies, consultancies, and SaaS companies offering database architecture as a lead magnet or service. 🤖 4 Specialized AI Agents: Agent 1 (Architect):** Designs complete schema with tables, relationships, indexes Agent 2 (Reviewer):** Validates design for performance, security, scalability Agent 3 (Optimizer):** Adds advanced features and scores the design (0-100) Agent 4 (SQL Generator):** Creates production-ready migration scripts 🔄 Smart Quality Loop: Automatically retries up to 3 times if score falls below B grade, feeding previous feedback to improve the design iteratively. ✨ What You Get: Complete database schema (JSON) Comprehensive score card with letter grade Review feedback with severity levels (Critical/High/Medium/Low) Production-ready SQL migration script Optional auto-execution in PostgreSQL/MySQL Iteration count and optimization recommendations 💼 Perfect For: Digital agencies offering database design services SaaS companies needing rapid prototyping Consultancies creating lead magnets Developers modernizing legacy systems Startups validating data models 🎯 Use as Lead Magnet: Offer free database blueprints to capture leads, then upsell implementation, custom automations, and ongoing optimization services. ⚙️ Technical Highlights: Optimized temperature settings per agent (0.1-0.5) Claude Sonnet 4.5 for maximum quality Structured JSON output for easy integration Error handling and graceful degradation Execution time: 60-90 seconds average Cost: ~$0.15-0.30 per run Use Cases Agency Lead Magnet Capture leads by offering free database architecture reviews and blueprints Rapid Prototyping Quickly generate database schemas for MVP development and validation Legacy System Modernization Help companies redesign outdated database structures with modern best practices Technical Consulting Provide instant database assessments and recommendations to clients Educational Tool Teach database design principles through AI-generated examples and feedback Pre-Sales Tool Demonstrate technical expertise to prospects before engagement Key Features ✅ Multi-agent AI collaboration with specialized roles ✅ Automatic quality control and iterative improvement (max 3 retries) ✅ Support for PostgreSQL, MySQL, MSSQL, MariaDB ✅ Production-ready SQL script generation ✅ Comprehensive scoring system (Schema/Performance/Scalability/Security) ✅ Optional automatic SQL execution ✅ Detailed feedback with actionable recommendations ✅ Customizable form fields for different industries ✅ Error handling and graceful failures ✅ Complete audit trail of all agent decisions Setup Instructions PREREQUISITES: Anthropic API key (Claude Sonnet 4.5 access) PostgreSQL/MySQL database (optional, for auto-execution) n8n version 1.0+ with LangChain nodes CONFIGURATION STEPS: Import the workflow JSON into your n8n instance Configure Anthropic API credentials: Add your Anthropic API key in n8n credentials Connect all 4 AI model nodes to your credential (Optional) Configure database connection: In "Execute SQL in PostgreSQL" node, add your database credentials Use a TEST/SANDBOX database, never production Or disable this node if you prefer manual execution Customize the form (optional): Edit form fields in "On form submission" node Add industry-specific questions Adjust required fields based on your needs Test the workflow: Use the form URL to submit a test request Check execution time and quality Verify all agents are responding correctly Customize agent prompts (optional): Adjust system messages for industry-specific requirements Modify scoring criteria in Agent 3 Add custom validation rules in Agent 2 Deploy: Share the form URL as your lead magnet Embed in website or landing pages Set up email notifications for submissions COST CONSIDERATIONS: Each execution costs ~$0.15-0.30 in API calls Failed attempts (retries) increase cost Consider rate limiting for public forms Requirements REQUIRED: Anthropic API Key (Claude access) n8n version 1.0+ LangChain nodes enabled OPTIONAL: PostgreSQL/MySQL database connection (for auto-execution) Email service (for result delivery) CRM integration (for lead capture) Tags #ai-agents #database-design #postgresql #mysql #lead-generation #automation #langchain #claude #schema-design #multi-agent #consulting-tool #saas-tool #development #code-generation #sql-generator 📖 Website: https://evervise.ai/ ✨ Support: mark.marin@evervise.com N8N Link
by Mattis
Automate your lead qualification process with AI-driven scoring! This workflow captures website form submissions, automatically scores leads using AI based on custom criteria, stores data in Google Sheets, sends instant notifications to your sales team via Telegram, and delivers personalized auto-reply emails to prospects. Who's it for Sales and marketing teams managing inbound leads Agencies handling client inquiries SaaS companies qualifying trial signups B2B businesses prioritizing lead follow-up Service providers automating client onboarding How it works Webhook receives form submission from your website Extracts all form fields (name, email, company, etc.) AI analyzes submission and assigns priority score (⚪️🟢🔵🟣🔴) Combines form data with AI score Saves complete lead data to Google Sheets Sends instant notification to sales team via Telegram Delivers personalized auto-reply email to prospect
by s3110
Who’s it for Traders, operations teams, and finance-minded founders who want a low-maintenance USD/JPY monitor that blends live pricing with short, news-aware AI commentary—delivered straight to email on a reliable cadence. How it works / What it does On a fixed schedule (every 4 hours), the workflow fetches the latest USD→JPY spot rate, enriches it with recent market context via a search tool, and asks an AI agent to produce a concise, structured take (trend, key drivers, and a buy/sell/neutral stance with rationale). The final summary is sent by email so stakeholders can skim, log, or forward without opening n8n. The design favors clarity (renamed nodes, sticky notes) and safety (no hardcoded secrets). How to set up Open Set (Fields) — Configure me and enter your Tavily API key and notification email. In Send results via Gmail, attach your email credential (or swap to SMTP/another provider). (Optional) Point LLM provider (configure) to your preferred model/vendor. Enable the schedule or adjust the interval to match your cadence. Requirements Tavily (or compatible) Search API key Email credential in n8n (Gmail or SMTP) An n8n instance with internet access How to customize the workflow Change the schedule frequency or trading window. Swap the rate source, add indicators (MA/RSI), or log to Sheets/DB. Extend the AI prompt and output schema for risk flags or position sizing. Add Slack/Telegram delivery or dashboards for team visibility. Disclaimer (community nodes) If you use community/experimental nodes, publish as self-hosted only and include a static workflow image at the top of your listing.
by Praneel S
⚠️ Disclaimer: This workflow uses WhatsApp, Google Calendar, and Gmail nodes that must be configured manually. Who’s it for This workflow is built for professionals, teams, and automation enthusiasts who want to manage their Google Calendar and Gmail directly from WhatsApp, powered by an AI assistant using OpenAI GPT or Google Gemini. It enables users to chat naturally through WhatsApp to schedule meetings, send emails, and check events — all without opening Gmail or Google Calendar. How it works The WhatsApp Trigger node captures incoming messages from users. The AI Agent (powered by Gemini or GPT) interprets user queries and determines the best tool to use. The Simple Memory node keeps context between messages using the user’s phone number. The Google Calendar nodes handle: Listing, creating, and updating events. Checking your availability before scheduling. The Gmail nodes handle: Sending emails. Reading and summarizing recent messages. The Date & Time node converts natural language like “next Monday at 3 PM” into proper ISO time format. The assistant responds via Send WhatsApp Response, sending clear confirmations and replies. Features Manage Gmail and Calendar entirely via WhatsApp. AI-powered understanding of natural language commands. Integrated with Google Meet for automatic conferencing links. Short-term memory for context retention. Fully modular – swap Gemini with OpenAI GPT or any LLM. Setup Steps Configure WhatsApp Cloud API via Meta for Developers. Set up Google Calendar and Gmail OAuth2 credentials. Add your Google API keys and calendar email. Connect your OpenAI or Gemini model credentials. Activate and test the workflow with messages like: “Schedule a meeting tomorrow at 5 PM.” “Check my latest emails.” “Send an email to alex@example.com about our project.” Requirements n8n instance (self-hosted or cloud) WhatsApp Business API (Meta Developer Account) Google Workspace or Gmail account OpenAI API key or Google Gemini API key Properly configured webhooks for WhatsApp Trigger Example Prompts “What’s on my calendar this week?” “Email John to confirm our meeting.” “When am I free tomorrow afternoon?” Customization Replace Gemini with OpenAI GPT in the AI Agent node. Adjust memory length for longer or shorter conversations. Add Slack or Teams notification nodes. Modify the prompt personality or response tone. Credits Created by Praneel For detailed setup help, visit praneel.tech/contact
by V3 Code Studio
🚀 Never miss a new lead again — get instant email alerts and stay ahead of every opportunity! This workflow automatically notifies your team the moment a new lead is created in your CRM or form submission. It keeps your sales, marketing, and support teams aligned — so no lead goes unnoticed, and every customer feels heard right away. ✨ How it works ✅ Capture: A webhook receives new lead data from your CRM or online form. 🧩 Clean: The workflow filters and formats the data for clear presentation. 💌 Compose: Generates a beautiful HTML email with your branding and lead details. 📨 Send: Instantly emails your team or the lead using Gmail or SMTP. ⚡ React Fast: Your team gets notified in seconds — no manual checks needed! ⚙️ Set up steps 🔗 Add a POST webhook in your CRM or app that points to your n8n webhook URL. 🏢 Update your company info (logo, name, website) in the configuration node. 📧 Connect Gmail OAuth2 or your SMTP credentials to send branded emails instantly. Compatible with Odoo, HubSpot, Zoho CRM, Salesforce, Pipedrive, Typeform, and any system that supports outgoing webhooks.
by Emilio Loewenstein
Turn your sales and onboarding calls into actionable insights — automatically! This workflow connects Fireflies.ai with OpenAI to analyze and grade your call transcripts. The results, along with your lead’s details, are logged directly into a Google Sheet for easy tracking. Plus, you’ll get an instant Slack or Gmail notification with the evaluation so you can take quick action. 🚀 What It Does Triggers on new Fireflies.ai transcripts** Uses AI to evaluate and grade your calls** Logs lead + scoring data into Google Sheets** Sends instant updates via Slack or Gmail** 💡 Why It’s Valuable Save hours of manual call reviews Keep a consistent, unbiased scoring system Centralize data for reporting and coaching Act faster with real-time notifications Perfect for sales, onboarding, or customer success teams who want to improve call quality at scale while saving time. 🛠️ Setup Instructions Connect Fireflies.ai – Enable transcript export from your Fireflies.ai account. Integrate with OpenAI – Use the provided API key to analyze and score transcripts automatically. Configure Google Sheets – Create a sheet with columns for: Lead Name Company Call Date Transcript Link AI Score Notes/Insights Enable Notifications – Connect Slack or Gmail to receive instant alerts with evaluation details. Test & Launch – Run a sample call to ensure transcripts flow correctly into the sheet and notifications are triggered. 🔄 Detailed Workflow A new call transcript is generated in Fireflies.ai. The transcript is sent to OpenAI, where the call is evaluated and scored based on quality, engagement, and outcomes. The results + lead data are logged automatically into Google Sheets for centralized tracking. A Slack or Gmail notification instantly alerts your team with the score and key insights, so you can take immediate action. 📊 Google Sheets Your Google Sheet should include the following columns: Lead Name** Email/Contact** Company Name** Call Date & Time** Transcript URL** AI Evaluation Score** Summary/Next Steps** This structure ensures clarity, easy reporting, and consistent data across all calls. ⚠️ Community Node Disclaimer This workflow is created with community nodes and integrations. Please review security and API key management best practices before deploying in production. 🖼️ Workflow Template
by Shri Deshmukh
🧠 How it works This workflow turns your website form into a fully automated AI Lead Qualification system. Whenever a new lead submits your form, the workflow: Receives the submission through a Webhook Cleans and normalizes the input fields Uses the AI Agent node to score and qualify the lead Saves all details (including AI analysis) into an Airtable CRM Automatically routes high-quality leads (score ≥ 7) Sends an instant Gmail notification Sends an AI-generated personalized auto-reply back to the lead This gives you a hands-free, intelligent front-door to your business — ensuring you only spend time on high-value opportunities. ⚙️ Set-up steps These steps help users configure the workflow quickly: Create a Webhook trigger – Copy the webhook URL and add it to your form tool (Tally, Typeform, Webflow, etc.). Prepare your Airtable base – Create a "Leads" table with fields for name, email, website, message, lead score, priority, use case, timeline, budget, and AI notes. Add the AI Agent node – Insert the provided System + User prompts – Enable Structured Output – Paste the JSON Schema included in the sticky note inside the workflow. Connect Airtable – Map the original form fields + AI Agent “output” fields to Airtable columns. Set up the Gmail node – Connect your Gmail account – Configure the notification email and auto-reply templates. Configure the IF node – Score ≥ 7 routes to the “Hot Lead” branch – Everything else is captured but not routed. Run a test submission – Verify that the workflow writes to Airtable – Confirm the Gmail notification + auto-reply are delivered – Adjust prompting if needed. All detailed explanations and prompt configurations are included inside the workflow through sticky notes for easy reference.
by Oneclick AI Squad
Transform your attendance management with this enterprise-grade automated workflow featuring AI-powered analytics, multi-dimensional insights, and intelligent alerting. Running hourly, it integrates multiple data sources (attendance logs + employee master data), performs sophisticated statistical analysis, detects anomalies, generates department-specific insights, and delivers beautiful HTML reports via email and Slack. Get real-time visibility into attendance patterns, punctuality trends, and actionable alerts for HR, management, and department heads. 📊🎯✨ Good to Know Intelligent Scheduling**: Runs hourly but only sends management alerts when critical thresholds are breached Multi-Source Integration**: Combines attendance logs with employee master data for enriched context Smart Analytics**: Calculates attendance rate, punctuality rate, absenteeism rate, and department-wise metrics Conditional Routing**: Management emails are triggered only for high-priority alerts (no email fatigue!) Production-Ready**: Includes error handling, data validation, and comprehensive logging Scalable Design**: Handles multiple departments, shifts, and employee types efficiently How It Works Automated Trigger – Runs hourly to monitor attendance with zero manual effort. Dual Data Ingestion – Fetches attendance and employee master data, then merges them for enriched analytics. Advanced Analytics Engine – Analyzes attendance, calculates key metrics, detects anomalies, and generates alerts. Smart Conditional Routing – Validates data, prioritizes alerts, and routes notifications via email, Slack, and database. Rich Email Reports – Sends visually formatted reports with metrics, alerts, and detailed employee breakdowns. Slack Block Kit Integration – Delivers structured, real-time attendance alerts with visual indicators to team channels. Data Persistence & Logging – Logs daily summaries, maintains audit trails, and prepares data for trend analysis dashboards. How to Use Basic Setup Import the Workflow: Copy JSON → n8n → Import from File Configure Credentials: Add Google Sheets, SMTP, and Slack credentials Update Spreadsheet IDs: Replace all placeholder sheet IDs with your actual Google Sheet IDs Set Email Addresses: Update sender and recipient email addresses Configure Slack Channel: Replace channel ID with your team's attendance channel Test: Execute workflow manually to verify connections Activate: Turn on the Schedule Trigger for hourly execution Advanced Configuration Adjust Alert Thresholds**: Modify the 10% (late) and 15% (absent) thresholds in Analytics Engine Customize Email Design**: Edit HTML in Format Email node for brand alignment Add More Channels**: Extend with Microsoft Teams, Discord, or SMS notifications Enhance Analytics**: Add shift-specific analysis, contractor vs. full-time breakdowns Integrate BI Tools**: Enable Power BI push dataset for real-time dashboards Requirements Google Sheets Setup Sheet 1: AttendanceLogs | Column | Type | Description | Example | |--------|------|-------------|---------| | EmployeeID | Text | Unique employee identifier | EMP001 | | EmployeeName | Text | Full name | John Doe | | Date | Date | Attendance date (YYYY-MM-DD) | 2025-01-15 | | Status | Text | Present/Absent/Late/Leave/WFH/Half-Day | Present | | CheckInTime | Time | Arrival time (HH:MM) | 09:15 | | CheckOutTime | Time | Departure time (HH:MM) | 18:00 | | Notes | Text | Optional comments | Doctor appointment | Sheet 2: Employees (Master Data) | Column | Type | Description | Example | |--------|------|-------------|---------| | EmployeeID | Text | Unique identifier (matches AttendanceLogs) | EMP001 | | EmployeeName | Text | Full name | John Doe | | Department | Text | Department name | Engineering | | Manager | Text | Reporting manager name | Jane Smith | | Shift | Text | Day/Night/Evening | Day | | Email | Email | Work email address | john.doe@company.com | | ContractType | Text | Full-Time/Part-Time/Contract | Full-Time | Sheet 3: DailySummary (Auto-populated by workflow) | Column | Type | Description | |--------|------|-------------| | Date | Date | Report date | | Hour | Number | Hour of day (0-23) | | Present | Number | Present count | | Absent | Number | Absent count | | Late | Number | Late count | | AttendanceRate | Number | Attendance percentage | Credentials Needed Google Sheets OAuth2 API Enable Google Sheets API in Google Cloud Console Create service account credentials Share all 3 sheets with service account email SMTP Email Account Gmail: Enable "App Passwords" in Google Account settings Or use company SMTP server details Requires: Host, Port (587), Username, Password Slack Bot Token Create Slack App at api.slack.com/apps Enable permissions: chat:write, chat:write.public Install app to workspace Copy Bot User OAuth Token (starts with xoxb-) Invite bot to target channel Placeholder Values to Replace | Placeholder | Where to Find | Example | |-------------|---------------|---------| | YOUR_ATTENDANCE_SPREADSHEET_ID | Google Sheets URL | 1BxiMVs0XRA5nFMdKvBdBZjgmUUqptlbs74OgvE2upms | | YOUR_EMPLOYEE_SPREADSHEET_ID | Google Sheets URL | 1BxiMVs0XRA5nFMdKvBdBZjgmUUqptlbs74OgvE2upms | | YOUR_SUMMARY_SPREADSHEET_ID | Google Sheets URL | 1BxiMVs0XRA5nFMdKvBdBZjgmUUqptlbs74OgvE2upms | | C12345678 | Slack → Right-click channel → Copy link → Extract ID | C05XXXXXXXX | | hr@company.com | Your HR email | hr@yourcompany.com | | management@company.com | Management distribution list | leadership@yourcompany.com | Customizing This Workflow Modify Alert Thresholds In the Analytics Engine node, find these lines: const lateThreshold = metrics.totalEmployees * 0.1; // Change 0.1 to 0.15 for 15% const absentThreshold = metrics.totalEmployees * 0.15; // Change to 0.20 for 20% Add New Status Types In the Analytics Engine node, add to the switch statement: case 'Remote': statusCount.remote++; break; Customize Email Template In the Format Email node, modify the emailHtml variable: Change gradient colors in the header div Add company logo: `` Adjust grid columns: grid-template-columns: repeat(5, 1fr); Add SMS Notifications Add Twilio or Vonage node after "Critical Alerts" Send to on-call manager for high-severity alerts Use message: 🚨 ${data.absent} employees absent today. Review required. Multi-Location Support Modify Analytics Engine to group by Location field: const locationMetrics = {}; todayRecords.forEach(record => { const location = employee.location; if (!locationMetrics[location]) { locationMetrics[location] = { present: 0, absent: 0, late: 0 }; } // ... aggregate by location }); Shift-Specific Analysis Add logic to compare check-in times against shift schedules: const shiftTimes = { 'Day': '09:00', 'Night': '21:00', 'Evening': '14:00' }; const expectedTime = shiftTimes[employee.shift]; Integration with HR Systems Add HTTP Request node to push data to: Workday**: POST attendance records via REST API BambooHR**: Update employee time-off balances ADP**: Sync payroll-related attendance data SAP SuccessFactors**: Update time management module Advanced Analytics Add Python or R nodes for: Predictive Analytics**: ML models to predict absence patterns Sentiment Analysis**: Correlate attendance with employee surveys Seasonality Detection**: Identify patterns (Monday blues, pre-holiday trends) Correlation Analysis**: Link attendance with project deadlines, weather, events Dashboard Integration Export data to visualization platforms: Power BI**: Use HTTP Request node to push to streaming dataset Tableau**: Write to database (PostgreSQL, MySQL) via Execute Query node Grafana**: Store in InfluxDB time-series database Custom Dashboard**: Build React app that reads from DailySummary sheet Troubleshooting Common Issues "Could not find node" Ensure all data sources are fetched before Analytics Engine runs Check node names match exactly in $('Node Name').all() syntax "No records found" Verify Date column format is YYYY-MM-DD in Google Sheets Check timezone settings in Schedule Trigger vs. Sheet locale Confirm EmployeeID values match between AttendanceLogs and Employees sheets "Email not sending" Verify SMTP credentials are correct Check if "Critical Alerts?" condition is being met Test email node independently with static data "Slack message failed" Ensure bot is invited to the target channel Verify channel ID format (starts with C, not # symbol) Check bot has chat:write permission scope Performance Optimization Large Datasets (>1000 employees)**: Add pagination in Google Sheets fetch Multiple Departments**: Run parallel branches for each department Historical Analysis**: Schedule separate weekly/monthly summary workflows Reduce API Calls**: Cache employee master data in workflow static data Security Best Practices ✅ Use service account credentials (not personal OAuth) ✅ Restrict sheet access to service account only ✅ Store credentials in n8n credential store (encrypted) ✅ Enable 2FA on all integrated accounts ✅ Audit logs regularly for unauthorized access ✅ Use HTTPS for all external API calls Discover more workflows – Get in touch with us