Build a PDF-based RAG system with OpenAI, Pinecone and Cohere reranking
This workflow contains community nodes that are only compatible with the self-hosted version of n8n. This workflow provides a complete, ready-to-use template for a Retrieval-Augmented Generation (RAG) system. It allows you to build a powerful AI chatbot that can answer questions based on the content of PDF documents you provide, using a modern and powerful stack for optimal performance. Good to know Costs: This workflow uses paid services (OpenAI, Pinecone, Cohere). Costs will be incurred based on your usage. Please review the pricing pages for each service to understand the potential expenses. Video Tutorial (Bahasa Indonesia): For a step-by-step guide on how this workflow functions, you can watch the accompanying video tutorial here: N8N Tutorial: Membangun Chatbot RAG dengan Pinecone, OpenAI, & Cohere How it works This workflow operates in two distinct stages: Data Ingestion & Indexing: It begins when a .pdf file is uploaded via the n8n Form Trigger. The Default Data Loader node processes the PDF, and the Recursive Character Text Splitter breaks down the content into smaller, manageable chunks. The Embeddings OpenAI node converts these text chunks into vector embeddings (numerical representations). Finally, the Pinecone Vector Store node takes these embeddings and stores (upserts) them into your specified Pinecone index, creating a searchable knowledge base. Conversational AI Agent: A user sends a message through the Chat Trigger. The AI Agent receives the message and uses its VectorDB tool to search the Pinecone index for relevant information. The Reranker Cohere node refines these search results, ensuring only the most relevant context is selected. The user's original question and the refined context are sent to the OpenAI Chat Model (gpt-4.1), which generates a helpful, context-aware answer. The Simple Memory node maintains conversation history, allowing for natural, multi-turn dialogues. How to use Using this workflow is a two-step process: Populate the Knowledge Base: First, you need to add documents. Trigger the workflow by using the Form Trigger and uploading a PDF file. Wait for the execution to complete. You can do this for multiple documents. Start Chatting: Once your data has been ingested, open the Chat Trigger's interface and start asking questions related to the content of your uploaded documents. The Form Trigger is just an example. Feel free to replace it with other triggers, such as a node that watches a Google Drive or Dropbox folder for new files. Requirements To run this workflow, you will need active accounts and API keys for the following services. OpenAI Account & API Key: Function: Powers text embedding and the final chat generation. Required for the Embeddings OpenAI and OpenAI Chat Model nodes. Pinecone Account & API Key: Function: Used to store and retrieve your vector knowledge base. Required for the Pinecone Vector Store and VectorDB nodes. You also need to provide your Pinecone Environment. Cohere Account & API Key: Function: Improves the accuracy of your chatbot by re-ranking search results for relevance. Required for the Reranker Cohere node. Customising this workflow This template is a great starting point. Here are a few ways you can customize it: Change the AI Personality: Edit the System Message in the AI Agent node to change the bot's behavior, tone, or instructions. Use Different Models: You can easily swap the OpenAI model for another one (e.g., gpt-3.5-turbo for lower costs) in the OpenAI Chat Model node. Adjust Retrieval: In the VectorDB tool node, you can modify the Top K parameter to retrieve more or fewer document chunks to use as context. Automate Ingestion: Replace the manual Form Trigger with an automated one, like a node that triggers whenever a new file is added to a specific cloud storage folder.
Time tracking with Notion and iOS shortcut
Who might benfit from this workflow? Do you have to record your working hours yourself? Then this n8n workflow in combination with an iOS shortcut will definitely help you. Once set up, you can use a shortcut, which can be stored as an app icon on your home screen, to record the start, end and duration of your break. How it works Once setup you can tap the iOS shortcut on your iPhone. You will see a menu containing three options: "Track Start", "Track Break" and "Track End". After time is tracked iOS will display you a notification about the successful operation. How to set it up Copy the notion database to your notion workspace (Top right corner). Copy the n8n workflow to your n8n workspace In the notion nodes in the n8n workflow, add your notion credentials and select the copied notion database. Download the iOS Shortcut from our documentation page Edit the shortcut and paste the url of your n8n Webhook trigger node to the first "Text" node of the iOS shortcut flow. It is a best practice to use authentication. You can do so by adding "Header" auth to the webhook node and to the shrotcut. --- You need help implementing this or any other n8n workflow? Feel free to contact me via LinkedIn or my business website. You want to start using n8n? Use this link to register for n8n (This is an affiliate link) ---
Create Dynamic Seating & Venue Layout Plans with Google Sheets
Enhance event logistics with this automated n8n workflow. Triggered by seating requests, it fetches attendee data and venue templates from Google Sheets, calculates totals, and optimizes seating layouts. The workflow generates detailed recommendations, splits individual assignments, and sends alerts, ensuring efficient venue planning and real-time updates. đȘđ Key Features Optimizes seating arrangements based on attendee data and event type. Generates venue layouts with visual and statistical insights. Provides real-time alerts with comprehensive seating plans. Logs detailed assignments and layouts in Google Sheets. Workflow Process The Webhook Trigger node initiates the workflow upon receiving venue requirements and attendee data via webhook. Validate Request Data ensures the incoming data is complete and accurate. Fetch Attendee Data retrieves attendee information, including groups, accessibility needs, and VIP preferences from Google Sheets. Fetch Venue Templates reads venue layout templates from Google Sheets. Calculate Totals aggregates attendee data and venue constraints for optimal planning. Combine All Data merges attendee and venue data for analysis. AI Optimization uses algorithms to calculate optimal seating based on venue dimensions, attendee groups, accessibility needs, VIP placement, and aisle placement. Optimize Seating Layout refines the seating plan for efficiency. Format Recommendations structures the seating plan with visual layout map, seat assignments, statistics & metrics, and optimization tips. Split Seat Assignments divides the plan into individual seat assignments. Send Response returns the complete seating plan with visual layout map, seat assignment list, statistics & recommendations, and export-ready format. Send Alert notifies organizers with the finalized plan details. Update Sheets saves the master plan summary, individual seat assignments, and layout specifications to Google Sheets. Save Individual Assignments appends or updates individual seat assignments to Google Sheets. Setup Instructions Import the workflow into n8n and configure Google Sheets OAuth2 for data access. Set up the Webhook Trigger with your event management system's API credentials. Configure the AI Optimization node with a suitable algorithm or model. Test the workflow by sending sample seating requests and verifying layouts. Adjust optimization parameters as needed for specific venue or event requirements. Prerequisites Google Sheets OAuth2 credentials Webhook integration with the event management system Structured attendee and venue data in a Google Sheet Google Sheet Structure: Attendee Data Sheet with columns: Name Group Accessibility Needs VIP Status Preferences Updated At Venue Templates Sheet with columns: Venue Name Capacity Dimensions Layout Template Updated At Modification Options Customize the Validate Request Data node to include additional validation rules. Adjust the AI Optimization node to prioritize specific criteria (e.g., proximity, accessibility). Modify the Format Recommendations node to include custom visual formats. Integrate with venue management tools for live layout updates. Set custom alert triggers in the Send Alert node. Discover more workflows â Get in touch with us
Qualify & route leads across channels with GPT-4o, Slack & CRM integration
This n8n template demonstrates how to use AI to capture, qualify, and route inbound leads automatically from email or web forms. It extracts key business information using AI, scores the lead based on your ideal customer profile, creates CRM records, notifies your team on Slack, and logs all activityâincluding failuresâto Google Sheets. Use cases include: automating sales inboxes, qualifying form leads for agencies or SaaS products, routing high-fit prospects to the right territory owner, and keeping your sales and ops teams aligned without manual data entry. --- Good to know The OpenAI model is used for lead data extraction and will incur a small cost per run depending on volume. This workflow supports either Salesforce or HubSpot as the CRM systemâselect which one in the configuration node. Youâll need valid credentials for Gmail (or another email service), OpenAI, Slack, Google Sheets, and your chosen CRM before running. --- How it works Triggers: A Gmail trigger polls for new inbound emails. A Webhook node receives submissions from any online form. Both sources merge into a single pipeline. Validation: Incoming data is checked for required fields (email or text). Invalid entries are routed to the Dead Letter Queue (DLQ) for review. AI Extraction: The OpenAI node extracts structured fields like company name, size, industry, role, region, problem statement, and budget signals from free-form text. Parsing & Scoring: The AI output is parsed, then a code node calculates a 0â100 lead score based on transparent criteriaâindustry, size, role, problem clarity, and budget mentions. It also assigns a lead tier (Hot, Warm, Cold, Unqualified). CRM Routing: Depending on your configuration, the workflow creates a Salesforce lead (default) or can be easily adapted for HubSpot. Territory or CRM owner routing can be extended here. Slack Notification: A rich Slack message summarizes the lead score and reasoning and includes a âCreate intro emailâ button for quick action. Logging: All successful leads are logged to Google Sheets for reporting. Any failed or invalid leads are logged separately to the DLQ tab for auditing. --- How to use Configure your credentials for Gmail, OpenAI, Slack, Google Sheets, and your CRM. Open the Workflow Configuration node and fill in your target industries, buyer roles, company size, Slack channel ID, Google Sheets URL, and CRM choice. Create corresponding tabs in your Google Sheet for Leads and DLQ. Test by sending a sample email or form submission, then watch the workflow extract, score, route, and notify automatically. --- Requirements OpenAI account for text extraction Gmail (or other email provider) for the email trigger Slack for lead notifications Google Sheets for logging leads and DLQ entries Salesforce or HubSpot account for CRM integration --- Customizing this workflow This template can be expanded in many ways: Add HubSpot routing on the first Switch output. Integrate a Slack button handler to auto-generate intro emails. Add retry and backoff logic for resilience. Modify the scoring rubric in the code node to match your unique ICP. Connect additional sources, such as LinkedIn forms or landing page builders, for omnichannel lead capture. ---
Track website changes with Firecrawl, GPT-5-Mini, Notion, and Gmail
Stay Updated on Website Changes Automatically Manually checking websites for updates or competitor changes can be tedious. This workflow automates the process by scraping target pages, capturing screenshots, and analyzing content changes using Firecrawl and GPT-5-mini. All updates are saved in Notion, and you can optionally receive email alerts â keeping you informed without lifting a finger. --- Key Features Automated Website Monitoring Tracks changes on multiple target URLs on a daily schedule. Visual & Text-Based Updates Captures screenshots and generates concise text summaries for each change. Notion Integration Stores snapshots, comparisons, and summaries directly in Notion for easy reference. GPT-Powered Comparison Highlights meaningful changes between snapshots using GPT-5-mini. Change Criteria Input Define what type of updates matter to you â focus on specific content changes or ignore minor differences. Email Alerts via Gmail Sends notifications when updates occur, so you never miss important changes. Reusable Notion Page Template Includes a structured template for consistent tracking and reporting: View Template --- Email Updates: Notion Page Template: Notion Update Example: --- Setup Instructions Add Target URLs Paste one or more websites you want to monitor. The workflow accepts multiple URLs in JSON format for scalable tracking. --- Setup Firecrawl Credential Use Firecrawl to scrape website data without dealing with complex API setups. Steps: Go to firecrawl.dev/app and sign up. Copy your API Key from the dashboard. In n8n, open the Firecrawl node, add a new credential, and paste the key. Test the node to ensure the connection works. --- Setup OpenAI API Key The workflow uses GPT-5-mini to analyze and summarize website changes. Steps: Sign up at OpenAI if you havenât already. Generate a new API Key in your OpenAI dashboard. In n8n, open the GPT node, add a new credential, and paste the API key. Test the node to ensure it can successfully call the API. --- Setup Gmail for Email Alerts In n8n, open the Gmail node. Click Add New Credentials and select OAuth2. Follow the Google OAuth setup to allow n8n to send emails on your behalf. Choose the recipient and customize the alert formatting to include snapshots and summaries. --- Configure the Workflow Import the workflow into n8n. Add your target URLs in JSON format. Paste your Firecrawl API Key into the Firecrawl node. Add your OpenAI API key to the GPT node. Authenticate Gmail if email notifications are desired. Set your preferred change criteria to filter meaningful updates. Adjust the schedule for daily execution or your preferred frequency. --- How It Works Schedule Trigger: Runs daily or on-demand. Fetch Pages: Scrapes target websites using Firecrawl. Capture & Compare: Screenshots and text are stored and compared using GPT-5-mini. Apply Change Criteria: Only updates that meet your defined criteria are logged. Save Updates: Changes are stored in Notion with visual and text summaries. Optional Alerts: Sends Gmail notifications with updates. --- Example Use Cases Monitor competitor websites for product, pricing, or design changes. Track updates on blogs, documentation, or landing pages. Automatically log changes for research, reporting, or team awareness. Get notified instantly when key pages are updated. --- Requirements | Tool | Purpose | |------|----------| | Firecrawl API Key | Scrape website content | | OpenAI API Key | Generate summaries and compare changes with GPT-5-mini | | n8n | Run and schedule the automation | | Notion | Store snapshots, summaries, and comparisons | | Gmail (OAuth2) | Send alert emails | --- Have questions about this template? Feel free to reach out. Our DMs are always open! Email: hello@scoutnow.app X (Twitter): @ScoutNowApp
Apollo data enrichment using Company Id, Google Sheets & Telegram
Apollo Data Enrichment Using Company Id to automatically finds contacts for companies listed in your Google Sheet, enriches each person with emails and phone numbers via Apolloâs API, and writes verified contacts back to your procurement sheet while notifying your team on Telegram. It removes the manual copy-paste scavenger hunt and turns hours of research into minutes like hiring a tireless intern who never asks for coffee. đĄ Why Use Apollo Data Enrichment Based Using Company Id? Save time: Automates enrichment of contacts from company IDs so you stop spending hours looking up emails and phone numbers. Solve noisy data: Only queries relevant titles and email status filters so your outbound team sees fewer dead leads. Improve outcomes: Ensures enriched, outreach ready contacts (emails/phones) land in your sheet. Faster follow-up, higher reply rates. Competitive edge: Targets granular procurement roles (manager/head/lead/director) and marks processed companies to avoid duplicate work makes your outreach becomes smarter and cleaner. ⥠Perfect For Outbound/BDR teams: who need contacts ready for outreach Data ops / Growth teams: who maintain lead lists and enrichment pipelines đ§ How It Works â± Trigger: Scheduled trigger âRun Every X Minutesâ that periodically picks unprocessed companies. đ Process: Reads companies from the Google Sheet, fetches the Apollo Company ID, builds title/seniority/email-status filters, calls Apollo mixed_people/search and then people/match for full contact details. đ€ Smart Logic: Title Converter separates seniority from core titles, the Build Search Filters code node constructs precise Apollo query strings, and an If node branches when no people are found. đ Output: Writes enriched contacts into the Purchasing / Procurement Roles Google Sheet, updates Leadsfeeder to mark companies as processed, accepts phone updates via webhook and notifies via Telegram. đ Quick Setup Import JSON file to your n8n instances Add credentials: Google Sheets OAuth2, Apollo API Key (HTTP Header Auth), Telegram Bot Token Customize: adjust person titles array, personseniorities, contactemail_status, Page and Per Page settings in the Define Search Settings / Title Converter nodes Update: Google Sheet Data Test: run the workflow with a small set of companies and verify rows appear in the sheet and Telegram notifications arrive đ§© You'll Need Active n8n instances Google account with access to spreadsheet id Apollo API Key (HTTP Header Auth) Telegram Bot token (for alerts) Webhook enabled đ ïž Level Up Ideas Push enriched contacts directly into your CRM (HubSpot, Pipedrive, Salesforce) to start sequences automatically Add deduplication and scoring (e.g., prefer âverifiedâ or âlikely to engageâ emails) and deprioritize unverified ones Respect rate limits and add exponential backoff + request batching for large company lists Support Made by: Khaisa Studio Category: lead generation, data enrichment pipeline, apollo.io enrichment Need custom work? Contact Us!