by Olivier
This workflow contains community nodes that are only compatible with the self-hosted version of n8n. This template generates structured synthetic company content using live web data from the Bedrijfsdata.nl API combined with an LLM. Provide a company domain (directly or via a Bedrijfsdata.nl ID) and the workflow retrieves relevant website and search engine content, then produces ready-to-use descriptions of the company, its offerings, and its target audience. โจ Features Create high-quality Dutch-language company descriptions on demand Automatically pull live web content via Bedrijfsdata.nl RAG Domain & RAG Search Structured JSON output for consistent downstream use (e.g., CRM updates, lead qualification) Flexible trigger: run from ProspectPro ID, domain input, or another workflow Secure, modular, and extendable structure (error handling included) ๐ข Example Output The workflow produces structured content fields you can directly use in your sales, marketing, or enrichment flows: company_description** โ 1-2 paragraph summary of the company products_and_services** โ detailed overview of offerings target_audience** โ specific characteristics of ideal customers (e.g., industry, location, company size, software usage) Example: { "company_description": "Bedrijfsdata.nl B.V. is een Nederlands bedrijf dat uitgebreide data levert over meer dan 3,7 miljoen bedrijven in Nederland...", "products_and_services": "Het bedrijf biedt API-toegang tot bedrijfsprofielen, sectoranalyses, en SEO-gegevens...", "target_audience": "Nederlandse MKB's die behoefte hebben aan actuele bedrijfsinformatie voor marketing- of salesdoeleinden..." } โ Requirements n8n instance or cloud workspace Install the Bedrijfsdata.nl n8n Verified Community Node OpenAI API credentials (tested with gpt-4.1-mini and gpt-3.5-turbo) Bedrijfsdata.nl developer account (14-day free trial, 500 credits) ๐ง Setup Instructions 1. Trigger configuration Use Bedrijfsdata.nl ID (default) or provide a domain directly Can be called from another workflow using โExecute Workflowโ 2. Configure API credentials Bedrijfsdata.nl API key OpenAI API key 3. Customize Output (Optional) Adjust prompt in the LLM node to create other types of synthetic content Extend structured output schema for your use case 4. Integrate with Your Stack Example node included to update HubSpot descriptions Replace or extend to match your CRM, database, or messaging tools ๐ Security Notes Input validation for required domain Dedicated error branches for invalid input, API errors, LLM errors, and downstream integration errors RAG content checks before running the LLM ๐งช Testing Run workflow with a Bedrijfsdata.nl ID linked to a company with a known website Review generated JSON output Verify content accuracy before production use ๐ About Bedrijfsdata.nl Bedrijfsdata.nl operates the most comprehensive company database in the Netherlands. With real-time data on 3.7M+ businesses and AI-ready APIs, we help Dutch SMEs enrich their CRM, workflows, and marketing automation. Built on 25+ years of experience in data collection and enrichment, our technology brings corporate-grade data quality to every organisation. Website: https://www.bedrijfsdata.nl Developers: https://developers.bedrijfsdata.nl API docs: https://docs.bedrijfsdata.nl ๐ Support Email: klantenservice@bedrijfsdata.nl Phone: +31 20 789 50 50 Support hours: MondayโFriday, 09:00โ17:00 CET
by Rahi
๐ ๏ธ Workflow: Jotform โ HubSpot Company + Task Automation Automatically create or update HubSpot companies and generate follow-up tasks whenever a Jotform is submitted. All logs are stored to Google Sheets for traceability, transparency, and debugging. โ Use Cases Capture marketing queries from your websiteโs Jotform form and immediately create tasks for your sales or SDR team. Enrich HubSpot companies with submitted domains, company names, and contact data. Automatically assign tasks to owners and keep all form submissions logged and auditable. Avoid manual handoffs โ full automation from form submission โ CRM. ๐ How It Works (Step-by-Step) 1. Jotform Trigger The workflow starts when a new submission is received via the Jotform webhook. Captured fields include: name, email, LinkedIn profile, company name, marketing budget, domain, and any specific query. 2. Create or Update Company in HubSpot + Format Data The โCreate Companyโ node ensures the submitted company is either created in HubSpot or updated if it already exists. A Formatter (Function) node standardizes the data โ names, email, LinkedIn URL, domain, marketing budget, and query text. It composes a task title, generates a follow-up timestamp, and dynamically assigns an owner. 3. Loop & HTTP Request โ Create HubSpot Task The workflow loops through each formatted item. A Wait node prevents rate limit issues. It then sends an HTTP POST request to HubSpotโs Tasks API, creating a task with: Subject and body including the submission details Task status, priority, and type Assigned owner and associated company 4. Loop & HTTP Request โ Set Company Domain After tasks are created, another loop updates each HubSpot company record with the submitted domain. This ensures all HubSpot companies have proper website data for future enrichment. 5. Storing Logs (Google Sheets) All processed submissions, responses, errors, and metadata are appended or updated in a Google Sheets document. This provides a complete audit trail โ ideal for debugging, reporting, and performance monitoring. ๐งฉ Node Structure Overview | Step | Node | Description | |------|------|--------------| | 1๏ธโฃ | Jotform Trigger | Receives form submission data | | 2๏ธโฃ | HubSpot Create Company | Ensures company record exists | | 3๏ธโฃ | Formatter / Function Node | Cleans & structures data, assigns owner, generates task fields | | 4๏ธโฃ | Wait / Delay Node | Controls API call frequency | | 5๏ธโฃ | HTTP Request (Create Task) | Pushes task to HubSpot | | 6๏ธโฃ | HTTP Request (Update Domain) | Updates company domain in HubSpot | | 7๏ธโฃ | Google Sheets Node | Logs inputs, outputs, and status | ๐ Requirements & Setup ๐ HubSpot Private App Token with permissions to create companies, tasks, and update records ๐ Jotform Webhook URL pointing to this workflow ๐ Google Sheets Credentials (OAuth or service account) with write access โ HubSpot app must have crm.objects.companies.write and crm.objects.tasks.write scopes โ ๏ธ Add retry or error-handling branches for failed API calls โ๏ธ Customization Tips & Variations Add contact association:** Modify the payload to also link the task with a HubSpot Contact (via email) so it appears in both company and contact timelines. Use fallback values:** In the Formatter node, provide defaults like โUnknown Companyโ or โNo query provided.โ Dynamic owner assignment:** Replace hash-based assignment with round-robin or territory logic. Conditional task creation:** Add logic to only create tasks when certain conditions are met (e.g., budget > 0). Error branches:** Capture failed HTTP responses and send Slack/Email alerts. Extended logs:** Add response codes, errors, and retry counts to your Google Sheet for more transparency. ๐ฏ Benefits & Why Youโd Use This โก Speed & Automation โ eliminate manual data entry into HubSpot ๐ Data Consistency โ submissions are clean, enriched, and traceable ๐ Transparency โ every action logged for full visibility ๐ Scalability โ handle hundreds of submissions effortlessly ๐ Flexibility โ adaptable for other use cases (support tickets, surveys, partnerships, etc.) โจ Example Use Case A marketing form on your website captures partnership or franchise inquiries. This workflow instantly creates a HubSpot company, logs the inquiry as a task, assigns it to a regional manager, and saves a record in Google Sheets โ all within seconds. Tags: HubSpot Jotform CRM GoogleSheets Automation LeadManagement
by Zakwan
๐ Overview This template automates the process of researching a keyword, scraping top-ranking articles, cleaning their content, and generating a high-quality SEO-optimized blog post. It uses Google Search via RapidAPI, Ollama with Mistral AI, and Google Drive to deliver an end-to-end automated content workflow. Ideal for content creators, SEO specialists, bloggers, and marketers who need to quickly gather and summarize insights from multiple sources to create superior content. โ๏ธ Prerequisites Before using this workflow, make sure you have: n8n installed (Desktop, Docker, or Cloud). Ollama installed with the mistral:7b model: ollama pull mistral:7b RapidAPI account (for Google Search API). Google Drive account (with a target folder where articles will be saved). ๐ Credentials Required RapidAPI (Google Search API) Header authentication with your API key. Example headers: x-rapidapi-key: YOUR_API_KEY x-rapidapi-host: google-search74.p.rapidapi.com Google Drive OAuth2 Allow read/write permissions. Update the folderId with your Drive folder where articles should be stored. Ollama API Base URL: http://localhost:11434 (local n8n) http://host.docker.internal:11434 (inside Docker) Ensure the mistral:7b model is available. ๐ Setup Instructions Configure RapidAPI Sign up at RapidAPI . Subscribe to the Google Search API. Create an HTTP Header Auth credential in n8n with your API key. Configure Google Drive In n8n, add a Google Drive OAuth2 credential. Select the Drive folder ID where output files should be saved. Configure Ollama Install Ollama locally. Pull the required model (mistral:7b). Create an Ollama API credential in n8n. Run the Workflow Trigger by sending a chat message with your target keyword. The workflow searches Google, extracts the top 3 results, scrapes the articles, cleans the content, and generates a structured blog post. Final output is stored in Google Drive as a .docx file. ๐จ Customization Options Search Engine โ Swap out RapidAPI with Bing or SerpAPI. Number of Articles โ Change limit: 3 in the Google Search node. Content Cleaning โ Modify the regex in the โClean Body Textโ node to capture or tags. AI Model โ Replace mistral:7b with llama3, mixtral, or any other Ollama-supported model. Storage โ Save output to a different Google Drive folder or export to Notion/Slack. ๐ Workflow Highlights Google Search (RapidAPI) โ Fetch top 3 results for your keyword. HTTP Request + Code Nodes โ Extract and clean article body text. Mistral AI via Ollama โ Summarize, optimize, and refine the content. Google Drive โ Save the final blog-ready article automatically.
by KlickTipp
Community Node Disclaimer: This workflow uses KlickTipp community nodes. How It Works This workflow connects an MCP Server with the KlickTipp contact management platform and integrates it with an LLM (e.g. Claude etc.) to enable intelligent querying and segmentation of contact data. It covers all major KlickTipp API endpoints, providing a comprehensive toolkit for automated contact handling and campaign targeting. Key Features MCP Server Trigger: Initiates the workflow via the MCP server, listening for incoming requests related to contact queries or segmentation actions. LLM Interaction Setup: Interacts with an OpenAI or Claude model to handle natural language queries such as contact lookups, tagging, and segmentation tasks. KlickTipp Integration: Complete set of KlickTipp API endpoints included: Contact Management: Add, update, get, list, delete, and unsubscribe contacts. Contact Tagging: Tag, untag, list tagged contacts. Tag Operations: Create, get, update, delete, list tags. Opt-In Processes: List and retrieve opt-in process details. Data Fields: List and get custom data fields. Redirects: Retrieve redirect URLs. Use Cases Supported: Query contact information via email or name. Identify and segment contacts by city, region, or behavior. Create or update contacts from the provided data. Dynamically apply or remove tags to initiate campaigns. Automate targeted outreach based on contact attributes. Setup Instructions Install and Configure Nodes: Set up MCP Server. Configure the LLM connection (e.g., Claude Desktop configuration). Add and authenticate all KlickTipp nodes using valid API credentials. Define Tagging and Field Mapping: Identify which fields and tags are relevant to your use cases. Ensure necessary tags and custom fields are already created in KlickTipp. Workflow Logic: Trigger via MCP Server: A prompt or webhook call activates the server listener. Query Handling via LLM Agent: AI interprets the natural language input and determines the action. Contact Search & Segmentation: Searches contacts using identifiers (email, address) or criteria. Data Operations: Retrieves, updates, or manages contact and tag data based on interpreted command. Campaign Preparation: Applies tags or sends campaign triggers depending on query results. Benefits: AI-Powered Automation:** Reduces manual contact search and tagging efforts through intelligent processing. Scalable Integration:** Built-in support for full range of KlickTipp operations allows diverse use-case handling. Data Consistency:** Ensures structured data flows between MCP, AI, and KlickTipp, minimizing errors. Testing and Deployment: Use defined prompts such as: โTell me something about the contact with email address Xโ โTag all contacts from region Yโ โSend campaign Z to customers in area Aโ Validate expected actions in KlickTipp after prompt execution. Notes: Customization:** Adjust tag logic, AI prompts, and contact field mappings based on project needs. Extensibility:** The template can be expanded with further logic for Google Sheets input or campaign feedback loops Resources: Use KlickTipp Community Node in n8n Automate Workflows: KlickTipp Integration in n8n
by A Z
โก Quick Setup Import this workflow into your n8n instance. Add your Apify, Google Sheets, and Firecrawl credentials. Activate the workflow to start your automated lead enrichment system. Copy the webhook URL from the MCP trigger node. Connect AI agents using the MCP URL. ๐ง How it Works This solution combines two powerful workflows to deliver fully enriched, AI-ready business leads from Google Maps: Apify Google Maps Scraper Node: Collects business data and, if enabled, enriches each lead with contact details and social profiles. Leads Missing Enrichment: Any leads without contact or social info are automatically saved to a Google Sheet. Firecrawl & Code Node Workflow: A second workflow monitors the Google Sheet, crawls each businessโs website using Firecrawl, and extracts additional social media profiles or contact info using a Code node. Personalization Logic: AI-powered nodes generate tailored outreach content for each enriched lead. Native Integration: The entire process is exposed as an MCP-compatible interface, returning enriched and personalized lead data directly to the AI agent. ๐ Available Operations Business Search: Find businesses on Google Maps by location, category, or keyword. Lead Enrichment: Automatically append contact details, social profiles, and other business info using Apify and Firecrawl. Personalized Outreach Generation: Create custom messages or emails for each lead. Batch Processing: Handle multiple leads in a single request. Status & Error Reporting: Get real-time feedback on processing, enrichment, and crawling. ๐ค AI Integration Parameter Handling: AI agents automatically provide values for: Search queries (location, keywords, categories) Enrichment options (contact, social, etc.) Personalization variables (name, business type, etc.) Response Format: Returns fully enriched lead data and personalized outreach content in a structured format.
by Vรกclav ฤikl
Overview This workflow automates the entire process of creating professional subtitle (.SRT) and synced lyrics (.LRC) files from audio recordings. Upload your vocal track, let Whisper AI transcribe it with precise timestamps, and GPT-5-nano segments it into natural, singable lyric lines. With an optional quality control step, you can manually refine the output while maintaining perfect timestamp alignment. Key Features Whisper AI Transcription**: Word-level timestamps with multi-language support via ISO codes Intelligent Segmentation**: GPT-5-nano formats transcriptions into natural lyric lines (2-8 words per line) Quality Control Option**: Download, edit, and re-upload corrections with smart timestamp matching Advanced Alignment**: Levenshtein distance algorithm preserves timestamps during manual edits Dual Format Export**: Generate both .SRT (video subtitles) and .LRC (synced lyrics) files No Storage Needed**: Files generated in-memory for instant download Multi-Language**: Supports various languages through Whisper API Use Cases Generate synced lyrics for music video releases on YouTube Create .LRC files for Musixmatch, Apple Music, and Spotify Prepare professional subtitles for social media content Batch process subtitle files for catalog releases Maintain consistent lyric formatting across artists Streamline content delivery for streaming platforms Speed up video editing workflow Perfect For For Musicians & Artists For Record Labels For Content Creators What You'll Need Required Setup OpenAI API Key** for Whisper transcription and GPT-5-nano segmentation Recommended Input Format**: MP3 audio files (max 25MB) Content**: Clean vocal tracks work best (isolated vocals recommended, but whole tracks works still good) Languages**: Any language supported by Whisper (specify via ISO code) How It Works Automatic Mode (No Quality Check) Upload your MP3 vocal track to the workflow Transcription: Whisper AI processes audio with word-level timestamps Segmentation: GPT-5-nano formats text into natural lyric lines Generation: Workflow creates .SRT and .LRC files Download your ready-to-use subtitle files Manual Quality Control Mode Upload your MP3 vocal track and enable quality check Transcription: Whisper AI processes audio with timestamps Initial Segmentation: GPT-5-nano creates first draft Download the .TXT file for review Edit lyrics in any text editor (keep line structure intact) Re-upload corrected .TXT file Smart Matching: Advanced diff algorithm aligns changes with original timestamps Download final .SRT and .LRC files with perfect timing Technical Details Transcription API**: OpenAI Whisper (/v1/audio/transcriptions) Segmentation Model**: GPT-5-nano with custom lyric-focused prompt System Prompt*: *"You are helping with preparing song lyrics for musicians. Take the following transcription and split it into lyric-like lines. Keep lines short (2โ8 words), natural for singing/rap phrasing, and do not change the wording." Timestamp Matching**: Levenshtein distance + alignment algorithm File Size Limit**: 25MB (n8n platform default) Processing**: All in-memory, no disk storage Cost**: Based on Whisper API usage (varies with audio length) Output Formats .SRT (SubRip Subtitle) Standard format for: YouTube video subtitles Video editing software (Premiere, DaVinci Resolve, etc.) Media players (VLC, etc.) .LRC (Lyric File) Synced lyrics format for: Musixmatch Apple Music Spotify Music streaming services Audio players with lyrics display Pro Tips ๐ก For Best Results: Use isolated vocal tracks when possible (remove instrumentals) Ensure clear recordings with minimal background noise For quality check edits, only modify text contentโdon't change line breaks Test with shorter tracks first to optimize your workflow โ๏ธ Customization Options: Adjust GPT segmentation style by modifying the system prompt Add language detection or force specific languages in Whisper settings Customize output file naming conventions in final nodes Extend workflow with additional format exports if needed Workflow Components Audio Input: Upload interface for MP3 files Whisper Transcribe: OpenAI API call with timestamp extraction Post-Processing: GPT-5-nano segmentation into lyric format Routing Quality Check: Decision point for manual review Timestamp Matching: Diff and alignment for corrected text Subtitles Preparation: JSON formatting for both output types File Generation: Convert to .SRT and .LRC formats Download Nodes: Export final files Template Author: Questions or need help with setup? ๐ง Email:xciklv@gmail.com ๐ผ LinkedIn:https://www.linkedin.com/in/vaclavcikl/
by n8n Team
This workflow adds new HubSpot contacts to the Mailchimp email list. Prerequisites HubSpot account and HubSpot credentials Mailchimp account and Mailchimp credentials How it works Cron node triggers this workflow every day at 7:00. HubSpot node searches for the new contacts created. Mailchimp node creates a new contact in a certain audience and add a 'subscribed' status.
by n8n Team
This workflow creates a new contact in Mautic when a new customer is created in Shopify. By default, the workflow will fill the first name, last name, and email address. You can add any other fields you require. Prerequisites Shopify account and Shopify credentials. Mautic account and Mautic credentials. How it works Triggers on a new customer in Shopify. Sends the required data to Mautic to create a new contact.
by n8n Team
This workflow turns a light red when an update is made to a GitHub repository. By default, updates include pull requests, issues, pushes just to name a few. Prerequisites GitHub credentials. Home Assistant credentials. How it works Triggers off on the On any update in repository node. Uses Home Assistant to turn on a light and then configure the light to turn red.
by n8n Team
This workflow provides a simple example of how to use itemMatching(itemIndex: Number) in the Code node to retrieve linked items from earlier in the workflow.
by Nskha
This n8n template provides a comprehensive solution for managing Key-Value (KV) pairs using Cloudflare's KV storage. It's designed to simplify the interaction with Cloudflare's KV storage APIs, enabling users to perform a range of actions like creating, reading, updating, and deleting namespaces and KV pairs. Features Efficient Management**: Handle multiple KV operations seamlessly. User-Friendly**: Easy to use with pre-configured Cloudflare API credentials within n8n. Customizable**: Flexible for integration into larger workflows (Copy / paste your prefered part). Prerequisites n8n workflow automation tool (version 1.19.0 or later). A Cloudflare account with access to KV storage. Pre-configured Cloudflare API credentials in n8n. Workflow Overview This workflow is divided into three main sections for ease of use: Single Actions: Perform individual operations on KV pairs. Bulk Actions: Handle multiple KV pairs simultaneously. Specific Actions: Execute specific tasks like renaming namespaces. Key Components Manual Trigger**: Initiates the workflow. Account Path Node**: Sets the path for account details, a prerequisite for all actions. HTTP Request Nodes**: Facilitate interaction with Cloudflare's API for various operations. Sticky Notes**: Provide quick documentation links and brief descriptions of each node's function. Usage Setup Account Path: Input your Cloudflare account details in the 'Account Path' node. you can get your account path by your cloudflare URL Choose an Action: Select the desired operation from the workflow. Configure Nodes: Adjust parameters in the HTTP request nodes as needed. (each node contain sticky note with direct link to it own document page) Execute Workflow: Trigger the workflow manually to perform the selected operations. Detailed Node Descriptions I covered in this Workflow the full api calls of Cloudflare KV product. API NODE: Delete KV Type**: HTTP Request Function**: Deletes a specified KV pair within a namespace. Configuration**: This node requires the namespace ID and KV pair name. It automatically fetches these details from preceding nodes, specifically from the "List KV-NMs" and "Set KV-NM Name" nodes. Documentation**: Delete KV Pair API API NODE: Create KV-NM Type**: HTTP Request Function**: Creates a new Key-Value Namespace. Configuration**: Users need to input the title for the new namespace. This node uses the account information provided by the "Account Path" node. Documentation**: Create Namespace API API NODE: Delete KV1 Type**: HTTP Request Function**: Renames an existing Key-Value Namespace. Configuration**: Requires the old namespace name and the new desired name. It retrieves these details from the "KV to Rename" and "List KV-NMs" nodes. Documentation**: Rename Namespace API API NODE: Write KVs inside NM Type**: HTTP Request Function**: Writes multiple Key-Value pairs inside a specified namespace. Configuration**: This node needs a JSON array of key-value pairs along with their namespace identifier. It fetches the namespace ID from the "List KV-NMs" node. Documentation**: Write Multiple KV Pairs API API NODE: Read Value Of KV In NM Type**: HTTP Request Function**: Reads the value of a specific Key-Value pair in a namespace. Configuration**: Requires the Key's name and Namespace ID, which are obtained from the "Set KV-NM Name" and "List KV-NMs" nodes. Documentation**: Read KV Pair API API NODE: Read MD from Key Type**: HTTP Request Function**: Reads the metadata of a specific Key in a namespace. Configuration**: Similar to the "Read Value Of KV In NM" node, it needs the Key's name and Namespace ID, which are obtained from the "Set KV-NM Name" and "List KV-NMs" nodes. Documentation**: Read Metadata API > The rest can be found inside the workflow with sticky/onflow note explain what to do. Best Practices Modular Use**: Extract specific parts of the workflow for isolated tasks. Validation**: Ensure correct namespace and KV pair names before execution. Security**: Regularly update your Cloudflare API credentials for secure access, and make sure to give your API only access to the KV. Keywords: Cloudflare KV, n8n workflow automation, API integration, key-value storage management.
by David Roberts
Sometimes you want to take a different action in your error workflow based on the data that was flowing through it. This template illustrates how you can do that (more specifically, how you can retrieve the data of a webhook node). How it works Use the 'n8n' node to fetch the data of the failed execution Parse that data to find webhook nodes and extract the data of the one that was executed