by Abdullah
What it does Automatically respond to Google Form entries submitted via Google Sheets. This workflow notifies your Slack team, sends a personalized Gmail response to the user, and adds the user to Google Contacts — all triggered instantly upon new row addition in your connected Sheet. Who's it for Perfect for lead capture forms, client inquiries, or feedback submissions. Trigger: When a new row is added to a connected Google Sheet (usually linked to a Google Form). Slack Notification: Sends a Slack message to your selected channel with the form data. Gmail Message: Sends an automatic email reply to the submitter (using their email from the form). Add Google Contact: Automatically creates a new contact in Google Contacts using the form data. This setup is ideal for automating client communication and internal team alerts without manual input.
by Jonathan
This workflow takes Dialpad call information for an answered call and pushes it into Syncro as either a ticket or an update to an existing ticket. You will need to have a workflow for each technician at this time. It also saves call/ticket information to a Google Sheet to be queried by the dialpad_to_syncro_timer.json workflow. This will match to inbound and outbound calls, so if that's not desired you need to add in an IF to only proceed on either inbound or outbound calls. > This workflow is part of an MSP collection, The original can be found here: https://github.com/bionemesis/n8nsyncro
by Ranjan Dailata
Who this is for This workflow is designed for Finance teams, accounting professionals, and automation engineers. Use Case: Automates processing of invoice submissions received via JotForm. Core Function:** Extracts structured data such as: Invoice number Client information Totals and tax amounts Line items or services Key Benefit:** Eliminates manual data entry, saving time and reducing human error. Automation Goal:** Streamline document handling with AI-powered PDF parsing and structured output generation. Ideal users include: Accounting or finance teams handling form-based invoice uploads Automation specialists using n8n for document processing Developers integrating invoice data into Google Sheets or CRMs What problem this workflow solves Manually extracting structured data from invoice PDFs submitted through JotForm is time-consuming, error-prone, and repetitive. This workflow solves that by: Automatically receiving the PDF through JotForm’s webhook Extracting structured fields (invoice number, company, client, line items, totals, etc.) using GPT-4-mini Saving the extracted data directly to Google Sheets Writing structured JSON data to disk for archival or further processing What this workflow does Webhook Trigger (JotForm → n8n) JotForm submission sends invoice data and attachment link to n8n. Parse Submission & Extract Metadata Extracts submission metadata (form ID, user details, invoice number, file link, etc.) using the Information Extractor node. Download PDF Attachment Fetches the uploaded PDF from JotForm’s secure file URL via the HTTP Request node, authenticated using a JotForm API key. Store & Process File Saves the invoice to disk and prepares it for AI processing. Extract Invoice Text Content Uses the Extract from File node to parse text from the PDF document. AI-Powered Structured Extraction (OpenAI GPT-4.1-mini) Sends the extracted text to a LangChain LLM Chain with a Structured Output Parser, ensuring consistent JSON output aligned with a defined schema. Save Extracted Data Writes structured JSON to disk Appends parsed results to Google Sheets for easy reporting Setup Instructions Prerequisites A JotForm account with a form containing an invoice PDF upload field You may build the invoice Jotform by leveraging the Jotform Templates A Google Sheets account with a connected spreadsheet OpenAI** n8n running locally or on a server with public webhook access (e.g. via loca.lt, ngrok, or n8n.cloud) Make sure to get the Jotform API Key via the Jotform Account API Key Steps Import the provided JSON into n8n Go to n8n → Workflows → Import from File/Clipboard Paste the provided JSON definition Configure Webhook Copy the webhook URL from the Webhook node Paste it into your JotForm’s Settings → Integrations → Webhook URL Set API Keys & Credentials Ensure the Jotform API key has been setup to download the Jotform PDF document Ensure your Google Sheets and OpenAI credentials are connected Test Submission Submit your JotForm with an invoice PDF n8n workflow will trigger automatically Check Outputs Open your Google Sheet to see structured invoice entries Check the disk folder (e.g., C:\Invoices) for JSON exports How to customize this workflow Change AI Model** Use the OpenAI Chat Model for Structured Data node. → Replace gpt-4.1-mini with gemini-1.5-pro or any other LLM node of your choice. Adjust Output Schema** Modify the Structured Output Parser node. → Edit the JSON schema to match your desired output fields and format. Save to a Different Location** In the Write the Structured Invoice to Disk node, → Update the file path pattern (e.g. /data/invoices/{{invoiceId}}.json). Log to a Database Instead of Google Sheets** Replace the Append or Update Row in Sheet node → with a MySQL or PostgreSQL node for database logging. Add Notifications** Extend the workflow by adding Slack or Email nodes → to send alerts when a new invoice extraction is completed. Summary The Structured Invoice Data Extraction from JotForm PDFs via Google Gemini, Converts JotForm-uploaded invoice PDFs into structured financial data automatically. Key Features: No manual parsing fully automated Works with any invoice layout via AI Saves structured results to Google Sheets + JSON file Extensible for CRMs, QuickBooks, or ERP sync
by Eduard
Primer workflow for OpenAI models: ChatGPT, DALLE-2, Whisper This workflow contains 5 examples on how to work with OpenAI API. Transcribe voice into text via Whisper model (disabled, please put your own mp3 file with voice) The old way of using OpenAI conversational model via text-davinci-003 Examples 1.x. Simple ChatGPT calls. Text completion and text edit Example 2. Provide system and user content into ChatGPT Examples 3.x. Create system / user / assistanc content via Code Node. Promtp chaining technique example Example 4. Generate code via ChatGPT Example 5. Return multiple answers. Useful for providing picking the most relevant reply IMPORTANT! Do not run the whole workflow, it's rather slow Better execute the last node of each branch or simply disconnect branches that are not needed
by Tom
This workflow shows a low code approach to creating a HTML table based on Google Sheets data. It's similar to this workflow, but allows fully customizing the HTML output. To run the workflow: Make sure you have a Google Sheet with a header row and some data in it. Grab your sheet ID: Add it to the Google Sheets node: Activate the workflow or execute it manually Visit the URL provided by the webhook node in your browser (production URL if the workflow is active, test URL if the workflow is executed manually)
by Tom
This simple workflow demonstrates how to get an end user's browser to download a file. It makes use of the Content-Disposition header to set a filename and control the browser behaviour. A use case could be the download of a PDF file at the end of an application process or to export data from a database without replacing the current page content in the browser. With this approach, the current page remains open and the file is simply downloaded instead: The original idea was first present here by @dickhoning in the n8n community.
by Nima Salimi
Overview Automate your daily contact imports from NocoDB to Brevo.The workflow updates the record status in NocoDB at each step. For every email campaign, it’s essential to keep your Brevo contact list updated so you can send personalized and targeted emails. This flow automates that process. ✅ Tasks ⏰ Runs automatically every day 🗂 Fetches only new/unimported records from NocoDB 🔍 Checks for missing required fields 🚫 Filters out disposable/temporary emails 📬 Creates contacts in Brevo 📝 Updates NocoDB status after each step 🛠 How to Use 1️⃣ Set your schedule The Schedule Trigger node runs the flow daily adjust to your preferred time. 2️⃣ Prepare your table in NocoDB Your NocoDB table should contain at least: id first_name last_name email status (default: 0-not-imported) 3️⃣ Configure your credentials Connect your NocoDB API Token in the NocoDB nodes. Connect your Brevo API Key in the Brevo node. 4️⃣ Map your fields In the Brevo: Create Contact node, make sure first name, last name, and email match your NocoDB column names. 📌 Notes 🛡 Make sure your NocoDB project/table IDs match the ones in this template. 🚀 This workflow processes contacts one-by-one to avoid heavy API calls and rate limit issues with Brevo. ✅ status values: 0-not-imported → new record 1-empty-fields → missing required fields 2-disposal-email → disposable email detected 3-contact-created → successfully created in Brevo
by Miquel Colomer
This workflow allows extracting data from multiple pages website. The workflow: 1) Starts in a country list at https://www.theswiftcodes.com/browse-by-country/. 2) Loads every country page (https://www.theswiftcodes.com/albania/) 3) Paginates every page in the country page. 4) Extracts data from the country page. 5) Saves data to MongoDB. 6) Paginates through all pages in all countries. It uses getWorkflowStaticData('global') method to recover the next page (saved from the previous page), and it goes ahead with all the pages. There is a first section where the countries list is recovered and extracted. Later, I try to read if a local cache page is available and I recover the cached page from the disk. Finally, I save data to MongoDB, and we paginate all the pages in the country and for all the countries. I have applied a cache system to save a visited page to n8n local disk. If I relaunch workflow, we check if a cache file exists to discard non-required requests to the webpage. If the data present in the website changes, you can apply a Cron node to check the website once per week. Finally, before inserting data in MongoDB, the best way to avoid duplicates is to check that swift_code (the primary value of the collection) doesn't exist. I recommend using a proxy for all requests to avoid IP blocks. A good solution for proxy plus IP rotation is scrapoxy.io. This workflow is perfect for small data requirements. If you need to scrape dynamic data, you can use a Headless browser or any other service. If you want to scrape huge lists of URIs, I recommend using Scrapy + Scrapoxy.
by Guido Zockoll
Fact-Checking Workflow Documentation Overview This workflow is designed for automated fact-checking of texts. It uses AI models to compare a given text with a list of facts and identify potential discrepancies or hallucinations. Components 1. Input The workflow can be initiated in two ways: a) Manually via the "When clicking 'Test workflow'" trigger b) By calling from another workflow via the "When Executed by Another Workflow" trigger Required inputs: facts: A list of verified facts text: The text to be checked 2. Text Preparation The "Code" node splits the input text into individual sentences Takes into account date specifications and list elements 3. Fact Checking Each sentence is individually compared with the given facts Uses the "bespoke-minicheck" Ollama model for verification The model responds with "Yes" or "No" for each sentence 4. Filtering and Aggregation Sentences marked as "No" (not fact-based) are filtered The filtered results are aggregated 5. Summary A larger language model (Qwen2.5) creates a summary of the results The summary contains: Number of incorrect factual statements List of incorrect statements Final assessment of the article's accuracy Usage Ensure the "bespoke-minicheck" model is installed in Ollama (ollama pull bespoke-minicheck) Prepare a list of verified facts Enter the text to be checked Start the workflow The results are output as a structured summary Notes The workflow ignores small talk and focuses on verifiable factual statements Accuracy depends on the quality of the provided facts and the performance of the AI models Customization Options The summarization function can be adjusted or removed to return only the raw data of the issues found The AI models used can be exchanged if needed This workflow provides an efficient method for automated fact-checking and can be easily integrated into larger systems or editorial workflows.
by David Harvey
🔮 Mystic Tarot Bot — AI-Powered iMessage Readings This magical n8n template turns your iMessage inbox into a soulful tarot reading experience powered by Blooio and AI. Users can send in questions or photos of their tarot spreads, and the bot replies like a mystical oracle — interpreting symbols, offering gentle insights, and guiding with poetic warmth. ✨ Ideal for solo reflection, spiritual creators, or client-based guidance services — no tech knowledge needed. 🌟 Use Cases Offer intuitive, emotionally resonant tarot readings via iMessage Support coaching, wellness, and metaphysical businesses with AI-enhanced readings Accept photos of real tarot card spreads or plain text questions Great for automating daily card pulls, client responses, or onboarding into spiritual flows 🧠 Good to Know Built using Blooio’s iMessage API — supports image attachments and conversational replies Includes visual recognition and symbolic interpretation of real tarot card photos Responses generated by OpenAI with a custom “Mystic Tarot Reader” persona Onboards users if they say “Hi” or request a virtual card draw Responds in poetic, spiritually attuned language — no markdown, no tech-speak ⚙️ How it Works Trigger: iMessage webhook via Blooio receives user message or image Check: Bot ignores self-sent messages to prevent loops Detect: If a photo is attached, it’s passed to AI for card recognition Interpret: The AI agent gives a heartfelt, symbolic interpretation Respond: A final, warm tarot reading is sent back through iMessage 📝 How to Use Set Up Blooio: Sign up at https://blooio.com Choose a Dedicated or Enterprise plan (image support required) Copy your API key from Settings → API Keys Paste it into the Send Message HTTP node as a Bearer token Customize the Experience: Adjust the prompt for a different tone or deck style Add journaling prompts, affirmations, or follow-ups Use other workflows to track users, create reading logs, or offer upsells Try It Out: Text your Blooio-connected number with: “Hi” → get onboarding “Draw a card for me” → get a virtual pull A tarot photo + question → get a full, soulful reading ✅ Requirements Blooio Account & API Token (Dedicated plan or higher for images) Optional: Tarot images, user questions, or both 🔧 Customizing This Workflow Add personalized spreads (e.g. past/present/future layouts) Send AI-generated visuals of the pulled cards Route readings into Notion, Airtable, or Google Sheets Expand to WhatsApp, web, or email with Blooio’s multichannel support 🃏 Let the cards speak. Let the messages flow.
by Yaron Been
This workflow automatically identifies and tracks backlink opportunities by analyzing competitor link profiles and finding potential linking websites. It saves you time by eliminating the need to manually research backlink prospects and provides a systematic approach to link building and SEO improvement. Overview This workflow automatically scrapes competitor backlink profiles and analyzes potential linking opportunities by examining referring domains, anchor text patterns, and link quality metrics. It uses Bright Data to access backlink data sources and AI to intelligently identify high-value linking opportunities for your SEO strategy. Tools Used n8n**: The automation platform that orchestrates the workflow Bright Data**: For scraping backlink analysis platforms without being blocked OpenAI**: AI agent for intelligent backlink opportunity analysis Google Sheets**: For storing backlink opportunities and tracking data How to Install Import the Workflow: Download the .json file and import it into your n8n instance Configure Bright Data: Add your Bright Data credentials to the MCP Client node Set Up OpenAI: Configure your OpenAI API credentials Configure Google Sheets: Connect your Google Sheets account and set up your backlink tracking spreadsheet Customize: Define target domains and backlink analysis parameters Use Cases SEO Teams**: Identify high-quality backlink opportunities for link building campaigns Content Marketing**: Find websites that might be interested in linking to your content Competitive Analysis**: Analyze competitor link profiles to discover new opportunities Digital PR**: Identify potential media outlets and industry websites for outreach Connect with Me Website**: https://www.nofluff.online YouTube**: https://www.youtube.com/@YaronBeen/videos LinkedIn**: https://www.linkedin.com/in/yaronbeen/ Get Bright Data**: https://get.brightdata.com/1tndi4600b25 (Using this link supports my free workflows with a small commission) #n8n #automation #backlinks #seo #linkbuilding #brightdata #webscraping #seotools #n8nworkflow #workflow #nocode #linkanalysis #backlinkresearch #seoautomation #linkprospecting #digitalmarketing #backlinkmonitoring #seoanalysis #linkopportunities #competitoranalysis #seoresearch #linkstrategy #backlinkanalysis #domainanalysis #linktracking #seomonitoring #searchmarketing #organicseo #linkbuilding #seocampaigns
by n8n Team
This workflow is for anyone looking to automatically fetch, validate, and parse complex language-based queries into a structured format. Its unique capability lies in not only processing language but also fixing invalid outputs before structuring them. Note that to use this template, you need to be on n8n version 1.19.4 or later.