by Oneclick AI Squad
Overview This solution ensures the secure backup and version control of your self-hosted n8n workflows by storing them in a GitLab repository. It compares current workflows with their GitLab counterparts, updates files when differences are detected, and organizes them in user-specific folders (e.g., repo -> username -> workflow.json). Backups are triggered manually or weekly, with a success notification sent via email. Operational Process Manual Backup Trigger**: Initiates the backup process on demand. Scheduled Weekly Backup**: Automatically triggers the backup every week. Fetch N8N Workflows**: Retrieves all workflows from n8n using the API (getAll:workflow). Prepare Backup Metadata**: Generates metadata, including user details for folder organization. Process Each Workflow**: Handles each workflow individually for processing. Format Workflow for GitLab**: Structures workflows with proper versioning for GitLab compatibility. Rate Limit Control**: Manages API rate limits to ensure smooth operation. Create to GitLab Repository**: Saves workflows to GitLab; creates a new file if it doesn’t exist. Check Backup Status**: Verifies if the file exists; if true, proceeds to update; if false, loops back. Update Backup Summary**: Updates the existing file in GitLab with the latest version. Log Backup Results**: Records the outcome of the backup process. Send Email**: Sends a confirmation email: "Hello, The scheduled backup of all n8n workflows has been completed successfully. All workflows have been committed to the GitLab repository without any errors. Regards, n8n Automation Bot" Implementation Guide Import this solution into your n8n instance. Configure GitLab API credentials and specify the target repository. Set up n8n API access to enable workflow retrieval. Customize the Prepare Backup Metadata node to map users to folders as needed. Test the process using the Manual Backup Trigger to confirm GitLab integration. Schedule weekly backups via the Scheduled Weekly Backup node (recommended for Fridays). Requirements GitLab API credentials with write access n8n API access for workflow retrieval A configured GitLab repository Customization Options Adjust the Prepare Backup Metadata node to include additional user fields. Modify the Rate Limit Control node to accommodate varying API limits. Tailor the Send Email node to include custom notification details.
by Baptiste Fort
Still manually copy-pasting your Tally form responses? What if every submission went straight into Airtable — and the user got an automatic email right after? That’s exactly what this workflow does. No code, no headache — just a simple and fast automation: Tally → Airtable → Gmail. STEP 1 — Capture Tally Form Responses Goal Trigger the workflow automatically every time someone submits your Tally form. What we're setting up A webhook that catches form responses and kicks off the rest of the flow. Steps to follow Add a Webhook node Parameter : Value Method : POST Path : formulaire-tally Authentication : None Respond : Immediately Save the workflow → This will generate a URL like: https://your-workspace.n8n.cloud/webhook-test/formulaire-tally 💡 Use the Test URL first (found under Parameters > Test URL) Head over to Tally Go to your form → Form Settings > Integrations > Webhooks Paste the Test URL into the Webhook field Enable the webhook ✅ Submit a test entry → Tally won’t send anything until a real submission is made. This step is required for n8n to capture the structure. Expected output n8n receives a JSON object containing: General info (IDs, timestamps, etc.) A fields[] array with all the form inputs (name, email, etc.) Each field is nicely structured with a label, key, type, and most importantly, a value. Perfect foundation for the next step: data cleanup. STEP 2 — Clean and Structure the Form Data (Set node) Goal Take the raw data sent by Tally and turn it into clean, readable JSON that's easy to use in the rest of the workflow. Tally sends the responses inside a big array called field. Can you grab a field directly with something like {{$json"fields"["value"]}}? Yes. But a good workflow is like a sock drawer — when everything’s folded and labeled, life’s just easier. So we’re going to clean it up using a Set node. Steps to follow Add a Set node right after the Webhook. Enable the “Keep only set” option. Define the following fields in the Set node: Field name: Expression full_name: {{$json"fields"["value"]}} company_name: {{$json"fields"["value"]}} job_title: {{$json"fields"["value"]}} email: {{$json"fields"["value"]}} phone_number: {{$json"fields"["value"] ?? ""}} submission_date: {{$now.toISOString()}} ⚠️ The order of fields[] depends on your Tally form. If you change the question order, make sure to update these indexes accordingly. Expected output You’ll get a clean, structured JSON like this: Now your data is clear, labeled, and ready for the rest of your workflow. STEP 3 — Save Data in Airtable Goal Every time someone submits your Tally form, their info is automatically added to an Airtable base. No more copy-pasting — everything lands right where it should. Steps to follow Create your Airtable base Start by creating a base named Leads (or whatever you prefer), with a table called Form Submissions. Add the following columns in this exact order so everything maps correctly later: Generate an Airtable token So n8n can send data into your base: Go to 👉 [ https://airtable.com/create/tokens](https://airtable.com/create/tokens ) Click Create token Give it a name (e.g. Tally Automation) Check the following permissions: data.records:read data.records:write schema.bases:read Under Base access, either choose your base manually or select “All current and future bases” Click Create token and copy the generated key Add configure the Airtable node in n8n Node: Airtable Operation: Create Authentication: Personal Access Token Paste your token n8n will suggest your base and table (or you can manually grab the IDs from the URL: https://airtable.com/appXXXXXXXX/tblYYYYYYYY/...) Map your fields Inside the Airtable node, add the following field mappings: Every new Tally form submission automatically creates a new row in your Airtable base. STEP 4 — Send an Automatic Confirmation Email Goal Send a professional email as soon as a form is completed Steps to follow Add a Wait node You don’t want the email to go out instantly — it feels cold and robotic. → Add a Wait node right after Airtable. Mode: Wait for a period of time Delay: 5 to 10 minutes Unit: Minutes Add a Gmail > Send Email node Authentication: OAuth2 Connect a Gmail account (business or test) ⚠️ No API keys here — Gmail requires OAuth. Configure the Send Email node Field Value Credential to connect with Gmail account via OAuth2 Resource : Message Operation : Send To : {{ $json.fields["Email"] }} Subject : Thanks for reaching out! Email Type : HTML Message: (but do the mapping correctly using the Input so that lead receives its name correctly ) End of the Workflow And that’s it — your automation is live! Your lead fills out the Tally form → the info goes to Airtable → they get a clean, professional email without you doing a thing.
by Sirisak Chantanate
Workflow overview: This workflow is designed for dynamic and intelligent conversational capabilities. It incorporates Meta's llama3.3-versatile model for personal assistant. There are no issues when sending simple text to the LINE reply API, so in this workflow you can see how to handle large and complex text sending from AI chat without any errors. Workflow description: User uses Line Messaging API to send message to the chatbot, create line business ID from here: Line Business Set the message from Step 1 to the proper value Send the message to process at Groq using API key that we have created from Groq Send the reply message from AI Agent back to Line Messaging API account Key Features: Utilizes Meta's llama 3.3 model for robust conversational capabilities Handles large and complex text interactions with ease, ensuring reliable connections to LINE Messaging API Demonstrates effective strategies for processing and responding to large and complex text inputs from AI chat To use this template, you need to be on n8n version 1.79.0 or later.
by Sarfaraz Muhammad Sajib
Daily Currency Update Workflow (n8n) Trigger: ScheduleTrigger node (configurable interval) Set Variables: API Key, Preferred Currencies (PKR, GBP, EUR, USD, BDT, INR) HTTP Request: Fetch latest exchange rates from CurrencyFreaks API Set Recipient Email Set Email Subject Send Email: HTML formatted via Gmail OAuth2 with dynamic rate data (date, base currency, rates) Flow: ScheduleTrigger → Set API Key & Currencies → HTTP Request → Set Recipient → Set Subject → Gmail Send
by Miquel Colomer
Do you want to check the SSL certificate expiration dates of your customers or servers? This workflow gets information of an SSL certificate using the uProc Get Certificate by domain tool. You can use this workflow to query SSL certificates in bulk and send alarms when any certificate has expired. You need to add your credentials (Email and API Key - real -) located at Integration section to n8n. You can replace "Create Domain Item" with any integration containing a domain, like Google Sheets, MySQL, or Zabbix server. Every "uProc" node returns the next fields per every analyzed SSL certificate: issuer: Contains the issuer. provider: Contains the provider. valid_from: Contains the start date. valid_to: Contains the end date. serial_number: Contains the serial number. type: Contains if supports one or multiple domains. protocol: Contains the protocol. valid: Contains its validity. domains: Contains all domains and subdomains supported. An "IF" node detects if the certificate is valid or not. Finally, the workflow sends an alarm to a Telegram channel to know if the certificate has expired.
by Dhrumil Patel
This n8n workflow template is designed to route user input to specialized agents (like a Reminder Agent, Email Agent, etc.) using a structured output from a language model. Here's a complete description of what it does and how each part works: 🔁 Workflow Purpose: This template receives a user's request via Webhook, processes it using an LLM, extracts structured data like the agent name and user query, and routes the input to the appropriate sub-workflow (agent) based on the specified agent type. 🧩 Workflow Breakdown: 1. Webhook (Trigger) Node: Webhook Purpose: Accepts a POST request from any frontend or API source. It contains the raw user input. 2. GPT Model (LLM Inference) Node: GPT 4o Mini Purpose: Interprets the user input and determines: Which agent should handle it (e.g., "Reminder Agent", "Email Agent", etc.) The actual user request (in structured format) 3. Auto-Fixing Output Parser Node: Auto-fixing Output Parser Purpose: Ensures that the output from the LLM matches the expected structure. If there's a mismatch, it automatically corrects it using a re-prompt. 4. Structured Output Parser Node: Structured Output Parser Purpose: Converts the language model's response into a strict JSON structure with keys like: "Agent Name" "user input" "sessionID" 5. Agent Router Node: Switch ("Agent Route") Purpose: Based on "Agent Name", it routes the input to one of the following sub-workflows: 📅 Reminder Agent 📧 Email Agent 🧾 Document Agent 🤝 Meeting Agent 6. Sub-Workflow Call (Execute Workflow) Each agent is implemented as a separate n8n workflow: The input is forwarded to the selected agent. For example, if "Agent Name" is "Reminder Agent", the workflow "Reminder Agent" is called with "user input". 7. Webhook Response After the sub-agent workflow finishes, a Respond to Webhook node sends the output back as an HTTP response. ✅ Key Features: Fully modular and extensible LLM-driven routing using OpenRouter GPT-4o Auto-corrects structured output errors Clean separation of concerns (agent logic is decoupled in sub-workflows) Easily add more agents by updating the switch logic 📦 Use Case Examples: User says: “Remind me to call my mom tomorrow.” → Routed to Reminder Agent User says: “Send an email to the HR team.” → Routed to Email Agent User says: “Schedule a meeting with John next week.” → Routed to Meeting Agent
by Mutasem
Use case If you have a form where potential leads reach out, then you probably want to analyze those leads and send a notification if certain requirements are met, e.g. employee number is high enough. MadKudu is built exactly to solve this problem. We use it along with Hunter and Telegram to get a message for high quality leads. How to setup Add you MadKudu, Hunter, and Telegram credentials Set the Telegram chat id to send to Click the Test Workflow button, enter your email and check your email Activate the workflow and use the form trigger production URL to collect your leads in a smart way How to adjust this template You may want to raise or lower the threshold for your leads, as you see fit.
by kreonovo
What it does: This automation will dynamically create Slack channels for your Webflow forms and send formatted messages to those channels for every form submission you receive. When a new form is dedected, a message is sent in the #general Slack channel with a hyperlink to the new channel. This is useful for: Webflow form submissions can only notify a single user email as standard, but by using this workflow you can notify team members of new submissions instead of having to login into Webflow to go download form submissions. Usage guide Full written and video guide The main steps are to create credentials for Webflow and Slack, connect them, and start using the workflow. The video guide illustrates a realword usecase using a Webflow template. The video also breaks down each node in detail to explain what it does in case you want to make modifications.
by Ankur Parag Kulkarni
This project presents an intelligent email management system powered by advanced artificial intelligence. It utilizes Google's Gemini 2.0 AI model to automatically categorize incoming emails into queries, project updates, and feedback, and generates context-specific responses in real time. Approach: The system processes emails promptly, ensuring consistent and timely communication. In addition to crafting automated replies, it streamlines workflow efficiency by sending calendar invitations for meetings without manual intervention. Results: The Smart Email Auto-Responder enhances email management by marking emails as read, applying appropriate labels, and systematically logging correspondence. This significantly reduces manual workload while improving client engagement and operational productivity.
by Oneclick AI Squad
This n8n workflow transforms simple chat requests into professional Center of Excellence (COE) blog posts using AI, then automatically publishes them to Google Drive. What Is This? An intelligent blog creation system that takes a topic from chat and produces executive-level blog posts. Uses three AI stages to ensure high-quality, professional content suitable for business consumption. Why Use This? Professional Content**: Creates sophisticated blogs with business insights Save Time**: Topic to published blog in 2-3 minutes No Writing Skills Needed**: AI handles all the writing and formatting Auto-Publishing**: Creates and shares Google Docs automatically Easy to Use**: Just chat your topic, get your blog How It Works 1. Blog Request & Planning Start Blog Request**: Chat interface receives your blog topic Create Blog Outline**: AI generates structured outline with sections AI Brain for Outline**: Powers the initial content planning 2. Content Review & Writing Review & Fix Outline**: AI improves outline structure and flow Write Full Blog Post**: Transforms outline into complete professional blog AI Brain for Review/Writing**: Advanced AI models handle content creation 3. Publish & Share Blog Clean Up Text Format**: Removes formatting issues for clean presentation Save Blog to Google Drive**: Creates properly formatted Google Doc Email Blog to Stakeholder**: Shares with specified team members Make Blog Public**: Creates shareable public link Send Blog Link to User**: Returns document URL via chat How to Use Start Chat: Access the chat interface and type your blog topic Wait: AI automatically processes (2-3 minutes) Get Your Blog: Receive Google Drive link to your published blog Good to Know Processing Time**: 2-3 minutes per blog Content Quality**: Uses advanced Gemini AI models for professional output Auto-Formatting**: Creates clean Google Docs ready for sharing Instant Sharing**: Stakeholders get email notifications automatically Public Access**: Generates shareable links for broader distribution Customizing This Workflow Content Style Modify AI prompts to match your company's writing tone Adjust content evaluation criteria for different audiences Change blog structure templates Publishing & Sharing Update stakeholder email addresses Change Google Drive folder destinations Modify sharing permissions (public/private) Add more distribution channels AI Enhancement Switch between different AI models for speed vs quality Add more review stages for specialized content Include company-specific knowledge sources
by Max Tkacz
This workflow is a generic example of how to load data from your workflow into a destination that stores tabular data. For example, a Google Sheets or Airtable sheet, a .CSV file, or any relational database like MySQL. Generally, you need to ensure that you send well-formatted data into the Spreadsheet or Database node. You can use the Set or Function node to transform data into the correct format for your destination. Key concepts Spreadsheets and databases have columns, like "Name" and "Email". The data you send into a Spreadsheet/ Database node needs to match these column names for each row of data that you want to insert. Data points need to be represented as key-value pairs. Specifically, each item of data needs to have a JSON key for each column in the sheet. For a spreadsheet with "Name" and "Email" columns, it would look like: {"Name" : "Karla", "Email" : "karla@email.com"} Before appending or inserting data to a spreadsheet or database, you might need to transform it into the correct format. You can preprocess the data with a Set or Function node. The Set node allows you to perform simple transforms when the data you want to load into spreadsheet rows is already represented as items. Use the Function node when you need to map nested data (like arrays) inside a single item to their own top-level items (Example in community forums). Spreadsheet and database nodes in n8n perform their configured action (like Append, Create Row, Write to File) on each item of input data. Workflow walkthrough
by Oneclick AI Squad
This AI-powered workflow reads emails, understands the request using an LLM, and creates structured Jira issues. Key Insights Poll for new emails every 5 minutes; ensure Gmail/IMAP is properly configured. AI analysis requires a reliable LLM model (e.g., Chat Model or AI Tool). Workflow Process Trigger the workflow with the Check for New Emails Gmail Trigger node. Fetch full email content using the Fetch Full Email Content get message node. Analyze email content with the Analyze Email & Extract Tasks node using AI. Parse the AI-generated JSON output into tasks with the Parse JSON Output from AI node. Create the main Jira issue with the Jira - Create Main Issue create: issue node. Split subtasks from JSON and create them with the Split Subtasks JSON Items and Create Subtasks create: issue nodes. Usage Guide Import the workflow into n8n and configure Gmail and Jira credentials. Test with a sample email to ensure ticket creation and subtask assignment. Prerequisites Gmail/IMAP credentials for email polling Jira API credentials with issue creation permissions Customization Options Adjust the Analyze Email & Extract Tasks node to refine AI task extraction or modify the polling frequency in the trigger node.