by Jimleuk
This n8n template builds upon a simple appointment request form design which uses AI to qualify if the incoming enquiry is suitable and/or time-worthy of an appointment. This demonstrates a lighter approach to using AI in your templates but handles a technically difficult problem - contextual understanding! This example can be used in a variety of contexts where figuring out what is and isn't relevant can save a lot of time for your organisation. How it works We start with a form trigger which asks for the purpose of the appointment. Instantly, we can qualify this by using a text classifier node which uses AI's contextual understanding to ensure the appointment is worthwhile. If not, an alternative is suggested instead. Multi-page forms are then used to set the terms of the appointment and ask the user for a desired date and time. An acknowledgement is sent to the user while an approval by email process is triggered in the background. In a subworkflow, we use Gmail with the wait for approval operation to send an approval form to the admin user who can either confirm or decline the appointment request. When approved, a Google Calendar event is created. When declined, the user is notified via email that the appointment request was declined. How to use Modify the enquiry classifier to determine which contexts are relevant to you. Configure the wait for approval node to send to an email address which is accessible to all appropriate team members. Requirements OpenAI for LLM Gmail for Email Google Calendar for Appointments Customising this workflow Not using Google Mail or Calendar? Feel free to swap this with other services. The wait for approval step is optional. Remove if you wish to handle appointment request resolution in another way.
by Javier Hita
Find LinkedIn Professionals with Google Search and Airtable Who is this for? This workflow is perfect for sales professionals, recruiters, business development teams, and marketers who need to build targeted prospect lists from LinkedIn. Whether you're looking for specific job titles, industry professionals, or experts in particular locations, this template automates the tedious process of manual LinkedIn searching. Follow me for more What problem is this workflow solving? Finding qualified prospects on LinkedIn manually is time-consuming and inefficient. Traditional methods involve: Manually searching LinkedIn with limited search capabilities Copy-pasting profile information one by one Struggling with LinkedIn's search limitations and restrictions Difficulty organizing and tracking prospect data No systematic way to avoid duplicate contacts This workflow solves these challenges by leveraging Google's powerful search capabilities to find LinkedIn profiles at scale, automatically extracting key information, and organizing everything in a structured database. What this workflow does The workflow performs intelligent LinkedIn prospect discovery through these key steps: Keyword-Based Search: Uses Google Custom Search API to find LinkedIn profiles matching your specific criteria (job titles, industries, locations) Smart Data Extraction: Automatically parses profile titles, descriptions, URLs, and search snippets from Google results Structured Storage: Saves all prospect data to Airtable with proper field mapping and automatic deduplication Pagination Handling: Automatically processes multiple pages of search results to maximize prospect discovery Rate Limiting: Includes built-in delays to respect API limits and ensure reliable operation Key features: Deduplication**: Prevents storing duplicate LinkedIn profiles Batch Processing**: Handles large prospect lists efficiently Customizable Search**: Easily modify keywords to target different professional segments Clean Data Output**: Structured data ready for outreach campaigns Setup Prerequisites You'll need accounts with the following services: Google Cloud Console** (for Custom Search API) Airtable** (free tier works) n8n** (cloud or self-hosted) Step 1: Google Custom Search Setup Go to Google Cloud Console Create a new project or select existing one Enable the Custom Search API Create credentials (API Key) Set up a Custom Search Engine at Google CSE Configure it to search the entire web Copy your Search Engine ID (cx parameter) Bonus: Youtube Set-up Guide Step 2: Airtable Base Setup Create a new Airtable base with a table named "LinkedIn Prospects" containing these fields: Title (Single line text) - LinkedIn profile headline linkedin_url (URL) - Direct link to LinkedIn profile Search (Single line text) - Original search terms used Description (Long text) - Profile description/summary Snippet (Long text) - Google search result snippet Step 3: n8n Credentials Configuration Set up these credentials in n8n: Google Custom Search API: Type: HTTP Query Auth Name: Google Query Auth Query Parameter Name: key Value: Your Google API key Airtable: Type: Airtable Personal Access Token Token: Your Airtable personal access token Configure the base and table IDs in the Airtable node Step 4: Workflow Configuration Import this workflow template Update the "⚙️ CUSTOMIZE YOUR SEARCH KEYWORDS HERE" node with your target keywords Configure the Airtable node with your base and table information Test the workflow with a small keyword set first How to customize this workflow to your needs Targeting Different Industries Modify the search keywords in the yellow configuration node: // For technology professionals "Software Engineer React" "Product Manager SaaS" "Data Scientist Machine Learning" // For sales professionals "Account Executive Enterprise" "Sales Director B2B" "Business Development Manager" // For marketing professionals "Digital Marketing Manager" "Content Marketing Specialist" "Growth Marketing Lead" Geographic Targeting Add location keywords to narrow your search: "Marketing Manager London" "Sales Director New York" "Software Engineer Berlin" Company Size Targeting Include company type indicators: "CFO Startup" "VP Engineering Fortune 500" "Marketing Director SMB" Adjusting Search Volume Modify the Maxresults parameter in the "Configure Search Settings" node: Set to 10 for quick tests Set to 50-100 for comprehensive searches Maximum recommended: 100 per search to respect API limits Industry-Specific Customization For Recruiters: Target specific job titles and seniority levels Add skills-based keywords ("Python Developer", "React Specialist") Include experience indicators ("Senior", "Lead", "Principal") For Sales Teams: Focus on decision-maker titles ("Director", "VP", "C-Level") Target specific company sizes or industries Include location-based searches for territory management For Marketers: Search for industry influencers and thought leaders Target specific professional communities Look for content creators and industry experts Advanced Filtering Add conditional logic after the search results to filter prospects based on: Profile description keywords Title patterns Company information (when available in snippets) Integration Extensions Connect additional tools to enhance your prospect research: Email finder tools** (Hunter.io, Apollo) for contact discovery CRM integration** (HubSpot, Salesforce) for automatic lead creation Enrichment services** (Clearbit, ZoomInfo) for additional prospect data Slack/Teams notifications** for real-time prospect alerts Data Quality Improvements Enhance the workflow with additional processing: Duplicate detection** across multiple search terms Profile validation** to ensure active LinkedIn profiles Keyword scoring** to rank prospect relevance Export formatting** for specific CRM requirements This template provides a solid foundation that can be adapted for virtually any B2B prospect research need, making it an essential tool for modern sales and marketing teams.
by Franz
🧠 Sentiment Analyzer Google Sheets → OpenAI GPT-4o → QuickChart → Gmail 🚀 What this workflow does Fetches customer reviews from a Google Sheet. Classifies each review as Positive, Neutral or Negative with GPT-4o-mini. Writes the sentiment back to your sheet. Builds a doughnut chart summarising the totals. Emails the chart to your chosen recipient so the whole team stays in the loop. Perfect for support teams, product managers or anyone who wants a zero-code mood ring for their users’ feedback. 🗺️ Node-by-node tour | 🔩 Node | 💡 Purpose | | ------------------------------------------------------- | ---------------------------------------------------------- | | Manual Trigger | Lets you test the workflow on demand. | | Select Google Sheet | Points to the spreadsheet that holds your reviews. | | Loop Over Items | Feeds each row through the analysis routine. | | Sentiment Analysis (LangChain) | Calls GPT-4o-mini and returns only the sentiment category. | | Update Google Sheet | Writes the new Sentiment value into column C. | | Read Data from Google Sheet | Pulls the full sheet again to create a summary. | | Extract Number of Answers per Sentiment (Code node) | Tallies up how many reviews fall into each category. | | Generate QuickChart | Creates a doughnut (or pie) chart as a PNG. | | Send Gmail with Sentiment Chart | Fires the chart off to your inbox. | | (Sticky Notes) | Friendly setup tips scattered around the canvas. | 🛠️ Setup checklist | ✅ Step | Where | | ------------------------------------------------------------------------------------- | -------------------------------- | | Connect Google Sheets → paste your Spreadsheet ID & choose the correct sheet. | All Google Sheets nodes | | Add OpenAI credentials (sk-… key). | Sentiment Analysis node | | Configure Gmail OAuth2 + recipient address. | Gmail node | | Match your sheet columns → “Review title”, “Review text”, empty “Sentiment”. | Google Sheet itself | | (Optional) Switch to gpt-4o for maximum accuracy. | Sentiment Analysis “Model” param | 🏃♂️ How to run Drop a few sample reviews into the sheet. Click “Test workflow” on the Manual Trigger. Watch each row march through → sentiment appears in column C. After all rows finish, check your inbox for a fresh chart. ✔️ ✨ Ideas for next level Schedule** the trigger (Cron) to auto-process new reviews daily. Feed the counts to Slack or Discord instead of email. Add a second GPT call to generate a short summary for each review. Happy automating! 🎉
by Paul
AI Database Assistant with Smart Query's & PostgreSQL Integration Description: 🚀 Transform Your Database into an Intelligent AI Assistant This workflow creates a smart database assistant that safely handles natural language queries without crashing your system. Features dual-agent architecture with built-in query limits and PostgreSQL optimization – perfect for commercial applications! ✅ Ideal for: SaaS developers building database search features 🔍 Database administrators providing safe AI access 🛡️ Business teams needing user-friendly data queries 📊 Anyone wanting ChatGPT-like database interaction 🤖 🔧 How It Works 1️⃣ User asks a question – "Show me top 10 popular products" 2️⃣ Main AI Agent – Interprets the request and ensures safety limits 3️⃣ SQL Sub-Agent – Generates precise PostgreSQL queries 4️⃣ Database executes – Returns formatted, limited results safely ⚡ Setup Instructions 1️⃣ Prepare Your Database Ensure PostgreSQL is accessible from n8n Note your table structure and column names Set up database connection credentials 2️⃣ Customize the Templates Replace [YOUR_TABLE_NAME] with your actual table name Update [YOUR_FIELDS] with your column names Modify examples to match your use case Important**: Keep all LIMIT clauses intact! 3️⃣ Configure the Agents Copy Main Agent system message to your primary AI node Copy Sub-Agent system message to your SQL generator node Connect the sub-workflow between both agents 4️⃣ Test & Deploy Test with sample queries like "Show me 5 recent items" Verify query limits work (max 50 results) Deploy and monitor performance 🎯 Why Use This Workflow? ✔️ System Protection – Built-in limits prevent crashes from large queries ✔️ Natural Language – Users ask questions in plain English ✔️ Commercial Ready – Generic templates work with any database ✔️ Dual-Agent Safety – Smart interpretation + precise SQL generation ✔️ PostgreSQL Optimized – Handles complex schemas and data types 🚨 Critical Features Query Limits**: Default 10, maximum 50 results (can be modified) Error Prevention**: No unlimited data retrieval Smart Routing**: Natural language → Safe SQL → Formatted results Customizable**: Works with any PostgreSQL database schema 🔗 Start building your AI database assistant today – safe, smart, and scalable!
by KumoHQ
Who is this template for? This workflow template is designed for any professionals seeking relevent data from database using natural language. How it works Each time user ask's question using the n8n chat interface, the workflow runs. Then the message is processed by AI Agent using relevent tools - Execute SQL Query, Get DB Schema and Tables List and Get Table Definition, if required. Agent uses these tool to form and run sql query which are necessary to answer the questions. Once AI Agent has the data, it uses it to form answer and returns it to the user. Set up instructions Complete the Set up credentials step when you first open the workflow. You'll need a Postgresql Credentials, and OpenAI api key. Template was created in n8n v1.77.0
by Agent Studio
Overview This workflow helps you compare Claude 3.5 Sonnet and Gemini 2.0 Flash when extracting data from a PDF This workflow extracts and processes the data within a PDF in one single step, instead of calling an OCR and then an LLM” How it works The initial 2 steps download the PDF and convert it to base64. This base64 string is then sent to both Claude 3.5 Sonnet and Gemini 2.0 Flash to extract information. This workflow is made to let you compare results, latency, and cost (in their dedicated dashboard). How to use it Set up your Google Drive if not already done Select a document on your Google Drive Modify the prompt in "Define Prompt" to extract the information you need and transform it as wanted. Get a Claude API key and/or Gemini API key Note that you can deactivate one of the 2 API calls if you don't want to try both Test the Workflow
by Martijn Kerver
Description This workflow automates email categorization in Gmail using the Gmail API and OpenAI's language model. It periodically checks for new emails, reads their content, and categorizes them based on existing Gmail labels. If no matching label is found, the workflow creates a new label and assigns it to the email. Key Features Polling for Emails**: The workflow triggers every 5 minutes to check for new emails using the Gmail Trigger node. Reading Labels**: Existing Gmail labels are fetched to determine the most relevant match for email categorization. Dynamic Labeling**: If no existing label matches, a new label is created dynamically based on the email's content. OpenAI Integration**: The workflow uses OpenAI's Chat model to analyze email content and suggest or create appropriate labels. Email Categorization**: Labels are applied to emails, ensuring they are organized in Gmail's structure. The workflow also removes less relevant emails (e.g., ads) from the inbox. Nodes in Use Gmail Trigger: Polls Gmail every 5 minutes for new emails. Gmail - Read Labels: Fetches all existing Gmail labels. Gmail - Get Message: Retrieves the full content of a specific email. Gmail - Add Label to Message: Assigns a chosen label to the email. Gmail - Create Label: Creates a new label if necessary. OpenAI Chat Model: Analyzes email content for categorization. Memory Buffer: Retains context for email analysis across multiple iterations. Wait Node: Adds a buffer period to manage email processing. Prerequisites Gmail API Setup**: Ensure Gmail OAuth2 credentials are configured in n8n. OpenAI API Key**: Configure OpenAI credentials for email analysis. Labeling Standards**: Maintain a consistent Gmail label structure for better organization. Instructions Add your Gmail API credentials to the Gmail nodes. Add your OpenAI API credentials to the OpenAI Chat Model node. Activate the workflow. It will start polling for new emails every 5 minutes. Monitor and refine the categorization logic if necessary to ensure alignment with Gmail's organizational needs. Use Case Ideal for individuals or teams handling high email volumes who want to maintain an organized inbox and automate repetitive categorization tasks. Note: You can improve the prompt to get better results from the agent by giving it more personal rules on how to categorize.
by KlickTipp
Community Node Disclaimer: This workflow uses KlickTipp community nodes. How It Works: Jotform Webinar Registry Integration: This workflow streamlines the process of handling webinar registrations submitted via JotForm. It ensures the data is correctly formatted and seamlessly integrates with KlickTipp. Data Transformation: Input data is validated and transformed to meet KlickTipp’s API requirements, including formatting phone numbers, converting dates, and validating URLs. Key Features JotForm Trigger: Captures new form submissions, including participant details and webinar preferences. Data Processing: Standardizes and validates input fields Converts phone numbers to numeric-only format with international prefixes. Transforms dates into UNIX timestamps. Validates LinkedIn URLs and applies fallback URLs if validation fails. Scales numerical fields, such as work experience, for specific use cases. Subscriber Management in KlickTipp: Adds or updates participants as subscribers in KlickTipp. Includes custom field mappings, such as: Personal information (name, email, phone number). Webinar details (chosen webinar, start date/time). Preferences (reminder intervals, questions for presenters). Tags contacts for segmentation: Adds fixed and dynamic tags to contacts. Error Handling: Validates critical fields like phone numbers, URLs, and dates to prevent incorrect data submissions. Setup Instructions Install and Configure Nodes: Set up the JotForm and KlickTipp nodes in your n8n instance. Authenticate your JotForm and KlickTipp accounts. Custom Field Preparation in KlickTipp: Create the necessary custom fields to match the data structure: | Name | Datentyp | | - | - | | Jotform_URL_Linkedin | URL | | Jotform_Workexperience_in_Years | Dezimalzahl | | Jotform_Webinar_start_timestamp | Datum & Zeit | | Jotform_Questions/Notes | Absatz | | Jotform_webinar | Zeile | | Jotform_reminder | Zeile | After creating fields, allow 10-15 minutes for them to sync. If fields don’t appear, reconnect your KlickTipp credentials. Field Mapping and Adjustments: Verify and customize field assignments in the workflow to align with your specific form and subscriber list setup. Workflow Logic Trigger via JotForm Submission: A new form submission from JotForm initiates the workflow Data Transformation: Processes raw form data to ensure compatibility with KlickTipp’s API. Add to KlickTipp Subscriber List: Adds participants to the designated KlickTipp list, including webinar-specific details. Get all tags from KlickTipp and create a list: Fetches all existing Tags and turns them into an array Define tags to dynamically set for contacts: Definiton of variables that are received from the form submission and should be converted into tags Merge tags of both lists: Checks whether the list of existing tags in KlickTipp contains the tags which should be dynamically set based on the form submission Tag creation and tagging contacts: Creates new tags if it previously did not exist and then tags the contact Benefits Efficient lead generation: Contacts from forms are automatically imported into KlickTipp and can be used immediately, saving time and increasing the conversion rate. Automated processes: Experts can start workflows directly, such as welcome emails or course admissions, reducing administrative effort. Error-free data management: The template ensures precise data mapping, avoids manual corrections and reinforces a professional appearance. Testing and Deployment: Test the workflow by filling the form on Jotform and verifying data updates in KlickTipp. Notes: Customization: Update field mappings within the KlickTipp nodes to align with your account setup. This ensures accurate data syncing. Resources: Jotform KlickTipp Knowledge Base help article Use KlickTipp Community Node in n8n Automate Workflows: KlickTipp Integration in n8n
by Yulia
This workflow shows how to use a self-hosted Large Language Model (LLM) with n8n's LangChain integration to extract personal information from user input. This is particularly useful for enterprise environments where data privacy is crucial, as it allows sensitive information to be processed locally. 📖 For a detailed explanation and more insights on using open-source LLMs with n8n, take a look at our comprehensive guide on open-source LLMs. 🔑 Key Features Local LLM Connect Ollama to run Mistral NeMo LLM locally Provide a foundation for compliant data processing, keeping sensitive information on-premises Data extraction Convert unstructured text to a consistent JSON format Adjust the JSON schema to meet your specific data extraction needs. Error handling Implement auto-fixing for LLM outputs Include error output for further processing ⚙️ Setup and сonfiguration Prerequisites n8n AI Starter Kit installed Configuration steps Add the Basic LLM Chain node with system prompts. Set up the Ollama Chat Model with optimized parameters. Define the JSON schema in the Structured Output Parser node. 🔍 Further resources Run LLMs locally with n8n Video tutorial on using local AI with n8n Apply the power of self-hosted LLMs in your n8n workflows while maintaining control over your data processing pipeline!
by KlickTipp
Community Node Disclaimer: This workflow uses KlickTipp community nodes. How It Works Gravity Forms Customer Feedback Form Integration: This workflow streamlines the process of handling customer feedback submitted via Gravity Forms. It ensures the data is correctly formatted and seamlessly integrates with KlickTipp. Data Transformation: Input data is validated and transformed to meet KlickTipp’s API requirements, including formatting phone numbers and converting dates. Key Features Gravity Forms Trigger Captures new form submissions from Gravity Forms via a webhook and initiates the workflow. Data Processing and Transformation Formats and validates essential data: Converts phone numbers to numeric-only format with international prefixes. Transforms dates (e.g., birthdays) to UNIX timestamps. Calculates and scales numeric responses (e.g., webinar ratings). Parses webinar selections into timestamps for structured scheduling. Subscriber Management in KlickTipp Adds or updates contacts in a KlickTipp subscriber list. Includes custom field mappings such as: Personal details (name, email, birthday, phone number). Feedback and preferences (e.g., webinar ratings, chosen sessions). Structured answers from form responses. Tags contacts for segmentation: Adds fixed and dynamic tags to contacts. Error Handling Ensures invalid or empty data is handled gracefully, preventing workflow interruptions. Setup Instructions Install and Configure Nodes: Set up the Webhook, Set, and KlickTipp nodes in your n8n instance. Authenticate your Gravity Forms and KlickTipp accounts. Prepare Custom Fields in KlickTipp: Create fields in KlickTipp to align with the form submission data, such as: | Name | Datentyp | |-----------------------------------|----------------| | Gravityforms_URL_Linkedin | URL | | Gravityforms_kurs/webinar_zeitpunkt | Datum & Zeit | | Gravityforms_kurs/webinar_bewertung | Dezimalzahl | | Gravityforms_feedback | Absatz | | Gravityforms_kontaktaufnahme | Zeile | After creating fields, allow 10-15 minutes for them to sync. If fields don’t appear, reconnect your KlickTipp credentials. Field Mapping and Adjustments: Verify and customize field assignments in the workflow to align with your specific form and subscriber list setup. Workflow Logic Trigger via Gravity Forms Submission: The workflow begins when a new form submission is received through the webhook. Transform Data for KlickTipp: Formats and validates raw form data for compatibility with KlickTipp’s API. Add to KlickTipp Subscriber List: Adds processed data as a new subscriber or updates an existing one. Get all tags from KlickTipp and create a list: Fetches all existing Tags and turns them into an array Define tags to dynamically set for contacts: Definiton of variables that are received from the form submission and should be converted into tags Merge tags of both lists: Checks whether the list of existing tags in KlickTipp contains the tags which should be dynamically set based on the form submission Tag creation and tagging contacts: Creates new tags if it previously did not exist and then tags the contact Benefits Efficient lead generation: Contacts from forms are automatically imported into KlickTipp and can be used immediately, saving time and increasing the conversion rate. Automated processes: Experts can start workflows directly, such as welcome emails or course admissions, reducing administrative effort. Error-free data management: The template ensures precise data mapping, avoids manual corrections and reinforces a professional appearance. Testing and Deployment Test the workflow by filling the form on Gravity Forms and verifying data updates in KlickTipp. Notes Customization: Update field mappings within the KlickTipp nodes to align with your account setup. This ensures accurate data syncing. Resources: Gravity Forms KlickTipp Knowledge Base help article Use KlickTipp Community Node in n8n Automate Workflows: KlickTipp Integration in n8n
by Angel Menendez
Who is this for? This workflow is ideal for IT operations teams or system administrators who use ServiceNow to track incidents and Slack for team communication. It provides real-time updates on new ServiceNow incidents directly in a designated Slack channel, ensuring timely response and collaboration. What problem is this workflow solving? / Use case Manually monitoring ServiceNow for new incidents can be time-consuming and prone to delays. This workflow automates the process, ensuring that team members are instantly notified of new incidents, complete with all relevant details, in a Slack channel. It enhances operational efficiency and incident response time. What this workflow does Schedule or Manual Trigger: The workflow can be triggered manually or set to run automatically every 5 minutes. Retrieve New Incidents: Fetches incidents created in ServiceNow within the last 5 minutes. Error Handling: Posts an error message in Slack if there are issues connecting to ServiceNow. Incident Processing: If new incidents are found, they are sorted in ascending order by their number. Detailed incident information is formatted and sent to a specified Slack channel. No Incidents: If no new incidents are found, the workflow does nothing. Setup ServiceNow API Credentials: Configure ServiceNow Basic Authentication in the workflow to connect to your ServiceNow instance. Slack API Credentials: Add your Slack API credentials to enable message posting. Slack Channel Configuration: Define the Slack channel where notifications should be sent. Ensure the channel ID is correctly set in the Slack node. Adjust the Schedule: Modify the schedule in the Schedule Trigger node to suit your requirements. How to customize this workflow to your needs Notification Format: Customize the Slack message format to include additional or fewer details. Update the Blocks section in the Slack node for personalized messages. Incident Query Parameters: Adjust the sysparm_query parameter in the ServiceNow node to filter incidents based on specific criteria. Error Handling: Modify the error message in the Slack node for more detailed troubleshooting information. Features Real-Time Notifications**: Immediate updates on new ServiceNow incidents. Error Handling**: Alerts in Slack if the workflow encounters issues connecting to ServiceNow. Customizable Notifications**: Flexibility to modify incident details sent to Slack. This workflow streamlines incident management and fosters collaboration by delivering actionable updates directly to your team.
by Mihai Farcas
This workflow demonstrates a Retrieval Augmented Generation (RAG) chatbot that lets you chat with the GitHub API Specification (documentation) using natural language. Built with n8n, OpenAI's LLMs and the Pinecone vector database, it provides accurate and context-aware responses to your questions about how to use the GitHub API. You could adapt this to any OpenAPI specification for any public or private API, thus creating a documentation chatbout that anyone in your company can use. How it works: Data Ingestion: The workflow fetches the complete GitHub API OpenAPI 3 specification directly from the GitHub repository. Chunking and Embeddings: It splits the large API spec into smaller, manageable chunks. OpenAI's embedding models then generate vector embeddings for each chunk, capturing their semantic meaning. Vector Database Storage: These embeddings, along with the corresponding text chunks, are stored in a Pinecone vector database. Chat Interface and Query Processing: The workflow provides a simple chat interface. When you ask a question, it generates an embedding for your query using the same OpenAI model. Semantic Search and Retrieval: Pinecone is queried to find the most relevant text chunks from the API spec based on the query embedding. Response Generation: The retrieved chunks and your original question are fed to OpenAI's gpt-4o-mini LLM, which generates a concise, informative, and contextually relevant answer, including code snippets when applicable. Set up steps: Create accounts: You'll need accounts with OpenAI and Pinecone. API keys: Obtain API keys for both services. Configure credentials: In your n8n environment, configure credentials for OpenAI and Pinecone using your API keys. Import the workflow: Import this workflow into your n8n instance. Pinecone Index: Ensure you have a Pinecone index named "n8n-demo" or adjust the workflow accordingly. The workflow is set up to work with this index out of the box. Setup Time: Approximately 15-20 minutes. Why use this workflow? Learn RAG in Action: This is a practical, hands-on example of how to build a RAG-powered chatbot. Adaptable Template: Easily modify this workflow to create chatbots for other APIs or knowledge bases. n8n Made Easy: See how n8n simplifies complex integrations between data sources, vector databases, and LLMs.