Workflow Template Library

Ready-to-Use n8n Workflow Templates

Browse 63+ free automation templates. Import directly into your n8n instance.

AI Customer Support Chatbot with Elasticsearch Knowledge Base

Overview This workflow transforms a webhook endpoint into an intelligent customer support chatbot. It receives a customer question, searches a knowledge base stored in Elasticsearch, and generates a helpful, context-aware reply using OpenAI's GPT-4. The bot is designed to reduce human workload by answering common queries instantly, and gracefully escalates to a human agent when the answer is not found. It's ideal for embedding into a website, messaging app, or any frontend that can send HTTP POST requests. Node-by-Node Breakdown Chatbot Webhook (Frontend Trigger) — Type: (No auth) - Listens for POST requests at the path . The webhook ID is . This is the entry point where your frontend sends the customer's question as JSON body (e.g., ). Extract Customer Query — Type: (No auth) - Extracts from the incoming JSON body using a simple JavaScript code snippet: . This prepares the query for the next steps. Search Knowledge Base (Elasticsearch) — Type: (Requires Elasticsearch credentials – basic auth / API key) - Performs a search on the index using the extracted question as the query. The parameter is set to . It returns matching documents from the knowledge base. Generate AI Response with GPT-4 — Type: (API Key auth) - Uses the model to generate a response. The system message instructs the assistant to use the provided knowledge base content and to politely escalate if the answer is not found. The user message combines the customer question and the top knowledge base result (). Format Chatbot Reply — Type: (No auth) - Extracts the final reply from the OpenAI response: . This ensures the output is properly structured. Return Chatbot Reply — Type: (No auth) - Sends the formatted reply back to the caller (the frontend) as a JSON response. Setup Instructions Elasticsearch: You need a running Elasticsearch instance (cloud or self-hosted) with an index named . Populate it with documents containing your knowledge base articles (e.g., each document should have a field). Configure the Elasticsearch node in n8n with your host, port, and authentication credentials (API key or username/password). OpenAI: Obtain an API key from OpenAI. Add it as a credential in n8n (type: OpenAI API). Webhook URL: After activating the workflow, n8n will generate a unique webhook URL (e.g., ). Use this URL in your frontend (website, chatbot widget, etc.) to send POST requests. Activate the workflow: Toggle the workflow to active in n8n for the webhook to start listening. Use Cases & Adaptations Customer Support Portal: Embed the webhook URL in a live chat widget on your website to answer FAQs instantly. Slack or Discord Bot: Replace the webhook trigger with a Slack/Discord trigger and adjust the response format to send messages back to the channel. Multiple Knowledge Bases: Modify the Elasticsearch query to search across multiple indices or filter by category. Fallback to Human: Customize the GPT-4 system message to trigger a notification (e.g., email or Slack message) when the answer is not found. Model Upgrade: Swap for to reduce cost or use a custom fine-tuned model. Language Support: Add a language detection step before the query to route to different knowledge bases or translate the response.

WebhookFunctionElastic SearchOpenai+1 more
6 nodeswebhook
Support

AI-Powered Unsplash to Pinterest Workflow with RAG

Overview This workflow provides an intelligent pipeline for processing and storing data related to Unsplash images for Pinterest. It uses a Retrieval-Augmented Generation (RAG) architecture to automatically ingest content, generate embeddings, store them in a vector database (Supabase), and then process queries using an AI agent. The workflow is triggered via a webhook, making it suitable for integration with external applications or manual testing. Node-by-Node Breakdown Sticky Note — A visual note for documentation purposes. It displays the title "Automated workflow: Unsplash to Pinterest" on the canvas. No authentication required. Webhook Trigger — Listens for incoming HTTP POST requests at the path . This is the entry point for the workflow. When triggered, it passes the incoming data to the next nodes. (No auth) Text Splitter — Splits incoming text into chunks of 400 characters with a 40-character overlap. This prepares the data for embedding by breaking it into manageable pieces. (No auth) Embeddings (Cohere) — Generates vector embeddings for each text chunk using the model from Cohere. These embeddings represent the semantic meaning of the text. (API Key auth — requires a Cohere API key) Supabase Insert — Inserts the generated embeddings into a Supabase vector store named . This stores the data for later retrieval. (API Key auth — requires Supabase credentials) Supabase Query — Queries the same Supabase vector store () to retrieve relevant vectors based on similarity search. This is used by the RAG agent to find context. (API Key auth — requires Supabase credentials) Vector Tool — Wraps the Supabase vector store as a tool that the AI agent can use to retrieve context. It's labeled "Vector context" for clarity. (No auth — uses the Supabase connection from the previous nodes) Window Memory — Provides a buffer window memory for the AI agent, allowing it to maintain conversation context across multiple interactions. (No auth) Chat Model (OpenAI) — The language model that powers the AI agent. It uses OpenAI's chat model to process queries and generate responses. (API Key auth — requires an OpenAI API key) RAG Agent — The core AI agent that combines the chat model, vector tool, and memory. It processes incoming data with the prompt: "Process the following data for task 'Unsplash to Pinterest':" and includes a system message: "You are an assistant for Unsplash to Pinterest". (No auth — uses connections to other nodes) Append Sheet (Google Sheets) — Appends the AI agent's output to a Google Sheet. It writes to a sheet named "Log" in a document identified by . The column "Status" is populated with the agent's response text. (OAuth2 — requires Google Sheets API credentials) Slack Alert — Sends an error notification to the Slack channel if the RAG Agent encounters an error. The message includes the error details. (OAuth2 — requires Slack API credentials) Setup Instructions To use this workflow, you'll need accounts and API keys for the following services: Cohere: Sign up at cohere.com and generate an API key for the embeddings model. Supabase: Create a project at supabase.com and set up a vector store with the name . You'll need your Supabase URL and service role key. OpenAI: Get an API key from platform.openai.com for the chat model. Google Sheets: Create a Google Sheet with a sheet named "Log" and note the Sheet ID from the URL. Set up OAuth2 credentials in the Google Cloud Console. Slack: Create a Slack app, add it to your workspace, and obtain OAuth tokens. Create a channel named for error notifications. Configure each node's credentials in n8n by clicking on the node and selecting "Add Credential" or selecting existing ones. Use Cases and Variations This workflow is ideal for: Content Curation: Automatically process and store descriptions of Unsplash images for later retrieval and Pinterest posting. Knowledge Base: Build a searchable database of image metadata with semantic search capabilities. Automated Content Moderation: Use the AI agent to analyze image descriptions and flag inappropriate content before posting. Possible Adaptations: Replace the webhook trigger with a Schedule Trigger to run the workflow at regular intervals. Swap the Cohere embeddings with OpenAI embeddings or Hugging Face embeddings. Instead of Google Sheets, output to Airtable, Notion, or PostgreSQL. Add an HTTP Request node after the RAG Agent to post processed data directly to Pinterest's API. Use a different vector store like Pinecone or Qdrant instead of Supabase.

Sticky NoteWebhookText Splitter Character Text SplitterEmbeddings Cohere+4 more
12 nodeswebhook
AI

Receive and Reply to Messages Across WhatsApp, Instagram, and Facebook Messenger with Fiwano

Overview This workflow provides a unified integration for receiving and replying to messages from WhatsApp, Instagram Direct Messages, and Facebook Messenger using the Fiwano platform. It demonstrates how to handle incoming messages from all three Meta-owned messaging channels through a single trigger and action node set, eliminating the need to build separate integrations for each platform. The workflow is ideal for customer support, lead response, or any scenario where you need to manage multi-channel messaging from one n8n instance. Workflow Steps Fiwano Trigger (API Key auth) — This node listens for incoming messages from all connected channels (WhatsApp, Instagram, Facebook Messenger). It uses the parameter to automatically register the workflow for every active channel in your Fiwano account. The trigger fires on "Message Received" events and provides a normalized payload regardless of which channel the message came from. Example — route by message type (No auth) — This is an IF node that checks the field from the incoming message. It routes messages into two branches: one for text messages (where equals "text") and another for all other message types (images, audio, video, documents, etc.). This demonstrates how to implement different reply logic based on message content type. Example — send text reply (API Key auth) — This Fiwano Send node replies to text messages. It uses the following parameters: - : Taken from the incoming message's field to ensure the reply goes back through the same channel - : Set to the sender's ID from - : A template that echoes the user's message: Example — send attachment reply (API Key auth) — This second Fiwano Send node handles replies to non-text messages (attachments). Its parameters: - : Same as above, using - : Same as above, using - : Acknowledges the attachment type: Setup Instructions Prerequisites A Fiwano account (sign up at fiwano.com) At least one connected messaging channel (WhatsApp Business API, Instagram Professional account, or Facebook Page connected to Messenger) n8n instance (self-hosted or cloud) with public accessibility for webhook triggers Installation Steps Install the n8n-nodes-fiwano community package in your n8n editor (verified package available in the n8n community nodes registry) Create a Fiwano API credential in n8n with your API key from the Fiwano portal (Recommended) Set a Webhook Secret on the credential for signature verification Connect your messaging channels through the Fiwano portal or their channel-connection API Save and activate the workflow — the trigger will auto-register for all active channels Use Cases and Variations Primary Use Cases Customer Support: Route incoming messages to a helpdesk or ticketing system based on message content or sender Lead Response: Automatically reply to inquiries from ads or business pages with personalized messages Notification System: Forward messages to Slack, email, or other internal tools Adaptation Ideas Replace the simple IF router with a more complex decision tree using Switch nodes or AI classification Add a database lookup (e.g., Airtable, Google Sheets) to check if the sender is an existing customer Integrate with OpenAI or other AI services to generate intelligent replies Add logging to a spreadsheet or database for analytics Implement different response templates for each channel type using the field Add human handoff logic when the AI or automated response cannot handle the query Important Notes The normalized payload from Fiwano includes: , (whatsapp/instagram/messenger), , , , , and (for attachments) You typically don't need to branch by channel type unless your business logic requires channel-specific behavior n8n must be publicly reachable for the webhook trigger to receive messages from Fiwano

Sticky NoteIFFiwano
6 nodesmanual
Support

AI-Powered CV Scanner with Google Sheets & Gemini

Overview This workflow automates the initial screening of job applicants by combining a web form, AI-powered CV analysis, and Google Sheets. When a candidate submits their application (name, email, and CV PDF), the workflow instantly extracts the text from the PDF using Mistral OCR, then sends it to Google Gemini for evaluation against a predefined job description. The AI returns a qualification score (0.0 to 1.0) and a detailed explanation, which are then logged alongside the candidate's details in a Google Sheet. This eliminates manual CV review, speeds up your hiring pipeline, and ensures every applicant is evaluated consistently. Workflow Steps Application Form (Form Trigger) — No auth required. This node presents a custom-branded web form to collect the candidate's Full Name, Email, and CV (PDF upload). The form is styled with a dark, glassmorphism theme and includes animated backgrounds. Once submitted, the workflow triggers automatically. Log Candidate Submission (Google Sheets) — OAuth2. Immediately after form submission, this node appends the candidate's name and email to the 'CVs' Google Sheet. This ensures the application is recorded even if the subsequent analysis steps fail. Extract CV Text (Mistral AI) — API Key auth. This node takes the uploaded PDF file from the form and uses Mistral's OCR API to extract all text content from the CV. It dynamically selects the binary file uploaded in the previous step. AI Qualification (LLM Chain) — This is the core analysis node. It uses a detailed prompt that includes: - A system message defining the AI as a professional, objective hiring assistant. - The full job description for a "Senior Frontend Developer" with core requirements and preferred qualifications. - Clear evaluation logic: candidates missing core requirements cannot score above 0.6; meeting all core requirements yields at least 0.75; preferred qualifications add bonuses up to 1.0. - The extracted CV text as context. - An instruction to output raw JSON only. Gemini 2.5 Flash Lite (Language Model) — API Key auth (Google AI Studio). This node provides the actual AI model (Google Gemini 2.5 Flash Lite) with a temperature of 0.4 for balanced, deterministic outputs. It powers the LLM Chain above. JSON Output Parser (Output Parser) — This node ensures the AI's response is valid JSON with the exact schema: (number) and (string). It prevents malformed responses from breaking downstream nodes. Add CV Analysis (Google Sheets) — OAuth2. After analysis, this node updates the candidate's row in the 'CVs' sheet by matching on the Email column. It writes the and from the AI's output into the corresponding columns. Create 'CVs' Spreadsheet (Google Sheets) — OAuth2. This node runs once when the workflow is first triggered manually. It creates a new Google Sheet named 'CVs' with columns: FullName, Email, QualificationRate, QualificationDescription. Setup Instructions Prerequisites A Google account (for Google Sheets) A Mistral AI account (free tier available) — Get your API key here A Google AI Studio account — Create an API key here Step-by-Step Google Sheets Credentials: In the three Google Sheets nodes, create or select an OAuth2 credential for Google Sheets. Grant access to create and edit spreadsheets. Mistral AI Credential: In the "Extract CV Text" node, create a new credential and paste your Mistral API key. Gemini Credential: In the "Gemini 2.5 Flash Lite" node, create a new credential and paste your Google AI Studio API key. Customize Job Description: Open the "AI Qualification" node and edit the section in the prompt to match your actual job posting. Activate the Workflow: Toggle the workflow to "Active" status. The "Application Form" node will generate a public URL you can share with candidates. Test: Use the "Start Here" manual trigger to initialize the Google Sheet, then submit a test application via the form URL. Use Cases & Variations Custom Job Roles: Replace the Senior Frontend Developer description with any role (e.g., Marketing Manager, Data Scientist, Sales Rep) by editing the prompt in the AI Qualification node. Different Storage: Replace Google Sheets with Airtable, Notion, or a database like PostgreSQL for storing applications and results. Multi-Round Screening: Add a Slack or email notification node to alert the hiring team when a candidate scores above a certain threshold (e.g., >0.8). Interview Scheduling: Connect the output to a Calendly or Google Calendar node to automatically invite high-scoring candidates for an interview. Batch Processing: Modify the trigger to accept a CSV upload of multiple CVs for bulk analysis. Enhanced Analysis: Add more output fields like "years of experience", "top skills", or "red flags" by updating the JSON schema in the Output Parser and the prompt.

Sticky NoteMistral AIGoogle SheetsOutput Parser Structured+2 more
18 nodesmanual
Data

YouTube Video Summarizer with Telegram Notification

High-Level Summary This workflow automatically processes YouTube videos by fetching their transcripts, generating a structured AI-powered summary using OpenAI's GPT-4o-mini, and sending the summary along with video metadata to a Telegram chat. It is triggered via a webhook, making it easy to integrate with other tools or services (e.g., a browser extension, a form, or another automation). The workflow is ideal for content curators, researchers, or teams who want to quickly digest video content without watching the full video. Workflow Steps Webhook — Receives an incoming HTTP POST request containing a YouTube URL in the request body. This is the entry point of the workflow. (No auth) Get YouTube URL (Set node) — Extracts the field from the incoming webhook payload and stores it as a string variable for downstream use. (No auth) YouTube Video ID (Code node) — Runs a JavaScript function that parses the YouTube URL using a regex pattern to extract the 11-character video ID (supports both and formats). (No auth) Get YouTube Video (YouTube node) — Uses the extracted video ID to fetch video metadata (title, description, etc.) from the YouTube Data API v3. (OAuth2 — requires a Google Cloud project with YouTube Data API enabled) YouTube Transcript (Community node: ) — Fetches the transcript/captions for the video. This node requires the video ID (passed from the previous step). (No auth — uses public YouTube captions) Split Out (SplitOut node) — Splits the transcript array into individual items so each text segment can be processed separately. (No auth) Concatenate (Summarize node) — Concatenates all transcript text segments into a single string, separated by spaces, to prepare the full transcript for analysis. (No auth) gpt-4o-mini (OpenAI Chat Model node) — Configures the OpenAI language model (GPT-4o-mini) that will be used for summarization. (API Key auth — requires an OpenAI API key) Summarize & Analyze Transcript (LLM Chain node) — Sends the concatenated transcript to the GPT-4o-mini model with a detailed prompt asking for a structured summary with headers, bullet points, bold terms, and tables. The output is a markdown-formatted analysis. (No auth — uses the model configured in the previous node) Response Object (Set node) — Assembles the final output object containing: - : The AI-generated summary text - : An empty array (placeholder for future use) - : The video title from YouTube metadata - : The video description from YouTube metadata - : The YouTube video ID - : The original YouTube URL from the webhook (No auth) Respond to Webhook — Sends the assembled response object back to the original webhook caller (e.g., a browser extension or app). (No auth) Telegram — Sends a message to a specified Telegram chat containing the video title and the YouTube URL. (API Key auth — requires a Telegram Bot Token and chat ID) Setup Instructions To use this workflow, you will need the following accounts and credentials: OpenAI Account: Create an account at platform.openai.com and generate an API key. Add this as a credential in n8n under "OpenAI". Google Cloud Project: Enable the YouTube Data API v3 in your Google Cloud Console, create OAuth 2.0 credentials (Desktop app type), and add them in n8n under "YouTube OAuth2 API". Telegram Bot: Create a bot via @BotFather on Telegram to get a Bot Token. Find your chat ID (e.g., by messaging your bot and visiting ). Add the token as a credential in n8n under "Telegram API". Webhook URL: After activating the workflow, copy the production webhook URL (e.g., ). You will send POST requests to this URL with a JSON body like . Use Cases and Variations Content Curation: Automatically summarize long conference talks, tutorials, or webinars and share them with your team on Telegram. Research Assistant: Collect video transcripts and AI summaries for later reference or database storage. Browser Extension Integration: Pair this workflow with a browser extension that sends the current YouTube URL to the webhook when clicked. Variations: - Replace Telegram with Slack, Discord, or email notifications. - Store summaries in a Google Sheet or Airtable for a searchable archive. - Add a filter to skip videos shorter than a certain duration. - Use a different LLM (e.g., Claude, Gemini) by swapping the OpenAI node. - Add error handling to notify you if a video has no captions.

WebhookYoutube TranscripterSplit OutRespond To Webhook+4 more
12 nodeswebhook
Productivity

AI Viral Video Creator from Telegram with Voice & Multi-Platform Posting

🚀 Automatically Generate and Publish Viral TikTok-Style Videos from a Simple Telegram Message This workflow transforms a single Telegram message containing a photo and a theme (caption) into a fully-produced, AI-generated talking-head video optimized for viral social media content. It leverages Perplexity for trend research, OpenAI GPT-4 for script and caption generation, ElevenLabs for realistic voice synthesis, and FAL.ai's VEED Fabric model to create a lip-synced avatar video from the photo. The final video, along with an engaging caption and relevant hashtags, is saved to Google Sheets for tracking and then automatically published to up to nine social media platforms—TikTok, YouTube, Instagram, LinkedIn, Facebook, Twitter (X), Threads, Pinterest, and Bluesky—via the Blotato integration. This is an end-to-end content creation pipeline perfect for creators, marketers, and businesses who want to maintain a consistent, high-frequency posting schedule without manual video editing. It reduces the time from idea to published video to under 5 minutes. 📋 Node-by-Node Breakdown Telegram Trigger (Telegram Bot Token) — Listens for incoming messages containing a photo and caption. The trigger activates on updates. No additional filtering is applied; every photo with a caption will start the workflow. Workflow Configuration (No auth) — A static Set node that stores API keys and configuration values (ElevenLabs API key, voice ID, FAL API key, and the Perplexity model name) as workflow variables for easy maintenance. Extract Photo and Theme (No auth) — Extracts the largest photo file ID from the Telegram message and the caption (or text) as the theme. Falls back to "viral content" if no caption is provided. Get Photo File from Telegram (Telegram Bot Token) — Uses the Telegram Bot API to download the photo file specified by the file ID extracted in the previous step. Build Public Image URL (No auth) — Uploads the downloaded photo to to obtain a publicly accessible URL. This URL is later used by FAL.ai's VEED Fabric model. Search Trends with Perplexity (Perplexity API key) — Sends a query to Perplexity AI asking for the top 3 current viral trends related to the user's theme. The model is configured dynamically from the workflow configuration node. Generate Script with GPT-4 (OpenAI API key) — Uses OpenAI GPT-4o-mini to generate a 30-second TikTok script based on the trends found by Perplexity and the original theme. The prompt enforces a hook in the first 2 seconds and conversational tone. ElevenLabs Voice Synthesis (API key in header) — Sends the generated script to ElevenLabs' text-to-speech API with the configured voice ID, producing an MP3 audio file. Uses header for authentication. Convert .mpga to .mp3 (No auth) — A JavaScript Code node that renames the binary audio file from to and sets the correct MIME type, ensuring compatibility with downstream nodes. Upload Audio to Public URL (No auth) — Uploads the MP3 audio to to make it publicly accessible for FAL.ai. FAL.ai Video Generation (API key in header) — Sends a request to FAL.ai's VEED Fabric 1.0 endpoint with the public image URL and audio URL to generate a talking-head lip-sync video at 480p resolution. Authentication uses the header with the FAL API key. Wait for VEED (No auth) — A Wait node that pauses execution for 10 minutes to allow the video generation to complete. The node uses polling via webhook (not active here) but is configured as a timed wait. Download VEED Video (API key in header) — Periodically queries the FAL.ai request status endpoint (using the request ID from the generation response) to retrieve the completed video URL. Generate Caption with GPT-4 (OpenAI API key) — A second OpenAI node that creates an engaging TikTok caption with trending hashtags based on the same theme and trends. Outputs only the caption text. Save to Google Sheets (Google Sheets OAuth2) — Appends a new row to a Google Sheet with columns: IDEA (original theme), CAPTION, AUDIO URL, IMAGE URL, VIDEO URL. The sheet and document ID are expected to be configured via resource locator or expression. Send a video (Telegram Bot Token) — Sends the generated video back to the original Telegram chat as a confirmation. Upload Video to BLOTATO (Blotato API key) — Uploads the video file to Blotato's media storage, obtaining a hosted URL for distribution. TikTok / YouTube / LinkedIn / Facebook / Instagram / Twitter (X) / Threads / Bluesky / Pinterest (Blotato API key) — Nine parallel Blotato nodes that each publish the video to their respective social media accounts. Each node uses pre-configured account IDs (list mode) and the generated caption. YouTube optionally sets the video to "private" and disables subscriber notifications. Merge1 (No auth) — A Choose Branch merge node that waits for all nine social media publishing branches to complete before continuing. Update Status to "DONE" (Google Sheets OAuth2) — Updates the corresponding row in the Google Sheet (matched by video URL) to set the STATUS column to "DONE". 🔧 Setup Instructions To use this workflow, you'll need the following accounts and API keys: Telegram — Create a bot via @BotFather and get the bot token. Use it in the Telegram Trigger and Telegram nodes. ElevenLabs — Sign up at elevenlabs.io, generate an API key, and clone or select a voice. Note the Voice ID. FAL.ai — Sign up at fal.ai, create an API key from the dashboard. The workflow uses the VEED Fabric 1.0 model – no separate VEED subscription is needed. Perplexity AI — Sign up at perplexity.ai, get an API key from settings. OpenAI — Sign up at platform.openai.com, create an API key with access to GPT-4o-mini. Google Sheets — Create a Google Sheet with the required columns (IDEA, URL IMAGE, URL AUDIO, URL VIDEO, CAPTION, STATUS). Set up Google Sheets OAuth2 credentials in n8n. Blotato — Sign up at blotato.com, get an API key from settings. Install the community node in n8n (Settings → Community Nodes). Connect each social media account within Blotato to obtain account IDs. tmpfiles.org — No account required; the service is used for temporary file hosting. After obtaining all keys, update the Workflow Configuration node with your values and configure credentials for each API node (Telegram, Perplexity, OpenAI, Google Sheets, Blotato). The sticky notes in the canvas provide step-by-step visual guidance. 💡 Use Cases & Variations Content Repurposing: The workflow can be adapted to repurpose a blog post or article into a short video by feeding the text as a theme. Brand Voice: Customize the ElevenLabs voice to match your brand's tone. Trend-Driven Campaigns: Use Perplexity with different prompts to focus on niche topics (e.g., "tech startups", "healthy recipes"). Platform-Specific Formatting: Modify the caption generation prompt to include platform-specific elements (e.g., LinkedIn professional tone, Twitter character limit). Scheduling: Add a Schedule Trigger to run the workflow periodically with pre-defined themes from a spreadsheet instead of Telegram. Analytics: Extend the Google Sheet with additional columns for engagement metrics by integrating with social media analytics APIs. This workflow is fully modular; you can remove any of the Blotato publishing nodes if you only need specific platforms.

SetPerplexityOpen AIHTTP Request+4 more
35 nodesmanual
Social Media

Auto-Generate Platform-Specific Posts from YouTube Videos with Dumpling AI

Overview This workflow automatically generates platform-specific social media posts (Instagram, Facebook, LinkedIn) from YouTube videos. It reads a topic from a Google Sheet, searches YouTube via Dumpling AI, selects the best matching video using GPT-4o, fetches its transcript, and creates tailored posts with AI-generated images. The final output is saved back to Google Sheets, making it ideal for content creators and marketers who want to repurpose video content across social media platforms efficiently. Workflow Steps Trigger Search Schedule — Schedule Trigger (No auth) — Runs the workflow on a schedule. Configured to run at regular intervals (default: every hour) but you can customize the cron or interval in the node settings. Get Unsearched Topic from Google Sheet — Google Sheets (OAuth2) — Reads a topic from the "YouTube Topics" sheet. Uses a filter to find rows where the "Searched?" column is empty, returning the first match. Requires Google Sheets OAuth2 credentials. Search YouTube via Dumpling AI — HTTP Request (Header Auth) — Sends a POST request to Dumpling AI's YouTube search endpoint. The query is dynamically populated from the Google Sheets topic. Requires a Dumpling AI API key configured as HTTP Header Auth. Filter + Sort YouTube Videos — Code (No auth) — Custom JavaScript code that extracts video data from the search results, filters for video types, sorts by published time (newest first), and returns the 3 most recent videos. Prepare Video List for AI — Aggregate (No auth) — Combines all video items into a single array, preparing the data for the AI node to process. Select Best Video with GPT-4o — OpenAI (API Key auth) — Uses GPT-4.1 to analyze the search results and pick the most relevant video based on the original topic and current date. Returns a JSON structure with the selected video details. Requires an OpenAI API key. Get Transcript (Dumpling AI) — HTTP Request (Header Auth) — Fetches the YouTube video transcript via Dumpling AI's transcript endpoint. Requires the same Dumpling AI credentials as node 3. Generate Posts with GPT-4o — OpenAI (API Key auth) — Takes the transcript and generates three platform-specific posts (Instagram, Facebook, LinkedIn) with matching image prompts. Each post is tailored to the platform's tone and format. Uses the same OpenAI credentials as node 6. Generate Instagram Image (Dumpling AI) — HTTP Request (Header Auth) — Generates an AI image for the Instagram post using FLUX.1-pro model. Prompt comes from the GPT-4o output. Generate Facebook Image (Dumpling AI) — HTTP Request (Header Auth) — Same as node 9 but for Facebook post image. Generate LinkedIn Image (Dumpling AI) — HTTP Request (Header Auth) — Same as node 9 but for LinkedIn post image. Format Instagram Post — Set (No auth) — Combines the Instagram post text, platform name, and image URL into a structured format for saving. Format Facebook Post — Set (No auth) — Same as node 12 but for Facebook. Format LinkedIn Post — Set (No auth) — Same as node 12 but for LinkedIn. Save Instagram Post to Sheet — Google Sheets (OAuth2) — Appends the formatted Instagram post (platform, content, image URL) to the "Social Media Post" sheet. Save Facebook Post to Sheet — Google Sheets (OAuth2) — Same as node 15 but for Facebook. Save LinkedIn Post to Sheet — Google Sheets (OAuth2) — Same as node 15 but for LinkedIn. Merge Post Results — Merge (No auth) — Combines all three saved post results into a single output. Update Topic Status in Sheet — Google Sheets (OAuth2) — Updates the original topic row in "YouTube Topics" sheet, setting "Searched?" to "Yes" to prevent reprocessing. Setup Instructions Required Accounts & Credentials Google Account — For Google Sheets access. Create OAuth2 credentials in n8n for Google Sheets. OpenAI Account — For GPT-4.1 access. Create an API key from platform.openai.com. Dumpling AI Account — For YouTube search, transcript, and image generation. Sign up at dumplingai.com and get an API key. Google Sheets Setup Create a Google Sheet with two sheets: YouTube Topics (columns: , ) — Add your topics with "Searched?" column empty for unprocessed items. Social Media Post (columns: , , ) — Will store generated posts. Configuring Credentials In n8n, go to Credentials → Add Credential. Add Google Sheets OAuth2 credentials. Add OpenAI credentials with your API key. Add Header Auth credentials with your Dumpling AI API key. Node Configuration Update the in all Google Sheets nodes to your sheet's ID. Verify the values match your sheet tab names. Adjust the schedule trigger interval as needed. Use Cases & Variations Content Repurposing — Automatically turn YouTube videos into social media posts for multiple platforms. Batch Processing — Add multiple topics to the sheet; the workflow processes one per run. Custom Platforms — Modify GPT-4o prompts to add Twitter, TikTok, or other platforms. Brand Voice Customization — Update the system prompt to match your brand's tone. Manual Trigger — Replace the schedule trigger with a webhook for on-demand processing. Review Before Posting — Add a manual approval step before saving to sheets. This workflow saves hours of manual content creation and ensures consistent, platform-optimized posts.

Google SheetsHTTP RequestCodeAggregate+4 more
20 nodesschedule
Marketing

E-commerce Order Confirmation & Team Notification via Email

📦 Overview This workflow automatically processes new e-commerce orders as they come in via a webhook. It validates the order data, sends a professional confirmation email to the customer, notifies your team of the new order, logs processing details, and responds to the webhook with a success or error status. It's a complete, beginner-friendly solution for small online stores that want to provide instant order confirmations without manual effort. 🔧 Workflow Nodes New Order Webhook (No auth) — Receives incoming order data via HTTP POST at the path . Responds immediately with a JSON object after processing (either success or error). No authentication is required on the webhook, but you should secure it using your e-commerce platform's webhook secret if needed. Store Configuration (No auth) — A node that stores static store information (store name, store email, support email, phone, website, team email). These values are used later in email templates. You must update these with your own details. Extract Order Details (No auth) — A node that extracts and normalizes common order fields from the incoming webhook payload. It uses fallback expressions to handle different field names from various e-commerce platforms (Shopify, WooCommerce, etc.). Fields extracted: order number, customer name, customer email, order total, currency, order date, payment status. Validate Order Data (No auth) — An node that checks if the customer email is not empty and the order number is not "N/A". If valid, the workflow proceeds to send emails; otherwise, it sends an error response back to the webhook. Send Customer Confirmation (Email credentials — OAuth2 or SMTP) — Sends a formatted HTML email to the customer using the node. The email includes order details, next steps, and store contact information. The subject line and body are dynamically built using expressions referencing the and nodes. Send Team Notification (Email credentials — OAuth2 or SMTP) — Sends a separate notification email to the team email address (configured in ). This email contains a summary of the new order, action items, and quick stats. Log Processing Details (No auth) — A node that records processing status, timestamps, and confirmation flags. This data is passed to the final response. Send Success Response (No auth) — A node that returns a JSON success message with order details and processing timestamps. Send Error Response (No auth) — A node that returns a JSON error message indicating missing required fields, used when validation fails. Sticky Notes (No auth) — Several sticky notes are included for documentation and guidance. They explain each step and provide setup instructions. 🚀 Setup Instructions Configure Store Details — Open the node and replace the placeholder values with your actual store name, email addresses, phone number, and website URL. The team email should be where you want order notifications sent. Set Up Email Credentials — In n8n, create a credential for the email service you want to use. For Gmail, use OAuth2 (recommended) or an app password. For any SMTP server, provide the server, port, username, and password. Attach this credential to both and nodes. Activate the Webhook — Copy the webhook URL from the node (it will look like ). In your e-commerce platform (Shopify, WooCommerce, Etsy, etc.), go to the webhook settings and create a new webhook that triggers on new orders, pointing to this URL. Use HTTP POST method. Test the Workflow — Place a test order on your store. Check that the customer receives a confirmation email and that your team gets a notification. The webhook response should indicate success. 💡 Use Cases & Variations Customize Email Templates — Modify the message bodies in the email nodes to match your brand voice, include product images, or add tracking links. Add Slack/Telegram Notifications — Replace the team email with a Slack message or Telegram bot notification for faster alerts. Log to Google Sheets — Insert a Google Sheets node after to record every order for analytics or accounting. Handle Multiple Platforms — The node already uses fallback expressions, so you can easily support Shopify, WooCommerce, Magento, or custom APIs by adjusting the field mappings. Add Inventory Updates — Connect an HTTP Request node to your inventory management system to decrement stock after a successful order. Use Conditional Logic — Create different email paths based on payment status (e.g., send a separate email for failed payments).

WebhookSticky NoteSetIF+2 more
17 nodeswebhook
ecommerce

Extract,Save Invoice Data from Google Drive and send to Sheets using AI

This workflow automates the extraction of structured invoice data from PDF files placed in a Google Drive folder and saves the results into a Google Sheet. It uses Dumpling AI's document extraction API to parse key fields like order number, line items, totals, and addresses. This is ideal for accounting teams, procurement departments, or anyone handling a high volume of supplier invoices. Node Breakdown Google Drive Trigger – Watch Folder for New Files (Google Drive Trigger) — OAuth2. Polls a specified Google Drive folder every minute and triggers the workflow when a new file is created. Download Invoice File (Google Drive) — OAuth2. Downloads the newly created file from Drive using its file ID (). Convert invoice File to Base64 (Extract From File) — No auth. Converts the downloaded file binary to a base64 string for API submission. Send file to Dumpling AI for Data Extraction (HTTP Request) — Header Auth. Sends a POST request to with a JSON body containing the base64 file and a prompt instructing the AI to extract order number, document date, PO number, shipping/sold-to details, line items, and total amounts. The API key is passed via an HTTP header credential. Parse Dumpling AI JSON Response (Code) — No auth. Executes JavaScript to parse the field from the API response (a JSON string) into a structured object. Split line Items from Invoice (Split Out) — No auth. Splits the array into separate items so each line item becomes a row in the spreadsheet. Save Data to Google Sheet (Google Sheets) — OAuth2. Appends a row to the target sheet with all extracted fields mapped to columns (Order number, Document Date, PO number, Sold to/Ship to names and addresses, Model, Description, Quantity, Unit Price, Total Price). Setup Instructions Google Services: You need a Google account with access to Google Drive and Google Sheets. Create a Google Drive folder for incoming invoices and a Google Sheet (with headers matching the column names above). In n8n, use OAuth2 credentials for both the Google Drive and Google Sheets nodes. Dumpling AI: Sign up for a Dumpling AI account and obtain an API key. In n8n, create an HTTP Header Auth credential with the key name (e.g., ) and value (e.g., ). Workflow Configuration: Update the folder ID in the Google Drive Trigger node, the document ID and sheet name in the Google Sheets node, and ensure the Dumpling AI endpoint and prompt are correct. The prompt can be customized to extract different fields. Use Cases and Variations Accounts Payable Automation: Automatically capture invoice details and post them to accounting software like QuickBooks, Xero, or ERP systems. Multi-format Support: Dumpling AI can handle PDFs, images, and other document types. Modify the prompt to extract data from purchase orders, receipts, or contracts. Error Handling: Add an error workflow or a Slack notification if extraction fails, or route failed invoices to a separate review sheet. Batch Processing: Replace the trigger with a scheduled poll or manual upload event to process existing invoices retroactively.

Google DriveExtract From FileHTTP RequestCode+3 more
8 nodesmanual
Finance

Telegram to Email Newsletter Automation using Dumpling AI

High-Level Summary This workflow transforms a simple keyword sent via Telegram into a polished, HTML-formatted email newsletter. It leverages Dumpling AI's APIs for search and scraping, OpenAI's language models for content generation, and Gmail for delivery. The automation is ideal for content creators, marketers, or anyone who wants to quickly curate and distribute news on a specific topic without manual research and formatting. Step-by-Step Node Breakdown Start: Receive Keyword from Telegram (Telegram Trigger) — No auth (uses Telegram bot token configured in n8n credentials). Listens for incoming Telegram messages. When a message is received, it passes the message text (the keyword) to the next node. AI Agent: Expand Keyword & Orchestrate Tools (LangChain Agent) — Uses the connected LLM and tools. The system prompt instructs the agent to first call to expand the keyword into popular search terms, then pass those terms to to fetch recent articles. The agent outputs a structured JSON array of articles. LLM: Language Model (OpenAI Chat Model) — API Key auth (OpenAI API key stored in n8n). Provides the language model (GPT-4o-mini) that powers the AI Agent's reasoning and tool selection. Simple Memory (Memory Buffer Window) — Stores conversation context for the AI Agent using the Telegram user's ID as the session key. Google_autocomplete (HTTP Request Tool) — Header Auth (Dumpling AI API key in header). Calls with a POST request containing the keyword. Returns autocomplete suggestions from Google. Search_news (HTTP Request Tool) — Header Auth (Dumpling AI API key in header). Calls with a POST request containing the autocomplete suggestion. Returns recent news articles. Parser: Format News JSON (Output Parser) — Defines a JSON schema that the AI Agent must follow when outputting the final list of articles (with fields: category, title, url, source, summary, published). Split Articles (Split Out) — Splits the array from the agent into individual items, one per article. Loop: Process Each Article (Split In Batches) — Iterates over each article one at a time. For each article, it triggers the Wait node and then the Scraper. Wait (Wait) — No auth. Adds a small delay (configurable) between scraping requests to avoid rate limiting. Scraper: Clean Article Content (HTTP Request) — Header Auth (Dumpling AI API key in header). Calls with the article URL and to get the article's main content in markdown format. Aggregate: Combine Article Content (Aggregate) — Collects the field from all scraped articles into a single array. Generate Newsletter (OpenAI) — API Key auth (OpenAI API key). Sends the aggregated content to GPT-4.1-mini with a system prompt that instructs it to generate a professional HTML newsletter and a subject line. Outputs JSON with (HTML) and fields. Send Newsletter via Email (Gmail) — OAuth2 (Google account connected via n8n Gmail node). Sends the generated HTML newsletter to a specified email address with the generated subject line. Setup Instructions To use this workflow, you will need accounts and API keys for the following services: Telegram: Create a bot via @BotFather and get the bot token. Configure the Telegram Trigger node with this token. Dumpling AI: Sign up at app.dumplingai.com and generate an API key. This key is used as a header () in the three HTTP Request nodes (Googleautocomplete, Searchnews, Scraper). OpenAI: Sign up at platform.openai.com and create an API key. Use this in the LLM node and the Generate Newsletter node. Gmail: Connect your Google account via OAuth2 in n8n's Gmail node. Ensure the email address you want to send to is authorized (or use your own address for testing). After configuring all credentials, activate the workflow and send a keyword (e.g., "AI in retail") to your Telegram bot. The workflow will run and deliver a newsletter to your inbox. Use Cases and Variations Content Curation for Newsletters: Replace the Telegram trigger with a Schedule trigger to run daily or weekly on predefined keywords (e.g., "tech news", "climate change"). Brand Monitoring: Use the workflow to monitor news about your brand or competitors and send alerts to your team via email or Slack. Personalized Digests: Modify the AI prompt to generate summaries in different languages or tones (e.g., executive brief, casual digest). Multi-Channel Delivery: Instead of Gmail, send the newsletter to Slack, Discord, or a Notion database by swapping the final node. Add Human Review: Insert a manual approval step (e.g., n8n's "Wait" node with webhook) before sending, so you can review and edit the newsletter.

Memory Buffer WindowHTTP Request ToolWaitAgent+4 more
16 nodesmanual
Productivity

Auto-Generate Social Posts from YouTube via Dumpling AI

🧠 Automate Social Media Content Creation from YouTube Videos This powerful workflow automatically generates platform-specific social media posts (Instagram, Facebook, LinkedIn) from YouTube videos. It takes a topic from a Google Sheet, searches for relevant YouTube videos using Dumpling AI, selects the best match with GPT-4o, fetches the transcript, and creates tailored posts with matching AI-generated images — all saved back to your Google Sheet. Perfect for content creators, social media managers, and marketers who want to repurpose YouTube content efficiently. The workflow runs on a schedule, processes one topic at a time, and marks topics as completed to avoid duplication. It combines the power of Dumpling AI for YouTube search and image generation, OpenAI's GPT-4o for intelligent content selection and copywriting, and Google Sheets for data management. 📋 Node-by-Node Breakdown Trigger Search Schedule (Schedule Trigger) — No auth required. Runs the workflow on a configurable interval (default: every hour). You can adjust the schedule in the node settings. Get Unsearched Topic from Google Sheet (Google Sheets) — OAuth2 (Google Sheets). Reads the first unsearched topic from the "YouTube Topics" sheet. Uses a filter to find rows where "Searched?" column is empty, and returns only the first match. Search YouTube via Dumpling AI (HTTP Request) — Header Auth (Dumpling AI API key). Sends a POST request to Dumpling AI's YouTube search endpoint with the topic as query. Returns video results matching the search term. Filter + Sort YouTube Videos (Code) — No auth. Custom JavaScript that extracts video data from the API response, filters for video type, sorts by published date (newest first), and returns the 3 most recent videos. Prepare Video List for AI (Aggregate) — No auth. Combines all video items into a single array for processing by the AI node. Select Best Video with GPT-4o (OpenAI) — API Key auth (OpenAI). Uses GPT-4o to analyze the search results and select the most relevant video based on the original topic and current date. Returns the best match in structured JSON format. Get Transcript (Dumpling AI) (HTTP Request) — Header Auth (Dumpling AI API key). Fetches the YouTube transcript for the selected video using Dumpling AI's transcript endpoint. Generate Posts with GPT-4o (OpenAI) — API Key auth (OpenAI). Takes the transcript and generates three platform-specific posts (Instagram, Facebook, LinkedIn) with matching image prompts. Each post is tailored to the platform's style and audience. Generate Instagram Image (Dumpling AI) (HTTP Request) — Header Auth (Dumpling AI API key). Creates an AI-generated image for the Instagram post using FLUX.1-pro model. Generate Facebook Image (Dumpling AI) (HTTP Request) — Header Auth (Dumpling AI API key). Creates an AI-generated image for the Facebook post. Generate LinkedIn Image (Dumpling AI) (HTTP Request) — Header Auth (Dumpling AI API key). Creates an AI-generated image for the LinkedIn post. Format Instagram Post (Set) — No auth. Structures the Instagram post data with platform name, content text, and image URL. Format Facebook Post (Set) — No auth. Structures the Facebook post data similarly. Format LinkedIn Post (Set) — No auth. Structures the LinkedIn post data similarly. Save Instagram Post to Sheet (Google Sheets) — OAuth2 (Google Sheets). Appends the formatted Instagram post to the "Social Media Post" sheet. Save Facebook Post to Sheet (Google Sheets) — OAuth2 (Google Sheets). Appends the formatted Facebook post to the same sheet. Save LinkedIn Post to Sheet (Google Sheets) — OAuth2 (Google Sheets). Appends the formatted LinkedIn post to the same sheet. Merge Post Results (Merge) — No auth. Combines the three post results into a single output for the final update step. Update Topic Status in Sheet (Google Sheets) — OAuth2 (Google Sheets). Marks the original topic as "Searched?" = "Yes" in the YouTube Topics sheet to prevent reprocessing. 🔧 Setup Instructions Required Accounts & Credentials: Google Account — For Google Sheets access. Create OAuth2 credentials in n8n for Google Sheets. Dumpling AI Account — Sign up at app.dumplingai.com and get your API key. Add as Header Auth credential in n8n. OpenAI Account — Get your API key from platform.openai.com. Add as API Key credential in n8n. Required Google Sheets: YouTube Topics sheet with columns: , Social Media Post sheet with columns: , , 💡 Use Cases & Variations Primary Use Cases: Content repurposing for social media managers Automated content calendar creation YouTube-to-social-media content pipeline Brand consistency across platforms Adaptation Ideas: Add more platforms (Twitter/X, TikTok, Pinterest) Schedule posts directly to social media using n8n integrations Add human review step before posting Use different AI models for image generation Add email newsletter content generation Include video thumbnail generation Add analytics tracking for post performance

Google SheetsHTTP RequestCodeAggregate+4 more
20 nodesschedule
Marketing

Extract Google Maps Business Leads via Dumpling AI to Google Sheets

Overview This workflow automates the extraction of business listings from Google Maps using Dumpling AI's search-maps API and logs the results into a structured Google Sheet. It's ideal for lead generation, market research, or competitive analysis — allowing you to quickly gather data like business names, ratings, addresses, phone numbers, websites, and booking links without manual browsing. Workflow Steps Trigger: Manual Test Run (Manual Trigger) — Starts the workflow on demand for testing. No authentication required. Search Google Maps via Dumpling AI (HTTP Request) — Sends a POST request to with a JSON body containing the search query (e.g., ) and language. Authentication uses Header Auth — you must provide a Dumpling AI API key as a header (configured in n8n credentials). The response returns an array of places with details like title, rating, address, phone, website, price level, and booking links. Split Places List for Processing (Split Out) — Splits the array from the HTTP response into individual items so each place can be processed separately. No authentication needed. Save Results to Google Sheet (Place Info) (Google Sheets) — Appends each place's data (name, address, rating, price level, type, website, phone, position, booking link) to a specified sheet in a Google Sheets document. Uses OAuth2 authentication (Google account). The sheet name is set to "Google Maps" and the document ID points to a spreadsheet named "Places". Setup Instructions Dumpling AI Account: Sign up at dumplingai.com and obtain an API key. In n8n, create a new Header Auth credential with the key name (e.g., ) and value . Google Sheets: Create a Google Sheet (or use the one referenced in the workflow). In n8n, create a Google Sheets OAuth2 credential by connecting your Google account. Ensure the sheet has a tab named "Google Maps" (or update the sheet name in the node). Customize Query: Edit the of the HTTP Request node to change the search query (e.g., ) or language. Run: Click "Execute Workflow" to test. The first run will prompt you to authorize Google Sheets access. Use Cases & Variations Lead Generation: Replace the query with industry-specific terms (e.g., "dentists in Los Angeles") to build a targeted prospect list. Competitor Analysis: Search for competitors in a niche and analyze their ratings, price levels, and online presence. Real Estate / Local Business Research: Extract data for multiple locations by chaining queries or using a loop. Automation: Replace the Manual Trigger with a Schedule Trigger to run daily/weekly, and add a Set node to dynamically pass queries from a spreadsheet or webhook. Enrichment: Add nodes to clean data, send notifications (Slack/Email), or integrate with a CRM like HubSpot.

Sticky NoteHTTP RequestSplit OutGoogle Sheets
5 nodesmanual
Sales

Showing 12 of 63 templates

Need an n8n instance to run these workflows?

Get affordable managed n8n hosting with a free 10-day trial. No credit card required to start.