by Lucas Walter
This workflow contains community nodes that are only compatible with the self-hosted version of n8n. AI dental appointment booking with Google Calendar and Sheets Who's it for This workflow is perfect for dental practices, medical offices, and healthcare providers who want to automate their appointment scheduling process. It's ideal for practices that receive high volumes of appointment requests and want to reduce manual booking while maintaining accurate patient records. What it does This AI-powered voice agent handles complete appointment booking workflows for "Pearly Whites Dental." When patients call or submit requests, the system: Analyzes the request using Google Gemini AI to understand patient needs Checks calendar availability in real-time via Google Calendar integration Automatically finds and offers up to 2 available appointment slots when the preferred time isn't available Books confirmed appointments directly to the practice calendar Logs all patient information (name, insurance, concerns) to Google Sheets for record-keeping Maintains conversation context across interactions for natural dialogue flow The workflow operates in Central Time Zone and assumes standard business hours (8 AM - 5 PM, excluding lunch). How it works The system receives webhook requests containing patient interaction data. The AI agent processes this information and determines which tools to use based on the request type. For availability checks, it intelligently searches multiple time slots in 30-minute increments until finding suitable options. All appointments are automatically formatted as "Dental Appointment | [Patient Name]" and logged with complete patient details. Requirements Google Calendar API access with OAuth2 credentials Google Sheets API access for patient data logging Google Gemini API key for AI processing Webhook endpoint for receiving requests Pre-configured Google Calendar and Sheets document How to set up Configure Google Calendar credentials in the calendar tool nodes Set up Google Sheets integration with your patient tracking spreadsheet Add your Google Gemini API key to the language model node Update the calendar ID in both calendar nodes to match your practice calendar Modify the Google Sheets document ID to point to your patient records sheet Test the webhook endpoint to ensure proper request processing How to customize the workflow Adjust business hours** by modifying the availability checking logic in the system prompt Change appointment duration** by updating the end time calculation (currently set to 1 hour) Modify patient data fields** by updating the Google Sheets column mapping Update practice name** by changing "Pearly Whites Dental" references in the system prompt Customize response format** by adjusting the AI agent's instructions for different appointment types
by Agentick AI
This n8n template demonstrates how to automate invoice data extraction from PDF attachments received via Gmail. Using LlamaParse and Gemini LLM, this workflow parses structured fields like PO numbers, line items, tax amounts, and totals — and stores them neatly into a Google Sheet. Perfect for use cases such as: 💼 Finance teams managing vendor invoices 📊 Bookkeeping workflows 🔄 Automating monthly reconciliation Good to Know At the time of writing, LlamaParse and Gemini may involve API usage costs depending on your subscription tier. Check LlamaIndex Pricing and Gemini Pricing for updated info. LlamaParse provides Markdown-formatted parsed output which is then passed to an LLM for structured field extraction. Gemini models may be geo-restricted. If you encounter "model not found" errors, your region might not be supported. How it Works Trigger: Watches your Gmail for new emails with PDF attachments. Email Filter: Ensures we only parse fresh emails not already labeled as "invoice synced". LlamaParse Upload: Uploads the PDF to LlamaParse’s parsing endpoint. Status Polling: Periodically checks whether the parsing is complete. Download Markdown: Once ready, it fetches the parsed invoice in Markdown format. AI Parsing with Gemini: Sends the Markdown to Gemini LLM to extract structured JSON (like PO number, line items, taxes, etc.) using a predefined schema. Google Sheets Upload: Stores extracted data into a predefined spreadsheet. Labeling: Marks the email as “invoice synced” to avoid reprocessing. How to Use The trigger is based on Gmail, but you can replace this with a webhook or manual trigger for testing. Setup Instructions Gmail API Enable Gmail API in Google Cloud Console. Connect your Gmail account in n8n credentials. Allow read + modify access. Google Sheets Create a new Google Sheet with the following headers (row 1): Date | Vendor Name | Invoice Number | PO Number | Line Items | Subtotal | Tax | Total Amount Connect Google Sheets in n8n and paste the Sheet ID in the node. You can customise the google sheet basis your requirement. LlamaParse Get a LlamaIndex API Key from LlamaIndex. Use the LlamaParse upload and polling nodes to process your PDFs. Gemini (via Vertex AI) Set up Gemini access in GCP. Use the Gemini 2.5 Model. Construct a structured prompt to extract required fields. Labeling Create a Gmail label named "Invoice Synced" for tracking processed emails. Requirements Gmail account with API access LlamaParse (LlamaIndex) account with API Key Google Sheets API credentials Access to Gemini 2.5 model via Google Vertex AI Customising This Workflow This template is just the beginning. You can expand it to: Auto-generate invoices back to vendors Run duplicate checks before inserting into Sheets Integrate with accounting tools like Zoho, QuickBooks, or Tally Trigger Slack/Email notifications on specific vendors or high invoice amounts
by James Francis
This workflow contains community nodes that are only compatible with the self-hosted version of n8n. Overview When applying for freelance jobs on Upwork, minutes matter. The first quality application is more often than not the one that's ultimately selected. Subscribers to Upwork's Freelancer Plus receive email job alerts, but filters are very limited. As a result, it takes a lot of time to manually go through each email and determine if each job fits your criteria. This workflow scans your Gmail every few minutes, finds all Upwork job alerts, scores them based on your profile/preferences, and sends a Slack channel message for jobs that are strong potential matches. How it works Scans Gmail for Upwork job alerts every few minutes Extracts all available job data from each email Scores the job based on profile information and criteria you provide Sends a Slack notification for all jobs that meet a given score threshold Disclaimers This workflow polls Gmail for new messages every 10 minutes. A workflow execution will be used each time, regardless of whether the Gmail scan finds anything. You may want to adjust this frequency based on the amount of workflow executions you want to use. The AI matching process is based only on the information included in the email body (job title, description snippet and metadata). It is against Upwork's Terms of Service to scrape a full job posting. Despite this, the quality of the results in our testing is high for most use cases. Required Setup Subscribe to Upwork's Freelancer Plus plan to enable job alerts ($19.99/mo at the time of this posting) Create Gmail and Open Router (or an LLM provider of your choice) credentials and select them in the Gmail / LLM Model nodes Create a Slack app that has at least the chat:write.public and channels:read scopes, install it into your workspace, and use your apps OAuth Token to create a Slack API credential in n8n IMPORTANT: In the "Opportuntity Scorer" node, replace the text in between the <my_profile> tags with your freelancer bio. For best results, include as much detail as possible about your skillset, experience, tool familiarity, and job preferences. Update the filter with your notification threshold preference(s) and update the Slack channel to send notifications to in the last Slack node If you have any questions or feedback about this workflow, or would like me to build custom workflows for your business, email me at n8n@paperjam.agency.
by ibrhdotme
This is a simple workflow that grabs HackerNews front-page headlines from today's date across every year since 2007 and uses a little AI magic (Google Gemini) to sort 'em into themes, sends a neat Markdown summary on Telegram. How it works Runs daily, grabs Hacker News front page for this day across every year since 2007. Pulls headlines & dates. Uses Google Gemini to sort headlines into topics & spot trends. Sends a Markdown summary to Telegram. Set up steps Clone the workflow. Add your Google Gemini API key. Add your Telegram bot token and chat ID. **Built on Day-01 as part of the #100DaysOfAgenticAi Fork it, tweak it, have fun!**
by Milorad Filipović
How It works It's very important to come prepared to Sales calls. This often means a lot of manual research about the person you're calling with. This workflow delivers the latest news about businesses you are about to interact with each day. Scans Your Calendar**: Each morning, it reviews your Google Calendar for any scheduled meetings or calls with companies. Fetches Latest News**: For each identified company, it searches the web for the most recent and relevant news articles using newsapi.org Delivers Insights**: You receive personalized emails via Gmail, each dedicated to a company you're meeting with that day, containing a curated list of news headlines, brief descriptions, and direct links to full articles. Setup steps The workflow requires you to have the following accounts set up in their respective nodes: Google Calendar GMail Besides those, there are a few parameters in the node called Setup that can be used to tweak the workflow:
by Marth
How it works This workflow runs on a daily schedule. It starts by scraping real estate-related queries from Google using Apify. The organic search results are parsed and summarized into a single text block. That text is then sent to an AI model (GPT-4o) which extracts the top 3 pain points faced by real estate agents based on current online sentiment. The workflow compares today's insights with yesterday's data stored in Airtable to detect recurring or new pain points. Finally, it sends a summary notification via Telegram and stores the current day's insights into Airtable for trend tracking. How to set up Clone or import the workflow into your n8n instance. Get an Apify API token and insert it into the HTTP Request node. Create an Airtable base with a table containing two fields: "Date" (text) and "Summary" (long text). Copy the Base ID and Table ID into the Airtable nodes. Connect your Telegram bot and replace the chat ID in the Telegram node. Set up OpenAI credentials with GPT-4o or GPT-4o-mini for the LLM node. Run once manually to test, then activate the schedule trigger to run daily. (Optional) Extend the flow to generate cold outreach emails based on pain points, or sync to Notion/CRM.
by Yaron Been
Scrape Indeed Job Listings for Hiring Signals Using Bright Data and LLMs How the flow runs Fill the form with job position you're hunting for. Bright data's scraper will scrape Indeed based on your requirments. Workflow waits for the snapshot. Data returns as JSON. Jobs append to Google Sheets. Each row goes to an LLM to analyze if you're a good fit for the job (based on your prompts). The LLMswrites YES or NO next to each job opportunity, helping you find job posts that are relevant to you. What you need Google Sheets with our template. Bright Data dataset and API key. OpenAI key for GPT‑4o mini (or any other LLM). n8n with required nodes. Form fields To Fill Job Location** – city or region. Keyword** – role or skills. Country** – two‑letter code. Setup steps Copy the sheet template link. Import the JSON workflow. Add your credentials in nodes. Test the form manually. Add a schedule if desired. Bright Data filter example [ { "country": "US", "domain": "indeed.com", "keyword_search": "Growth Marketer", "location": "Miami", "date_posted": "Last 24 hours" } ] Tips -Choose Last 24 hours often. -Increase wait time for big snapshots. -Narrow keywords to save credits. **Need help? **Email me anytime: Yaron@nofluff.online YouTube: @YaronBeen LinkedIn: https://www.linkedin.com/in/yaronbeen/ Bright Data Docs: https://docs.brightdata.com/introduction
by Jimleuk
This n8n workflow demonstrates a simple approach to improve chat UX by staggering an AI Agent's reply for users who send in a sequence of partial messages and in short bursts. How it works Twilio webhook receives user's messages which are recorded in a message stack powered by Redis. The execution is immediately paused for 5 seconds and then another check is done against the message stack for the latest message. The purpose of this check lets use know if the user is sending more messages or if they are waiting for a reply. The execution is aborted if the latest message on the stack differs from the incoming message and continues if they are the same. For the latter, the agent receives the buffered messages up to that point and is able to respond to them in a single reply. Requirements A Twilio account and SMS-enabled phone number to receive messages. Redis instance for the messages stack. OpenAI account for the language model. Customising the workflow This workflow should work for other common messaging platforms such as Whatsapp and Telegram. 5 seconds too long or too short? Adjust the wait threshold to suit your customers.
by Leonardo Grigorio
Youtube Video This n8n workflow is designed to assist YouTube content creators in identifying trending topics within a specific niche. By leveraging YouTube's search and data APIs, it gathers and analyzes video performance metrics from the past two days to provide insights into what content is gaining traction. Here's how the workflow operates: Trigger Setup: The workflow begins when a user sends a query through the chat_message_received node. If no niche is provided, the AI prompts the user to select or input one. AI Agent (Language Model): The central node utilizes a GPT-based AI agent to: Understand the user's niche or content preferences. Generate tailored search terms related to the niche. Process YouTube API responses and summarize trends using insights such as common themes, tags, and audience engagement metrics (views, likes, and comments). YouTube Search: The youtube_search node runs a secondary workflow to query YouTube for relevant videos published within the last two days. It retrieves basic video data such as video IDs, relevance scores, and publication dates. Video Details Retrieval: The workflow fetches additional details for each video: Video Snippet: Metadata like title, description, and tags. Video Statistics: Metrics such as views, likes, and comments. Content Details: Video duration, ensuring only content longer than 3 minutes and 30 seconds is analyzed. Data Processing: Video metadata is cleaned, sanitized, and stored in memory. Tags, titles, and descriptions are analyzed to identify patterns and trends across multiple videos. Output: The workflow compiles insights and presents them to the user, highlighting: The most common themes or patterns within the niche. URLs to trending videos and their respective channels. Engagement statistics, helping the user understand the popularity of the content. Key Notes for Setup: API Keys**: Ensure valid YouTube API credentials are configured in the get_videos, find_video_snippet, find_video_statistics, and find_video_data nodes. Memory Buffer**: The window_buffer_memory node ensures the AI agent retains context during analysis, enhancing the quality of the generated insights. Search Term Customization**: The AI agent dynamically creates search terms based on the user’s niche to improve search precision. Use Case: This workflow is ideal for YouTubers or marketers seeking data-driven inspiration for creating content that aligns with current trends, maximizing the potential to engage their audience. Example Output: For the niche "digital marketing": Trending Topic: Videos about "mental triggers" and "psychological marketing." Tags: "SEO," "Conversion Rates," "Social Proof." Engagement: Videos with over 200K views and high likes/comment ratios are leading trends. Video links: https://www.youtube.com/watch?v=video_id1 https://www.youtube.com/watch?v=video_id2
by David Roberts
AI evaluation in n8n This is a template for n8n's evaluation feature. Evaluation is a technique for getting confidence that your AI workflow performs reliably, by running a test dataset containing different inputs through the workflow. By calculating a metric (score) for each input, you can see where the workflow is performing well and where it isn't. How it works This template shows how to calculate a workflow evaluation metric: whether a specific tool was called by an agent. We use an evaluation trigger to read in our dataset It is wired up in parallel with the regular trigger so that the workflow can be started from either one. More info We make sure that the agent outputs the list of tools that it used We then check whether the expected tool (from the dataset) is in that list Finally we pass this information back to n8n as a metric
by Federico De Ponte
🔁 Loop & Optimize Meta Tags with Google Gemini This workflow automates the shortening of meta titles and descriptions for SEO—directly from your Google Sheet, row by row, using Google Gemini. ✅ What it does Reads rows from a Google Sheet (meta_title, meta_description, row_index) Loops through each row and checks if content exists Sends the data to Google Gemini for length-optimized output Cleans and parses the response Updates the original sheet with the shortened results 🛠️ Setup Requirements Google Sheets (OAuth2 credentials connected in n8n) Google Gemini API key (configured in n8n credentials) Sheet must contain: row_index meta_title meta_description Output will be written into: meta_titleFixed meta_descriptionFixed
by David Olusola
🤖 AI-Powered Lead Enrichment with Explorium MCP & Telegram Who it's for Sales reps, agencies, and growth teams who want to turn basic company info into qualified leads with automated research . Perfect for B2B prospecting. What it does This workflow lets you send a company name or domain via Telegram, and instantly returns: ✅ Enriched company profile (industry, size, tech, pain points) ✅ A clean, structured JSON — ready for your CRM or sales tools How it works 💬 Send company info to your Telegram bot 🔎 Workflow pulls data from Explorium MCP + Tavily 🧠 AI analyzes model, tools, pain points & goals 📤 JSON response sent back via Telegram or logged to your database Requirements 🔐 OpenAI API (GPT-4) 🧠 Explorium MCP API 🌐 Tavily Web Search API 🤖 Telegram Bot API 🗃️ PostgreSQL (for memory/logging) How to set up Add API keys in n8n Connect Telegram bot to webhook Set up PostgreSQL for memory persistence Customize prompts (tone, niche, etc.) Test by sending a company name via Telegram Customization Options 🎯 Focus enrichment on specific industries or keywords 💬 Adjust the email sequence structure & style 🧩 Add extra data sources (e.g. Clearbit, Crunchbase) 🧾 Format JSON to match your CRM schema ⚙️ Add approval step before sending emails Highlights ✅ Uses multi-source enrichment ✅ Works 100% from Telegram ✅ Integrates into any sales pipeline