by Roninimous
This n8n workflow leverages a Telegram Message Trigger to activate an intelligent AI Agent capable of processing both text and voice messages. When a user sends a message in text or in voice format, the workflow captures and transcribes it (if necessary), then passes it to the AI Agent for understanding and response generation. To enhance user experience, the bot also displays a typing indicator while processing requests, simulating a natural, human-like interaction. Key Features Multi-Modal Input: Supports both text messages and voice notes from users. Real-Time Interaction: Shows a “typing…” action in Telegram while the AI processes the input. AI Agent Integration: Provides intelligent, context-aware, and conversational responses. Seamless Feedback Loop: Replies are sent directly back to the user within Telegram for smooth interaction. How It Works The workflow triggers whenever a message or voice note is received on Telegram. If the input is a voice note, the workflow transcribes it into text. The text input is sent to the AI Agent for processing. While processing, the bot sends a typing indicator to the user. Once the AI generates a response, the workflow sends it back to the user in Telegram. Setup Instructions Create a Telegram Bot: Use @BotFather to create a bot and obtain your bot token. Configure n8n Credentials: Add Telegram API credentials in n8n with your bot token. Add credentials for any speech-to-text service used for voice transcription (e.g., Open AI Transcribe A Recording). Import the Workflow: Import this workflow into your n8n instance. Update all credential nodes to use your Telegram and transcription service credentials. Set Webhook URLs: Ensure Telegram webhook is set properly for your bot to receive messages. Make sure your n8n instance is publicly accessible for Telegram callbacks. Test the Workflow: Send text messages and voice notes to your Telegram bot and observe the AI responses. Customization Guidance Add new message handlers: Extend the workflow to handle additional message types (images, documents, etc.). Improve transcription: Swap or add speech-to-text services for better accuracy or language support. Enhance AI Agent: Customize prompts and context management to tailor the AI’s personality and responses. AI Model Flexibility: Swap between different AI models (e.g., GPT-4, Claude, or custom LLMs) based on task type, cost, or performance preferences. Tool-Based Control: Add custom tools to the AI Agent such as calendar access, Notion, Google Sheets, web search, database queries, or custom APIs—allowing for dynamic, multi-functional agents Security and Implementation Notes The Telegram node manages message reception and sending but does not directly handle AI processing. Voice transcription requires integration with external APIs; secure those credentials in n8n and monitor usage. To simulate typing, the workflow uses Telegram’s “sendChatAction” API method, providing users with feedback that the bot is processing. Ensure your AI API keys and Telegram tokens are securely stored in n8n credentials and not exposed in workflows or logs. Benefits Handles natural conversational inputs with text or voice. Provides a smooth, engaging user experience via typing indicators. Easy integration of advanced AI conversational agents with Telegram. Flexible for personal assistants, helpdesks, or interactive chatbots.
by Airtop
Automating File (Image) Upload to Postimages.org Use Case Manually uploading screenshots or other image files to hosting platforms like Postimages.org can be tedious and time-consuming. This automation simplifies the process by automatically uploading an image to Postimages.org and validating the result, which is especially useful for repetitive QA tasks, reporting, or archiving visual web data. What This Automation Does This automation uploads a screenshot to Postimages.org using the following steps: Creates a browser session using Airtop. Navigates to the Postimages.org upload page. Takes a screenshot using the browser session. Uploads the screenshot to the site via the "Choose images" button. Waits briefly to ensure upload processing. Captures a post-upload screenshot for validation. How It Works Session Initialization: Starts a browser session using the Airtop node. Navigation: Opens the URL https://postimages.org/ in a new window. Screenshot Capture: Takes a screenshot to use for upload. File Upload: Uploads the screenshot to the site using the file upload interaction. Validation: Waits 5 seconds and then captures a second screenshot to confirm the image was uploaded successfully. Setup Requirements Airtop API Key — required for session creation and browser interactions. Next Steps Customize for Other Sites**: Adapt this workflow to automate file uploads to different platforms. Integrate with Reporting Tools**: Combine this automation with workflows that require image reporting or archiving. Enhance Validation**: Add logic to parse the upload confirmation or retrieve the image URL programmatically for logging or sharing. Read more about how to automate file uploads to the web
by Bao Duy Nguyen
Who is this for? This template is ideal for developers, DevOps engineers, and automation managers who manage their n8n workflows using GitHub. It helps teams streamline their CI/CD automation by syncing changes from GitHub directly into n8n after a pull request (PR) is merged. What problem is this workflow solving? Manually restoring workflows after reviewing and merging code in GitHub can be tedious and error-prone. This workflow solves that by automating the restore process, ensuring that any new or updated workflow committed to your GitHub repo is automatically imported into your n8n environment. What this workflow does Triggers when a GitHub pull request is closed and merged. Fetches the details of the merge commit. Retrieves the list of added and modified workflow files. Downloads and decodes each workflow file. Creates or updates** the corresponding workflow in your n8n instance automatically. Setup Connect GitHub: Use the GitHub Trigger node and configure GitHub API credentials. Note: I'd recommended to use GitHub PAT (Personal Access Token) classic with repo and admin:repo_hook permission scopes enabled. Connect n8n API: Provide your n8n API credentials in the n8n nodes. - Check this doc Set repository variables: Update github_owner and repo_name in the Define Local Variables node. Enable webhook: Make sure your GitHub repository has a webhook for pull_request events pointing to this workflow. How to customize this workflow to your needs Modify filters to handle only certain branches or file paths. Add Slack or email notifications to confirm successful imports. Insert logging or version tagging for better traceability. Extend with conditional logic for workflow testing before applying changes. This automated flow provides a seamless CI/CD loop between GitHub and n8n, empowering teams to manage workflow versioning efficiently and securely.
by M Shehroz Sajjad
Transform your BeyondPresence video agent conversations into comprehensive insights by automatically analyzing each call with AI and organizing 35+ data points in Google Sheets. This template helps customer success, support, and training teams save 30+ minutes per call on documentation while ensuring no critical action items or insights are missed. How it works Webhook receives** completed call data from BeyondPresence including full transcript Data validation** ensures quality and adds enriched metadata (duration, time calculations) AI analysis** (GPT-4) extracts action items, sentiment, decisions, and recommendations Parse response** handles the AI output and structures it for sheets Auto-append** to Google Sheets with 35+ insights per call organized beautifully Set up steps Copy our Google Sheets template - One click! Get pre-formatted sheet: BeyondPresence Call Analytics Template Connect accounts - Add OpenAI API key and Google Sheets OAuth2 Configure webhook - Copy URL from n8n to BeyondPresence Settings → Webhooks Customize AI prompt (optional) - Adjust analysis focus for your use case Test with a call - Make a test call and watch insights appear! Setup time: 5-10 minutes Requirements: BeyondPresence account, OpenAI API key, Google account
by Jimleuk
This n8n template demonstrates how to calculate the evaluation metric "Similarity" which in this scenario, measures the consistency of the agent. The scoring approach is adapted from the open-source evaluations project RAGAS and you can see the source here https://github.com/explodinggradients/ragas/blob/main/ragas/src/ragas/metrics/_answer_similarity.py How it works This evaluation works best where questions are close-ended or about facts where the answer can have little to no deviation. For our scoring, we generate embeddings for both the AI's response and ground truth and calculate the cosine similarity between them. A high score indicates LLM consistency with expected results whereas a low score could signal model hallucination. Requirements n8n version 1.94+ Check out this Google Sheet for a sample data https://docs.google.com/spreadsheets/d/1YOnu2JJjlxd787AuYcg-wKbkjyjyZFgASYVV0jsij5Y/edit?usp=sharing
by Paul Mikulskis
This template is based on the following template. Thank you for the groundwork, Matheus. How it works: Store your snippets of text in a Notion table. Each snippet should have an image associated with it (copy + pasted into the text) Connect to your table via a Notion "integration", from which N8N can then query your pre-meditated posts The text is fed through an OpenAI assistant to boost engagement via formatting The re-formatted text along with the image pulled from the Notion snippet are combined into a post for your LinkedIn The row in the original Notion table from step 1 containing this post is set to a status of "Done" Set up steps: You will need to create a Notion "integration", which will yield a "secret key" which you enter into your N8N as a "Credential". You will need to create a LinkedIn "app" in order to post on your behalf. When creating your LinkedIn "app", you will be required to link this "app" to a company page on LinkedIn. If you are doing this for yourself, seach for the "Default Company Payge (for API testing)", and select this page as it is provided by LinkedIn for individuals. You can find your LinkedIn apps here, and if you get stuck, further instructions on setting up this workflow (including this LinkedIn OAuth piece) can be found in this YouTube Video Aide to these instructions. Lastly, you will need to create an OpenAI API key, found on your OpenAI Playground Dashboard. Once you created an API key, make sure you have an assistant created from the "Assistants" tab on the OpenAI dashboard. This assistant and its instructions will be needed for carrying out the re-formatting of your post.
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 Nathan Lee
How it works Automates the retrieval of Calvin and Hobbes daily comics. Extracts the comic image URL from the website. Translates comic dialogues to English and Korean. Posts the comic and translations to Discord daily. Set up steps Estimated setup time: ~10-15 minutes. Use a Schedule Trigger to automate the workflow at 9 AM daily. Add nodes for parameter setup, HTTP request, data extraction, and integration with Discord. Add detailed notes to each node in the workflow for easy understanding.
by Allan Daemon
This creates a git backup of the workflows and credentials. It uses the n8n export command with git diff, so you can run as many times as you want, but only when there are changes they will create a commit. Setup You need some access to the server. Create a repository in some remote place to host your project, like Github, Gitlab, or your favorite private repo. Clone the repository in the server in a place that the n8n has access. In the example, it's the ., and the repository name is repo. Change it in the commands and in the workflow commands (you can set it as a variable in the wokflow). Checkout to another branch if you won't use the master one. cd . git clone repository Or you could git init and then add the remote (git remote add origin YOUR_REPO_URL), whatever pleases you more. As the server, check if everything is ok for beeing able to commit. Very likely you'll need to setup the user email and name. Try to create a commit, and push it to upstream, and everything you need (like config a user to comit) will appear in way. I strong suggest testing with exporting the commands to garantee it will work too. cd ./repo git commit -c "Initial commmit" --allow-empty -u is the same as --set-upstream git push -u origin master Testing to push to upstream with the first exported data npx n8n export:workflow --backup --output ./repo/workflows/ npx n8n export:credentials --backup --output repo/credentials/ cd ./repo git add . git commit -c "manual backup: first export" git push After that, if everything is ok, the workflow should work just fine. Adjustments Adjust the path in used in the workflow. See the the git -C PATH command is the same as cd PATH; git .... Also, adjust the cron to run as you need. As I said in the beginning, you can run it even for every minute, but it will create commits only when there are changes. Credentials encryption The default for exporting the credentials is to do them encrypted. You can add the flag --decrypted to the n8n export:credentials command if you need to save them in plain. But as general rule, it's better to save the encryption key, that you only need to do that once, and them export it safely encrypted.
by Floyd Mahou
How it works • Allows users to manage their Google Calendar via WhatsApp using natural language • Handles event creation, updates, deletions, availability checks, and agenda overviews • AI agent interprets the user’s message and triggers the appropriate calendar action • Responses are sent back to the user via WhatsApp, with confirmation or schedule info Set up steps • Set up a WhatsApp Business Cloud account and configure your webhook • Connect your Google Calendar using n8n credentials • Deploy OpenAI API key for natural language understanding • Link each calendar action (create, update, delete, search) to the TimePilot agent • Customize confirmation messages and automate reply formatting Note: More detailed configuration and custom logic are described inside sticky notes within the workflow.
by David Olusola
⚡️ How It Works This workflow captures form submissions from your website, formats the data, and automatically creates a new entry in your Notion CRM database. It eliminates manual copy-pasting and keeps your leads or requests organised in one place. 🛠 Setup Steps Webhook Node • Create a webhook in n8n. • Connect your website form to POST submissions to this webhook URL. Code Node • Formats the incoming data to match your Notion database structure. • You can customise the fields in the code to suit your specific form inputs. Notion Node (Create Page) • Connect your Notion account. • Choose your target database. • Map each field from the Code node output to your Notion database properties. Test • Submit a test form entry. • Confirm the data appears correctly in Notion. ⸻ 👥 Who It’s For ✅ Freelancers collecting project inquiries ✅ Agencies managing client onboarding forms ✅ Business owners wanting organised lead capture ✅ Teams that use Notion as their central CRM or task manager ✅ Anyone tired of manually transferring form data into Notion
by Max Tkacz
Who is this for This workflow is perfect for teams and individuals who manage extensive data in Notion and need a quick, AI-powered way to interact with their databases. If you're looking to streamline your knowledge management, automate searches, and get faster insights from your Notion databases, this workflow is for you. It’s ideal for support teams, project managers, or anyone who needs to query specific data across multiple records or within individual pages of their Notion setup. Check out the Notion template this Assistant is set up to use: https://www.notion.so/templates/knowledge-base-ai-assistant-with-n8n How it works The Notion Database Assistant uses an AI Agent built with Retrieval-Augmented Generation (RAG) to query this Knowledge Base style Notion database. The assistant can search across multiple properties like tags or question and retrieves content from inside individual Notion pages for additional context. Key features include: Querying the database with flexible filters. Searching within individual Notion pages and extracting relevant blocks. Providing a reference link to the exact Notion pages used to inform its responses, ensuring transparency and easy verification. This assistant uses two HTTP request tools—one for querying the Notion database and another for pulling data from within specific pages. It streamlines knowledge retrieval, offering a conversational, AI-driven way to interact with large datasets. Set up Find basic set up instructions inside the workflow itself or watch a quickstart video 👇