Workflow Templates
Discover and use pre-built workflows to automate your tasks
1495 templates found
Discover and use pre-built workflows to automate your tasks
1495 templates found
by Daniel Nolde
What it is: In version 1.78, n8n introduced a dedicated node to use the OpenRouter service, which lets you to use a lot of different LLM models and providers and change models on the fly in an agentic workflow. For prior n8n versions, there's a workaround to make OpenRouter accessible, by using the OpenAI node with a OpenRouter-specific BaseURL. This trivial workflow demonstrates this for version before 1.78, so that you can use different LLM model dynamically with the available n8n nodes for OpenAI LLM and OpenAI credentials. What you can do: Use any of the OpenRouter models Have the model even dynamically configured or changing (by some external config, some rule, or some specific chat message) Setup steps: Import the workflow Ensure you have registered and account, purchased some credits and created and API key for OpenRouter.ai Configure the "OpenRouter" credentials with your own credentials, using an OpenAI type credential, but making sure in the credential's config form its "Base URL" is set to https://openrouter.ai/api/v1 so OpenRouter is used instead of OpenAI. Open the "Settings" node and change the model value to any valid model id from the OpenRouter models list or even have the model property set dynamically
by Obsidi8n
I am submitting this workflow for the Obsidian community to showcase the potential of integrating Obsidian with n8n. While straightforward, it serves as a compelling demonstration of the potential unlocked by integrating Obsidian with n8n. How it works This workflow lets you retrieve specific Airtable data you need in seconds, directly within your Obsidian note, using n8n. By highlighting a question in Obsidian and sending it to a webhook via the Post Webhook Plugin, you can fetch specific data from your Airtable base and instantly insert the response back into your note. The workflow leverages OpenAI’s GPT model to interpret your query, extract relevant data from Airtable, and format the result for seamless integration into your note. Set up steps Install the Post Webhook Plugin: Add this plugin to your Obsidian vault from the plugin store or GitHub. Set up the n8n Webhook: Copy the webhook URL generated in this workflow and insert it into the Post Webhook Plugin's settings in Obsidian. Configure Airtable Access: Link your Airtable account and specify the desired base and table to pull data from. Test the Workflow: Highlight a question in your Obsidian note, use the “Send Selection to Webhook” command, and verify that data is returned as expected.
by Babish Shrestha
Who is this tempate for? This workflow powers a simple yet effective customer and sales support chatbot for your webshop. It's perfect for solopreneurs who want to automate customer interactions without relying on expensive or complex support tools. How it works? The chatbot listens to user requests—such as checking product availability—and automatically handles the following Fetches product information from a Google Sheet Answers customer queries Places an order Updates the stock after a successful purchase Everything runs through a single Google Sheet used for both stock tracking and order management. Setup Instructions Before you begin, connect your Google Sheets credentials by following this guide: This will be used to connect all the tools to Google Sheets 👉 Setup Google sheets credentials Get Stock Open "Get Stock" tool node and select the Google sheet credentials you created. Choose the correct google sheet document and sheet name and you are done. Place order Go to your "Place Order" tool node and select the Google sheet credentials you have created. Choose the correct google sheet document and sheet name. Update Stock - Open your "Update Stock" tool node and select the Google sheet credentials you have created. Choose the correct google sheet document and sheet name. In "Mapping Column Mode" section select map each column manually. In "Column to match on" select the column with a unique identifier (e.g., Product ID) to match stock items. In values to update section, add only the column(s) that need to be updated—usually the stock count. AI Agent node Adjust the prompt according to your use case and customize what you need. Google Sheet Template Stock sheet |Case ID|Phone Model|Case Name|Case Type|Image URL|Quantity Avaialble|Initital Inventory|Sold| |-|-|-|-|-|-|-|-| |1023|Iphone 14 pro|Black Leather|Magsafe|https://example.com/url|90|100|10 Order sheet |Case ID|Phone Model|Case Name|Name|Phone Number|Address| |-|-|-|-|-|-| |1023|Black Leather |Iphone 14 pro|Fernando Torres|9998898888|Paris, France
by Leonard
Who is this for? This workflow is designed for SEO specialists, content creators, marketers, and website developers who want to ensure their web content is easily accessible, understandable, and indexable by Large Language Models (LLMs) like ChatGPT, Perplexity, and Google AI Overviews. If you're looking to optimize your site for the evolving AI-driven search landscape, this template is for you. What problem is this workflow solving? / Use case Modern AI tools often crawl websites without executing JavaScript. This can lead to them "seeing" a very different version of your page than a human user or traditional search engine bot might. This workflow helps you: Identify how much of your content is visible without JavaScript. Check for crucial on-page SEO elements that AI relies on (headings, meta descriptions, structured data). Detect if your site presents JavaScript-blocking warnings. Get an AI-generated readability score and actionable recommendations to improve AI-friendliness. What this workflow does Receives a URL via a chat interface. Sanitizes the input URL to ensure it's correctly formatted. Fetches the website's HTML content, simulating a non-JavaScript crawler (like Googlebot). Extracts key HTML features: visible text length, presence of H1/H2/H3 tags, meta description, Open Graph data, structured data (JSON-LD), and <noscript> tags. It also checks for common JavaScript-blocking messages. Performs an AI SEO Analysis using an LLM (via OpenAI) based on the extracted features. Provides a report including an AI Readability Score (0-10), a summary, actionable recommendations, and a reminder to check the robots.txt file for AI bot access. Setup Estimated setup time:** 2-5 minutes. Import this workflow into your n8n instance. Ensure you have an OpenAI account and API key. Configure the "OpenAI Chat Model" node with your OpenAI API credentials. If you don't have credentials set up yet, create new ones in n8n. Activate the workflow. Interact with the chat interface provided by the "When chat message received" trigger node (you can access this via its webhook URL). How to customize this workflow to your needs Change LLM Model:** In the "OpenAI Chat Model" node, you can select a different model that suits your needs or budget. Adjust AI Prompt:** Modify the prompt in the "AI SEO Analysis" node (Chain Llm) to change the focus of the analysis or the format of the report. For example, you could ask for more technical details or a different scoring system. User-Agent:** The "Get HTML from Website" node uses a Googlebot User-Agent. You can change this to simulate other bots if needed. JS Block Indicators:** The "Extract HTML Features" node contains a list of common JavaScript-blocking phrases. You can expand this list with other languages or specific messages relevant to your checks.
by Lucas Peyrin
This workflow contains community nodes that are only compatible with the self-hosted version of n8n. How it works This workflow demonstrates how to create a resilient AI Agent that automatically falls back to a different language model if the primary one fails. This is useful for handling API errors, rate limits, or model outages without interrupting your process. State Initialization: The Agent Variables node initializes a fail_count to 0. This counter tracks how many models have been attempted. Dynamic Model Selection: The Fallback Models (a LangChain Code node) acts as a router. It receives a list of all connected AI models and, based on the current fail_count, selects which one to use for this attempt (0 for the first model, 1 for the second, etc.). Agent Execution: The AI Agent node attempts to run your prompt using the model selected by the router. The Fallback Loop: On Success: The workflow completes successfully. On Error: If the AI Agent node fails, its "On Error" output is triggered. This path loops back to the Agent Variables node, which increments the fail_count by 1. The process then repeats, causing the Fallback Models router to select the next model in the list. Final Failure: If all connected models are tried and fail, the workflow will stop with an error. Set up steps Setup time: ~3-5 minutes Configure Credentials: Ensure you have the necessary credentials (e.g., for OpenAI, Google AI) configured in your n8n instance. Define Your Model Chain: Add the AI model nodes you want to use to the canvas (e.g., OpenAI, Google Gemini, Anthropic). Connect them to the Fallback Models node. Important: The order in which you connect the models determines the fallback order. The model nodes first created/connected will be tried first. Set Your Prompt: Open the AI Agent node and enter the prompt you want to execute. Test: Run the workflow. To test the fallback logic, you can temporarily disable the First Model node or configure it with invalid credentials to force an error.
by Ryan
Who is this template for? This template is for any Microsoft Outlook user who wants a trained AI agent to reason and reply on their behalf. Teach your agent tone and writing style to replicate your own, or develop a persona for a shared inbox. Requirements Outlook with authentication credentials OpenAI account with authentication credentials A few sample email replies of various lengths and topics How it works: Connect your Outlook account. Select (filter) which email sender(s) your trained AI agent will reply to. [Tip: pick a sender that has some repeatability either with a topic (ie. sales) or an individual (coworker@yourcompany.com)] Connect your OpenAI account. Choose your AI model (ie. gpt-4o-mini) Add Prompt (User Message) and select "system message" from the option below Update the instructions by filling in your name (or persona), response style, and add full email replies from the topic or individual you want the AI agent to emulate. [Tip: Add actual replies from your email sent folder, including your greeting and sign off. Paste each email sample between a set of <example> .... </example> tags] Configure the reply (or reply all) to remain within the original email string Test it! Send an email from the address to which your agent wants to respond. Check your sent (or draft) folder for the result. Enjoy all the free time you now have!! If you have questions or need assistance, email us at: support@teambisonandbird.com ++This template does not include retrieving email addresses out of the message or body of the email.++
by Yar Malik (Asfandyar)
Intro This template is for project managers, team leads, or anyone who wants to automatically remind teammates of tasks due today—no manual copy‑and‑paste required. How it works Schedule Trigger runs every morning at 8 AM. Google Sheets node reads your “Tasks” sheet. If node filters rows where Due Date = today. Summarize (ChatGPT HTTP Request) generates a friendly reminder per person. Message a model sends the prompt to your ChatGPT Assistant and returns the AI response. Send a message (Gmail) emails each assignee their personalized reminder. Required Google Sheet Structure | Column Name | Type | Example | Notes | |-------------|--------|---------------------------|-------------------------| | Name | string | Alice Johnson | Person to remind | | Email | string | user@example.com | Recipient email address | | Task | string | Submit quarterly report | Task description | | Due Date | date | 2025‑07‑29 | Format: YYYY‑MM‑DD | Detailed Setup Steps Google Sheets Create your sheet with the columns above. In n8n → Credentials, add Google Sheets API (do not include real sheet IDs in the name). ChatGPT Assistant In the OpenAI Dashboard → Assistants, click Create Assistant. Choose a model (e.g., gpt-4), copy the Assistant ID. In n8n → Credentials → OpenAI, add your API Key and Assistant ID. Gmail In n8n → Credentials → Gmail (OAuth2 or SMTP), connect your account without embedding your real address in the credential name. Import & Configure Export this workflow’s JSON (three‑dot menu → Export). Paste it under Template Code in the Creator form. In each node, select your Google Sheets, OpenAI, and Gmail credentials. Sticky Notes A note on the Schedule node: “Set your desired run time.” A note on the ChatGPT node: “Customizes reminder text.” A note on the Gmail node: “Sends reminder email.” Customization Guidance Change schedule: edit the Cron expression in **Schedule Trigger. Adjust tone**: modify the system prompt in your ChatGPT Assistant. Email format: update **Subject and Body in the Gmail node. Batch processing: insert a **SplitInBatches node before Summarize for large sheets. Troubleshooting Ensure your Google Sheet is shared with the connected service account. Verify Due Date format (YYYY‑MM‑DD). If ChatGPT fails, check your API key and quota. Security & Best Practices Do not** hard‑code API keys, sheet IDs, or real emails. Use n8n Credentials or environment variables only. Remove any private information before submitting.
by Agent Studio
Overview This workflow answers user requests sent via Mac Shortcuts Several Shortcuts call the same webhook, with a query and a type of query Types of query are: translate to english translate to spanish correct grammar (without changing the actual content) make content shorter make content longer How it works Select a text you are writing Launch the shortcut The text is sent to the webhook Depending on the type of request, a different prompt is used Each request is sent to an OpenAI node The workflow responds to the request with the response from GPT Shortcut replace the selected text with the new one For a demo and setup instructions: How to use it Activate the workflow Download this Shortcut template Install the shortcut In step 2 of the shortcut, change the url of the Webhook In Shortcut details, "add Keyboard Shortcut" with the key you want to use to launch the shortcut Go to settings, advanced, check "Allow running scripts" You are ready to use the shortcut. Select a text and hit the keyboard shortcut you just defined
by Calistus Christian
How it works • Webhook → urlscan.io → GPT-4o mini → Gmail • Payload example: { "url": "https://example.com" } • urlscan.io returns a Scan ID and raw JSON. • AI node classifies the scan as malicious / suspicious / benign, assigns a 1-10 risk score, and writes a two-sentence summary. • Gmail sends an alert that includes the URL, Scan ID, AI verdict, screenshot link, and full report link. Set-up steps (~5 min) • Create three credentials in n8n urlscan.io API key OpenAI API key (GPT-4o mini access) Gmail OAuth (or SMTP) • Replace those fields in the nodes, or reference env vars like {{ $env.OPENAI_API_KEY }}. • Switch the Webhook to Production → copy the live URL. • Test with: curl -X POST <your-webhook-url> \ -H "Content-Type: application/json" \ -d '{ "url": "https://example.com" }'
by Robert Breen
This workflow introduces beginners to one of the most fundamental concepts in n8n: looping over items. Using a simple use case—generating LinkedIn captions for content ideas—it demonstrates how to split a dataset into individual items, process them with AI, and collect the output for review or export. ✅ Key Features 🧪 Create Dummy Data**: Simulate a small dataset of content ideas. 🔁 Loop Over Items**: Process each row independently using the SplitInBatches node. 🧠 AI Caption Creation**: Automatically generate LinkedIn captions using OpenAI. 🧰 Tool Integration**: Enhance AI output with creativity-injection tools. 🧾 Final Output Set**: Collect the original idea and generated caption. 🧰 What You’ll Need ✅ An OpenAI API key ✅ The LangChain nodes enabled in your n8n instance ✅ Basic knowledge of how to trigger and run workflows in n8n 🔧 Step-by-Step Setup 1️⃣ Run Workflow Node**: Manual Trigger (Run Workflow) Purpose**: Manually start the workflow for testing or learning. 2️⃣ Create Random Data Node**: Create Random Data (Code) What it does**: Simulates incoming data with multiple content ideas. Code**: return [ { json: { row_number: 2, id: 1, Date: '2025-07-30', idea: 'n8n rises to the top', caption: '', complete: '' } }, { json: { row_number: 3, id: 2, Date: '2025-07-31', idea: 'n8n nodes', caption: '', complete: '' } }, { json: { row_number: 4, id: 3, Date: '2025-08-01', idea: 'n8n use cases for marketing', caption: '', complete: '' } } ]; 3️⃣ Loop Over Items Node**: Loop Over Items (SplitInBatches) Purpose**: Sends one record at a time to the next node. Why It Matters**: Loops in n8n are created using this node when you want to iterate over multiple items. 4️⃣ Create Captions with AI Node**: Create Captions (LangChain Agent) Prompt**: idea: {{ $json.idea }} System Message**: You are a helpful assistant creating captions for a LinkedIn post. Please create a LinkedIn caption for the idea. Model**: GPT-4o Mini or GPT-3.5 Credentials Required**: OpenAI Credential Go to: OpenAI API Keys Create a key and add it in n8n under credentials as “OpenAi account” 5️⃣ Inject Creativity (Optional) Node**: Tool: Inject Creativity (LangChain Tool) Purpose**: Demonstrates optional LangChain tools that can enhance or manipulate input/output. Why It’s Cool**: A great way to show chaining tools to AI agents. 6️⃣ Output Table Node**: Output Table (Set) Purpose**: Combines original ideas and generated captions into final structure. Fields**: idea: ={{ $('Create Random Data').item.json.idea }} output: ={{ $json.output }} 💡 Educational Value This workflow demonstrates: Creating dynamic inputs with the Code node Using SplitInBatches to simulate looping Sending dynamic prompts to an AI model Using Set to structure the output data Beginners will understand how item-level processing works in n8n and how powerful looping combined with AI can be. 📬 Need Help or Want to Customize This? Robert Breen Automation Consultant | AI Workflow Designer | n8n Expert 📧 robert@ynteractive.com 🌐 ynteractive.com 🔗 LinkedIn 🏷️ Tags n8n loops OpenAI LangChain workflow training beginner LinkedIn automation caption generator
by Pat
Who is this for? This workflow template is perfect for content creators, researchers, students, or anyone who regularly works with audio files and needs to transcribe and summarize them for easy reference and organization. What problem does this workflow solve? Transcribing audio files and summarizing their content can be time-consuming and tedious when done manually. This workflow automates the process, saving users valuable time and effort while ensuring accurate transcriptions and concise summaries. What this workflow does This template automates the following steps: Monitors a specified Google Drive folder for new audio files Sends the audio file to OpenAI's Whisper API for transcription Passes the transcribed text to GPT-4 for summarization Creates a new page in Notion with the summary Setup To set up this workflow: Connect your Google Drive, OpenAI, and Notion accounts to n8n Configure the Google Drive node with the folder you want to monitor for new audio files Set up the OpenAI node with your API key and desired parameters for Whisper and GPT-4 Specify the Notion database where you want the summaries to be stored How to customize this workflow Adjust the Google Drive folder being monitored Modify the OpenAI node parameters to fine-tune the transcription and summarization process Change the Notion database or page properties to match your preferred structure With this AI-powered workflow, you can effortlessly transcribe audio files, generate concise summaries, and store them in a structured manner within Notion. Streamline your audio content processing and organization with this automated template.
by Mike Russell
Automated YouTube Video Promotion Workflow Automate the promotion of new YouTube videos on X (formerly Twitter) with minimal effort. This workflow is perfect for content creators, marketers, and social media managers who want to keep their audience updated with fresh content consistently. How it works This workflow triggers every 30 minutes to check for new YouTube videos from a specified channel. If a new video is found, it utilizes OpenAI's ChatGPT to craft an engaging, promotional message for X. Finally, the workflow posts the generated message to Twitter, ensuring your latest content is shared with your audience promptly. Set up steps Schedule the workflow to run at your desired frequency. Connect to your YouTube account and set up the node to fetch new videos based on your Channel ID. Integrate with OpenAI to generate promotional messages using GPT-3.5 turbo. Link to your X account and set up the node to post the generated content. Please note, you'll need API keys and credentials for YouTube, OpenAI, and X. Check out this quick video tutorial to make the setup process a breeze. Additional Tips Customize the workflow to match your branding and messaging tone. Test each step to ensure your workflow runs smoothly before going live.