RAG Starter Template using Simple Vector Stores, Form trigger and OpenAI
This template quickly shows how to use RAG in n8n. Who is this for? This template is for everyone who wants to start giving knowledge to their Agents through RAG. Requirements Have a PDF with custom knowledge that you want to provide to your agent. Setup No setup required. Just hit Execute Workflow, upload your knowledge document and then start chatting. How to customize this to your needs Add custom instructions to your Agent by changing the prompts in it. Add a different way to load in knowledge to your vector store, e.g. by looking at some Google Drive files or loading knowledge from a table. Exchange the Simple Vector Store nodes with your own vector store tools ready for production. Add a more sophisticated way to rank files found in the vector store. For more information read our docs on RAG in n8n.
🐋DeepSeek V3 chat & R1 reasoning quick start
This n8n workflow demonstrates multiple ways to harness DeepSeek's AI models in your automation pipeline! 🌟 Core Features Multiple Integration Methods 🔌 Local deployment using Ollama for DeepSeek-R1 Direct API integration with DeepSeek Chat V3 Conversational agent with memory buffer HTTP request implementation with both raw and JSON formats Model Options 🧠 DeepSeek Chat V3 for general conversation DeepSeek-R1 for advanced reasoning Memory-enabled agent for persistent context Quick Setup 🛠️ API Configuration Base URL: https://api.deepseek.com Get your API key from platform.deepseek.com/api_keys Local Setup 💻 Install Ollama for local deployment Set up DeepSeek-R1 via Ollama Configure local credentials in n8n Implementation Details 🔧 Conversational Agent Window Buffer Memory for context Customizable system messages Built-in error handling with retries API Endpoints 🌐 Chat completions for V3 and R1 models OpenAI API format compatibles
Extract text from images with Telegram Bot & OCR Tesseractjs
Description This n8n workflow enables users to send an image to a Telegram bot and receive the extracted text using Tesseract OCR (via the n8n-nodes-tesseractjs Community Node). It's a quick and straightforward way to convert images into readable text directly through chat. How it Works The workflow listens for new image messages coming in via the Telegram bot. Once an image is received, it downloads the image file from Telegram (which initially arrives as application/octet-stream). The image data, now properly identified, is then sent to the Tesseract OCR node to extract the text. Finally, the recognized text is sent back as a reply to the Telegram user. Setup Steps Install Community Node: Ensure you have installed n8n-nodes-tesseractjs in your n8n instance. Connect Telegram Bot: Configure the Telegram Trigger node with your Telegram bot. Bot Token: Add your Telegram bot token to the Send Message node to send replies. Deploy & Test: Activate (deploy) the workflow and send an image to your Telegram bot to test.
Automated end-to-end fine-tuning of OpenAI models with Google Drive integration
How it Works This n8n workflow automates fine-tuning OpenAI models through these key steps: Manual Trigger: Starts with the "When clicking ‘Test workflow’" event to initiate the process. Downloads a .jsonl file from Google Drive Upload to OpenAI: Uploads the .jsonl file to OpenAI via the "Upload File" node (with purpose "fine-tune"). Create Fine-tuning Job: Sends a POST request to the endpoint https://api.openai.com/v1/fine_tuning/jobs with: json { "training_file": "{{ $json.id }}", "model": "gpt-4o-mini-2024-07-18" } OpenAI automatically starts training the model based on the provided file. Interaction with the Trained Model: An "AI Agent" uses the custom model (e.g., ft:gpt-4o-mini-2024-07-18:n3w-italia::XXXX7B) to respond to chat messages. --- Set up Steps To configure the workflow: Prepare the Training File: Create a .jsonl file following the specified syntax (e.g., travel assistant Q/A examples). Upload it to Google Drive and update the ID in the "Google Drive" node. Configure Credentials: Google Drive: Connect an account via OAuth2 (googleDriveOAuth2Api). OpenAI: Add your API key in the "OpenAI Chat Model" and "Upload File" nodes. Customize the Model: In the "OpenAI Chat Model" node, specify the name of your fine-tuned model (e.g., ft:gpt-4o-mini-...). Update the HTTP request body (Create Fine-tuning Job) if needed (e.g., a different base model). Start the Workflow: Use the manual trigger ("Test workflow") to begin the upload and training process. Test the model via the "Chat Trigger" (chat messages). Integrated Documentation: Follow the instructions in the Sticky Notes to: Properly format the .jsonl (Step 1). Monitor progress on OpenAI (Step 2, link: https://platform.openai.com/finetune/). --- Note: Ensure the .jsonl file adheres to OpenAI’s required structure and that credentials are valid.
Mark outdated workflow nodes on canvas and send a summary with Gmail (add-on)
This is an add-on for the template Check if workflows contain build-in nodes that are not of the latest version Purpose This workflow highlights outdated nodes within all workflows of a single n8n instance and places an updated preconfigured node right next to it, so it can be swapped easily. How it works The parent workflow checks the entire n8n instance for outdated nodes within all workflows and passes a list of those alongside some metadata to this workflow This workflow then processes that data and updates the affected workflows Outdated nodes are renamed by prepending an emoji (default: ⚠️) - this is also used for future checks to prevent from double-processing The latest version of each outdated node is added to the workflow canvas (not wired up) behind the old one, slightly shifted in position An Email is sent with a list of modified workflows In the settings it is possible to define: which symbol/emoji should be prepended to outdated notes whether to include only major node updates or all of them whether to add the new nodes to the canvas or not Setup Clone this template to your n8n instance Update the Settings node by setting at least the base URL of your n8n instance Set a recipient in the Gmail node Clone the parent template to your n8n instance and configure it as described in it’s description Add an “Execute Workflow” node to the end of the parent workflow and configure it, so it calls this workflow How to use Execute the parent workflow and check your Email Inbox. All linked workflows should contain one or more updated nodes with an emoji prepended to their names. Disclaimer Beware, that major updates can cause migrations of nodes to fail, since their structure can differ. So always compare the old nodes with the newly created, if all parameters still meet the requirements. Be careful when executing this workflow on a production environment, since it directly modifies your workflows. It is advisable to run this on your testing environment and migrate successfully tested workflows to your production environment using git or manually.
Pattern for multiple triggers combined to continue workflow
Overview This template describes a possible approach to handle a pseudo-callback/trigger from an independent, external process (initiated from a workflow) and combine the received input with the workflow execution that is already in progress. This requires the external system to pass through some context information (resumeUrl), but allows the "primary" workflow execution to continue with BOTH its own (previous-node) context, AND the input received in the "secondary" trigger/process. Primary Workflow Trigger/Execution The workflow path from the primary trigger initiates some external, independent process and provides "context" which includes the value of $execution.resumeUrl. This execution then reaches a Wait node configured with Resume - On Webhook Call and stops until a call to resumeUrl is received. External, Independent Process The external, independent process could be anything like a Telegram conversation, or a web-service as long as: it results in a single execution of the Secondary Workflow Trigger, and it can pass through the value of resumeUrl associated with the Primary Workflow Execution Secondary Workflow Trigger/Execution The secondary workflow execution can start with any kind of trigger as long as part of the input can include the resumeUrl. To combine / rejoin the primary workflow execution, this execution passes along whatever it receives from its trigger input to the resume-webhook endpoint on the Wait node. Notes IMPORTANT: The workflow ids in the Set nodes marked Update Me have embedded references to the workflow IDs in the original system. They will need to be CHANGED to make this demo work. Note: The Resume Other Workflow Execution node in the template uses the $env.WEBHOOK_URL configuration to convert to an internal "localhost" call in a Docker environment. This can be done differently. ALERT: This pattern is NOT suitable for a workflow that handles multiple items because the first workflow execution will only be waiting for one callback. The second workflow (not the second trigger in the first workflow) is just to demonstrate how the Independent, External Process needs to work.
Website content chatbot with Pinecone, Airtable & OpenAI for RAG applications
This n8n workflow shows how to extract website content, index it in Pinecone, and leverage Airtable to power a chat agent for customer Q&A. Use cases include: Building a knowledge base from your website. Creating a chatbot that answers customer queries using your own site content. Powering RAG workflows for FAQs, support docs, or product knowledge. --- How it works Workflow starts with a manual trigger or chat message. Website content is fetched via HTTP Request. The HTML body is extracted and converted into clean Markdown. Text is split into chunks (~500 chars with 50 overlap) using the Character Text Splitter. OpenAI embeddings are generated for each chunk. Content and embeddings are stored in Pinecone with namespace separation. A Chat Agent (powered by OpenAI or OpenRouter) retrieves answers from Pinecone and Airtable. Memory buffer allows multi-turn conversations. A billing tool (Airtable) provides dynamic billing-related answers when needed. --- How to use Replace the sample website URL in the HTTP Request node with your own domain or content source. Update Normalize code based on markdown content output to remove noise. Adjust chunk size in the Text Splitter for your website markdown output. In this example, the Character Text Splitter with separator worked really well. Always check the Markdown output to fine-tune your splitting logic. Update Pinecone namespace to match your project. Customize the Chat Agent system prompt to fit your brand voice and response rules. Connect to your own Airtable schema if you want live billing/payment data access. --- Requirements OpenAI account (for embeddings + chat model). Pinecone account (vector DB for semantic search). Airtable account (if using the billing tool). (Optional) OpenRouter account (alternative chat model provider). n8n self-hosted or cloud. --- Need Help? Ask in the n8n Forum! Happy Automating! 🚀
Transform product images to marketing ads using Google Gemini AI
Transform Product Photos into Marketing Images with AI Made by Biznova | TikTok --- 🎯 Who's it for E-commerce sellers, social media marketers, small business owners, and content creators who need professional product advertising images without expensive photoshoots or graphic designers. ✨ What it does This workflow automatically transforms simple product photos into polished, professional marketing images featuring: Professional models showcasing your product Aesthetically pleasing, contextual backgrounds Professional lighting and composition Lifestyle scenes that help customers envision using the product Commercial-ready quality suitable for ads and e-commerce 🚀 How it works Upload your basic product photo via the web form AI analyzes your product and generates a complete marketing scene Download your professional marketing image automatically Use it immediately in ads, social media, or product listings ⚙️ Setup Requirements OpenRouter Account: Create a free account at openrouter.ai API Key: Generate your API key from the OpenRouter dashboard Add Credentials: Configure the OpenRouter API credentials in the "AI Marketing Image Generator" node Test: Upload a sample product image to test the workflow 🎨 How to customize Edit the prompt in the "AI Marketing Image Generator" node to match your brand style Adjust file formats in the upload form (currently accepts JPG/PNG) Modify the response message in the final form node Add your branding by including brand colors or style preferences in the prompt 💡 Pro Tips Use high-resolution product images for best results Test different prompt variations to find your ideal style Save successful prompts for consistent brand imagery Batch process multiple products by running the workflow multiple times 🔧 Quick Setup Guide Prerequisites OpenRouter account (Sign up here) API key from OpenRouter dashboard Configuration Steps Click on "AI Marketing Image Generator" node Add your OpenRouter API credentials Save and activate the workflow Test with a product image Customization To change the image style: Edit the prompt in the "AI Marketing Image Generator" node Add specific instructions about colors, mood, or setting Include brand-specific requirements Example custom prompt additions: "Use a minimalist white background" "Feature a modern, urban setting" "Include warm, natural lighting" "Show the product in a luxury lifestyle context"
Translate instructions using LingvaNex
No description available.
Website intelligence & lead scoring with ScrapeGraphAI, HubSpot and Slack
How it works This workflow automatically analyzes website visitors in real-time, enriches their data with company intelligence, and provides lead scoring and sales alerts. Key Steps Webhook Trigger - Receives visitor data from your website tracking system. AI-Powered Company Intelligence - Uses ScrapeGraphAI to extract comprehensive company information from visitor domains. Visitor Enrichment - Combines visitor behavior data with company intelligence to create detailed visitor profiles. Lead Scoring - Automatically scores leads based on company size, industry, engagement, and intent signals. CRM Integration - Updates your CRM with enriched visitor data and lead scores. Sales Alerts - Sends real-time notifications to your sales team for high-priority leads. Set up steps Setup time: 10-15 minutes Configure ScrapeGraphAI credentials - Add your ScrapeGraphAI API key for company intelligence gathering. Set up HubSpot connection - Connect your HubSpot CRM to automatically update contact records. Configure Slack integration - Set up your Slack workspace and specify the sales alert channel. Customize lead scoring criteria - Adjust the scoring algorithm to match your target customer profile. Set up website tracking - Configure your website to send visitor data to the webhook endpoint. Test the workflow - Verify all integrations are working correctly with a test visitor. Key Features Real-time visitor analysis with company intelligence enrichment Automated lead scoring based on multiple factors (company size, industry, engagement) Intent signal detection (pricing interest, demo requests, contact intent) Priority-based sales alerts with recommended actions CRM integration for seamless lead management Deal size estimation based on company characteristics
Auto-create GitHub PRs & JIRA updates from git commit commands (multi-repo)
This n8n template from Intuz provides a complete and automated solution for scaling your DevOps practices across multiple repositories. Are you tired of the repetitive dance between git push, creating a pull request in GitHub, updating the corresponding task in JIRA, and then manually notifying your team in Slack, or Notion? This template puts your entire post-commit workflow on autopilot, creating a seamless and intelligent bridge between your code and your project management. By embedding specific keywords and a JIRA issue ID into your git commit commands, this workflow automatically creates a Pull Request in the correct GitHub repository and updates the corresponding JIRA ticket. This creates a complete, centralized system that keeps all your projects synchronized, providing a massive efficiency boost for teams managing a diverse portfolio of codebases. Who This Template Is For? This template is a must-have for any organization looking to streamline its software development lifecycle (SDLC). It’s perfect for: Development Teams: Eliminate tedious, manual tasks and enforce a consistent workflow, allowing developers to stay focused on coding. DevOps Engineers: A ready-to-deploy solution that integrates key developer tools without weeks of custom scripting. Engineering Managers & Team Leads: Gain real-time visibility into development progress and ensure processes are followed without constant check-ins. Project Managers: Get accurate, automatic updates in JIRA the moment development work is completed, improving project tracking and forecasting. Step-by-Step Setup Instructions Follow these steps carefully to configure the workflow for your environment. Connect Your Tools (Credentials) GitHub: Create credentials with repo scope to allow PR creation. JIRA: Create an API token and connect your JIRA Cloud or Server instance. Slack: Connect your Slack workspace using OAuth2. Notion: Connect your Notion integration token. Configure the GitHub Webhook (For Each Repository) This workflow is triggered by a GitHub webhook. You must add it to every repository you want to automate. First, Save and Activate the n8n workflow to ensure the webhook URL is live. In the n8n workflow, copy the Production URL from the Webhook node. Go to your GitHub repository and navigate to Settings > Webhooks > Add webhook. In the Payload URL field, paste the n8n webhook URL. Change the Content type to application/json. Under "Which events would you like to trigger this webhook?", select "Just the push event." Click "Add webhook." Repeat this for all relevant repositories. Configure the JIRA Nodes (Crucial Step) Your JIRA project has unique IDs for its statuses. You must update the workflow to match yours. Find the two JIRA nodes named "Update task status after PR" and "Update the task status without PR." In each node, go to the Status ID field. Click the dropdown and select the status that corresponds to "Done" or "Development Done" in your specific JIRA project workflow. The list is fetched directly from your connected JIRA instance. Configure Notification Nodes Tell the workflow where to send updates. For Slack: Open the two nodes named "Send message in slack..." and select your desired channel from the Channel ID dropdown. For Notion: Open the two nodes named "Append a block in notion..." and paste the URL of the target Notion page or database into the Block ID field. Final Activation Once all configurations are complete, ensure the workflow is Saved and the toggle switch is set to Active. You are now ready to automate! Customization Guidance This template is a powerful foundation. Here’s how you can adapt it to your team's specific needs. Changing the PR Title or Body: Go to the "Request to create PR" (HTTP Request) node. In the JSON Body field, you can edit the title and body expressions. For example, you could add the committer's name ({{$('Webhook').item.json.body.pusher.name }}) or a link back to the JIRA task. Adapting to a Fixed Branching Strategy: If your team always creates pull requests against a single branch (e.g., develop), you can simplify the workflow. In the "Request to create PR" node, change the base value in the JSON body from {{...}} to your static branch name: "base": "develop". You can then remove the base branch logic from the "Commit Message Breakdown" (Code) node. Modifying Notification Messages: The text sent to Slack and Notion is fully customizable. Open any of the Slack or Notion nodes and edit the text fields. You can include any data from previous nodes, such as the PR URL ({{ $('Request to create PR').item.json.body.html_url }}) or the repository name. Adjusting the Commit Regex for Different Conventions: This is an advanced customization. If your team uses a different commit format (e.g., (DEV-123) instead of DEV-123), you can edit the regular expression in the "Commit Message Breakdown" (Code) node. Be sure to test your changes carefully. Adding/Removing Notification Channels: Don't use Notion? Simply delete the two Notion nodes. Want to send an email instead? Add a Gmail or SMTP node in parallel with a Slack node and configure it with the same data. Connect with us Website: https://www.intuz.com/services Email: getstarted@intuz.com LinkedIn: https://www.linkedin.com/company/intuz Get Started: https://n8n.partnerlinks.io/intuz For Custom Worflow Automation Click here- Get Started
Monitor bank transactions with multi-channel alerts for accounting teams
Enhance financial oversight with this automated n8n workflow. Triggered every 5 minutes, it fetches real-time bank transactions via an API, enriches and transforms the data, and applies smart logic to detect critical, high, and medium priority alerts based on error conditions, amounts, or risk scores. It sends multi-channel notifications via email and Slack, logs all data to Google Sheets, and generates summary statistics for comprehensive tracking. 💰🚨 Key Features Real-time monitoring every 5 minutes for instant alerts. Smart prioritization (Critical, High, Medium) based on risk and errors. Multi-channel notifications via email and Slack. Detailed logging and summary reports in Google Sheets. How It Works Schedule Trigger: Runs every 5 minutes. Fetch Transactions: HTTP request retrieves real-time transaction data. API Error?: If condition for error logic is met, sends error alert. Enrich & Transform Data: Advanced risk calculation enhances data. Critical Alert?: If condition (50% or risk > 8) is met, raises alert. High Priority?: If condition (5% or risk > 7) is met, raises alert. Medium Priority?: If condition is met, raises alert. Log Priority to Sheet: Google Sheets appends critical, high, or medium priority data. Send Critical Email: HTML email to execute sheets append. Send High Priority Email: Email to finance team. Send High Priority Slack: Slack notification to finance team. Send Medium Priority Email: Email to finance team. Merge All Alerts: Combines all alerts for comprehensive tracking. Generate Summary Stats: Code block for analytics. Log Summary to Sheet: Summary statistics storage. Setup Instructions Import the workflow into n8n and configure the bank API credentials in "Fetch Transactions." Set up Google Sheets OAuth2 and replace the sheet ID for logging nodes. Configure Gmail API Key and Slack Bot Token for alerts. Test the workflow with sample transaction data exceeding risk or amount thresholds. Adjust priority conditions (e.g., 50%, 5%, risk > 8) based on your risk policy. Prerequisites Bank API access with real-time transaction data (e.g., https://api.bank.com) Google Sheets OAuth2 credentials Gmail API Key for email alerts Slack Bot Token (with chat:write permissions) Structured transaction data format Google Sheet Structure: Create a sheet with columns: Transaction ID Amount Date Risk Score Priority (Critical/High/Medium) Alert Sent Summary Stats Updated At Modification Options Adjust the "Schedule Trigger" interval (e.g., every 10 minutes). Modify "Critical Alert?" and "High Priority?" conditions for custom thresholds. Customize email and Slack templates with branded messaging. Integrate with fraud detection tools for enhanced risk analysis. Enhance "Generate Summary Stats" with additional metrics (e.g., average risk). Discover more workflows – Get in touch with us