by Mujtaba
Overview This n8n workflow template automatically parses incoming Telegram transaction messages and logs structured data into a Google Sheet. It’s designed to help individuals and small businesses track and record transactions shared via Telegram without manual data entry. Target Audience This template is ideal for: Individuals, freelancers, and small businesses who receive transaction or payment notifications through Telegram and want to organize them in Google Sheets. Anyone using self-hosted n8n (required due to custom community nodes). Problem Solved Manually copying transaction details from Telegram to Google Sheets is error-prone and time-consuming. This workflow automates the process by: Monitoring a Telegram bot/chat for new messages. Parsing transaction details (amount, sender, date, etc.). Logging them in real-time into a Google Sheet for easy tracking. Setup Instructions Telegram Bot Setup Create a Telegram bot using BotFather. Add the bot to the desired group/channel and grant admin permissions if needed. Note down the bot token. Google Sheets Setup Create a Google Sheet with relevant columns (e.g., Date, Amount, Sender, Transaction ID). Set up Google Sheets credentials in n8n for access. n8n Workflow Configuration Import this template into your self-hosted n8n instance. Update the Telegram node: Add your bot token and specify the chat/group ID. Update the Google Sheets node: Link it to your created sheet and ensure column mapping matches your sheet structure. Adjust parsing logic if your message format varies (see next section for examples). Community Nodes This workflow uses custom community nodes. Ensure these are installed via the n8n settings or CLI: [List your required community nodes here, e.g., n8n-nodes-telegram, n8n-nodes-gsheet, etc.] Activate the Workflow Save and activate your workflow. Send a test transaction message to your Telegram group/chat and verify data appears in your Google Sheet. Troubleshooting If messages are not being picked up, check bot permissions and the chat ID. Ensure Google Sheets credentials are correct and the sheet is accessible. Double-check that custom nodes are properly installed and up-to-date. Example Telegram Message Formats Received: $75 from @john_doe on 2024-05-29. Transaction ID: 12345XYZ. Paid $120 to @vendor on 2024-05-28. Ref: 67890ABC. You received ₹5,000 from @amit. ID: 54321PQR. Date: 29/05/2024 The workflow parses messages in the above formats and logs the following columns: Date Amount Sender/Receiver Transaction/Reference ID If your message format differs, update the regex in the parsing node. Disclaimer This n8n workflow template uses custom community nodes and is only compatible with the self-hosted version of n8n. Workflow Changes (For n8n Canvas) Rename the Nodes: 'If' node → “Is Transaction Message?” 'Google Sheets' node → “Log to Google Sheet” (Rename other generic nodes for clarity, e.g., 'Telegram' → “Listen for Telegram Messages”, 'Function' → “Parse Transaction Details”) Sticky Note Improvement: (Edit the sticky note or add one if missing) Workflow Steps: Listen for Telegram Messages: This node receives new messages from the Telegram bot. Is Transaction Message? Checks if the message matches known transaction patterns. Parse Transaction Details: Extracts amount, sender, date, and transaction ID using regex. Log to Google Sheet: Records the parsed transaction in the linked Google Sheet for easy tracking.
by Oneclick AI Squad
📘 Student Absence Alerts & Attendance Tracking Automation Automatically alerts parents about student absences and tracks 30-day attendance patterns to identify risks and trends. 🔧 Main Components Daily Attendance Check – 10:30 AM** Triggers the workflow every day at 10:30 AM. Read Today’s Attendance** Retrieves current-day attendance records from the source Excel or database. Read Student Contacts** Reads contact details (email, phone) of students for alert delivery. Process Absent Students** Identifies students who are absent and unexcused for the day. Prepare Absence Email** Generates customized email content for absent students. Send Absence Email** Sends an absence alert email to the student’s parent/guardian. Prepare Absence SMS** Formats WhatsApp-friendly message for alerts. Send Absence WhatsApp** Sends the WhatsApp message using API (e.g., Facebook Graph). Generate Attendance Report** Prepares a daily attendance summary with absence level classifications. Save Attendance Report** Appends the generated report to a historical attendance sheet. ⚠️ Alert Logic Based on the past 30-day absence pattern, the system classifies students into: | Level | Absences in 30 Days | Status | | --------- | ------------------- | -------------- | | 🔴 High | 5+ | Critical Alert | | 🟡 Medium | 3–4 | Warning | | 🟢 Low | 1–2 | Low Risk | 📊 Tracking Features 🔢 Attendance Rate Calculation – Tracks each student's attendance percentage 🔍 Pattern Analysis – Detects recurring absenteeism trends 🚨 Risk Identification – Flags high-risk students for early intervention 📈 Historical Reporting – Maintains daily logs for future reference ✅ Essential Prerequisites Excel sheet or database with daily attendance logs Excel sheet or database with student contact details SMTP credentials for sending emails WhatsApp API integration (e.g., Facebook Graph or Twilio) Storage access for saving attendance reports 📁 Required Excel File Structures Attendance Sheet (daily_attendance.xlsx) | Student ID | Date | Status | | ---------- | ---------- | ------ | | ST101 | 2025-08-06 | Absent | Contacts Sheet (student_contacts.xlsx) | Student ID | Name | Email | Phone | | ---------- | ---------- | --------------------------------------------- | ------------- | | ST101 | Aryan Shah | aryan@example.com | +919123456789 | 🧾 Expected Input Format Example { "studentId": "ST101", "name": "Aryan Shah", "email": "aryan@example.com", "phone": "+919123456789", "status": "Absent", "date": "2025-08-06" } 🚀 Key Features ⏰ Scheduled Daily Execution – Automated tracking at 10:30 AM ✉️ Multi-Channel Notifications – Email + WhatsApp alerts to parents 📊 Absence Pattern Monitoring – 30-day trend analysis 🧠 Risk-Based Alerts – Smart classification into alert levels 🗂️ Daily Reports – Easy to audit attendance summary logs ⚙️ Quick Setup Guide Import Workflow JSON into n8n. Configure schedule trigger at 10:30 AM. Set Excel file paths in "Read Today’s Attendance" and "Read Student Contacts". Customize absence thresholds in the “Process Absent Students” node. Add SMTP details for the “Send Absence Email” node. Integrate WhatsApp API in the “Send Absence WhatsApp” node. Test with mock data and review reports. Activate the workflow. 🔧 Parameters to Configure | Parameter | Description | | ---------------------- | -------------------------------------- | | attendance_file_path | Path to today's attendance records | | contacts_file_path | Path to student contacts sheet | | smtp_user | Email username for SMTP server | | smtp_password | Password for SMTP server | | whatsapp_api_url | Endpoint for sending WhatsApp messages | | alert_thresholds | Absence count thresholds for alerts |
by Rui Borges
Workflow Purpose This workflow periodically checks a service's availability and sends an SMS notification if the service is down. High-Level Steps Schedule Trigger: The workflow is triggered at a specified interval, such as every minute. HTTP Request: An HTTP request is sent to the URL of the service being monitored. If: The HTTP status code of the response is checked. If the status code is 200 (OK), the workflow ends. If the status code is not 200, indicating a potential issue, an SMS notification is sent using Twilio. Setup Setting up this workflow is relatively straightforward and should only take a few minutes: Create a new n8n workflow. Add the nodes: Schedule Trigger, HTTP Request, If, and Twilio. Configure the nodes: Schedule Trigger: Specify the desired interval. HTTP Request: Enter the URL of the service to be monitored. If: Set the condition to check for a status code other than 200. Twilio: Enter the Twilio account credentials and the phone numbers for sending and receiving the SMS notification. Connect the nodes: Connect the nodes as shown in the workflow diagram. Activate the workflow: Save the workflow and activate it. Additional Notes The workflow can be customized by changing the interval, the URL, the Twilio credentials, and the SMS message. This workflow is a simple example, and more complex workflows can be created to meet specific needs.
by Oneclick AI Squad
Description AI-Powered Multi-language Customer Support In this guide, we'll walk you through setting up a comprehensive AI-driven workflow that handles customer messages in any language through WhatsApp and email channels, providing intelligent translation, summarization, and automated responses. Ready to revolutionize your customer support? Let's get started! What's the Goal? Automatically handle customer messages** from WhatsApp and email in any language Translate and validate** incoming messages with smart language detection Generate intelligent summaries** with priority classification for support teams Provide automated responses** back to customers via their preferred channel Log all interactions** to database for tracking and analytics Send notifications** to admin team for high-priority cases Deliver 24/7 multilingual customer support** without manual effort Integrate seamlessly** with WhatsApp Business API and email systems By the end, you'll have a fully automated customer support system that handles multilingual communications, prioritizes urgent cases, and maintains comprehensive interaction logs. Why Does It Matter? Manual handling of multilingual customer support can be overwhelming and inefficient. Here's why this workflow is a game-changer: Break Global Language Barriers**: Handle customer inquiries in any language effortlessly Never Miss Important Messages**: Priority detection ensures urgent cases get immediate attention Save 80% of Manual Work**: Automation handles routine inquiries and escalates complex ones 24/7 Availability**: Respond to customers anytime, enhancing satisfaction and retention Professional Customer Experience**: Consistent, well-formatted responses in the customer's language Complete Audit Trail**: Database logging provides insights and accountability Scalable Solution**: Handle growing customer base without proportional staff increase Think of it as your always-on, multilingual customer support team that never sleeps and never misses a beat. How It Works Here's the step-by-step magic behind the automation: Step 1: Multi-Channel Message Capture WhatsApp Trigger**: Captures incoming WhatsApp messages via Business API webhook Email Trigger (IMAP)**: Monitors designated customer support email for new messages Both channels feed into the same processing pipeline for consistent handling Step 2: Data Normalization & Validation Data Normalizer & Validator**: Standardizes message format regardless of source channel Extracts key information: sender details, message content, timestamp, channel source Validates data integrity and handles malformed inputs gracefully Step 3: Smart Language Translation Smart Language Translator**: Automatically detects source language and translates to English Preserves original message context and cultural nuances Stores both original and translated versions for reference Step 4: Enhanced Summary & Priority Processing Enhanced Summary & Priority Processor**: Uses AI to analyze translated content Generates concise summaries highlighting key customer concerns Priority Classification**: Automatically tags messages as: 🔴 High Priority: Urgent issues, complaints, billing problems 🟡 Medium Priority: Product inquiries, general support 🟢 Low Priority: Thank you messages, general feedback Creates structured output with priority flags for support team triage Step 5: Message Source Intelligence Check Message Source**: Determines optimal response channel and method Routes WhatsApp messages back to WhatsApp, emails back to email Maintains conversation context and threading Step 6: Automated Customer Response Customer WhatsApp Auto-Response**: Sends acknowledgment via WhatsApp Customer Email Auto-Response**: Sends professional email replies Responses include: Confirmation of message receipt Estimated response time based on priority Reference number for tracking Next steps or immediate solutions for common issues Step 7: Database Logging & Analytics Log to Database**: Stores complete interaction history including: Original message and translation Priority classification and reasoning Response sent and timestamp Customer contact information Channel and source metadata Enables analytics, reporting, and quality assurance Step 8: Admin Notifications & Alerts Admin Email Notification**: Immediate email alerts for high-priority cases Admin WhatsApp Alert**: SMS/WhatsApp notifications for urgent escalations Workflow Completion & Metrics**: Performance tracking and completion confirmations Workflow Architecture ┌─────────────────┐ ┌──────────────────┐ │ WhatsApp │ │ Email Trigger │ │ Trigger │ │ (IMAP) │ └─────────┬───────┘ └─────────┬────────┘ │ │ └──────────┬───────────┘ │ ┌──────────▼──────────┐ │ Data Normalizer & │ │ Validator │ └──────────┬──────────┘ │ ┌──────────▼──────────┐ │ Smart Language │ │ Translator │ └──────────┬──────────┘ │ ┌──────────▼──────────┐ │ Enhanced Summary & │ │ Priority Processor │ └──────────┬──────────┘ │ ┌──────────▼──────────┐ │ Check Message │ │ Source │ └─────────┬┬──────────┘ ┌┘└┐ ┌──────────▼┐ ┌▼──────────┐ │ Customer │ │ Customer │ │ WhatsApp │ │ Email │ │ Response │ │ Response │ └──────────┬┘ └┬──────────┘ └┬─┬┘ ┌─────────▼─▼─────────┐ │ Log to Database │ └─────────┬───────────┘ │ ┌─────────▼───────────┐ │ Admin Email │ │ Notification │ └─────────┬───────────┘ │ ┌─────────▼───────────┐ │ Admin WhatsApp │ │ Alert │ └─────────┬───────────┘ │ ┌─────────▼───────────┐ │ Workflow Completion │ │ & Metrics │ └─────────────────────┘ How to Use the Workflow? Importing a workflow in n8n is straightforward and allows you to use pre-built or shared workflows to save time. Below is a step-by-step guide to importing the Multi-language Customer Support workflow in n8n. Steps to Import a Workflow in n8n 1. Obtain the Workflow JSON Source the Workflow: Workflows are typically shared as JSON files or code snippets. You might receive them from: The n8n community (e.g., n8n.io workflows page) A colleague or tutorial (e.g., a .json file or copied JSON code) Exported from another n8n instance Format**: Ensure you have the workflow in JSON format, either as a file (e.g., customer-support-workflow.json) or as text copied to your clipboard 2. Access the n8n Workflow Editor Log in to n8n: Open your n8n instance (via n8n Cloud or your self-hosted instance) Navigate to the Workflows tab in the n8n dashboard Open a New Workflow: Click Add Workflow to create a blank workflow, or open an existing workflow if you want to merge the imported workflow 3. Import the Workflow Option 1: Import via JSON Code (Clipboard): In the n8n editor, click the three dots (⋯) in the top-right corner to open the menu Select Import from Clipboard Paste the JSON code of the workflow into the provided text box Click Import to load the workflow into the editor Option 2: Import via JSON File: In the n8n editor, click the three dots (⋯) in the top-right corner Select Import from File Choose the .json file from your computer Click Open to import the workflow Configuration Requirements Essential Setup Notes: WhatsApp Integration: Configure WhatsApp Business API credentials in the WhatsApp Trigger node Set up webhook URL in your WhatsApp Business account Test connection with a sample message Email Configuration: Set up IMAP credentials for your customer support email in the Email Trigger node Configure SMTP settings for outbound email responses Ensure proper email authentication (SPF, DKIM records) Translation Services: Add Google Translate API credentials in the Smart Language Translator node Alternative: Configure Azure Translator or AWS Translate based on preference Set up language detection and translation parameters Database Connection: Configure database credentials in the "Log to Database" node Create required tables for storing customer interactions: CREATE TABLE customer_interactions ( id SERIAL PRIMARY KEY, customer_contact VARCHAR(255), channel VARCHAR(50), original_message TEXT, translated_message TEXT, summary TEXT, priority VARCHAR(20), response_sent TEXT, timestamp TIMESTAMP DEFAULT CURRENT_TIMESTAMP ); Admin Notifications: Set up admin email addresses in notification nodes Configure WhatsApp/SMS credentials for urgent alerts Customize notification templates and thresholds Priority Classification Rules: Customize JavaScript code in "Enhanced Summary & Priority Processor" node Define keywords and patterns for priority detection: // High Priority Keywords const urgentKeywords = ['urgent', 'emergency', 'billing issue', 'not working', 'broken', 'refund', 'complaint']; // Medium Priority Keywords const mediumKeywords = ['question', 'how to', 'support', 'help', 'information']; // Classification logic if (urgentKeywords.some(keyword => message.toLowerCase().includes(keyword))) { priority = 'HIGH'; } else if (mediumKeywords.some(keyword => message.toLowerCase().includes(keyword))) { priority = 'MEDIUM'; } else { priority = 'LOW'; } Response Templates: Customize auto-response templates in both WhatsApp and Email response nodes Include your company branding and contact information Set up response templates for different priority levels and common scenarios Testing and Deployment: Test Each Channel: Send test messages via WhatsApp and email to verify end-to-end flow Verify Translations: Test with messages in different languages Check Database Logging: Confirm all interactions are properly stored Test Admin Notifications: Verify alerts are sent for high-priority cases Monitor Performance: Set up workflow execution monitoring and error handling Your Multi-language Customer Support workflow is now ready to handle customer communications 24/7 across multiple channels with intelligent automation and human oversight where needed!
by Oneclick AI Squad
This automated n8n workflow delivers an instant DevOps toolkit by installing Docker, K3s, Jenkins, Grafana, and more on a Linux server within 10 seconds. It optimizes performance, enhances security, and provides ready-to-use templates for DevOps projects. Main Components Configure Parameters** - Defines server details, tool versions, and credentials System Preparation** - Updates the system and installs base packages Install Docker** - Deploys Docker Engine and Docker Compose Install Kubernetes** - Sets up K3s cluster with kubectl, Helm, and k9s Install Jenkins** - Configures Jenkins CI/CD server with Docker integration Install Monitoring** - Deploys Prometheus and Grafana using Helm charts Create DevOps User** - Establishes a dedicated user with appropriate permissions Security Configuration** - Implements firewall, VS Code, and Terraform Final Configuration** - Sets up sample projects and configuration files Setup Complete** - Provides a summary and access details Essential Prerequisites Linux server with SSH access Root-level administrative privileges Customization Guide Adjust tool versions or credentials in the Configure Parameters node Modify the number of nodes or security settings as needed Features 🔧 Core DevOps Tools Installed: Docker - Container platform with Docker Compose Kubernetes - K3s (lightweight) with kubectl and Helm Jenkins - CI/CD automation server Prometheus - Monitoring and alerting Grafana - Visualization and dashboards ⚡ Optimizations Made: Streamlined Commands - Combined multiple operations into single bash scripts Reduced Nodes - 10 nodes vs 12 in original (more efficient) Better Error Handling - Each step includes verification Cloud-Ready - Includes AWS CLI, Azure CLI, and Google Cloud SDK Security First - Proper firewall configuration and user permissions Parameters to Configure server_host: Your Linux server IP address server_user: SSH username (typically 'root') server_password: SSH password docker_version: Docker version to install k3s_version: K3s version to install username: DevOps username user_password: Password for the DevOps user How to Use Copy the JSON code from the artifact Open your n8n workspace Select "Import from JSON" or "+" → "From JSON" Paste the JSON code Configure parameters in the "Configure Parameters" node with your server details Run the workflow Workflow Actions Install: Deploys Docker, K3s, Jenkins, Prometheus, and Grafana with optimizations Create User: Sets up a DevOps user with necessary permissions Configure: Applies security settings and provides templates
by Ron
Objective In industry and production sometimes machine data is available in databases. That might be sensor data like temperature or pressure or just binary information. In this sample flow reads machine data and sends an alert to your SIGNL4 team when the machine is down. When the machine is up again the alert in SIGNL4 will get closed automatically. Setup We simulate the machine data using a Notion table. When we un-check the Up box we simulate a machine-down event. In certain intervals n8n checks the database for down items. If such an item has been found an alert is send using SIGNL4 and the item in Notion is updates (in order not to read it again). Status updates from SIGNL4 (acknowledgement, close, annotation, escalation, etc.) are received via webhook and we update the Notion item accordingly. This is how the alert looks like in the SIGNL4 app. The flow can be easily adapted to other database monitoring scenarios.
by Stathis Askaridis
Integrate Xero with FileMaker using Webhooks Workflow Description This n8n workflow automates the integration between Xero and FileMaker, allowing for seamless data transfer between the two platforms. By listening for webhooks from Xero (e.g., new invoices, payments, or contacts), this workflow ensures that data is automatically sent and recorded in a FileMaker database. Who is This For? This workflow template is ideal for: Accountants** who need a streamlined process to sync financial data between Xero and FileMaker. Business Owners** looking to automate data entry and improve accuracy across their systems. Developers** building solutions for clients that require integration between accounting software and databases. Operations Teams** focused on minimizing manual work and improving efficiency. Key Steps Xero Webhook Trigger: The workflow starts by capturing events from Xero via a webhook. Data Processing: Transforms and maps the incoming data to match FileMaker’s required format. FileMaker Node: Utilizes the FileMaker node to create or update records directly in the FileMaker database. Logging & Error Handling: Tracks successful entries and manages any errors with automated alerts. Setup Instructions Set Up the Xero Webhook: Create a webhook in Xero and point it to your n8n webhook node URL. Configure the types of events to trigger the workflow (e.g., new invoices or payments). Xero will then send some test calls to test you are doing proper hash control. Connect the FileMaker Node: Set up your FileMaker node with the appropriate credentials and database configuration. Map the fields between the incoming Xero data and your FileMaker database structure. Customize Data Processing: Adjust data transformations as needed to ensure compatibility with your FileMaker schema. Test and Deploy: Run the workflow with sample data to ensure everything is functioning correctly. Monitor the execution log to verify data transfer and make any adjustments as needed. Error Handling Configuration: Configure error-handling nodes or alerts to notify you of any issues during data processing. Benefits This setup facilitates real-time data synchronization between Xero and FileMaker, reducing the need for manual data entry and improving overall operational efficiency.
by Agus Narestha
🔒 SSL Certificate Monitoring & Expiry Alert with Spreadsheet [FREE APIs] ✅ What This Workflow Does This n8n template automatically monitors SSL certificates of websites listed in a Google Sheet and sends email alerts if any are expiring within 14 days. It helps ensure you avoid downtime, security issues, and trust warnings due to expired certificates. 🧩 Key Features 📅 Weekly Automation: Runs every Monday at 7:00 AM (configurable). 📄 Google Sheets Integration: Fetches and updates data in a spreadsheet. 🔍 SSL Check via API: Uses ssl-checker.io to get certificate details. ⚠️ SSL Expiry Filter: Identifies certificates expiring within 14 days. 📧 Email Alerts: Sends notifications for certificates close to expiration. 📂 Input Spreadsheet Format Your Google Sheet should have the following columns: | No | Name | Link | SSL Issued On | SSL Expired On | SSL Status | |----|-----------------|-----------------------|-------------------|-------------------|------------| | 1 | Example Site | https://example.com | 2024-07-01 | 2025-07-01 | Valid | | 2 | My Blog | https://myblog.org | 2024-07-05 | 2024-07-20 | Expiring | Each row should include a valid website URL in the Link column. 🛠️ How It Works Scheduled Trigger Executes weekly (Monday 7:00 AM). Fetch Website List Reads all website entries from the Google Sheet. Check SSL Certificates Uses ssl-checker.io API to retrieve certificate details for each website. Update Spreadsheet Writes "Issued On" and "Expired On" fields back to the spreadsheet. Evaluate SSL Expiry Filters for certificates expiring within 14 days. Check Condition Determines whether to send alerts based on filtered results. Send Email Alert Notifies via email if any certificates are expiring soon. 📬 Example Email Output Subject: ⚠️ ALERT!! SSL EXPIRED SSL certificates expiring soon: example.com (expires in 5 days) anotherdomain.net (expires in 3 days) 🧰 Setup Requirements A Google Sheet with the correct columns and website links. SMTP credentials to send alert emails.
by Oneclick AI Squad
This automated n8n workflow continuously monitors airline schedule changes by fetching real-time flight data, comparing it with stored schedules, and instantly notifying both internal teams and affected passengers through multiple communication channels. The system ensures stakeholders are immediately informed of any flight delays, cancellations, gate changes, or other critical updates. Good to Know Flight data accuracy depends on the aviation API provider's update frequency and reliability Critical notifications (cancellations, major delays) trigger immediate passenger alerts via SMS and email Internal Slack notifications keep operations teams informed in real-time Database logging maintains a complete audit trail of all schedule changes The system processes only confirmed schedule changes to avoid false notifications Passenger notifications are sent only to those with confirmed tickets for affected flights How It Works Schedule Trigger - Automatically runs every 30 minutes to check for flight schedule updates Fetch Airline Data - Retrieves current flight information from aviation APIs Get Current Schedules - Pulls existing schedule data from the internal database Process Changes - Compares API data with database records to identify schedule changes Check for Changes - Determines if any updates require processing and notifications Update Database - Saves schedule changes to the internal flight database Notify Slack Channel - Sends operational updates to the flight operations team Check Urgent Notifications - Identifies critical changes requiring immediate passenger alerts Get Affected Passengers - Retrieves contact information for passengers on changed flights Send Email Notifications - Dispatches detailed schedule change emails via SendGrid Send SMS (Critical Only) - Sends urgent text alerts for cancellations and major delays Update Internal Systems - Syncs changes with other airline systems via webhooks Log Sync Activity - Records all synchronization activities for audit and monitoring Data Sources The workflow integrates with multiple data sources and systems: Aviation API (Primary Data Source) Real-time flight status and schedule data Departure/arrival times, gates, terminals Flight status (on-time, delayed, cancelled, diverted) Aircraft and route information Internal Flight Database flight_schedules table - Current schedule data with columns: flight_number (text) - Flight identifier (e.g., "AA123") departure_time (timestamp) - Scheduled departure time arrival_time (timestamp) - Scheduled arrival time status (text) - Flight status (active, delayed, cancelled, diverted) gate (text) - Departure gate number terminal (text) - Terminal identifier airline_code (text) - Airline IATA code origin_airport (text) - Departure airport code destination_airport (text) - Arrival airport code aircraft_type (text) - Aircraft model updated_at (timestamp) - Last update timestamp created_at (timestamp) - Record creation timestamp passengers table - Passenger contact information with columns: passenger_id (integer) - Unique passenger identifier name (text) - Full passenger name email (text) - Email address for notifications phone (text) - Mobile phone number for SMS alerts notification_preferences (json) - Communication preferences created_at (timestamp) - Registration timestamp updated_at (timestamp) - Last profile update tickets table - Booking and ticket status with columns: ticket_id (integer) - Unique ticket identifier passenger_id (integer) - Foreign key to passengers table flight_number (text) - Flight identifier flight_date (date) - Travel date seat_number (text) - Assigned seat ticket_status (text) - Status (confirmed, cancelled, checked-in) booking_reference (text) - Booking confirmation code fare_class (text) - Ticket class (economy, business, first) created_at (timestamp) - Booking timestamp updated_at (timestamp) - Last modification timestamp sync_logs table - Audit trail and system logs with columns: log_id (integer) - Unique log identifier workflow_name (text) - Name of the workflow that created the log total_changes (integer) - Number of schedule changes processed sync_status (text) - Status (completed, failed, partial) sync_timestamp (timestamp) - When the sync occurred details (json) - Detailed log information and changes error_message (text) - Error details if sync failed execution_time_ms (integer) - Processing time in milliseconds Communication Channels Slack - Internal team notifications SendGrid - Passenger email notifications Twilio - Critical SMS alerts Internal webhooks - System integrations How to Use Import the workflow into your n8n instance Configure aviation API credentials (AviationStack, FlightAware, or airline-specific APIs) Set up PostgreSQL database connection with required tables Configure Slack bot token for operations team notifications Set up SendGrid API key and email templates for passenger notifications Configure Twilio credentials for SMS alerts (critical notifications only) Test with sample flight data to verify all notification channels Adjust monitoring frequency and severity thresholds based on operational needs Monitor sync logs to ensure reliable data synchronization Requirements API Access Aviation data provider (AviationStack, FlightAware, etc.) SendGrid account for email delivery Twilio account for SMS notifications Slack workspace and bot token Database Setup PostgreSQL database with flight schedule tables Passenger and ticket management tables Audit logging tables for tracking changes Infrastructure n8n instance with appropriate node modules Reliable internet connection for API calls Proper credential management and security Customizing This Workflow Modify the Process Changes node to adjust change detection sensitivity, add custom business rules, or integrate additional data sources like weather or airport operational data. Customize notification templates in the email and SMS nodes to match your airline's branding and communication style. Adjust the Schedule Trigger frequency based on your operational requirements and API rate limits.
by Flavio Angeleu
WhatsApp Flows Encrypted Data Exchange Workflow Summary This workflow enables secure end-to-end encrypted data exchange with WhatsApp Flows for interactive applications inside Whatsapp. It implements the WhatsApp Business Encryption protocol using RSA for key exchange and AES-GCM for payload encryption, providing a secure channel for sensitive data transmission while interfacing with WhatsApp's Business API. This follows the official WhatsApp Business Encryption specifications to establish an encrypted GraphQL-powered data exchange channel between your business and the WhatsApp consumer client. How It Works Encryption Flow Webhook Reception: Receives encrypted data from WhatsApp containing: encrypted_flow_data: The AES-encrypted payload encrypted_aes_key: The RSA-encrypted AES key initial_vector: Initialization vector for AES decryption Decryption Process: The workflow decrypts the AES key using an RSA private key Then uses this AES key to decrypt the payload data The inverted IV is used for response encryption Data Processing: The workflow parses the decrypted JSON data Routes requests based on the screen parameter. Response Generation: Generates appropriate response data based on the request type Encrypts the response using the same AES key and inverted IV Returns the base64-encoded encrypted response Key Components Webhook Endpoint**: Entry point for encrypted WhatsApp requests Decryption Pipeline**: RSA and AES decryption components Business Logic Router**: Screen-based routing for different functionality Encryption Pipeline**: Secure response encryption How to Use Deploy the Workflow: Import the workflow JSON into your n8n instance Set Up WhatsApp Integration: Configure your WhatsApp Business API to send requests to your n8n webhook URL Ensure your WhatsApp integration is set up to encrypt data using the public key pair of the private key used in this workflow Test the Flow: Send an encrypted test message from WhatsApp to verify connectivity Check if appointment data is being retrieved correctly Validate that seat selection is functioning as expected Production Use: Monitor the workflow performance in production Set up error notification if needed Requirements Authentication Keys RSA Private Key: Required for decrypting the AES key (included in the workflow) WhatsApp Business Public Key: Must be registered with the WhatsApp Business API PostgreSQL Credentials: For accessing appointment data from the database WhatsApp Business Encryption Setup As specified in the WhatsApp Business Encryption documentation: Generate a 2048-bit RSA Key Pair: The private key remains with your business (used in this workflow) The public key is shared with WhatsApp Register the Public Key with WhatsApp: Use the WhatsApp Cloud API to register your public key Set up the public key using the /v17.0/{WhatsApp-Business-Account-ID}/whatsapp_business_encryption endpoint Key Registration API Call: POST /v17.0/{WhatsApp-Business-Account-ID}/whatsapp_business_encryption { "business_public_key": "YOUR_PUBLIC_KEY" } Verification: Verify your public key is registered using a GET request to the same endpoint Ensure the key status is "active"
by Lucas Walter
This workflow contains community nodes that are only compatible with the self-hosted version of n8n. AI dental appointment booking with Google Calendar and Sheets Who's it for This workflow is perfect for dental practices, medical offices, and healthcare providers who want to automate their appointment scheduling process. It's ideal for practices that receive high volumes of appointment requests and want to reduce manual booking while maintaining accurate patient records. What it does This AI-powered voice agent handles complete appointment booking workflows for "Pearly Whites Dental." When patients call or submit requests, the system: Analyzes the request using Google Gemini AI to understand patient needs Checks calendar availability in real-time via Google Calendar integration Automatically finds and offers up to 2 available appointment slots when the preferred time isn't available Books confirmed appointments directly to the practice calendar Logs all patient information (name, insurance, concerns) to Google Sheets for record-keeping Maintains conversation context across interactions for natural dialogue flow The workflow operates in Central Time Zone and assumes standard business hours (8 AM - 5 PM, excluding lunch). How it works The system receives webhook requests containing patient interaction data. The AI agent processes this information and determines which tools to use based on the request type. For availability checks, it intelligently searches multiple time slots in 30-minute increments until finding suitable options. All appointments are automatically formatted as "Dental Appointment | [Patient Name]" and logged with complete patient details. Requirements Google Calendar API access with OAuth2 credentials Google Sheets API access for patient data logging Google Gemini API key for AI processing Webhook endpoint for receiving requests Pre-configured Google Calendar and Sheets document How to set up Configure Google Calendar credentials in the calendar tool nodes Set up Google Sheets integration with your patient tracking spreadsheet Add your Google Gemini API key to the language model node Update the calendar ID in both calendar nodes to match your practice calendar Modify the Google Sheets document ID to point to your patient records sheet Test the webhook endpoint to ensure proper request processing How to customize the workflow Adjust business hours** by modifying the availability checking logic in the system prompt Change appointment duration** by updating the end time calculation (currently set to 1 hour) Modify patient data fields** by updating the Google Sheets column mapping Update practice name** by changing "Pearly Whites Dental" references in the system prompt Customize response format** by adjusting the AI agent's instructions for different appointment types
by explorium
Salesforce Lead Enrichment with Explorium Template Download the following json file and import it to a new n8n workflow: salesforce\_Workflow.json Overview This n8n workflow monitors your Salesforce instance for new leads and automatically enriches them with missing contact information. When a lead is created, the workflow: Detects the new lead via Salesforce trigger Matches the lead against Explorium's database using name and company Enriches the lead with professional email addresses and phone numbers Updates the Salesforce lead record with the discovered contact information This automation ensures your sales team always has the most up-to-date contact information for new leads, improving reach rates and accelerating the sales process. Key Features Real-time Processing**: Triggers automatically when new leads are created in Salesforce Intelligent Matching**: Uses lead name and company to find the correct person in Explorium's database Contact Enrichment**: Adds professional emails, mobile phones, and office phone numbers Batch Processing**: Efficiently handles multiple leads to optimize API usage Error Handling**: Continues processing other leads even if some fail to match Selective Updates**: Only updates leads that successfully match in Explorium Prerequisites Before setting up this workflow, ensure you have: n8n instance (self-hosted or cloud) Salesforce account with: OAuth2 API access enabled Lead object permissions (read/write) API usage limits available Explorium API credentials (Bearer token) - Get explorium api key Basic understanding of Salesforce lead management Salesforce Requirements Required Lead Fields The workflow expects these standard Salesforce lead fields: FirstName - Lead's first name LastName - Lead's last name Company - Company name Email - Will be populated/updated by the workflow Phone - Will be populated/updated by the workflow MobilePhone - Will be populated/updated by the workflow API Permissions Your Salesforce integration user needs: Read access to Lead object Write access to Lead object fields (Email, Phone, MobilePhone) API enabled on the user profile Sufficient API calls remaining in your org limits Installation & Setup Step 1: Import the Workflow Copy the workflow JSON from the template In n8n: Navigate to Workflows → Add Workflow → Import from File Paste the JSON and click Import Step 2: Configure Salesforce OAuth2 Credentials Click on the Salesforce Trigger node Under Credentials, click Create New Follow the OAuth2 flow: Client ID: From your Salesforce Connected App Client Secret: From your Salesforce Connected App Callback URL: Copy from n8n and add to your Connected App Authorize the connection Save the credentials as "Salesforce account connection" Note: Use the same credentials for all Salesforce nodes in the workflow. Step 3: Configure Explorium API Credentials Click on the Match\_prospect node Under Credentials, click Create New (HTTP Header Auth) Configure the header: Name: Authorization Value: Bearer YOUR_EXPLORIUM_API_TOKEN Save as "Header Auth account" Apply the same credentials to the Explorium Enrich Contacts Information node Step 4: Verify Node Settings Salesforce Trigger: Trigger On: Lead Created Poll Time: Every minute (adjust based on your needs) Salesforce Get Leads: Operation: Get All Condition: CreatedDate = TODAY (fetches today's leads) Limit: 20 (adjust based on volume) Loop Over Items: Batch Size: 6 (optimal for API rate limits) Step 5: Activate the Workflow Save the workflow Toggle the Active switch to ON The workflow will now monitor for new leads every minute Detailed Node Descriptions Salesforce Trigger: Polls Salesforce every minute for new leads Get Today's Leads: Retrieves all leads created today to ensure none are missed Loop Over Items: Processes leads in batches of 6 for efficiency Match Prospect: Searches Explorium for matching person using name + company Filter: Checks if a valid match was found Extract Prospect IDs: Collects all matched prospect IDs Enrich Contacts: Fetches detailed contact information from Explorium Merge: Combines original lead data with enrichment results Split Out: Separates individual enriched records Update Lead: Updates Salesforce with new contact information Data Mapping The workflow maps Explorium data to Salesforce fields as follows: | Explorium Field | Salesforce Field | Fallback Logic | | ------------------- | ---------------- | --------------------------------- | | emails[0].address | Email | Falls back to professions_email | | mobile_phone | MobilePhone | Falls back to phone_numbers[1] | | phone_numbers[0] | Phone | Falls back to mobile_phone | Usage & Monitoring Automatic Operation Once activated, the workflow runs automatically: Checks for new leads every minute Processes any leads created since the last check Updates leads with discovered contact information Continues running until deactivated Manual Testing To test the workflow manually: Create a test lead in Salesforce Click "Execute Workflow" in n8n Monitor the execution to see each step Verify the lead was updated in Salesforce Monitoring Executions Track workflow performance: Go to Executions in n8n Filter by this workflow Review successful and failed executions Check logs for any errors or issues Troubleshooting Common Issues No leads are being processed Verify the workflow is activated Check Salesforce API limits haven't been exceeded Ensure new leads have FirstName, LastName, and Company populated Confirm OAuth connection is still valid Leads not matching in Explorium Verify company names are accurate (not abbreviations) Check that first and last names are properly formatted Some individuals may not be in Explorium's database Try testing with known companies/contacts Contact information not updating Check Salesforce field-level security Verify the integration user has edit permissions Ensure Email, Phone, and MobilePhone fields are writeable Check for validation rules blocking updates Authentication errors Salesforce: Re-authorize OAuth connection Explorium: Verify Bearer token is valid and not expired Check API quotas haven't been exceeded Error Handling The workflow includes built-in error handling: Failed matches don't stop other leads from processing Each batch is processed independently Failed executions are logged for review Partial successes are possible (some leads updated, others skipped) Best Practices Data Quality Ensure complete lead data: FirstName, LastName, and Company should be populated Use full company names: "Microsoft Corporation" matches better than "MSFT" Standardize data entry: Consistent formatting improves match rates Performance Optimization Adjust batch size: Lower if hitting API limits, higher for efficiency Modify polling frequency: Every minute for high volume, less frequent for lower volume Set appropriate limits: Balance between processing speed and API usage Compliance & Privacy Data permissions: Ensure you have rights to enrich lead data GDPR compliance: Consider privacy regulations in your region Data retention: Follow your organization's data policies Audit trail: Monitor who has access to enriched data Customization Options Extend the Enrichment Add more Explorium enrichment by: Adding firmographic data (company size, revenue) Including technographic information Appending social media profiles Adding job title and department verification Modify Trigger Conditions Change when enrichment occurs: Trigger on lead updates (not just creation) Add specific lead source filters Process only leads from certain campaigns Include lead score thresholds Add Notifications Enhance with alerts: Email sales reps when leads are enriched Send Slack notifications for high-value matches Create tasks for leads that couldn't be enriched Log enrichment metrics to dashboards API Considerations Salesforce Limits API calls: Each execution uses \~4 Salesforce API calls Polling frequency: Consider your daily API limit Batch processing: Reduces API usage vs. individual processing Explorium Limits Match API: One call per batch of leads Enrichment API: One call per batch of matched prospects Rate limits: Respect your plan's requests per minute Integration Architecture This workflow can be part of a larger lead management system: Lead Capture → This Workflow → Lead Scoring → Assignment Can trigger additional workflows based on enrichment results Compatible with existing Salesforce automation (Process Builder, Flows) Works alongside other enrichment tools Security Considerations Credentials**: Stored securely in n8n's credential system Data transmission**: Uses HTTPS for all API calls Access control**: Limit who can modify the workflow Audit logging**: All executions are logged with details Support Resources For assistance with: n8n issues**: Consult n8n documentation or community forum Salesforce integration**: Reference Salesforce API documentation Explorium API**: Contact Explorium support for API questions Workflow logic**: Review execution logs for debugging