Workflow Templates
Discover and use pre-built workflows to automate your tasks
6168 templates found
Discover and use pre-built workflows to automate your tasks
6168 templates found
by Nick Saraev
Website AI Agent with Calendar Integration Categories: AI Agents, Website Integration, Calendar Automation This workflow creates a complete website AI agent that can be embedded on any website with just a few lines of code. The agent handles customer inquiries, provides business information, and automatically books meetings by checking calendar availability in real-time. Built for simplicity and business practicality, this system proves that effective AI agents don't need to be overcomplicated. Benefits Universal Website Integration** - Works with WordPress, Webflow, Squarespace, custom sites, or any platform that accepts HTML Intelligent Calendar Management** - Checks availability and books meetings automatically without double-booking Business-Ready Conversations** - Trained with specific business context and maintains professional, helpful interactions Real-Time Functionality** - All changes to the N8N workflow are immediately reflected on your live website No Technical Complexity** - Simple architecture that prioritizes reliability and consistent outputs over flashy features Customizable Branding** - Easy to modify appearance, messages, and behavior to match your brand How It Works Embedded Chat Interface: Generates embeddable HTML code that creates a chat widget on any website Provides both hosted and embedded modes for different use cases Handles all communication between website visitors and the AI system Intelligent Conversation Management: Uses sophisticated system prompts to maintain context about your business Handles common inquiries about services, pricing, and company information Gracefully redirects off-topic conversations back to business matters Smart Calendar Integration: Connects to Google Calendar to check real-time availability Automatically suggests meeting times based on your schedule Collects all necessary information (name, email, preferred time) before booking Meeting Booking Process: Validates meeting requests against existing calendar entries Confirms all details with users before creating calendar events Sends automatic invitations with proper timezone handling Required Setup Configuration System Message Requirements: Your AI agent needs a comprehensive system message that includes: Business Identity:** Company name, services, location, timezone Business Context:** What you offer, pricing information, key differentiators Conversation Rules:** How to handle inquiries, booking procedures, moderation guidelines Personality Instructions:** Tone of voice, response style, conversation length preferences Example System Message Structure: You are a helpful, intelligent website chatbot for [Company Name], a [business type]. The current date is [dynamic date]. You are in the [timezone] timezone. Business Context: We offer [services] with [key benefits] Our pricing is [pricing structure] We work with [target customers] Your task is answering questions about the business & booking meetings. For meetings: use calendar function to check availability, collect name/email/preferred time, confirm details. Rules: Keep responses short and conversational Stay focused on business topics Always confirm timezone when discussing meeting times Google Calendar Setup: Enable Google Calendar API in Google Cloud Console Create OAuth2 credentials for N8N Connect your business calendar in the Google Calendar nodes Set correct timezone in both nodes to match your business location Website Integration: Switch chat trigger to "embedded" mode Copy the provided CDN embed code Paste code into your website's HTML (before closing body tag) Replace webhook URL with your production URL Business Use Cases Service Businesses** - Automate initial consultations and lead qualification Agencies** - Handle project inquiries and schedule discovery calls Consultants** - Streamline the booking process for potential clients E-commerce** - Provide product support and schedule demos Any Business** - Replace contact forms with intelligent conversation Revenue Potential This system can replace expensive chatbot services that cost $100-500/month. The automated booking feature alone typically increases meeting conversion rates by 40-60% compared to traditional contact forms. Difficulty Level: Beginner Estimated Build Time: 15-20 minutes Monthly Operating Cost: ~$10 (OpenAI API usage) Watch My 13-Minute Build Want to see exactly how I built this from scratch? I walk through the complete setup process in real-time, including all the configuration, testing, and website integration. π₯ See My Complete Build Process: "How to Build a Website AI Agent in 13 Min (Free N8N Template)" This step-by-step tutorial shows you my exact process for creating business-ready AI agents that actually make money, not just impressive demos. Set Up Steps Basic Agent Configuration: Create new N8N workflow with AI Agent node Connect OpenAI Chat Model with your API credentials Add Window Buffer Memory for conversation context System Message Setup: Configure detailed business context and operating instructions Set timezone and personality parameters for consistent responses Define conversation rules and moderation guidelines Google Calendar Integration: Set up Google Calendar credentials through Google Cloud Console Configure "Get All Events" tool for availability checking Set up "Create Event" tool for automated booking Website Embedding: Switch chat trigger to "embedded" mode for website integration Copy the provided CDN embed code Paste code into your website's HTML with your webhook URL Customization Options: Modify initial messages and branding in the embed code Adjust colors and styling using CSS variables Configure timezone settings to match your business location Testing & Optimization: Test complete conversation flows from inquiry to booking Verify calendar integration works correctly with your timezone Optimize system prompts based on actual user interactions Advanced Features Extend this system with additional capabilities: CRM Integration** - Automatically add leads to your sales pipeline Multi-language Support** - Handle conversations in different languages Custom Business Logic** - Add specific qualification questions or routing Analytics Tracking** - Monitor conversation patterns and conversion rates Check Out My Channel For more practical automation systems that generate real business value, check out my YouTube channel where I share the exact strategies I used to scale my automation agency to $72K/month.
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 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 Jonathan | NEX
Supercharge Your Security Operations for Free Stop wasting time manually investigating suspicious IP addresses. This workflow template is your launchpad to automating real-time IP cybersecurity analysis using the NixGuard platform, which you can use for free. This is the first of a two-part system designed to integrate seamlessly into your existing security stack, especially with Wazuh. It calls our main workflow, Automate IP Reputation Checks and Get AI Risk Summaries from NixGuard, to do the heavy lifting. What This Workflow Unlocks for You Free AI-Powered Risk Summaries:** Don't just get data; get answers. NixGuard provides a clear, human-readable summary of why an IP is considered risky. Automated IP Reputation Checks:** Programmatically check any IP against a vast array of threat intelligence sources. A Foundation for Your SOC Automation:** Use the results to trigger your incident response process. The template includes a pre-built example of how to send a detailed alert to Slack, which you can easily adapt for Jira, TheHive, or any other tool. How the Two-Workflow System Works This "Dispatcher" workflow is designed for flexibility. It holds your API key and input, then calls the main analysis workflow. This allows you to easily create multiple triggers (e.g., one for Slack bots, one for webhooks) without duplicating the core logic. Critical Setup Instructions Get the Main Workflow: First, add the main analysis engine to your n8n instance from the community page: NixGuard Analysis Workflow. Add Your Free API Key: In this workflow, click the blue Set API Key & Initial Prompt node. Paste your free NixGuard API key into the apiKey value field. Connect The Workflows: Click the purple Execute NixGuard & Wazuh Workflow node. In the parameters, use the dropdown to select the main analysis workflow you added in Step 1. Ready to automate your threat intelligence? Get your free API key and learn more at; π Learn more about NixGuard: [thenex.world](thenex.world )π Get started with a free security subscription: thenex.world/security/subscribe Tags: Free, IP Analysis, NixGuard, Wazuh, Security, Automation, AI, Cybersecurity, Threat Intelligence, SOC, Incident Response, IP Reputation, DevSecOps, API
by Hueston
Who is this for? Content strategists analyzing web page semantic content SEO professionals conducting entity-based analysis Data analysts extracting structured data from web pages Marketers researching competitor content strategies Researchers organizing and categorizing web content Anyone needing to automatically extract entities from web pages What problem is this workflow solving? Manually identifying and categorizing entities (people, organizations, locations, etc.) on web pages is time-consuming and error-prone. This workflow solves this challenge by: Automating the extraction of named entities from any web page Leveraging Google's powerful Natural Language API for accurate entity recognition Processing web pages through a simple webhook interface Providing structured entity data that can be used for analysis or further processing Eliminating hours of manual content analysis and categorization What this workflow does This workflow creates an automated pipeline between a webhook and Google's Natural Language API to: Receive a URL through a webhook endpoint Fetch the HTML content from the specified URL Clean and prepare the HTML for processing Submit the HTML to Google's Natural Language API for entity analysis Return the structured entity data through the webhook response Extract entities including people, organizations, locations, and more with their salience scores Setup Prerequisites: An n8n instance (cloud or self-hosted) Google Cloud Platform account with Natural Language API enabled Google API key with access to the Natural Language API Google Cloud Setup: Create a project in Google Cloud Platform Enable the Natural Language API for your project Create an API key with access to the Natural Language API Copy your API key for use in the workflow n8n Setup: Import the workflow JSON into your n8n instance Replace "YOUR-GOOGLE-API-KEY" in the "Google Entities" node with your actual API key Activate the workflow to enable the webhook endpoint Copy the webhook URL from the "Webhook" node for later use Testing: Use a tool like Postman or cURL to send a POST request to your webhook URL Include a JSON body with the URL you want to analyze: {"url": "https://example.com"} Verify that you receive a response containing the entity analysis data How to customize this workflow to your needs Analyzing Specific Entity Modify the "Google Entities" node parameters to include entityType filters Add a "Function" node after "Google Entities" to filter specific entity types Create conditions to extract only entities of interest (people, organizations, etc.) Processing Multiple URLs in Batch: Replace the webhook with a different trigger (HTTP Request, Google Sheets, etc.) Add a "Split In Batches" node to process multiple URLs Use a "Merge" node to combine results before sending the response Enhancing Entity Data: Add additional API calls to enrich extracted entities with more information Implement sentiment analysis alongside entity extraction Create a data transformation node to format entities by type or relevance Additional Notes This workflow respects Google's API rate limits by processing one URL at a time The Natural Language API may not identify all entities on a page, particularly for highly technical content HTML content is trimmed to 100,000 characters if longer to avoid API limitations Consider legal and privacy implications when analyzing and storing entity data from web pages You may want to adjust the HTML cleaning process for specific website structures β€οΈ Hueston SEO Team
by LukaszB
This workflow is designed for freelancers, solopreneurs, and business owners who receive a high volume of irrelevant messages in their Gmail inbox β from cold offers to spammy promotions β and want to automatically filter and delete them using AI. Its main purpose is to scan new emails with the help of OpenAI, classify their content, and automatically delete those considered marketing (OFFER) or junk (SPAM). The result is a cleaner inbox without the need to manually sift through low-value messages. The classification logic uses a detailed system prompt with practical examples, so even complex or borderline messages are categorized accurately. Important emails β such as payment confirmations, shipping updates, or genuine business inquiries β remain untouched. This helps maintain a professional inbox with only valuable and relevant communication. The entire process runs automatically in the background and can be customized further β for example, to archive instead of delete, or log deleted emails for review. How it works When triggered (every hour), the workflow fetches new Gmail messages using the Gmail Trigger node. Each message is passed to an AI classifier powered by OpenAI, which reads the message body (email snippet) and returns one of three labels: SPAM: Obvious junk messages, scams, or low-effort bulk messages OFFER: Cold outreach, discount promotions, cart reminders, or generic advertising IMPORTANT: Valuable information for the user, even if commercial (e.g., invoices, order updates, personal inquiries) The workflow then routes the result through an IF node. If the message is marked as SPAM or OFFER, it is immediately deleted from Gmail via the Gmail Delete node. Emails marked as IMPORTANT are ignored and remain in the inbox. The classification is entirely AI-driven based on message content β sender address, headers, or metadata are not used. How to set up To get started, simply connect two credentials: A Gmail account using OAuth2 (via the Gmail Trigger and Gmail Delete nodes) An OpenAI API key (used by the AI classifier node) No advanced setup is needed beyond these two connections. Optionally, you can review or modify the system prompt used for classification β itβs available inside the workflowβs LangChain AI Agent node. The prompt is in English, so itβs recommended to use this workflow with English-language emails for best results. By default, the workflow deletes matching emails immediately. If you prefer safer testing, you can modify the Gmail node to archive, label, or log emails instead of deleting them. The full workflow takes around 5β10 minutes to configure and includes a sticky note with additional instructions and warnings.
by Niklas Hatje
Use Case In most companies, employees have a lot of great ideas. That was the same for us at n8n. We wanted to make it as easy as possible to allow everyone to add their ideas to some formatted database - it should be somewhere where everyone is all the time and could add a new idea without much extra effort. Since we're using Slack, this seemed to be the perfect place to easily add ideas and collect them in Notion. What this workflow does This workflow waits for a webhook call within Slack, that gets fired when users use the /idea command on a bot that you will create as part of this template. It then checks the command, adds the idea to Notion, and notifies the user about the newly added idea as you can see below: Creating your Slack bot Visit https://api.slack.com/apps, click on New App and choose a name and workspace. Click on OAuth & Permissions and scroll down to Scopes -> Bot token Scopes Add the chat:write scope Head over to Slash Commands and click on Create New Command Use /idea as the command Copy the test URL from the Webhook node into Request URL Add whatever feels best to the description and usage hint Go to Install app and click install Setup Add a Database in Notion with the columns Name and Creator Add your Notion credentials and add the integration to your Notion page. Fill the setup node below Create your Slack app (see other sticky) Click Test workflow and use the /idea comment in Slack Activate the workflow and exchange the Request URL with the production URL from the webhook How to adjust it to your needs You can adjust the table in Notion and for example, add different types of ideas or areas that they impact You might wanna add different templates in Notion to make it easier for users to fill their ideas with details Rename the Slack command as it works best for you How to enhance this workflow At n8n we use this workflow in combination with some others. E.g. we have the following things on top: We additionally have a /bug Slack command that adds a new bug to Linear. Here we're using AI to classify the bugs and move it to the right team. (see this template and this template) We also added other types, like /pain to be less solution-driven To make it easier for everyone to give input, we added a Votes column that allows everyone to vote on ideas/pain points in the list We're also running a workflow once a week that highlights the most popular new ideas and the most active voters (see here)
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 Fahmi Oktafian
Who's it for This workflow is perfect for SEO specialists, marketers, bloggers, and content creators who want to automate keyword research using Google Sheets, Google Suggest, and Google Custom Search. Ideal for those building content pipelines, researching trends, or powering AI content generation with fresh search data. What it does This workflow automates the process of discovering a new keyword daily. It: Rotates through a keyword list in Google Sheets Selects one keyword per day Fetches autocomplete suggestions from Google Suggest Queries the Google Custom Search API for top results Returns structured JSON containing titles, links, and snippets How it works Manual Trigger β Initiates workflow manually Google Sheets β Reads keywords from a sheet (column: Title or Keyword) Code Node β Selects a daily keyword based on the number of days since July 4, 2025 Set Node β Saves the selected keyword as seed_keyword HTTP Request β Fetches autocomplete suggestions from Google Suggest API Function Node β Parses suggestions into usable items HTTP Request β Calls Google Custom Search API for each suggestion Code Node β Formats the search results into JSON How to set up Connect your Google Sheets OAuth2 credentials in n8n Use credential variables for Google Custom Search (β οΈ do not hardcode your key and cx) Replace the sample sheet ID with your own Run the workflow manually or schedule it daily Requirements Google account Enabled Custom Search JSON API on Google Cloud Google Sheet with a column labeled Title or Keyword n8n instance (cloud or self-hosted) How to customize Change the start date to control the keyword rotation cycle Randomize keyword selection instead of rotating Enrich results using tools like Ahrefs or SEMrush Push final output to Telegram, Notion, Slack, or Airtable Add filtering logic based on CPC, volume, or duplicates Example Sheet π Click Here to access the example Google Sheet Sheet must contain a column Title or Keyword in the first row: Title teknologi AI berita viral tren startup
by bangank36
This workflow restores all n8n instance workflows from GitHub backups using the n8n API node. It complements the Backup Your Workflows to GitHub template by allowing users to seamlessly restore previously saved workflows. How It Works The workflow fetches workflows stored in a GitHub repository and imports them into your n8n instance. Setup Instructions To configure the workflow, update the Globals node with the following values: repo.owner** β Your GitHub username repo.name** β The name of your GitHub repository storing the workflows repo.path** β The folder path within the repository where workflows are stored For example, if your GitHub username is john-doe, your repository is named n8n-backups, and workflows are stored in a workflows/ folder, you would set: repo.owner β john-doe repo.name β n8n-backups repo.path β workflows/ Required Credentials GitHub API** β Access to your repository n8n API** β To import workflows into your n8n instance Who Is This For? This template is ideal for users who want to restore their workflows from GitHub backups, ensuring easy migration and recovery in case of data loss. Check out my other templates: π My n8n Templates
by Wyeth
Encode JSON to Base64 String in n8n This example workflow demonstrates how to convert a JSON object into a base64-encoded string using n8nβs built-in file processing capabilities. This is a common requirement when working with APIs, webhooks, or SaaS integrations that expect payloads to be base64-encoded. > Tip: The three green-highlighted nodes (Stringify β Convert to File β Extract from File) can be wrapped in a Subworkflow to create a reusable Base64 encoder in your own projects. π§ Requirements Any running n8n instance (local or cloud) No credentials or external services required What This Workflow Does Generates example JSON data Converts the JSON to a string Saves the string as a binary file Extracts the fileβs contents as a base64 string Outputs the base64 string on the final node Step-by-Step Setup Manual Trigger Start the workflow using the Manual Execution node. This is useful for testing and development. Create JSON Data The Create Json Data node uses raw mode to construct a sample object with all major JSON types: strings, numbers, booleans, nulls, arrays, nested objects, etc. Convert to String The Convert to String node uses the expression ={{ JSON.stringify($json) }} to flatten the object into a single string field named json_text. Convert to File The Convert to File node takes the json_text value and saves it to a UTF-8 encoded binary file in the property encoded_text. Extract from File This node takes the binary file and extracts its contents as a base64-encoded string. The result is saved in the base64_text field. Customization Tips Replace the sample JSON in the Create Json Data node with your own payload structure. To make this reusable, extract the three core nodes into a Subworkflow or wrap them in a custom Function. Use the base64_text output field to post to APIs, store in databases, or include in webhook responses.
by Tenkay
This workflow compares two lists of objects (List A and List B) using a user-specified key (e.g. email, id, domain) and returns: Items common to both lists (based on the key) Items only in List A Items only in List B How it works: Accepts a JSON input containing: listA: the first list of items listB: the second list of items key: the field name to use for comparison Performs a field-based comparison using the specified key Returns a structured output: common: items with matching keys (only one version retained) onlyInA: items found only in List A onlyInB: items found only in List B Example Input: { "key": "email", "listA": [ { "email": "alice@example.com", "name": "Alice" }, { "email": "bob@example.com", "name": "Bob" } ], "listB": [ { "email": "bob@example.com", "name": "Bobby" }, { "email": "carol@example.com", "name": "Carol" } ] } Output: common: [ { "email": "bob@example.com", "name": "Bob" } ] onlyInA: [ { "email": "alice@example.com", "name": "Alice" } ] onlyInB: [ { "email": "carol@example.com", "name": "Carol" } ] Use Cases: Deduplicate data between two sources Find overlapping records Identify new or missing entries across systems This workflow is useful for internal data auditing, list reconciliation, transaction reconciliation, or pre-processing sync jobs.