# templates

name: Google Calendar Reminder System with GPT-4o and Telegram
author_name: Davide
author_username: n3witalia
categories: []
created_at: 2025-04-01T07:27:50.382Z
updated_at: 2025-04-01T07:27:50.382Z
url: https://n8n.io/workflows/3393
scraped_at: 2025-09-14 19:10:59
metadata_generated_at: 2025-09-14 21:18:31
description:
  How many times have you missed a meeting or forgotten an appointment because a calendar reminder got lost in the noise? Traditional notifications are often dry, easy to ignore, or scattered across different apps—leaving you scrambling at the last minute.

  This smart Google Calendar workflow fixes that by sending you a clear, friendly reminder exactly 1 hour before your event starts—delivered through Telegram as if a personal assistant were looking out for you. Powered by AI, it transforms cold calendar alerts into warm, conversational nudges you won't ignore.

  Why This Works Better:  
  ✅ No More Overlooked Alerts – Consolidates reminders into one clear, accessible place (Telegram), so you never miss them.  
  ✅ Friendly & Engaging – AI transforms robotic calendar entries into natural, human-like reminders that are harder to ignore.  
  ✅ Works Everywhere – Whether you're on your phone, laptop, or tablet, you’ll get the same clear notification, no matter the platform.  

  How It Works
  Scheduled Trigger: The workflow starts with a Schedule Trigger node that runs every minute to check for upcoming events.
  Google Calendar Check: The "Get upcoming event" node queries Google Calendar for events starting within the next hour (between timeMin and timeMax).
  Duplicate Prevention: The "Already sent?" node ensures reminders are not sent multiple times for the same event by filtering out duplicates.
  AI-Powered Reminder: The "Secretary Agent" node, powered by GPT-4, crafts a friendly and professional reminder message. It includes event details like name, description, location, start/end time, and creator, formatted in a conversational tone.
  Telegram Notification: The final "Send reminder" node delivers the reminder via Telegram, ensuring the user receives it in a clear and accessible format.
  Set Up Steps
  Configure Schedule Trigger: Set the interval (e.g., every minute) to check for events.
  Connect Google Calendar: Link your Google Calendar account and specify the calendar to monitor.
  Set Up AI Agent: Customize the "Secretary Agent" with the provided system message to ensure reminders are warm, professional, and detailed.
  Link Telegram: Add your Telegram credentials and specify the CHAT_ID where reminders will be sent.
  Activate Workflow: Ensure the workflow is active and set to the correct timezone (e.g., Europe/Rome).
  Why It’s Useful
  Never Miss an Event**: Traditional calendar reminders can be easy to overlook, especially when scattered across platforms. This workflow consolidates reminders into a single, accessible channel (Telegram).
  Clear and Friendly**: The AI agent transforms generic calendar alerts into personalized, conversational reminders, making them harder to ignore.
  Cross-Platform Accessibility**: By delivering reminders via Telegram, users receive them in a consistent format, regardless of the device or platform they’re using. No more missed events due to unclear notifications!
  Need help customizing?  
  Contact me for consulting and support or add me on Linkedin.

nodes_used:
  ["n8n-nodes-base.scheduleTrigger","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.googleCalendar","n8n-nodes-base.removeDuplicates","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.telegram","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  H4sIAAAAAAAAE51Y/W4bNxJ/FYIpkNbYVfdLK62Aw9XnpKnbpPHFvt4FcRDMkrMSGy65JblSFEPAPcQ94T3JgVzJkm05SO8/fcwMZ37zmw/yhgpOZ/Ry+fan+cv2s7b9y1MsTmlEW3RAZzdUKOtAMTz3clDUDatyrCZjBlmeAyvGyCesyrIJnxasGUOWZ1WeJuNsXKUT4NDkeZphmvBxUWY0og7bToLDM4PcXqLruzPddhIdcjpzpsdNRBW0SGf0hdZzieQMJCoOhjxfonLkDbZCcTTeFswtnb17H1GlOfqPN0M8vGnGvBpncZazOi6mWRZXgCxOOAPMOY7LKdDbcy7ZAnkvkVwZMZ8Plted/0dNVRxMxzVYHNmt4F6OCwu13Lke0U5b4YRWdPYuLpIoT5L3Ee3AQIsOjfWAml7iAKxDswQZvG4ESu94K1Tv0Hr8h0/nt1Lp5v1mM3j2GxobDklH2Sbaxgwlx6oqijjlfBIXeYIxpLyK0ySZpAnnDVRsH/PrDtXpOTlbgCOvNEe5D/oHNVXf7yOXoOZsAUKNZOvFg6agd2KdJEk0PhJrGyzPbuiHD0buMPI/0hmVwjoa0SXI3n+ddy4udNwKJegmorrzpr0RHzQzyFE5ATKY1cGF004EHH3wZ8/+Vf79VTF/+RbUIrko7gUqCDCme+XoFyEseZYlUyjjMkmSuKjLOoZpxmLMi7KeTKfjIqn2ll+gI33HdCvUnKDn5qPEmQcm74h8F7vsEZ5I0QpHZ+M7WETUiRZfwSc6o3+5uSHfKL0adbK3396Qhe7NjKQRGagzS8nmO7LZ0K2OUI/r3EqynYtflTMOS8FxVGvx+TP8MG9ByBHTbbDjS+UN2l66Xwe4HhMOyUYDAxx0ju5USvow6XcxfH3au0V2SIHpmx9/yfs0n2cXPz9/AYeJutdHvsCF/JYLWDYlTooiLpPac8G3kLxmcZM3DWuATdKm3B9xKg0CXxOLyv31URoYbPUSn/WdFAyGMj8gQjE9ToQ76T+EajB37rC1l4jqXF0YXArd2+efkPWDUkQ58r7D37YpCwT43Wo1Etyn/D4E+2KYTjOeTJtxPKkSiIukruOawzguk0lR8PF0Uub5QQ9FZtCBWZPT+Z1KeLSbwFbusI1kxxFw+Ml5368WaJGAQeIWSDg6ENIS3YSvoQK/h67TQrkWlZtdq2s1zAxPwRnxoX/79GHZPv1uJBy2owCL7dvWh7HZXKtnaJkRAf6v1OZ7jWDhpWbwJ9TlVjzoXjow7mu99rIjDg6vRItB/bniX6mMit9VPTMIDjmp119pgXkFbUboq3roJHvWUru2DttXaC3MAwefPCFn2iA5D/Xt1tfqre5DXoF0RjdoPRlBElCcNEag4nJNlsK4HiSxO6pFhCMPlcSJ08RsFwNywAFLVsItCDaNYAIVWweTQFZgWtKhseEYp3u2GHm6BM/atldim4hLt5Z4reKDn5EIRYAwrZZobBADGflTjQa28PsAaUEpNF7vFQjlIGjUIP0mRWp0K0R1N1Sm2w4d+v/vRG18NMZ5U//w5CdOK89/cERYIlSjTQuSrNGRziATNnh7rn5H5ohmDLb2pZgvHFn0rTbhgF3wwq2JUE6TsI8AC1nbQvELrskbtJ1WVtRCCifQXqt0tG+lr0DBHD3S14oQEpMLo32bJ37keO+3ObHhzO3+5DnUd55x4aBsdA/z0y2SW5ODB9zD1XZODilkEsHI9VbkFmSmVSO2U8NH5kW5sJ4wQqttWOf7SMmLXnCUQnlXdgjvsI/u5ThA78V+7q0jQ6nXj/eiQD3dOwL2ow/5jx7tIbpXPpHewZeg5j3Mg+l/emIGjh7Qyf9xcUiWundEaUf0Eo1ck4EDXuqZMD7vtwiRgMkBuLsorfBLd0SsM+CZ0WizAsOJPPDlcqFXZI6qFwoJC+XpHXPO47tEhTaE8gZbbGs0M/JW94Z0RoQGOtcgPUWdJi18HGDqLZqnlkjRIEGwAk1EWt8JtJmDEp+RR+EMidZ619DappfELYzu5/sydndLBLjfGn0k3i1i+1AxIz/bBs5cDaOIYyMU0oguwL7uXde7CzAWze29494yMN3PwmycVJA0cZVMy7jIcoynVTaNm+k0w3GV53k9PZyFit8y/9FlwKHEuYH27ghM02Q3A1dYL7T+GC5evK5LqEqMeZ2HC80krorxOIbKr/f1tCpTv40cH5u3I1+HoLeb3gJcMH320+nVh/NnNKLAuRiY/qO/jgQb0HWo+KlzRtT94GMD0uKRrXwX0OFSliwu/6h+W4H4WTTCsqs9SFdb6a/bzHky5XxcjuNikk7joqlZDM2ExRPIMCkyVpXNYQKcYB/X5Fft8PG7XJDZity7tsVp8XAJYVpqQ2d5RFeCuwWdlVkSUaaVLwc6o0+ekC9fWK/V1UJYYlswjpyc3BM+OSErbT42Uq9IIz6hHXp8HXZK7vvH2s/Ioayjg/mwm3r4CZjvjicnaVjrSY2NL621/zw0pLAl2JOT//77P77pLdH4ybktrpOTXUpOTghYIho/jXcjEqwV/iHAkRUaJFLr0NN8e2u08YeMyIVeBYu1d+L0/OQkIsIRZ0BZ36EsYVpywm7XcInG2WH4+Hn8oN2qns/RhrhXWj11RMyVNjh6sLSmtzyZQJVPKgZxkyepX1qrGLBK4kmRlWVe14w32VGepP8XUY7Q5JAcC/Stlc7S4j5TLq+eX5B0mNShM14fuU5eU+L9IOjnFfHNuO3ZIozWXXL3w2bI7QCWT5PTpEY/JEQjkI/IedgXWG8MKk8Ti0Fm4MqBI7d1GY422ElgSLZNYtimAjF1MzDrliF/0+4LieGT6Tir0iwuxz4xkNZDBy2xnlYJFoBwvICzP52YIkui7PHMZIeZyZI7mfEXKA9m20snOokH+4tnucfHQruF/Ei07yPq94olbrtkRC06J9R8aJCixc9a+VCe90Z3+P0b3eJw65ZoLrQUbE1ndNcH7I9Gt5fQ4uuVCoMEd/e618ZPlhldpt6J5eDAMCgSzicFr2OsShYXkFQxTHkal02dVnldYpKOaQhZIbvd0O9eX/3DDfjngnfvbsLL2pfud0Eyoh6lT3SWbN6/30QPpI9bPDolj9u7/0J3zOCX3mOOWn34BuYHnviw24G2v30NCg+07p91xLljMTzyjnDE/c3mf/ufSWa8FQAA

metadata_json:
  {"categories":["automation","notifications","calendar integration","AI-assistant"],"complexity":"medium","use_cases":["Personal meeting reminders","Consolidating calendar alerts into a single chat channel","Transforming calendar entries into natural-language reminders","Preventing duplicate notifications for events","Team/event reminder delivery via Telegram"],"estimated_setup_minutes":15,"required_services":["Google Calendar API/account","Telegram Bot API (CHAT_ID)","OpenAI (GPT-4/GPT-4o) or compatible LLM","n8n instance"],"key_features":["Scheduled polling for events starting within next hour","Duplicate detection to avoid resends","AI-generated friendly, contextual reminder messages","Delivery via Telegram for cross-device consistency","Configurable timezone and schedule interval"],"target_audience":["Busy professionals","Freelancers and consultants","Office administrators and assistants small teams"]}


name: Airtable Batch Update / Insert rows (send faster + save API call requests)
author_name: Simon Mayerhofer
author_username: s3n
categories: []
created_at: 2025-04-01T08:53:00.311Z
updated_at: 2025-04-01T08:53:00.311Z
url: https://n8n.io/workflows/3394
scraped_at: 2025-09-14 19:11:03
metadata_generated_at: 2025-09-14 21:18:33
description:
  This workflow allows you to batch update/insert Airtable rows in groups of 10, significantly reducing the number of API calls and increasing performance.

  🚀 How It Works

  Copy the 3 Nodes  
     Copy the three nodes inside the red note box into your workflow.

  Set Your Fields  
     In the Set Fields node, define the fields you want to update.  
     ➤ Only include fields that match column names in your Airtable table.  
     ➤ Make sure the field names are spelled exactly as they appear in Airtable.
     ➤ Make sure the field type are correctly set. So numbers columns in Airtable need numbers type set as the field.

  Configure the Airtable Batch Node  
     Enter your Airtable Base ID
       The part with app... in the URL:
  airtable\.com / app8pqOLeka1Cglwg / tblnXZOdy8VtkAAJD/...
     Enter your Airtable Table ID
       The part with tbl... in the URL:
  airtable\.com / app8pqOLeka1Cglwg / tblXXZOdy8VtkAAJD /...
     Set Matching Fields (fieldsToMergeOn)  
     Provide a string array that tells Airtable how to match existing rows. Examples:
       Match by one field (e.g. TaskID):  
       {{["TaskID"]}}
       Match by multiple fields (e.g. firstname and lastname):  
       {{["firstname", "lastname"]}}

     Choose the Mode (mode field)  
     Available options:
       upsert: Update if a record exists, otherwise insert a new one
       insert: Always insert as new records
       update: Only update existing records (you must provide a field named id)

nodes_used:
  ["n8n-nodes-base.httpRequest","n8n-nodes-base.debugHelper","n8n-nodes-base.manualTrigger","n8n-nodes-base.splitOut","n8n-nodes-base.splitInBatches","n8n-nodes-base.executeWorkflowTrigger","n8n-nodes-base.switch","n8n-nodes-base.httpRequest","n8n-nodes-base.if","n8n-nodes-base.wait","n8n-nodes-base.merge","n8n-nodes-base.if","n8n-nodes-base.merge","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.if","n8n-nodes-base.merge","n8n-nodes-base.aggregate","n8n-nodes-base.set","n8n-nodes-base.aggregate","n8n-nodes-base.set","n8n-nodes-base.aggregate","n8n-nodes-base.set","n8n-nodes-base.httpRequest","n8n-nodes-base.executeWorkflow","n8n-nodes-base.set","n8n-nodes-base.aggregate","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.wait","n8n-nodes-base.wait","n8n-nodes-base.wait","n8n-nodes-base.code"]

workflow_json_compressed:
  [encoded data, 6064 characters]

metadata_json:
  {"categories":["integration","automation","data processing"],"complexity":"medium","use_cases":["Bulk insert or update Airtable records","Reduce Airtable API calls and improve performance","Data sync between systems and Airtable","Importing or merging datasets into Airtable"],"estimated_setup_minutes":10,"required_services":["Airtable","n8n"],"key_features":["Batch updates/inserts in groups of 10 to reduce API calls","Supports upsert / insert / update modes","Configurable matching fields for merging records","Field mapping with type-awareness (numbers, text, etc.)","Copy-and-paste node pattern for easy reuse"],"target_audience":["Developers","Automation engineers","Data engineers/analysts handling Airtable data integrations"]}


name: Auto-assign Support Tickets with JIRA, Supabase and AI
author_name: Jimleuk
author_username: jimleuk
categories: []
created_at: 2025-04-01T09:04:10.393Z
updated_at: 2025-04-01T09:04:10.393Z
url: https://n8n.io/workflows/3395
scraped_at: 2025-09-14 19:11:02
metadata_generated_at: 2025-09-14 21:18:32
description:
  This n8n template builds a simple automation to ensure no JIRA issues go unassigned for more than a week to prevent them falling through the cracks. It uses AI to perform searching tasks against a Supabase Vector Store.
  This can be one way to help reduce the amount of manual work in managing the issue backlog for busy teams with little effort.

  How it works
  This template contains 2 separate flows which run continuously via schedule triggers.
  The first populates our Supabase vector store with resolved issues within the last day. This helps keep our vector store up-to-date and relevant for the purpose of finding similar issues.
  It does this by pulling the latest resolved issues from JIRA and populating the Supabase vectorstore with carefully chosen metadata. This will come in handy later.
  The second flow watches for stale, unassigned issues for the purpose of aut-assigning to a relevant team member.
  It does this by comparing the stale issue against our vector store of resolved issues with the goal of identifying which team member would have best context regarding the issue.
  In a busy team, this may net a few team members as possible candidates to assign. Therefore, we can introduce additional logic to count each team member's assigned, in-progress issues. This is intended to not overload our busiest members.
  The team member with the least assigned issues is pressumed to have the most capacity and therefore is assigned. A comennt is left in the issue to notify the team member that they've been auto-assigned due to age of issue.

  How to use
  Modify the project and interval parameters to match those of your use-case and team members.
  Add additional criteria before assigning to a team member eg. department, as required.

  Requirements
  OpenAI for LLM
  JIRA for Issue Management
  Supabase for Vector Store

  Customising this workflow
  Not using JIRA or Supabase? The beauty of these AI templates are these components are entirely interchangeable with competing services. Try Linear and Qdrant instead!
  Auto-assigning logic is simplified in this template. Expand criteria as required for your team and organisation. eg. Might be a good idea to pull in annual leave information from HR system to prevent assigning to someone who is on currently on holiday!

nodes_used:
  ["n8n-nodes-base.scheduleTrigger","@n8n/n8n-nodes-langchain.embeddingsOpenAi","@n8n/n8n-nodes-langchain.documentDefaultDataLoader","@n8n/n8n-nodes-langchain.textSplitterRecursiveCharacterTextSplitter","@n8n/n8n-nodes-langchain.vectorStoreSupabase","@n8n/n8n-nodes-langchain.vectorStoreSupabase","@n8n/n8n-nodes-langchain.embeddingsOpenAi","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.jira","n8n-nodes-base.splitInBatches","n8n-nodes-base.jira","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.removeDuplicates","n8n-nodes-base.set","n8n-nodes-base.jira","n8n-nodes-base.splitInBatches","n8n-nodes-base.noOp","n8n-nodes-base.jira","n8n-nodes-base.stickyNote","n8n-nodes-base.jira","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.splitOut","@n8n/n8n-nodes-langchain.informationExtractor","n8n-nodes-base.summarize","n8n-nodes-base.set","n8n-nodes-base.sort","n8n-nodes-base.if","n8n-nodes-base.noOp","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 8216 characters]

metadata_json:
  {"categories":["automation","integration","AI","ticketing","knowledge-management"],"complexity":"medium","use_cases":["Automatically assign stale/unassigned support tickets","Reduce manual backlog triage","Find relevant assignees using past resolved-issue similarity","Maintain an up-to-date vector store of resolved issues","Balance workload by choosing least-busy team member"],"estimated_setup_minutes":45,"required_services":["OpenAI (LLM / embeddings)","JIRA","Supabase (vector store)"],"key_features":["Scheduled sync of recently resolved JIRA issues into Supabase vector store","Vector-similarity search over past issues to suggest relevant assignees","Workload counting to avoid overloading busiest team members","Auto-assign selected team member in JIRA and add comment","Configurable project/interval/assignment criteria and easily swapable components (e.g., Linear, Qdrant)"],"target_audience":["Support teams","Engineering teams","DevOps/Automation engineers implementing workflows in n8n"]}


name: Parse Incoming Invoices From Outlook using AI Document Understanding
author_name: Jimleuk
author_username: jimleuk
categories: []
created_at: 2025-04-01T09:17:11.659Z
updated_at: 2025-04-01T09:17:11.659Z
url: https://n8n.io/workflows/3396
scraped_at: 2025-09-14 19:10:59
metadata_generated_at: 2025-09-14 21:18:31
description:
  This n8n template monitors an Outlook mailbox for invoices, automatically parses/extracts data from them and then uploads the output to an Excel Workbook.

  One of my top workflow requests, this template can save many hours of manual labour for you or your finance/accounts team.

  How it works
  A scheduled trigger is set to fetch recent Outlook messages to the Accounts receivable mailbox.
  Each message is analysed to determine whether or not it from a supplier and is issuing/contains an invoice.
  For each valid message, the attachments are downloaded and non-invoice documents are filtered out via AI Vision classification.
  Invoices are then processed through a AI vision model again to extract the details.
  The extracted data can then be used for reconciliation or otherwise. For this demonstration, we'll just append the row to an Excel sheet for now.

  How to use
  Ensure your Microsoft365 credential points to the correct mailbox. If a shared folder is used, toggle "shared folder" option to "on" and for the principal ID, use the email address.
  If you receive lots of other types of messages such as replies and forwards, you may want to implement additional checks to prevent processing invoices twice. The "remove duplicates" node can help with this.

  Requirements
  Outlook for Mailbox
  Google Gemini for Document Understanding and Invoice Extraction
  Excel for Data Storage

  Customising this workflow
  Note the assumption for this template is that all invoices will come as a PDF attachment. In real life, this is rarely the case! Adding in document conversion to cover all invoice formats.
  Human feedback is also an important factor in AI workflows. Try tagging emails as a way to notify team members that the invoice was processed.

nodes_used:
  ["n8n-nodes-base.code","n8n-nodes-base.microsoftOutlook","n8n-nodes-base.set","n8n-nodes-base.splitInBatches","n8n-nodes-base.noOp","@n8n/n8n-nodes-langchain.textClassifier","n8n-nodes-base.extractFromFile","n8n-nodes-base.markdown","n8n-nodes-base.set","n8n-nodes-base.wait","n8n-nodes-base.filter","n8n-nodes-base.if","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.microsoftOutlook","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","n8n-nodes-base.stickyNote","n8n-nodes-base.microsoftExcel","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 7604 characters]

metadata_json:
  {"categories":["automation","integration","data processing","document understanding","finance/accounts payable"],"complexity":"medium","use_cases":["Automated invoice ingestion and data extraction","Accounts receivable / accounts payable automation","Populating financial records or spreadsheets for reconciliation","Document triage (filtering non-invoice attachments)","Reducing manual data entry and speeding up invoice processing"],"estimated_setup_minutes":45,"required_services":["Microsoft 365 / Outlook mailbox","Google Gemini (Document Understanding / Invoice Extraction)","Microsoft Excel (OneDrive/SharePoint workbook access)"],"key_features":["Scheduled monitoring of an Outlook mailbox","Attachment download and filtering","AI vision classification to detect invoices","AI extraction of invoice fields (auto-parsing)","Duplicate prevention and basic deduplication checks"],"target_audience":["Finance / accounts teams (AP/AR)","Operations managers","Small business owners wanting automation for invoicing workflows"]}


name: Personalise Outreach Emails using Customer data and AI
author_name: Jimleuk
author_username: jimleuk
categories: []
created_at: 2025-04-01T10:47:11.390Z
updated_at: 2025-04-01T10:47:11.390Z
url: https://n8n.io/workflows/3397
scraped_at: 2025-09-14 19:11:01
metadata_generated_at: 2025-09-14 21:18:32
description:
  This n8n template uses existing emails from customers as context to customise and "finetune" outreach emails to them using AI.

  By now, it should be common knowledge that we can leverage AI to generate unique emails but in a way, they can remain generic as the AI lacks the customer context to be truly personalised. One way to solve this is by pulling in a source of customer data - and what better way then by using existing email correspondence.

  How it works
  Customers to target are pulled from Hubspot and each customer is then run in a loop. We're using a loop as the retrieved emails for each customer become separate items and a loop helps with item reference.
  We connect to our Gmail account to pull all emails recieved from the customer.
  The contents of the email will be suitable to build a short persona of the customer. We use the Information Extractor to get our AI model to pull out the key attributes of this persona such as decision making style and communication preferences.
  With this persona, we can now pass this to our AI model to generate a personalised outreach email specifically for our customer.
  Finally, a draft email is created for human review before sending. If you would rather send the email straight away, this is also possible.

  How to use
  Define the topic of the outreach email in the "variables" node. This directs the AI on what outreach email to generate.
  Ensure the emails are pulled from the right account. If emails may contain sensitive data, adjust the filters and text parsing to ensure these are not leaked to the AI (which might then leak into the generated email).

  Requirements
  Hubspot for Contacts List
  OpenAI for LLM
  Gmail for Existing Emails and Sending Emails

  Customising this workflow
  Not using Hubspot? Any CRM would work just as well or even a simple text csv!
  If you have customer past deals or engagements in your CRM, consider using this as additional context for the AI to use.

nodes_used:
  ["n8n-nodes-base.manualTrigger","n8n-nodes-base.set","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","n8n-nodes-base.gmail","@n8n/n8n-nodes-langchain.informationExtractor","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.informationExtractor","n8n-nodes-base.stickyNote","n8n-nodes-base.gmail","n8n-nodes-base.hubspot","n8n-nodes-base.splitInBatches","n8n-nodes-base.noOp","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 7124 characters]

metadata_json:
  {"categories":["automation","integration","personalization","email outreach","AI"],"complexity":"medium","use_cases":["Generate personalised outreach emails using past customer correspondence","Build short customer personas from historical emails","CRM-driven email campaign drafting and review","Automate SDR/marketing outreach with optional immediate send"],"estimated_setup_minutes":30,"required_services":["HubSpot (or other CRM)","Gmail","OpenAI (or Google Gemini / other LLM)"],"key_features":["Pull target contacts from CRM","Fetch historical emails from Gmail per contact","Extract persona attributes (decision style, communication preferences) via Information Extractor","Generate personalised outreach copy with an LLM","Create Gmail draft for human review (optionally send automatically)"],"target_audience":["Sales reps / SDRs","Marketing teams","Growth hackers / demand gen teams"]}


name: Send structured logs to BetterStack from any workflow using HTTP Request
author_name: Audun
author_username: xqus
categories: []
created_at: 2025-04-01T18:56:59.369Z
updated_at: 2025-04-01T18:56:59.369Z
url: https://n8n.io/workflows/3400
scraped_at: 2025-09-14 19:11:03
metadata_generated_at: 2025-09-14 21:18:32
description:
  Send structured logs to BetterStack from any workflow using HTTP Request

  Who is this for?

  This workflow is perfect for automation builders, developers, and DevOps teams using n8n who want to send structured log messages to BetterStack Logs. Whether you're monitoring mission-critical workflows or simply want centralized visibility into process execution, this reusable log template makes integration easy.

  What problem is this workflow solving?

  Logging failures or events across multiple workflows typically requires duplicated logic. This workflow solves that by acting as a shared log sender, letting you forward consistent log entries from any other workflow using the Execute Workflow node.

  What this workflow does

  Accepts level (e.g., "info", "warn", "error") and message fields via Execute Workflow Trigger
  Sends the structured log to your BetterStack ingestion endpoint via HTTP Request
  Uses HTTP Header Auth for secure delivery
  Includes a manual trigger for testing and a sample call to demonstrate usage
  Comes with clear sticky notes to help you get started

  Setup

  Copy your BetterStack Logs ingestion URL.
  Create a Header Auth credential in n8n with your Authorization: Bearer YOUR_API_KEY.
  Replace the URL in the HTTP Request node with your BetterStack endpoint.
  Optionally modify the test data or log levels for custom scenarios.
  Use Execute Workflow in any of your workflows to send logs here.

nodes_used:
  ["n8n-nodes-base.httpRequest","n8n-nodes-base.executeWorkflowTrigger","n8n-nodes-base.manualTrigger","n8n-nodes-base.executeWorkflow","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  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

metadata_json:
  {"categories":["integration","monitoring","logging","devops","automation"],"complexity":"simple","use_cases":["Centralize structured logs from multiple n8n workflows","Send error and event notifications to BetterStack Logs","Workflow execution monitoring and observability","Create audit trails for workflow actions","Reusable logging endpoint for team-wide workflows"],"estimated_setup_minutes":10,"required_services":["BetterStack Logs (ingestion endpoint)","n8n (with Execute Workflow and HTTP Request nodes)","Header Auth credential (Bearer API key) in n8n"],"key_features":["Accepts log level and message via Execute Workflow trigger","Sends structured logs to BetterStack via HTTP Request","Uses HTTP Header Auth (Authorization: Bearer ...) for secure delivery","Includes a Manual Trigger and sample call for testing","Reusable workflow that other workflows can call to avoid duplicated logic"],"target_audience":["Automation builders","Developers","DevOps teams / SREs"]}


name: Automatically Create Facebook Ads from Google Sheets
author_name: Artur
author_username: arlusm1
categories: []
created_at: 2025-04-02T08:50:00.915Z
updated_at: 2025-04-02T08:50:00.915Z
url: https://n8n.io/workflows/3406
scraped_at: 2025-09-14 19:11:01
metadata_generated_at: 2025-09-14 21:18:32
description:
  Who is this for?

  This template is designed for Marketing Managers, Performance Marketers, and Ad Ops professionals who want to automate Facebook ad creation using structured data in Google Sheets. It’s ideal for teams running multiple creatives or testing ad variations without having to manually use Meta Ads Manager.

  &gt; ⚠️ Important Note:  
  This is not a plug-and-play workflow. It requires:
  A configured Facebook Business account
  A valid Facebook App, Page, and Ad Account
  Access tokens** and the correct Facebook Graph API credentials
  A basic understanding of the Meta API and JSON to tweak ad set parameters like demographics, optimization goals, or sales objectives

  Additionally, launching Facebook ads will incur real advertising costs, so this template is best suited for users willing to make a time investment to set things up properly and test responsibly. Expect to spend time customizing targeting and budget strategies based on your campaign needs.

  What problem does this solve?

  Manually uploading creatives, setting up ad sets, and creating ads in Meta’s Ad Manager is time-consuming, repetitive, and error-prone—especially at scale. This workflow eliminates the manual work by pulling data from Google Sheets and using it to automatically:

  Generate Facebook Ad Sets
  Upload creative images
  Build and launch Ad Creatives and Ads
  Update your source spreadsheet with generated Ad IDs

  What this workflow does

  Using a trigger from a Google Sheets row update, this workflow:

  Reads ad parameters (like message, render URL, and campaign info) from a Google Sheet  
  Generates ad set configuration dynamically using variables in an “Edit Fields” node  
  Creates a Facebook Ad Set via the Graph API  
  Fetches the ad image from a render URL  
  Uploads the image to Facebook Ads Library  
  Creates the Ad Creative using the uploaded image and dynamic text  
  Launches the Ad using the generated Ad Set and Creative  
  Updates the same Google Sheet with the generated Ad ID and status

  All configuration fields like campaign_id, act_id, pixel_id, age ranges, interest targeting, and call-to-action links are defined up front in a single Edit Fields node, making the template easy to maintain or extend.

  Google Sheet Structure
  | Hooks | Render URL | Generate Ad | Ad ID |
  |-------|------------|-------------|-------|
  | Static ad text (e.g., “Visit us at...”) | Link to the creative asset (image) | Status: generate, generated, or error | Populated by the workflow with the created Facebook Ad ID |

  Hooks**: This is the primary ad copy. It will be used as the main text for the static ad.
  Render URL**: Direct link to the media asset (image or video) for the ad.
  Generate Ad**: Dropdown or text value that controls workflow execution:
    generate — workflow will attempt to create the ad
    generated — already processed
    error — error occurred during generation
  Ad ID**: The Meta Ad ID will be written here once the ad is successfully created.

  Setup

  Copy this Google Sheet template and populate it with your data
  Create a Facebook App and retrieve the access credentials for the Facebook Graph API
  In n8n:
     Connect your Google Sheets and Facebook Graph API accounts
     Update the Edit Fields node with your actual ad account ID, page ID, campaign ID, pixel ID, and destination link
     Deploy the workflow

  This workflow runs every time the generate ad column in your sheet is updated.

  How to customize this workflow to your needs

  Modify the Edit Fields node to adjust ad set parameters like targeting, budget strategy, CTA type, and more
  Expand interest-based targeting using more interest objects in the array
  Add extra Google Sheet columns and map them to Facebook ad fields (e.g. different messages, URLs, creative assets)
  Add logic to pause or duplicate ads based on performance

nodes_used:
  ["n8n-nodes-base.httpRequest","n8n-nodes-base.facebookGraphApi","n8n-nodes-base.facebookGraphApi","n8n-nodes-base.facebookGraphApi","n8n-nodes-base.googleSheetsTrigger","n8n-nodes-base.facebookGraphApi","n8n-nodes-base.googleSheets","n8n-nodes-base.set"]

workflow_json_compressed:
  H4sIAAAAAAAAE52VTW+bQBCG/wraM2PtLsN+cIsqNeq1aXuJfNiPWQc1Bgo0amTx3yucqHZSYju5ouHZh5nZlx3b0uhYtWN1M4yuCfQlsopJLQxpHgsrdQgqSSlD5Ck4kVBYaXlZKGPIG48lRywFkdaoUkyUtCfBppw1baSBVbc7Vs/IaKQrXIqAUUpAYxR4oUuIMmlDocRkkeWscVtiFbumMau3bkMsZ+NjNz9qTAN7Jng30OpuHLuv9Os3DSPLWdcO9Vi3Datu0fBc8nXOOte7LY3UD6zaTU+cH9QP+zJcySl/VrPOJWlJg9DJApZFAmOShxBtslwJobk6qH3v7lsXs6t4RjC5QL5tf173rru76uqXlppfYin+OUZRFhYFh8IrBagtByd5BApopFY+KBEPjp+fz54tP/Xkxvrho6JWvk+UoxFUqgJ8Sh4wWA0uxgAaUyqU5FLzdBDdy1HmmuwqflBQCHyfoVYyOsQCUggcMAYNnksEb7m3FEpVeHe0iW27uafs5o5oHLJvfb3ZUP+m6mZf/VR8qD2yBXHReh5sUQYRkijAGx0BNefgiRSoskwhaJfIhOV+Zjc0frCnUr2zpQllwlmScwQkKsAmQWB88BYLMtyY4xsUZ8kXnb2oo68GX1xkiavyn6fw3iWfLJQGDSDnFrzyJaAlQU45iVocPG86CnV6zB5cXzt/T29LDvQ6hC4xK1Y4rXMW2qahML84Fx1FX7VjW1fPuNvdPk5Ppc++Mmd1E+kPq/i0Xk/5y+u1jDs1ikXma4Ml7On8Oau639wl7sJvYRH2/+SWaG9flkXo4ked455hLqfLEvTEMi6Qp+kvi8IpP9oHAAA=

metadata_json:
  {"categories":["automation","advertising","integration","marketing"],"complexity":"complex","use_cases":["Bulk Facebook ad creation from a spreadsheet","Automate creative uploads and ad launches","A/B testing multiple creatives/variations at scale","Sync ad metadata and IDs back to Google Sheets for tracking","Reduce manual steps in Ad Ops and scale campaign rollout"],"estimated_setup_minutes":120,"required_services":["Google Sheets","Meta/Facebook Business (Ads Manager) — Ad Account, Page, Pixel","Facebook Graph API and a Facebook App with access tokens","n8n (self-hosted or cloud)","Publicly hosted creative assets or render URLs (image/video)"],"key_features":["Trigger workflow on Google Sheet row updates","Dynamically build ad set configuration via a single Edit Fields node","Create Facebook Ad Sets via the Graph API","Fetch and upload creative assets to Facebook","Create Ad Creatives and launch Ads programmatically"],"target_audience":["Marketing Managers","Performance Marketers","Ad Operations (Ad Ops) professionals / agencies running multiple creatives at scale"]}


name: Convert Reddit threads into short vertical videos with AI
author_name: Artur
author_username: arlusm1
categories: []
created_at: 2025-04-02T09:29:33.331Z
updated_at: 2025-04-02T09:29:33.331Z
url: https://n8n.io/workflows/3407
scraped_at: 2025-09-14 19:11:02
metadata_generated_at: 2025-09-14 21:18:32
description:
  Convert Reddit threads into short vertical videos with AI

  Who is this for?

  This workflow is ideal for:
  Content creators* and *video editors** automating short-form content production
  Reddit storytellers** converting text posts into engaging TikTok, YouTube Shorts, or Reels
  Social media managers** repurposing community discussions into visual narratives

  What problem is this solving?

  Manually converting Reddit posts into vertical video content is time-consuming:
  You have to read, summarize, write a script
  Generate TTS
  Find stock footage
  Edit everything in a timeline

  This workflow automates the full pipeline. It converts any Reddit thread into a polished video with:
  TTS narration
  Subtitle overlays
  B-roll from Pexels
  Automatic rendering via Shotstack

  What this workflow does

  This workflow:
  Extracts Reddit post and comments via Reddit API
  Summarizes the thread into structured clips using OpenAI
  Generates search queries for each clip for stock footage
  Queries Pexels API for relevant vertical videos
  Generates TTS audio for each clip using OpenAI Whisper
  Creates subtitles matching the audio
  Uploads footage/audio to Shotstack
  Renders a full vertical video (720x1280) with synced TTS, subtitles, and b-roll
  Returns a final video URL

  Setup

  Create accounts and API keys for:
    Reddit Developer App
    OpenAI
    Pexels
    Shotstack
  Add credentials in n8n:
    Reddit (HTTP Basic Auth)
    OpenAI (API Key)
    Shotstack (HTTP Header Auth)
    Pexels (HTTP Header Auth)
  Trigger via webhook or manual node. The input must include:
      {
      "voice": "nova",
      "ttsSpeed": 1,
      "videoLength": 60,
      "redditLink": "https://www.reddit.com/r/example/comments/example_id/example_title"
    }
  How to customize this workflow

  Tweak OpenAI prompts** to change tone or clip granularity
  Change stock source** by swapping Pexels for another API
  Adjust TTS voices** or languages by modifying the voice field
  Modify video styling** (fonts, colors, fit modes) in the timeline construction code node
  Control duration** by editing the character length formula in the Limit comments length node

  Additional Notes

  All stock videos are selected to match clip themes using generalized keywords to avoid API misses
  Includes wait nodes to ensure Shotstack's async upload/render processes complete before proceeding
  Annotated with sticky notes explaining major sections like TTS, Reddit input, and media timeline
  Avoids community nodes to ensure cloud compatibility

  Template Category
  AI, Marketing, Building Blocks, Other (Content Creation)

nodes_used:
  ["n8n-nodes-base.itemLists","n8n-nodes-base.httpRequest","@n8n/n8n-nodes-langchain.openAi","n8n-nodes-base.httpRequest","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.code","n8n-nodes-base.stickyNote","n8n-nodes-base.merge","n8n-nodes-base.webhook","n8n-nodes-base.splitOut","n8n-nodes-base.code","n8n-nodes-base.splitOut","n8n-nodes-base.code","n8n-nodes-base.merge","n8n-nodes-base.splitOut","n8n-nodes-base.merge","n8n-nodes-base.respondToWebhook","n8n-nodes-base.stickyNote","n8n-nodes-base.code","n8n-nodes-base.merge","n8n-nodes-base.if","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.openAi","n8n-nodes-base.renameKeys","n8n-nodes-base.merge","n8n-nodes-base.merge","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.wait","n8n-nodes-base.wait","n8n-nodes-base.manualTrigger","n8n-nodes-base.code","n8n-nodes-base.merge","n8n-nodes-base.httpRequest","n8n-nodes-base.wait","n8n-nodes-base.httpRequest","n8n-nodes-base.if","n8n-nodes-base.set"]

workflow_json_compressed:
  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

metadata_json:
  {"categories":["automation","content creation","AI","social media"],"complexity":"medium","use_cases":["Convert Reddit threads into short vertical videos (TikTok/Shorts/Reels)","Automate short-form content production from community discussions","Create narrated video clips with subtitles and matched B-roll","Repurpose Reddit posts/comments into social media-ready videos","Batch-render vertical videos via Shotstack API"],"estimated_setup_minutes":20,"required_services":["Reddit Developer API (Reddit app)","OpenAI (GPT for summarization and Whisper/ TTS)","Pexels API (stock vertical videos)","Shotstack API (upload + render)","n8n instance (workflow host)"],"key_features":["Fetches Reddit post + comments via API","Summarizes threads into structured clips with OpenAI","Generates search queries and fetches vertical B-roll from Pexels","Creates TTS narration and matching subtitles","Uploads assets and renders final 720x1280 vertical video via Shotstack asynchronously and returns final URL with wait handling for render completion and uploads"],"target_audience":["Content creators","Video editors","Social media managers/community managers focused on short-form video repurposing from Reddit content"]}


name: AI YouTube Playlist & Video Analyst Chatbot
author_name: dmr
author_username: dmr
categories: []
created_at: 2025-04-02T13:25:05.835Z
updated_at: 2025-04-02T13:25:05.835Z
url: https://n8n.io/workflows/3408
scraped_at: 2025-09-14 19:11:02
metadata_generated_at: 2025-09-14 21:18:32
description:
  AI YouTube Playlist & Video Analyst Chatbot

  This n8n workflow transforms entire YouTube playlists or single videos into interactive knowledge bases you can chat with. Ask questions and get summaries without needing to watch hours of content.

  🌟 How it Works

  🔗 Provide a Link: Start by giving the workflow a URL for a YouTube playlist or a single video.
  📄 Content Retrieval: The workflow automatically fetches the video details and transcripts for the provided link. For playlists, it can process multiple videos at once (you might be asked how many).
  🧠 AI Processing: Google's Gemini AI reads through the transcripts, understands the content, and creates summaries.
  💾 Storage & Context: The processed information and summaries are stored in a vector database (Qdrant), making them ready for conversation. Context is managed using Redis, remembering the current video/playlist you're discussing.
  💬 Chat & Ask: Now, you can ask the AI agent questions about the playlist or video content! Because context is maintained, you can ask follow-up questions (like "expand on point X") without needing to provide the URL again.

  🛠️ Requirements

  Community Node:** This workflow uses the youtubeTranscripter community node to fetch video transcripts. You'll need to install it in your n8n environment.
      Installation: npm install n8n-nodes-youtube-transcription-dmr
      Important: Community nodes require a self-hosted n8n instance.
  Redis:** A Redis instance is required for managing conversation context and status between interactions.
  Credentials:** You will need API credentials configured in your n8n instance for:
      Google Gemini (AI Models)
      Qdrant (Vector Store)
      Redis (Context Store)

  🤖 AI Agent Capabilities

  Engage with the AI agent to explore the video content. Since the agent remembers the context of your conversation, you can ask detailed follow-up questions naturally:

  Get a quick summary of a single video or an entire playlist.
  Ask for key takeaways or main topics discussed.
  Query for specific information mentioned in the videos.
  Ask the agent to elaborate on a specific point previously mentioned.
  Understand complex subjects without watching the full duration.

  🚀 Use Cases

  📊 Content Analysis:** Quickly understand the themes and key points across a playlist or long video.
  📚 Research & Learning:** Extract insights from educational series or tutorials efficiently.
  ✍️ Content Creation:** Easily repurpose video transcript information into blog posts, notes, or social media content.
  ⏱️ Save Time:** Get the essence of video content when you're short on time.
  ♿ Accessibility:** Offers a text-based way to interact with and understand video content.

  ✨ Sample Prompts

  Please analyze this playlist and tell me the main topics covered: [YouTube Playlist URL]
  Summarize the first 5 videos in this playlist: [YouTube Playlist URL]
  (Follow-up) Tell me more about the main point in video 3.
  What are the key points discussed in this video? [YouTube Video URL]
  (Follow-up) Expand on the second key point you mentioned.
  Does the video at [YouTube Video URL] mention [specific topic]?

nodes_used:
  ["@n8n/n8n-nodes-langchain.lmChatGoogleGemini","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.splitOut","@n8n/n8n-nodes-langchain.chainLlm","n8n-nodes-base.summarize","n8n-nodes-base.splitOut","n8n-nodes-base.limit","@n8n/n8n-nodes-langchain.vectorStoreQdrant","@n8n/n8n-nodes-langchain.textSplitterRecursiveCharacterTextSplitter","@n8n/n8n-nodes-langchain.embeddingsGoogleGemini","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","@n8n/n8n-nodes-langchain.embeddingsGoogleGemini","@n8n/n8n-nodes-langchain.chatTrigger","n8n-nodes-base.splitOut","n8n-nodes-base.merge","n8n-nodes-base.set","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","n8n-nodes-base.httpRequest","@n8n/n8n-nodes-langchain.documentDefaultDataLoader","@n8n/n8n-nodes-langchain.memoryBufferWindow","n8n-nodes-base.summarize","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.memoryBufferWindow","n8n-nodes-youtube-transcription-dmr.youtubeTranscripter","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.outputParserStructured","n8n-nodes-base.redis","n8n-nodes-base.redis","n8n-nodes-base.switch","n8n-nodes-base.code","@n8n/n8n-nodes-langchain.memoryBufferWindow","@n8n/n8n-nodes-langchain.memoryBufferWindow","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.code","n8n-nodes-base.if","n8n-nodes-base.switch","n8n-nodes-base.code","n8n-nodes-base.redis","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","n8n-nodes-base.httpRequest","n8n-nodes-youtube-transcription-dmr.youtubeTranscripter","n8n-nodes-base.httpRequest","n8n-nodes-base.code","n8n-nodes-base.splitOut","n8n-nodes-base.summarize","n8n-nodes-base.stickyNote","n8n-nodes-base.code","n8n-nodes-base.code","@n8n/n8n-nodes-langchain.embeddingsGoogleGemini","@n8n/n8n-nodes-langchain.vectorStoreQdrant","@n8n/n8n-nodes-langchain.toolVectorStore","@n8n/n8n-nodes-langchain.vectorStoreQdrant","@n8n/n8n-nodes-langchain.toolVectorStore","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","@n8n/n8n-nodes-langchain.vectorStoreQdrant","@n8n/n8n-nodes-langchain.embeddingsGoogleGemini","n8n-nodes-base.if","n8n-nodes-base.summarize","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.redis","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 20544 characters]

metadata_json:
  {"categories":["automation","integration","AI / NLP","knowledge management","content analysis"],"complexity":"complex","use_cases":["Summarize single videos or entire playlists","Interactive Q&A over video content with follow-ups","Research and learning from video series","Repurposing video transcripts into blog posts/notes/social content","Accessibility: text-based access to video content"],"estimated_setup_minutes":60,"required_services":["Google Gemini (AI models) - API credentials","Qdrant (vector database) - credentials/instance","Redis - instance for conversation/context state","YouTube (video/playlist URLs)","youtubeTranscripter community node (n8n-nodes-youtube-transcription-dmr) - requires self-hosted n8n and npm install"],"key_features":["Automatically fetches transcripts for single videos or playlists","Processes multiple videos and creates summaries using Google Gemini","Generates embeddings and stores vectors in Qdrant for retrieval","Uses Redis to manage conversation context and current video/playlist state","Provides an AI chat agent that supports follow-up questions and context-aware answers','Batch or single-item processing and summarization"],"target_audience":["Developers / n8n self-hosted operators","Content creators and marketers","Researchers and learners studying video series or tutorials','Knowledge workers and analysts','Accessibility advocates and educators"]}


name: Batch Process Prompts with Anthropic Claude API
author_name: Greg Evseev
author_username: greg
categories: []
created_at: 2025-04-02T19:20:04.824Z
updated_at: 2025-04-02T19:20:04.824Z
url: https://n8n.io/workflows/3409
scraped_at: 2025-09-14 19:11:02
metadata_generated_at: 2025-09-14 21:18:32
description:
  This workflow template provides a robust solution for efficiently sending multiple prompts to Anthropic's Claude models in a single batch request and retrieving the results. It leverages the Anthropic Batch API endpoint (/v1/messages/batches) for optimized processing and outputs each result as a separate item.

  Core Functionality & Example Usage Included

  This template includes:
  The Core Batch Processing Workflow: Designed to be called by another n8n workflow.
  An Example Usage Workflow: A separate branch demonstrating how to prepare data and trigger the core workflow, including examples using simple strings and n8n's Langchain Chat Memory nodes.

  Who is this for?

  This template is designed for:

  Developers, data scientists, and researchers** who need to process large volumes of text prompts using Claude models via n8n.
  Content creators** looking to generate multiple pieces of content (e.g., summaries, Q&As, creative text) based on different inputs simultaneously.
  n8n users** who want to automate interactions with the Anthropic API beyond single requests, improve efficiency, and integrate batch processing into larger automation sequences.
  Anyone needing to perform bulk text generation or analysis tasks with Claude programmatically.

  What problem does this workflow solve?

  Sending prompts to language models one by one can be slow and inefficient, especially when dealing with hundreds or thousands of requests. This workflow addresses that by:

  Batching:** Grouping multiple prompts into a single API call to Anthropic's dedicated batch endpoint (/v1/messages/batches).
  Efficiency:** Significantly reducing the time required compared to sequential processing.
  Scalability:** Handling large numbers of prompts (up to API limits) systematically.
  Automation:** Providing a ready-to-use, callable n8n structure for batch interactions with Claude.
  Structured Output:** Parsing the results and outputting each individual prompt's result as a separate n8n item.

  Use Cases:

  Bulk content generation (e.g., product descriptions, summaries).
  Large-scale question answering based on different contexts.
  Sentiment analysis or data extraction across multiple text snippets.
  Running the same prompt against many different inputs for research or testing.

  What the Core Workflow does

  (Triggered by the 'When Executed by Another Workflow' node)

  Receive Input: The workflow starts when called by another workflow (e.g., using the 'Execute Workflow' node). It expects input data containing:
      anthropic-version (string, e.g., "2023-06-01")
      requests (JSON array, where each object represents a single prompt request conforming to the Anthropic Batch API schema).
  Submit Batch Job: Sends the formatted requests data via POST to the Anthropic API /v1/messages/batches endpoint to create a new batch job. Requires Anthropic credentials.
  Wait & Poll: Enters a loop:
      Checks if the processing_status of the batch job is ended.
      If not ended, it waits for a set interval (10 seconds by default in the 'Batch Status Poll Interval' node).
      It then checks the batch job status again via GET to /v1/messages/batches/{batch_id}. Requires Anthropic credentials.
      This loop continues until the status is ended.
  Retrieve Results: Once the batch job is complete, it fetches the results file by making a GET request to the results_url provided in the batch status response. Requires Anthropic credentials.
  Parse Results: The results are typically returned in JSON Lines (.jsonl) format. The 'Parse response' Code node splits the response text by newlines and parses each line into a separate JSON object, storing them in an array field (e.g., parsed).
  Split Output: The 'Split Out Parsed Results' node takes the array of parsed results and outputs each result object as an individual item from the workflow.

  Prerequisites

  An active n8n instance (Cloud or self-hosted).
  An Anthropic API account with access granted to Claude models and the Batch API.
  Your Anthropic API Key.
  Basic understanding of n8n concepts (nodes, workflows, credentials, expressions, 'Execute Workflow' node).
  Familiarity with JSON data structures for providing input prompts and understanding the output.
  Understanding of the Anthropic Batch API request/response structure.
  (For Example Usage Branch) Familiarity with n8n's Langchain nodes (@n8n/n8n-nodes-langchain) if you plan to adapt that part.

  Setup

  Import Template: Add this template to your n8n instance.
  Configure Credentials:
      Navigate to the 'Credentials' section in your n8n instance.
      Click 'Add Credential'.
      Search for 'Anthropic' and select the Anthropic API credential type.
      Enter your Anthropic API Key and save the credential (e.g., name it "Anthropic account").
  Assign Credentials: Open the workflow and locate the three HTTP Request nodes in the core workflow:
      Submit batch
      Check batch status
      Get results
      In each of these nodes, select the Anthropic credential you just configured from the 'Credential for Anthropic API' dropdown.
  Review Input Format: Understand the required input structure for the When Executed by Another Workflow trigger node. The primary inputs are anthropic-version (string) and requests (array). Refer to the Sticky Notes in the template and the Anthropic Batch API documentation for the exact schema required within the requests array.
  Activate Workflow: Save and activate the core workflow so it can be called by other workflows.

  ➡️ Quick Start & Input/Output Examples: Look for the Sticky Notes within the workflow canvas! They provide crucial information, including examples of the required input JSON structure and the expected output format.

  How to customize this workflow

  Input Source:* The core workflow is designed to be called. You will build *another workflow that prepares the anthropic-version and requests array and then uses the 'Execute Workflow' node to trigger this template. The included example branch shows how to prepare this data.
  Model Selection & Parameters:* Model (claude-3-opus-20240229, etc.), max_tokens, temperature, and other parameters are defined *within each object inside the requests array you pass to the workflow trigger. You configure these in the workflow calling this template.
  Polling Interval:** Modify the 'Wait' node ('Batch Status Poll Interval') duration if you need faster or slower status checks (default is 10 seconds). Be mindful of potential rate limits.
  Parsing Logic:** If Anthropic changes the result format or you have specific needs, modify the Javascript code within the 'Parse response' Code node.
  Error Handling:** Enhance the workflow with more specific error handling for API failures (e.g., using 'Error Trigger' or checking HTTP status codes) or batch processing issues (batch.status === 'failed').
  Output Processing:* In the workflow that *calls this template, add nodes after the 'Execute Workflow' node to process the individual result items returned (e.g., save to a database, spreadsheet, send notifications).

  Example Usage Branch (Manual Trigger)

  This template also contains a separate branch starting with the Run example Manual Trigger node.

  Purpose:** This branch demonstrates how to construct the necessary anthropic-version and requests array payload.
  Methods Shown:** It includes steps for:
      Creating a request object from a simple query string.
      Creating a request object using data from n8n's Langchain Chat Memory nodes (@n8n/n8n-nodes-langchain).
  Execution:** It merges these examples, constructs the final payload, and then uses the Execute Workflow node to call the main batch processing logic described above. It finishes by filtering the results for demonstration.
  Note:** This branch is for demonstration and testing. You would typically build your own data preparation logic in a separate workflow. The use of Langchain nodes is optional for the core batch functionality.

  Notes

  API Limits:** According to the Anthropic API documentation, batches can contain up to 100,000 requests and be up to 256 MB in total size. Ensure your n8n instance has sufficient resources for large batches.
  API Costs:** Using the Anthropic API, including the Batch API, incurs costs based on token usage. Monitor your usage via the Anthropic dashboard.
  Completion Time:** Batch processing time depends on the number and complexity of prompts and current API load. The polling mechanism accounts for this variability.
  Versioning:** Always include the anthropic-version header in your requests, as shown in the workflow and examples. Refer to Anthropic API versioning documentation.

nodes_used:
  ["n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.executeWorkflowTrigger","n8n-nodes-base.httpRequest","n8n-nodes-base.code","n8n-nodes-base.if","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.wait","n8n-nodes-base.stickyNote","n8n-nodes-base.manualTrigger","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.aggregate","n8n-nodes-base.set","n8n-nodes-base.executeWorkflow","n8n-nodes-base.code","@n8n/n8n-nodes-langchain.memoryBufferWindow","@n8n/n8n-nodes-langchain.memoryManager","n8n-nodes-base.code","@n8n/n8n-nodes-langchain.memoryManager","n8n-nodes-base.executionData","n8n-nodes-base.executionData","n8n-nodes-base.splitOut","n8n-nodes-base.filter","n8n-nodes-base.filter","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.merge","n8n-nodes-base.set","n8n-nodes-base.set","@n8n/n8n-nodes-langchain.memoryManager"]

workflow_json_compressed:
  [encoded data, 7516 characters]

metadata_json:
  {"categories":["automation","integration","data processing","AI/ML"],"complexity":"medium","use_cases":["Bulk content generation (product descriptions, summaries, articles)","Large-scale question answering across many inputs","Sentiment analysis or structured data extraction from many text snippets","Running the same prompt across many inputs for research or testing","Batch processing of LLM prompts to improve throughput and reduce latency"],"estimated_setup_minutes":15,"required_services":["Anthropic (Claude) API (access to Batch API and API key)","n8n instance (Cloud or self-hosted)","Optional: n8n Langchain nodes (@n8n/n8n-nodes-langchain) for example branch"],"key_features":["Uses Anthropic Batch API (/v1/messages/batches) to submit many prompts in one request","Polling loop to wait for batch completion and fetch results_url","Parses JSONL (.jsonl) results into separate n8n items","Callable core workflow designed to be executed by other workflows (Execute Workflow node)","Example branch demonstrating payload preparation, including Langchain Chat Memory usage and simple strings, for quick testing/adoption"],"target_audience":["Developers","Data scientists / researchers","Content creators and marketing teams doing bulk generation or analysis using Claude models via n8n"]}


name: Get notified on Gmail, Telegram and Slack on new Stripe purchase
author_name: Solomon
author_username: solomon
categories: []
created_at: 2025-04-03T00:14:38.539Z
updated_at: 2025-04-03T00:14:38.539Z
url: https://n8n.io/workflows/3410
scraped_at: 2025-09-14 19:11:02
metadata_generated_at: 2025-09-14 21:18:32
description:
  Get notified when a customer completes a Stripe checkout — including all products they purchased in a single checkout session.



  Using the Stripe API can be tricky, especially when you're selling multiple products, order bumps, or recommended add-ons in one checkout. This workflow solves that for you.

  How it works

  The template listens for successful Stripe checkout events. When a payment is completed, it retrieves all items from the session, including main products, bumps, and extras — and sends a full breakdown straight to your chosen app.



  You can receive the notification on:

  Telegram**
  WhatsApp**
  Gmail**
  Or any other chat/notification service you prefer (Slack, Outlook etc. )

  Who is this template for?

  Creators, marketers, and online sellers who:

  Use Stripe Checkout
  Want to track what customers are buying in real time
  Prefer to get notifications instantly instead of digging through Stripe logs

  How to set up

  Connect your Stripe account and choose where you want to receive notifications.
  Adjust the notification text for your preference, and you are done!

  Everything else is already configured in the template.

  Check out my other templates

  👉 https://n8n.io/creators/solomon/

nodes_used:
  ["n8n-nodes-base.stripeTrigger","n8n-nodes-base.httpRequest","n8n-nodes-base.splitOut","n8n-nodes-base.aggregate","n8n-nodes-base.httpRequest","n8n-nodes-base.set","n8n-nodes-base.telegram","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.whatsApp","n8n-nodes-base.gmail","n8n-nodes-base.filter"]

workflow_json_compressed:
  H4sIAAAAAAAAE6WWSW8bRxCF/8qgzyyhl+qNN1mIHCOLgViJAxs69FJNDUwOmZmhJEPmfw+GkkVaHmqxr8Tjm+9VV1fXDaszm7Lf7Om/l2/569a+utbXHwybsAX1gU1vWN10fWgSvRl02UTNZS4Bs8+ZW5ly0knGaI3S2hkjuFbFaCGdl14oLYND5Iq4iCqLyCasp8VqHno6aSl376hfr06Wi9Wcesps2rdr2kxYExbEpuzsTlp9qd71bb2iqln2dalT6Otl01Vl2VYNXVWrdZsuQkfdYB9mHZt+vLnNZcSxd8d//3l69f7D++Nywu69v2KwCUsthZ7ycc+mTHKJwC1IPJNyyuVU8iOt1Ac2YetVflq2OZ+wZplpj0FGm3JSHnhSDlAXDh5DhBxRS+2z1TnsuO6CnrX1bEbtEOjzavi9cQ1sjSGGjo66rWynWi27eigKm360kk9ASn4+YVcUL5bLT9uj00knS9KCjM4CcoXglS8QreKojfYo3WAU2rCgntqOTW82t5//h9pu6y02k7tQyaMimzhg1hIwYQSnsgcMPBXNMXBrvwv1pXpNfZUuKH1arvtqXjdU1T0tuoMxL/p+9Rf9t6au/zakEOY+5aPIeCTvoYtLUqgsIWRUgClpiE45cNlmjxY9GbOD7lbzuq++9slhxq3u7fohoHLPA9yrqQtFx6BBKmEBiy/gg/MgJJWgc/Aa4w7veDZraXbbweNgYU+xT+bkS8msc0Jz50AqEwFlThALapAmcuRWG+XKgdNetcu8Tn1VN2X5A8ds+MuPWVuTQqECXgQNmJyBYKSEoIzWkStPfq+O76ivTmua50dOmB5gSY7Pw1JHuCuiIB6z81Ck1IAxIzhDBZA7EYR3RenE9mbfnGZtWByE6neCfTKFo7dfonGURIQsTQYUJUEgi+CENUk7KSnE599+w72xhXMgywnQJIKgkEORhZMyjsuE+/1Qp0+fqz+XPalHBtogGjQPAg151PeVZmnZ9NQMw5gdBtVRh4KCQIk0DL0UwHOyIJQOSUij0cpR0BdzCjF0KuIPgjoTpFJRQjHZAKYwzFNZgGdCY20UMuRRUPFyUo0/Q0rSkXQpA1mXAdEIcMpb8BotVzqJrMUoqXw5qXc/Q4pRIBIZ4EkHwCAQHPfDrcvR2uREiX6UFF/epXKYqeh+kJQH45UxBbyjCKiThIjD40rKO+2oBNqbr+8vQt8dr1bVq3VXN9R11cl8uc4Hoa/u9COTQriHg0IE4sNJgi42AA6XJaJ2UHTQRkXLdeTPHxTSGZGpEJCRHFBlDcGqAiYnU7zSFJLeBftlEep5dVX3F9WvZ3/8XmXq6llzMNdskI+Ov4ehLEpugudQKEhAwSNENAGMLrZ4q60w8qlQ8mjvDgjS2QUFvKAH9NZBEFmAKc7ppGXwaW+snNbzntoqfq5Woc7Vspl/PpipbLXfhvLPfGzkkRzWz5D6+pLYtIR5RxPWUd/XzWzbjHRNaT24vm0ztWzKLsXQlZe3Dm9udyQTSdt890qlrMH7TCB5idl7Yb0YXqm0bBpK2zV8MN4tI9Mbtgj1gP3xZrsJH3hit6IJq5tM12zKN+fnm8m+cMzn+zfxocvkXvtULx3+55PXaxz92719DP/RPhg1fbiCjhb36W1r1HuM5kn/R3f3x+oygjf2sZGl9mnXMagx84ML/cgnNpv/AdDp2isaDwAA

metadata_json:
  {"categories":["automation","integration","e-commerce","notifications"],"complexity":"medium","use_cases":["Real-time sales notifications for new Stripe checkout purchases","Track multi-item checkouts including order bumps and add-ons","Instant alerts to sales/fulfillment/marketing teams","Quick verification of purchase details without checking Stripe dashboard","Trigger downstream workflows or manual fulfillment based on purchases"],"estimated_setup_minutes":10,"required_services":["Stripe (Checkout / webhooks)","n8n instance (webhook endpoint)","One or more notification channels such as Telegram, WhatsApp, Gmail, Slack, Outlook"],"key_features":["Listens to Stripe checkout completion events (checkout.session.completed)","Fetches full session line items including main products, bumps and extras","Aggregates and formats a complete purchase breakdown","Delivers notifications to multiple channels (Telegram, WhatsApp, Gmail, Slack, etc.)","Configurable notification text/content before sending"],"target_audience":["Creators selling digital or physical products","Marketers tracking conversions and order details","Online sellers and store operators using Stripe Checkout"]}


name: Generate 360° Virtual Try-on Videos for Clothing with Kling API (unofficial)
author_name: PiAPI
author_username: piapi
categories: []
created_at: 2025-04-03T06:56:12.469Z
updated_at: 2025-04-03T06:56:12.469Z
url: https://n8n.io/workflows/3411
scraped_at: 2025-09-14 19:11:01
metadata_generated_at: 2025-09-14 21:18:32
description:
  What's the workflow used for？
  Leverage this Kling API (unofficial) provided by PiAPI workflow to streamline virtual try-on video creation. This tool is designed for e-commerce platforms, fashion brands, content creators and content influencers. By uploading model and clothing images and linking PiAPI account, users can swiftly generate a realistic video of the model sporting the outfit with a 360° turn, offering an immersive viewing experience. 

  Step-by-step Instruction
  For basic settings of virtual try-on, check API doc to get best practice. 
  Fill in your X-API-Key of your PiAPI account in Preset Parameters node.
  Upload the model photo and provide target clothing image urls.
  Click Test Workflow to generate virtual try-on image.
  Get the video output in the final node.

  Param Settings
  If you want to change into a dress, input the model_input URL and the dress_input URL in the parameters.
  If you want to change into separates, input model_input URL, upper_input URL and lower_input URL in Preset Parameters.

  Use Case
  Input images：




  Output Video
   
  The output demonstrates that the model is wearing the clothing from the specified image and showcases a rotating runway-style view.

  This workflow enables you to efficiently test garment-on-model presentation effects while reducing business model validation costs to a certain extent.

nodes_used:
  ["n8n-nodes-base.manualTrigger","n8n-nodes-base.httpRequest","n8n-nodes-base.switch","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.set","n8n-nodes-base.httpRequest","n8n-nodes-base.if","n8n-nodes-base.wait","n8n-nodes-base.wait","n8n-nodes-base.switch","n8n-nodes-base.if","n8n-nodes-base.set","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  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

metadata_json:
  {"categories":["e-commerce","image processing","AI/ML","content creation","automation"],"complexity":"medium","use_cases":["Generate 360° virtual try-on videos for product listings","Create marketing and influencer content showing garments on models","Rapidly validate garment-on-model presentation without studio shoots","A/B testing of styling and fit for product teams","Customer-facing virtual try-on demos for online stores"],"estimated_setup_minutes":15,"required_services":["PiAPI (Kling API) with X-API-Key","n8n instance (workflow runner)","Public image hosting or URLs for model and clothing images"],"key_features":["Produces realistic 360° rotating try-on videos from model + clothing images","Supports dresses or separates (upper and lower garments) via parameter inputs","Preset parameters node for storing X-API-Key and inputs","Uses HTTP/Webhook + AI/ML nodes to call Kling API and process results","Fast workflow testing via Test Workflow and manual trigger"],"target_audience":["E-commerce product managers","Fashion brands and retailers","Content creators and influencers producing garment videos」「Developers integrating virtual try-on into storefronts"]}


name: LINE Messages with GPT: Save Notes, Namecard Data and Tasks
author_name: lin@davoy.tech
author_username: linlinmhee
categories: []
created_at: 2025-04-03T07:20:26.138Z
updated_at: 2025-04-03T07:20:26.138Z
url: https://n8n.io/workflows/3413
scraped_at: 2025-09-14 19:11:02
metadata_generated_at: 2025-09-14 21:18:32
description:
  This workflow template, "Personal Assistant to Note Messages and Extract Namecard Information" is designed to streamline the processing of incoming messages on the LINE messaging platform. It integrates with powerful tools like Microsoft Teams , Microsoft To Do , OneDrive , and OpenRouter.ai to handle tasks such as saving notes, extracting namecard information, and organizing images. Whether you’re managing personal productivity or automating workflows for teams, this template offers a versatile and customizable solution.

  By leveraging this workflow, you can automate repetitive tasks, improve collaboration, and enhance efficiency in handling LINE messages.

  Who Is This Template For?
  This template is ideal for:

  Professionals: Who want to save important messages, extract data from namecards, or organize images automatically.
  Teams: Looking to integrate LINE messages into tools like Microsoft Teams and Microsoft To Do for better collaboration.
  Developers: Seeking to build intelligent workflows that process text, images, and other inputs from LINE.
  Business Owners: Who need to manage customer interactions, follow-ups, and task tracking efficiently.

  What Problem Does This Workflow Solve?
  Managing incoming messages on LINE can be time-consuming, especially when dealing with diverse input types like text, images, and namecards. This workflow solves that problem by:
  Automatically identifying and routing different message types (text, images, namecards) to appropriate actions.
  Extracting structured data from namecards and saving it for follow-up tasks.
  Uploading images to OneDrive and saving text messages to Microsoft Teams or Microsoft To Do for easy access.
  Sending real-time feedback to users via LINE to confirm that their messages have been processed.

  What This Workflow Does
  Receive Messages via LINE Webhook:
  The workflow is triggered whenever a user sends a message (text, image, or other types) to the LINE bot.
  Display Loading Animation:
  A loading animation is displayed to reassure the user that their request is being processed.
  Route Input Types:

  The workflow uses a Switch node to determine the type of input:
  Text Starting with "T": Adds the message as a task in Microsoft To Do.
  Plain Text: Saves the message in Microsoft Teams under a designated channel (e.g., "Notes").
  Images: Identifies whether the image is a namecard, handwritten note, or other content, then processes accordingly.
  Unsupported formats trigger a polite response indicating the limitation.
  Process Namecards:

  *Images *
  If the image is identified as a namecard, the workflow extracts structured data (e.g., name, email, phone number) using OpenRouter.ai and saves it to Microsoft To Do for follow-up tasks.
  Save Images to OneDrive:

  Images are uploaded to OneDrive, renamed based on their unique message ID, and linked in Microsoft Teams for reference.

  Send Feedback via LINE:
  The workflow replies to the user with confirmation messages, such as "[ Task Created ]" or "[ Message Saved ]."

  Setup Guide
  Pre-Requisites
  Access to the LINE Developers Console to configure your webhook and bot.
  Accounts for Microsoft Teams , Microsoft To Do, and OneDrive with API access.
  An OpenRouter.ai account with credentials to access models like GPT-4o.
  Basic knowledge of APIs, webhooks, and JSON formatting.

  Step-by-Step Setup
  1) Configure the LINE Webhook:
  Go to the LINE Developers Console and set up a webhook to receive incoming messages.
  Copy the Webhook URL from the Line Webhook node and paste it into the LINE Console.
  Remove any "test" configurations when moving to production.
  2) Set Up Microsoft Integrations:
  Connect your Microsoft Teams, Microsoft To Do, and OneDrive accounts to the respective nodes in the workflow.
  3) Set Up OpenRouter.ai:
  Create an account on OpenRouter.ai and obtain your API credentials.
  Connect your credentials to the OpenRouter nodes in the workflow.

  Test the Workflow:
  Simulate sending text, images, and namecards to the LINE bot to verify that all actions are processed correctly.

  How to Customize This Workflow to Your Needs
  Add More Actions: Extend the workflow to handle additional input types or integrate with other tools.
  Enhance Image Processing: Use advanced OCR tools to improve text extraction from complex images.
  Customize Feedback Messages: Modify the reply format to include emojis, links, or other formatting options.
  Expand Use Cases: Adapt the workflow for specific industries, such as sales or customer support, by tailoring the actions to relevant tasks.

  Why Use This Template?
  Versatile Automation: Handles multiple input types (text, images, namecards) with ease.
  Seamless Integration: Connects LINE messages to popular productivity tools like Microsoft Teams and To Do.
  Structured Data Extraction: Extracts and organizes data from namecards, saving time and effort.
  Real-Time Feedback: Keeps users informed about the status of their requests with instant notifications.

nodes_used:
  ["n8n-nodes-base.webhook","n8n-nodes-base.httpRequest","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.switch","n8n-nodes-base.stickyNote","n8n-nodes-base.httpRequest","n8n-nodes-base.stickyNote","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","@n8n/n8n-nodes-langchain.lmChatOpenRouter","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.microsoftTeams","n8n-nodes-base.microsoftToDo","n8n-nodes-base.httpRequest","n8n-nodes-base.if","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.microsoftTeams","@n8n/n8n-nodes-langchain.lmChatOpenRouter","n8n-nodes-base.microsoftOneDrive","n8n-nodes-base.microsoftOneDrive","n8n-nodes-base.httpRequest","n8n-nodes-base.microsoftToDo","n8n-nodes-base.httpRequest","@n8n/n8n-nodes-langchain.lmChatOpenRouter","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.outputParserStructured","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.httpRequest","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.httpRequest","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 7876 characters]

metadata_json:
  {"categories":["integration","automation","data processing","productivity","communication"],"complexity":"complex","use_cases":["Save incoming LINE messages as notes in Microsoft Teams","Create tasks in Microsoft To Do from LINE messages","Extract structured contact info from namecards (OCR + GPT)","Upload and organize images to OneDrive","Provide real-time confirmations to LINE users"],"estimated_setup_minutes":45,"required_services":["LINE Developers (webhook/bot)","Microsoft Teams","Microsoft To Do","Microsoft OneDrive","OpenRouter.ai (GPT models)","n8n instance"],"key_features":["Routes messages by type (text, image, namecard)","Creates Microsoft To Do tasks from messages starting with T","Saves plain text messages to a Teams channel","Uses OpenRouter.ai to extract structured namecard data","Uploads and renames images to OneDrive and links them in Teams reply messages to LINE users with confirmations and loading animation"],"target_audience":["Professionals","Teams","Developers building chat automations and integrations','Business owners managing customer interactions"]}


name: Slack AI Chatbot for business team with RAG, Claude 3.7 Sonnet and Google Drive
author_name: Davide
author_username: n3witalia
categories: []
created_at: 2025-04-03T07:33:30.762Z
updated_at: 2025-04-03T07:33:30.762Z
url: https://n8n.io/workflows/3414
scraped_at: 2025-09-14 19:11:00
metadata_generated_at: 2025-09-14 21:18:31
description:
  Imagine having an AI chatbot on Slack that seamlessly integrates with your company’s workflow, automating repetitive requests. No more digging through emails or documents to find answers about IT requests, company policies, or vacation days—just ask the bot, and it will instantly provide the right information.  

  With its 24/7 availability, the chatbot ensures that team members get immediate support without waiting for a colleague to be online, making assistance faster and more efficient.  

  Moreover, this AI-powered bot serves as a central hub for internal communication, allowing everyone to quickly access procedures, documents, and company knowledge without searching manually. A simple Slack message is all it takes to get the information you need, enhancing productivity and collaboration across teams.

  How It Works  
  Slack Trigger: The workflow starts when a user mentions the AI bot in a Slack channel. The trigger captures the message and forwards it to the AI Agent.  
  AI Agent Processing:  
     The AI Agent, powered by Anthropic's Claude 3.7 Sonnet model, processes the query.  
     It uses Retrieval-Augmented Generation (RAG) to fetch relevant information from the company’s internal knowledge base stored in Qdrant (a vector database).  
     A Simple Memory buffer retains recent conversation context (last 10 messages) for continuity.  
  Knowledge Retrieval:  
     The RAG tool searches Qdrant’s vector store using OpenAI embeddings to find the most relevant document chunks (top 10 matches).  
  Response Generation:  
     The AI synthesizes the retrieved data into a concise, structured response (1-2 sentences for the answer, 2-3 supporting details, and a source citation).  
     The response is formatted in Slack-friendly markdown (bullet points, blockquotes) and sent back to the user.  

  Set Up Steps  
  Prepare Qdrant Vector Database:  
     Create a Qdrant collection via HTTP request (Create collection node).  
     Optionally, refresh/clear the collection (Refresh collection node) before adding new documents.  
  Load Company Documents:  
     Fetch files from a Google Drive folder (Get folder → Download Files).  
     Process documents: Split text into chunks (Token Splitter) and generate embeddings (Embeddings OpenAI2).  
     Store embeddings in Qdrant (Qdrant Vector Store1).  
  Configure Slack Bot:  
     Create a Slack bot via Slack API with required permissions
     Add the bot to the desired Slack channel and note the channelId for the workflow.  
  Deploy AI Components:  
     Connect the AI Agent to Anthropic’s model, RAG tool, and memory buffer.  
     Ensure OpenAI embeddings are configured for both RAG and document processing.  
  Test & Activate:  
     Use the manual trigger (When clicking ‘Test workflow’) to validate document ingestion.  
     Activate the workflow to enable real-time Slack interactions.  

  Need help customizing?  
  Contact me for consulting and support or add me on Linkedin.

nodes_used:
  ["@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.memoryBufferWindow","@n8n/n8n-nodes-langchain.embeddingsOpenAi","@n8n/n8n-nodes-langchain.vectorStoreQdrant","@n8n/n8n-nodes-langchain.toolCalculator","n8n-nodes-base.slackTrigger","n8n-nodes-base.slack","n8n-nodes-base.manualTrigger","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.googleDrive","n8n-nodes-base.googleDrive","@n8n/n8n-nodes-langchain.documentDefaultDataLoader","@n8n/n8n-nodes-langchain.textSplitterTokenSplitter","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.vectorStoreQdrant","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.embeddingsOpenAi","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.lmChatAnthropic"]

workflow_json_compressed:
  [encoded data, 5700 characters]

metadata_json:
  {"categories":["automation","integration","knowledge-management","chatbot","RAG"],"complexity":"complex","use_cases":["Internal knowledge retrieval (policies, procedures, FAQs)","Automating IT support and common requests","HR queries (vacation, benefits, onboarding)","Document search and citation from Google Drive","24/7 team assistance and workflow automation"],"estimated_setup_minutes":120,"required_services":["Slack (bot + channel)","Anthropic Claude 3.7 Sonnet (AI Agent)","Qdrant (vector database)","OpenAI embeddings (or equivalent embeddings provider)","Google Drive (company documents)","n8n platform / HTTP endpoints for collection management"],"key_features":["Slack trigger for mentions and messages","Retrieval-Augmented Generation (RAG) against Qdrant vector store","Document ingestion pipeline: fetch from Google Drive → split → embed → store","Claude 3.7 Sonnet as the response generator","Simple memory buffer (last 10 messages) for conversational continuity​','Top-N retrieval (top 10) and concise synthesized answers with 1–2 sentence answer, supporting details and source citations' , "],"target_audience":["Developers/engineers implementing internal bots","IT/support teams automating common requests","HR and People Ops for policy access and onboarding support」「Knowledge managers and documentation owners"]}


name: Abandoned cart recovery for Shopify via Gmail, Google Sheets & Twilio (no-code)
author_name: Velebit from Innovatio
author_username: innovatio
categories: []
created_at: 2025-04-03T10:30:12.179Z
updated_at: 2025-04-03T10:30:12.179Z
url: https://n8n.io/workflows/3415
scraped_at: 2025-09-14 19:11:02
metadata_generated_at: 2025-09-14 21:18:32
description:
  Who is this for?

  This template is ideal for solo store owners, eCommerce marketers, automation beginners, or anyone using Shopify and Gmail who wants to recover lost revenue without coding.

  What problem does this solve?

  Customers often leave items in their cart without completing the purchase. Manually chasing those sales is inefficient and inconsistent. This workflow automates the recovery process by sending emails (and optionally SMS) based on Shopify checkout activity.

  What this workflow does:

  ✅ Detects when a Shopify checkout is created but not completed,
  ⏳ Waits 1 hour, then checks if the cart was abandoned,
  🧾 Pulls cart contents and applies a fallback discount,
  📧 Sends a recovery email via Gmail,
  🕓 After 24 hours, you can optionally send an SMS or WhatsApp reminder via Twilio,
  📊 Logs each interaction to Google Sheets for tracking.

  Setup:

  Create Shopify, Gmail, Google Sheets, and Twilio credentials in your n8n instance,
  Import the JSON workflow file
  Replace the Shopify trigger with your store's webhook (set to “Checkout Create”),
  Set your wait time (default: 1 hour),
  Link your Gmail account and customize the email message,
  (Optional) Link Twilio to add a multi-channel reminder,
  Update the Google Sheets node with your own Sheet ID and headers.

  🗒 Color-coded workflow notes:

  To make customization easier, this template includes a visual sticky note system inside the n8n canvas.

  You’ll find:

  🟩 Green Notes → Main Steps  
    Clear, essential stages of the automation (e.g. wait, check cart status, send email),

  🟦 Blue Notes → Personalization Tips  
    Small tweaks you can make to match your tone, store brand, or logic (e.g. email copy, discount logic),

  🟨 Yellow Notes → Optional / Advanced  
    Features that you can explore setting up:  
    Twilio SMS, Airtable logging, human approval steps, etc.

  👉 Look around each key node for quick tips, setup instructions, and TO-DO items.

  This system helps you understand and modify the workflow at a glance — whether you're a beginner or scaling a pro setup.

  How to customize this workflow?

  🎯 Swap Shopify for WooCommerce or Stripe by replacing the trigger and cart-check logic,
  💬 Localize and personalize each email message or add multilingual support via AI,
  📈 Upgrade logging from Google Sheets to Airtable for CRM-style features,
  🤝 Add manual approval steps for high-value discounts,
  💡 Want a one-time unique code per user? Let us build that logic for you → velebit@innovatio.design

  Final notes

  This template was designed by Velebit from Innovatio. External links in the workflow (e.g. support or upgrade options) are optional and purely informative, while only leading to the official company webiste with no affiliate or similar links included in the template itself.

  A separate license applies to the paid version on Gumroad, which includes additional modules and commercial use rights.

nodes_used:
  ["n8n-nodes-base.httpRequest","n8n-nodes-base.gmail","n8n-nodes-base.wait","n8n-nodes-base.twilio","n8n-nodes-base.googleSheets","n8n-nodes-base.shopifyTrigger","n8n-nodes-base.httpRequest","n8n-nodes-base.if","n8n-nodes-base.googleSheets","n8n-nodes-base.set","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.webhook","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.airtable","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.set","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.wait","n8n-nodes-base.wait","n8n-nodes-base.splitInBatches","n8n-nodes-base.httpRequest","n8n-nodes-base.noOp","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  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

metadata_json:
  {"categories":["automation","e-commerce","marketing","notifications","data-logging"],"complexity":"medium","use_cases":["Recover abandoned Shopify carts","Automated email recovery sequences","Optional SMS/WhatsApp reminders","Track recovery attempts in Google Sheets","Apply fallback discounts to encourage conversions"],"estimated_setup_minutes":30,"required_services":["n8n instance","Shopify (Checkout Create webhook)","Gmail","Google Sheets","Twilio (SMS/WhatsApp)"],"key_features":["Detects created but uncompleted Shopify checkouts","Configurable wait/check logic (default 1 hour)","Pulls cart contents and applies fallback discount","Sends recovery emails via Gmail","Optional 24‑hour SMS/WhatsApp reminder via Twilio','Logs each interaction to Google Sheets for tracking','Visual sticky-note guidance inside the workflow for easier customization'"],"target_audience":["Solo store owners","eCommerce marketers","Automation beginners/no-code users」「Small businesses using Shopify"]}


name: Generate AI YouTube Shorts with Flux, Runway, Eleven Labs and Creatomate
author_name: Joseph
author_username: mjomba
categories: []
created_at: 2025-04-03T10:42:08.131Z
updated_at: 2025-04-03T10:42:08.131Z
url: https://n8n.io/workflows/3416
scraped_at: 2025-09-14 19:11:02
metadata_generated_at: 2025-09-14 21:18:31
description:
  Automated Video Creation Workflow Using n8n  

  This workflow automates the creation and publishing of animated videos based on ideas listed in a Google Sheet. It processes one idea at a time, generating text prompts, images, animations, sound effects, and merging them into a final video before uploading it to YouTube.  

  Table of Contents  
  Pre-conditions and Requirements  
  Google Sheets Setup  
  Step-by-Step Workflow Explanation  
  Customization Guide  

  Pre-conditions and Requirements  

  1. API Keys Required  
  To run this workflow, you'll need API access to the following services:  
  Anthropic Claude or Google Gemini** (for text prompt generation)  
  Flux AI** (RapidAPI) (for AI-generated images)  
  RunwayML** (API Documentation) (for AI video animation)  
  ElevenLabs** (for AI-generated voiceovers and sound effects)  
  Creatomate** (Website) (for video/audio merging and rendering)  
  YouTube API** (for video upload and posting)  

  2. n8n Instance Setup  
  Use cloud (n8n.io) or Install and run n8n (Official Guide)  
  Set up credentials for each API in n8n’s settings  

  Google Sheets Setup  

  Before running the workflow, ensure your Google Sheet is structured as follows:  

  | Column Name  | Description  |  
  |------------------|----------------|  
  | title         | Video title (e.g., "Elijah's Fiery Chariot") |  
  | bibleverse    | Corresponding Bible verse reference |  
  | idea         | Brief description of the scene |  
  | style        | Animation style (e.g., cinematic, vibrant, etc.) |  
  | caption      | Suggested caption for social media |  
  | videoStatus  | Status of video creation (To Do, Created) |  
  | publishStatus| Publishing status (Not Processed, Processed) |  

  Step-by-Step Workflow Explanation  

  1. Extract an Idea from Google Sheets  
  The workflow retrieves the first row where videoStatus = "To Do".  
  Marks it as Processing to avoid duplicate processing.  

  2. Generate a Prompt for AI Image Creation and Sound Effects/Audio  
  Uses Anthropic Claude or Google Gemini to generate prompts.  

  3. Generate an AI Image with Flux AI  
  Sends the prompt to Flux AI to create a high-quality image.  

  4. Animate the Image Using RunwayML  
  The generated image is sent to RunwayML, which animates the image.  

  5. Generate Sound Effects and Voiceover with ElevenLabs  
  ElevenLabs produces a realistic narration based on the video content.  
  Background sound effects (e.g., storm sounds, fire crackling) are also generated.  

  6. Merge Video and Audio Using Creatomate  
  Creatomate** compiles the animated video with the audio.  

  7. Upload and Publish to YouTube  
  The finalized video is automatically uploaded to YouTube using the YouTube API.  

  8. Update Google Sheet Status  
  Marks videoStatus as Created.  
  Marks publishStatus as Processed.  

  Customization Guide  

  Modifying the Animation Style  
  Update the style column in Google Sheets with custom animation preferences (e.g., cinematic, slow-motion).  
  Modify the prompt generation step in n8n to incorporate different styles.  

  Changing the Video Length  
  Adjust the RunwayML settings to control animation speed and length.  
  Modify the Creatomate rendering step to adjust clip duration.  

  Adding Subtitles  
  Modify the Creatomate step to include AI-generated subtitles from ElevenLabs' text output.  

  Publishing to Other Platforms  
  Add additional steps to post to TikTok, Instagram, or Facebook using their respective APIs.  

  This workflow ensures a fully automated video creation pipeline, reducing manual effort and optimizing content production. 🚀

nodes_used:
  ["n8n-nodes-base.manualTrigger","n8n-nodes-base.googleSheets","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.code","n8n-nodes-base.set","n8n-nodes-base.httpRequest","n8n-nodes-base.limit","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","n8n-nodes-base.set","n8n-nodes-base.httpRequest","n8n-nodes-base.googleDrive","n8n-nodes-base.merge","n8n-nodes-base.wait","n8n-nodes-base.httpRequest","n8n-nodes-base.googleSheets","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.stickyNote","n8n-nodes-base.googleDrive","n8n-nodes-base.set","n8n-nodes-base.wait","n8n-nodes-base.wait","n8n-nodes-base.httpRequest","@n8n/n8n-nodes-langchain.lmChatAnthropic","n8n-nodes-base.youTube","n8n-nodes-base.googleSheets","n8n-nodes-base.httpRequest","@n8n/n8n-nodes-langchain.agent"]

workflow_json_compressed:
  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

metadata_json:
  {"categories":["automation","content creation","video production","AI/ML integration","integration"],"complexity":"complex","use_cases":["Automated generation and publishing of YouTube Shorts","Turning short ideas/notes into animated videos","Batch or single-item content pipeline for social platforms","Creating AI voiceovers and sound effects for short videos","Rapid prototyping of animated social clips"],"estimated_setup_minutes":120,"required_services":["n8n (cloud or self-hosted)","Google Sheets API","Google Drive API","Anthropic Claude or Google Gemini (text prompt generation)","Flux AI (via RapidAPI) (image generation)","RunwayML (image animation/video generation)","ElevenLabs (voiceover and sound FX)","Creatomate (video/audio merging and rendering)","YouTube Data API (video upload/publish)"],"key_features":["Reads one idea at a time from Google Sheets and marks status to avoid duplication","Generates text prompts for images and audio using large language models","Creates high-quality AI images (Flux) and animates them (Runway)","Produces realistic narration and sound effects via ElevenLabs","Merges animated video and audio into a final render with Creatomate and uploads to YouTube automatically"],"target_audience":["Content creators and YouTubers","Social media managers and marketers","Automation engineers and developers building media pipelines"]}


name: Extract and Clean YouTube Video Transcripts with RapidAPI
author_name: Joseph
author_username: mjomba
categories: []
created_at: 2025-04-03T11:10:47.958Z
updated_at: 2025-04-03T11:10:47.958Z
url: https://n8n.io/workflows/3417
scraped_at: 2025-09-14 19:11:01
metadata_generated_at: 2025-09-14 21:18:32
description:
  Here is your refined template description with detailed step-by-step instructions, markdown formatting, and customization guidance.  

  YouTube Transcript Extraction Workflow  

  This n8n workflow extracts and processes transcripts from YouTube videos using the YouTube Transcript API on RapidAPI. It allows users to retrieve subtitles from YouTube videos, clean them up, and return structured transcript data for further processing.  

  Table of Contents  
  Problem Statement & Target Audience  
  Pre-conditions & API Requirements  
  Step-by-Step Workflow Explanation  
  Customization Guide  
  How to Set Up This Workflow  

  Problem Statement & Target Audience  

  Who is this for?  
  This workflow is ideal for content creators, researchers, and developers who need to:  
  Extract subtitles from YouTube videos automatically.  
  Format and clean** transcript data for readability.  
  Use transcripts for summarization, content repurposing, or language analysis.  

  Pre-conditions & API Requirements  

  API Required  
  YouTube Transcript API** (RapidAPI)  

  n8n Setup Prerequisites  
  A running n8n instance (Installation Guide)  
  A RapidAPI account to access the YouTube Transcript API  
  An API key from RapidAPI to authenticate requests  

  Step-by-Step Workflow Explanation  

  1. Input YouTube Video URL (Trigger)  
  This step provides a simple input form where users enter a YouTube video URL.  

  2. HTTP Request Node (Retrieve Transcript Data)  
  Makes a POST request to the YouTube Transcript API via RapidAPI.  
  Passes the video URL received from the input form.  
  Uses an environment variable to store the API key securely.  

  3. Function Node (Process Transcript)  
  Receives* the API response containing the *raw transcript**.  
  Processes and cleans** the transcript:  
    Removes unwanted characters.  
    Formats text for readability.  
  Handles errors** when no transcript is available.  
  Outputs* both the *raw and cleaned transcript** for further use.  

  4. Set Field Node (Response Formatting)  
  Structures** the processed transcript data into a user-friendly format.  
  Returns** the final transcript data to the client.  

  Customization Guide  

  1. Modify Transcript Cleaning Rules  
  Update the Function Node to apply custom text processing, such as:  
    Removing timestamps.  
    Changing the output format (e.g., JSON, plain text).  

  2. Store Transcripts in a Database  
  Add a Database Node (e.g., MySQL, PostgreSQL, or Firebase) to save transcripts.  

  3. Generate Summaries from Transcripts  
  Integrate AI services (e.g., OpenAI, Google Gemini) to summarize transcripts.  

  4. Convert Transcripts into Speech  
  Use ElevenLabs API to generate an AI-powered voiceover from transcripts.  

  How to Set Up This Workflow  

  Step 1: Import the Workflow into n8n  
  Download or copy the workflow JSON file.  
  Import it into your n8n instance.  

  Step 2: Set Up the API Key  
  Sign up for the YouTube Transcript API.  
  Subscribe to the api.  
  Copy and paste your api key where the "your_api_key" is.

  Step 3: Activate the Workflow  
  Start the workflow in n8n.  
  Enter a YouTube video URL in the input form.  
  The workflow will return a cleaned transcript.  

  This workflow ensures seamless YouTube transcript extraction and processing with minimal manual effort. 🚀

nodes_used:
  ["n8n-nodes-base.formTrigger","n8n-nodes-base.set","n8n-nodes-base.function","n8n-nodes-base.httpRequest"]

workflow_json_compressed:
  H4sIAAAAAAAAE5VWbW/bNhD+KyxR1DEq2pIly7IDr+iyFg1QLF2RBGvjoKDIk61GplSSystc/feBlBS/Nsv8xSJ599zdwzverXDK8QT/fX+zZPOvJ8GZPj27zP/ADl6CpniywqlQmgoGp0Yu9lkQjngSuEOfe34CvsfYOEp8FoYJ9bgX+q4b09HQHbphnHDXG1N37PkM2MgD6uPKwYIuAU/wl7zUZQzoMuWQo3NJhWIyLTR6d68lZTrNBXawpnOFJ1fXDhY5B/O5qj0OoxBCf0xJOHQ5CSKXk3EUjYjnxTzwAjfxEsC7xqyti88fDfBDYQ5EJIhFJjFV0EtyuTyX6XwOEju4yFVq/ZhckYHruNcOvoN4kec3lgxvGFI3YBEZeyNOgnAQEBqEQKIkZjSOxtwLY4NCJV2CBqkMnXlhEM1n5WBrLtXZr/mIrSNG7n0KGbcQtzQrGyoSs/mRxpDtIVzIDDtYwo8ylcCtNp5oWUJ1XVV1/JcglQ1v0BtUTkPs0I8CFgAndDQISTAY+iSiUUR44PneIEgiN94glmVABfD19f2SWgV6m9JRUFP6BD9UqXQuliC0PdtatokwCoc+jYZjMhyGnATguiSmCSVhMnKTscvB5aO1v/qAo0rLVMyxUxOLJ3i6WqGX31UuenvhoarCBwj0e8EjgZEfh8NwlBA29j0SDMaMRHzEiBsPhsE4GriMemuHCpkzUOoZBCalaKtig8Whe4jFVvYk5wap32+rClHBUWMT6QWgNSEzwXKhNOJUUzRFL1NRlLqXpFLpo27P0HE8EzORJujohZHprVXRq1eo2YN73UWrmUBIgi6lqL8RMvqTdoGQKplxYYISmilw2u0lKEXnMEGdP/MN1xC9pWlG4wxQkkukF6lCtybLO4+adnkhs8khx3txzh/e9FoZ9PMn6lyIG5HfiU4NUJm/6ngmKhNjv48+HeQImfhmIgO9sXkO9xpNUadz3Oh+oIJngHiaJCBBaPT20ymSoIpcKBvBkmpVM7lDZENdv4/eWykbLpWSPqA82fRDwdzWgZE2OG+NTC9V9n8PtdsSv3Ng3rt3lC2OGjg0/W19RQa22d+81vq3E/3rKdoURa9RBxk6auGq4bhrdyoEmQILbxI9T3a9QtPpFHXqquw8Wt3je0erxp6JDfjdjNymVaVinm1dbh5/B6bRXaoX9qJNoRQg9YNR/oV9uNcbWXNi3gtUFrtpcyRhmd8CAlOFSBWUgXKQMM5k6T+AClOvJTUl223rcP/tme44YdzqSSgyyuCoP5up1/25Y5jv7p0cXfWcF2+uu1bgpddIaJkuj7o2bTerdatWHyvV9I6m3P53sb2X+XLD+bZsJb1bhzdZM2p0dq630dgjpdnnpbTsNSDtsjnNk0RBa6BeNCcZFfPSvjj2zCzbPDrGu6+89/jGM4gTN+EjEsahaZLRiMTAgSQ0Hvpu6MXAB+s3Huq39xlv/ELr4jP8KEHtNMvBwWZZStP3jZKa9PsPdf8na9L8XtGTtEg5LdIey5d9WqT9rRa41W4VCP57zh/qOaFe/1WC3Nr4AJRb8/WWuexPW05tuni1ajko7Tiy12GvOntTS+e6abIO/mGMPwfdJtsp37DwlbLvZ5eX8/zjlxprYf1+Dtg9aTkji9xeRAv63wxjkyL7ODfwsAEzM0DyGy3SbzfwMMObSie50CA0OTf5sVahRZGlzOZ03/B2cAiprh1sJudbwJO6r2IFWqdibqOFe2ClQTiTHKRhzTMpflvr25HWjYLYdcOY+GEyJkFIRySibkxG4TD0BmE8GDNDMsuFANZmzt50PVnhJU1N2hpS6xHkiRqwsg5OBYd7PHGra3Nd+/KHUJ+Yng6i7ssfQn1iqD2AWlX/Aq0zgaNFDQAA

metadata_json:
  {"categories":["automation","integration","data processing"],"complexity":"simple","use_cases":["Automatically extract YouTube subtitles/transcripts","Clean and format transcripts for readability","Prepare transcripts for summarization or content repurposing","Support language analysis or NLP workflows","Save transcripts to a database or trigger downstream processing"],"estimated_setup_minutes":15,"required_services":["YouTube Transcript API (via RapidAPI)","RapidAPI account and API key","n8n instance"],"key_features":["Retrieve subtitles from YouTube videos via RapidAPI","Clean and normalize raw transcript text (remove timestamps/unwanted characters)","Error handling when transcripts are unavailable","Return structured raw and cleaned transcript outputs","Use environment variables for secure API key handling','Simple form trigger for inputting video URL"],"target_audience":["Content creators","Researchers","Developers integrating video text workflows','Data analysts and NLP practitioners"]}


name: 🌲 AI Agent for Sustainability Report Audit with Gmail and GPT-40
author_name: Samir Saci
author_username: samirsaci
categories: []
created_at: 2025-04-03T13:25:00.897Z
updated_at: 2025-04-03T13:25:00.897Z
url: https://n8n.io/workflows/3420
scraped_at: 2025-09-14 19:11:02
metadata_generated_at: 2025-09-14 21:18:32
description:
  Tags: Sustainability, CSRD, Reporting, ESG, Compliance, Automation

  Context  
  Hey! I'm Samir, a Supply Chain Engineer and Data Scientist from Paris, founder of  
  LogiGreen Consulting  

  We help companies automate sustainability workflows using AI, Data Analytics, and No-Code tools like N8N.  

  &gt; Sustainability Reporting meets Automation with n8n!

  📬 For business inquiries, you can add me on Here

  What is a CSRD XHTML Report?  
  Under the Corporate Sustainability Reporting Directive (CSRD), companies must publish their ESG disclosures in a machine-readable XHTML format, embedding XBRL tags that make the report structured and standardized.  



  These files must follow strict formatting and tagging rules to ensure compliance, traceability, and accessibility for both regulators and analysts.

  Who is this template for?  
  This workflow is designed for sustainability teams, ESG consultants, or developers who want to automatically check the structure and format of CSRD reports submitted in XHTML.

  How does it work?  
  This N8N workflow automates the audit process:  
  📤 Input Node → Uploads or fetches the XHTML file via URL or Webhook.  
  🧪 Validates Structure → Uses a custom code node to parse HTML and identify required tags (e.g., &lt;ix:nonNumeric&gt;, namespaces).  
  📋 Outputs a Report → Returns a summary report of errors, warnings, and key metadata (like entity name, reporting period).  
  📤 Export Option → Save the results in Google Sheets or send via email.

  Prerequisite  
  A sample XHTML file that you can find in my GitHub Repository
  Google Sheets API* and *OpenAI API** credentials

  Next Steps  
  Follow the sticky notes inside each node to adjust parsing rules or extend validation to specific XBRL tags relevant to your sector (e.g., GHG emissions, water usage).

  *📺 Check my complete tutorial to understand how to use it: *  
    
  🎥 Check My Tutorial

  🚀 Interested in combining CSRD compliance with automation and analytics? Let’s connect on LinkedIn

  Notes  
  This workflow includes an example XHTML file to test the validator.  
  You can plug this into your internal systems or even extend it with AI to auto-summarize the sustainability report.

  This workflow has been created with N8N 1.82.1  
  Submitted: April 3rd, 2025

nodes_used:
  ["n8n-nodes-base.if","n8n-nodes-base.code","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.outputParserStructured","n8n-nodes-base.gmail","n8n-nodes-base.code","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.extractFromFile","n8n-nodes-base.gmailTrigger","n8n-nodes-base.gmail","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 4196 characters]

metadata_json:
  {"categories":["automation","compliance","data processing","integration","audit"],"complexity":"medium","use_cases":["Validate CSRD XHTML reports for required tags and namespaces","Automate ESG/CSRD compliance checks and generate error/warning summaries","Extract report metadata (entity name, reporting period) from XHTML","Export results to Google Sheets or send audit summaries via email","Augment reports with AI-generated summaries or insights"],"estimated_setup_minutes":30,"required_services":["n8n","Google Sheets API","OpenAI API (GPT-4o / GPT-40)","Gmail (or SMTP) for email delivery","GitHub (optional) for sample XHTML"],"key_features":["Parses XHTML and checks for XBRL/CSRD tags and namespaces","Custom code node for structural validation and rule customization","Generates structured audit report with errors, warnings, and metadata","Exports results to Google Sheets and/or sends email notifications","Optional AI summarization of report contents via OpenAI agent"],"target_audience":["sustainability teams","ESG consultants","data engineers / developers implementing compliance automation"]}


name: Load and Aggregate Files from a Google Drive Folder into a Key-Value Dictionary
author_name: Hugues Stock
author_username: hpstock
categories: []
created_at: 2025-04-03T13:25:13.731Z
updated_at: 2025-04-03T13:25:13.731Z
url: https://n8n.io/workflows/3421
scraped_at: 2025-09-14 19:11:02
metadata_generated_at: 2025-09-14 21:18:32
description:
  What does this template do?

  This workflow automates the process of retrieving all Google Docs from a specified Google Drive folder, extracting their content, and structuring the data into a unified key-value dictionary, where:
  Key = The file name
  Value = The content of the document (with normalized newlines)

  This is ideal for use cases such as knowledge ingestion, prompt context preparation, or populating a RAG (Retrieval-Augmented Generation) system with reference documents.

  Use Case

  Perfect for teams or individuals who maintain prompts, content, or reference material in Google Docs and want to integrate that data dynamically into automation or AI workflows.

  What the Workflow Does

  ⚡ Triggered via Execute Workflow Trigger from another workflow
  📁 Retrieves all files from a specified Google Drive folder
  📄 Downloads the full content of each Google Docs file
  🧩 Maps each file name to its content using a Set node
  🧠 Aggregates all entries into a single dictionary with Code node
  🧾 Outputs a JSON object like:
  {
    "Doc1": "content of doc 1",
    "Doc2": "content of doc 2"
  }

  Apps & Services Used
  Google Drive
  Google Docs
  n8n Code node

  Pre-requisites
  A connected Google account with access to the target Drive folder
  OAuth2 credentials for both:
  Google Drive
  Google Docs

  Customization Tips
  Change Folder: Update the Google Drive node to select a specific folder rather than root
  Support Other File Types: Replace or complement the Google Docs node to handle other formats (e.g., PDFs or text files)
  Data Cleaning: Modify the Code node to adjust text normalization to your needs

  Additional Use Cases

  🧠 Prompt Management for AI Workflows
  Centralize your GPT prompt templates in Google Docs instead of hardcoding them in n8n
  Easily manage prompt versions and edits directly from Google Drive
  Dynamically load prompts into downstream nodes (like OpenAI or Hugging Face) without redeploying workflows

  📚 Knowledge Base Loader for RAG Systems
  Aggregate internal knowledge, FAQs, SOPs, or policy docs from Google Docs into a structured dictionary
  Use the resulting object as the context source for Retrieval-Augmented Generation models

  🎛️ Dynamic Form Inputs or Question Sets
  Maintain forms, surveys, or interview questions in Google Docs
  Load the content into n8n for form generation, chatbot interaction, or customer intake flows

  📄 Client-Specific Config or Script Templates
  For client onboarding workflows, load client-specific scripts or prompts from individual docs named after each client
  Helps automate client-facing document generation or AI interactions

  📋 Content Ingestion for Translation, Summarization, or Sentiment Analysis
  Batch process internal documentation or user-submitted Google Docs
  Trigger summarization, translation, or classification pipelines using the document contents

  🔄 Document-to-Database Import
  Automatically fetch and normalize Google Docs contents, ready to push into a database (e.g., Notion, Airtable, PostgreSQL)

nodes_used:
  ["n8n-nodes-base.executeWorkflowTrigger","n8n-nodes-base.code","n8n-nodes-base.stickyNote","n8n-nodes-base.googleDrive","n8n-nodes-base.googleDocs","n8n-nodes-base.stickyNote","n8n-nodes-base.set","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  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

metadata_json:
  {"categories":["automation","integration","data processing","knowledge management"],"complexity":"medium","use_cases":["Knowledge ingestion for RAG systems","Prompt management for AI workflows","Populating dynamic form/question sets","Client-specific config or script template loading","Content ingestion for translation/summarization/classification pipelines"],"estimated_setup_minutes":15,"required_services":["Google Drive (OAuth2)","Google Docs (OAuth2)"],"key_features":["Retrieve all Google Docs from a specified Drive folder","Download and extract full document content","Normalize newlines and clean text","Map file names to content (key-value pairs) using Set node","Aggregate entries into a single JSON dictionary with Code node (filename => content)"],"target_audience":["automation engineers","developers","ML/AI practitioners building RAG or prompt workflows\",\"product/ops teams managing content in Google Docs"]}


name: Get Live Crypto Market Data with AI-Powered CoinMarketCap Agent
author_name: Don Jayamaha Jr
author_username: don-the-gem-dealer
categories: []
created_at: 2025-04-03T13:26:21.792Z
updated_at: 2025-04-03T13:26:21.792Z
url: https://n8n.io/workflows/3422
scraped_at: 2025-09-14 19:11:00
metadata_generated_at: 2025-09-14 21:18:31
description:
  Access real-time cryptocurrency prices, market rankings, metadata, and global stats—powered by GPT-4o and CoinMarketCap!  
  This modular AI-powered agent is part of a broader CoinMarketCap multi-agent system designed for crypto analysts, traders, and developers. It uses the CoinMarketCap API and intelligently routes queries to the correct tool using AI.

  This agent can be used standalone or triggered by a supervisor AI agent for multi-agent orchestration.

  Supported API Tools (6 Total)  
  This agent intelligently selects from the following tools to answer your crypto-related questions:

  🔍 Tool Summary  
  Crypto Map – Lookup CoinMarketCap IDs and active coins  
  Crypto Info – Get metadata, whitepapers, and social links  
  Crypto Listings – Ranked coins by market cap  
  CoinMarketCap Price – Live prices, volume, and supply  
  Global Metrics – Total market cap, BTC dominance  
  Price Conversion – Convert between crypto and fiat

  What You Can Do with This Agent  
  🔹 Get live prices and volume for tokens (e.g., BTC, ETH, SOL)  
  🔹 Convert crypto → fiat or fiat → crypto instantly  
  🔹 Retrieve whitepapers, logos, and website links for any token  
  🔹 Analyze total market cap, BTC dominance, and circulating supply  
  🔹 Discover new tokens and track their CoinMarketCap IDs  
  🔹 View the top 100 coins ranked by market cap or volume  

  Example Queries  
  ✅ "What is the CoinMarketCap ID for PEPE?"  
  ✅ "Show me the top 10 cryptocurrencies by market cap."  
  ✅ "Convert 5 ETH to USD."  
  ✅ "What’s the 24h volume for ADA?"  
  ✅ "Get the global market cap and BTC dominance."  

  AI Architecture  
  AI Brain**: GPT-4o-mini  
  Memory**: Session buffer with sessionId  
  Agent Type**: Subworkflow AI tool  
  Connected APIs**: 6 CoinMarketCap endpoints  
  Trigger Mode**: Executes when called by a supervisor (via message and sessionId inputs)

  Setup Instructions  
  Get a CoinMarketCap API Key  
     Register here: https://coinmarketcap.com/api/  
  Configure Credentials in n8n  
     Use HTTP Header Auth with your API key for each connected endpoint  
  Connect This Agent to a Supervisor Workflow (Optional)  
     Trigger this agent using Execute Workflow with inputs message and sessionId  
  Test Prompts  
     Try asking: “Convert 1000 DOGE to BTC” or “Top 5 coins in EUR”

  Included Sticky Notes  

  Crypto Agent Guide – Agent overview, node map, and endpoint details  

  Usage Instructions – Step-by-step usage and sample prompts  

  Error Handling & Licensing – Troubleshooting and IP rights

  ✅ Final Notes  
  This agent is part of the CoinMarketCap AI Analyst System, which includes multiple specialized agents for cryptocurrencies, exchanges, community data, and DEX insights. Visit my Creator profile to find the full suite of tools.

  Get smarter about crypto—analyze the market in real time with AI and CoinMarketCap.  

nodes_used:
  ["n8n-nodes-base.executeWorkflowTrigger","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.memoryBufferWindow","@n8n/n8n-nodes-langchain.toolHttpRequest","@n8n/n8n-nodes-langchain.toolHttpRequest","@n8n/n8n-nodes-langchain.toolHttpRequest","@n8n/n8n-nodes-langchain.toolHttpRequest","@n8n/n8n-nodes-langchain.toolHttpRequest","@n8n/n8n-nodes-langchain.toolHttpRequest","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 5316 characters]

metadata_json:
  {"categories":["integration","data retrieval","AI agent","finance/crypto"],"complexity":"complex","use_cases":["Get live crypto prices and volumes","Convert between crypto and fiat","Retrieve token metadata (whitepapers, logos, links)","Analyze global market metrics (total cap, BTC dominance)","Discover and map CoinMarketCap IDs for tokens','Rank top coins by market cap or volume"],"estimated_setup_minutes":15,"required_services":["CoinMarketCap API","OpenAI (GPT-4o-mini) or compatible LLM","n8n automation platform (workflow execution)"],"key_features":["Intelligent tool routing across 6 CoinMarketCap endpoints","Real-time price and volume retrieval","Crypto↔fiat conversion tool","Token metadata and whitepaper lookup","Global metrics (market cap, dominance) reporting','Session buffer memory for context in queries"],"target_audience":["Crypto analysts","Traders","Developers building crypto integrations or bots','Data engineers/analysts','Quant researchers"]}


name: Get Exchange & Sentiment Insights with CoinMarketCap AI Agent
author_name: Don Jayamaha Jr
author_username: don-the-gem-dealer
categories: []
created_at: 2025-04-03T13:33:12.092Z
updated_at: 2025-04-03T13:33:12.092Z
url: https://n8n.io/workflows/3423
scraped_at: 2025-09-14 19:11:01
metadata_generated_at: 2025-09-14 21:18:32
description:
  Analyze exchange data, market indexes, and community sentiment from CoinMarketCap—powered by AI.  

  This sub-agent provides access to exchange listings, token holdings, metadata, and high-level metrics like the CMC 100 Index and the Fear & Greed Index. It’s designed for use within your larger CoinMarketCap AI Analyst system or as a standalone workflow.

  This agent can be triggered by a supervisor or manually used with message and sessionId inputs.

  Supported Tools (5 Total)

  🔍 Exchange Map  
  Get CoinMarketCap IDs, names, and slugs for exchanges (used as lookup before deeper queries).  

  🧾 Exchange Info  
  Metadata including launch date, social links, country, and operational status.  

  💰 Exchange Assets  
  Token balances, wallet addresses, and total USD value held by a specific exchange.

  📈 CoinMarketCap 100 Index  
  Constituents and weights of the CMC 100 Index, updated live.

  😱 Fear & Greed Index  
  Market sentiment score updated daily, ranging from Extreme Fear to Extreme Greed.

  What You Can Do with This Agent  
  🔹 Map exchanges to retrieve their ID and slug  
  🔹 Analyze exchange holdings by token and blockchain  
  🔹 Pull metadata for major CEXs like Binance or Coinbase  
  🔹 Compare global sentiment using the Fear & Greed Index  
  🔹 Access index data to understand CMC’s top 100 crypto asset breakdown

  Example Queries You Can Use  
  ✅ "What is the latest Fear and Greed Index reading?"  
  ✅ "Get a list of all exchanges on CoinMarketCap."  
  ✅ "What tokens are held by Binance?"  
  ✅ "Retrieve metadata for Coinbase."  
  ✅ "Show me the top assets in the CMC 100 Index."  

  Agent Architecture  
  AI Brain**: GPT-4o-mini  
  Memory**: Window buffer memory using sessionId  
  Tools**: 5 API-connected nodes  
  Trigger**: External input via message and sessionId  

  Setup Instructions  
  Get a CoinMarketCap API Key  
     Apply here: https://coinmarketcap.com/api/  
  Configure n8n Credentials  
     Use HTTP Header Auth to store your CoinMarketCap API key.  
  Optional: Trigger from a Supervisor  
     Connect to a parent agent using Execute Workflow with message and sessionId inputs.  
  Test Sample Prompts  
     “Get all exchanges”, “Fetch CMC index”, “Show Binance token holdings”

  Sticky Notes Included  

  Exchange & Community Guide – Explains agent purpose and component connections  

  Usage & Examples – Walkthrough for sample use cases  

  Error Handling & Licensing – Includes API error code reference and licensing details

  ✅ Final Notes  
  This agent is part of a broader CoinMarketCap AI Analyst System. Visit my Creator profile to download all available sub-agents and supervisor flows.

  Understand exchange behavior and community sentiment—automated with AI and CoinMarketCap.

nodes_used:
  ["n8n-nodes-base.executeWorkflowTrigger","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.memoryBufferWindow","@n8n/n8n-nodes-langchain.toolHttpRequest","@n8n/n8n-nodes-langchain.toolHttpRequest","@n8n/n8n-nodes-langchain.toolHttpRequest","@n8n/n8n-nodes-langchain.toolHttpRequest","@n8n/n8n-nodes-langchain.toolHttpRequest","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 5112 characters]

metadata_json:
  {"categories":["integration","data processing","analytics"],"complexity":"medium","use_cases":["Map and lookup exchanges (ID, name, slug)","Fetch exchange metadata and operational details","Analyze exchange token holdings and USD value","Retrieve constituents and weights of the CMC 100 Index","Monitor daily market sentiment using the Fear & Greed Index"],"estimated_setup_minutes":20,"required_services":["CoinMarketCap API","n8n (workflow runtime)","OpenAI (GPT-4o-mini or compatible LLM for AI Brain)"],"key_features":["Exchange Map lookup (IDs, slugs, names)","Exchange Info (launch date, social links, country, status)","Exchange Assets reporting (balances, wallets, USD value)","Live CMC 100 Index constituents and weights","Daily Fear & Greed sentiment score and classification range (Extreme Fear → Extreme Greed) 
  (note: updated daily via API data feed)"],"target_audience":["Developers building crypto integrations","Crypto analysts and researchers","Traders and portfolio analysts wanting exchange holdings and sentiment context"]}


name: Analyze DEX Liquidity, Trades & Spot Pairs with CoinMarketCap AI Agent
author_name: Don Jayamaha Jr
author_username: don-the-gem-dealer
categories: []
created_at: 2025-04-03T13:41:05.768Z
updated_at: 2025-04-03T13:41:05.768Z
url: https://n8n.io/workflows/3424
scraped_at: 2025-09-14 19:11:01
metadata_generated_at: 2025-09-14 21:18:32
description:
  Gain full visibility into decentralized exchanges using CoinMarketCap’s DEXScan API—powered by AI.  

  This workflow is part of the CoinMarketCap AI Analyst system and delivers real-time and historical insights on spot trading pairs, DEX liquidity, trading activity, and OHLCV data across chains like Ethereum, Polygon, Solana, and more.

  Use this workflow as a sub-agent triggered by a parent supervisor workflow, or run it manually with inputs sessionId and message.

  🔧 Supported Tools (8 Total)

  DEX Metadata → Static info (name, launch date, logo, URLs)  
  DEX Networks List → All supported DEX chains + network metadata  
  DEX Listings Quotes → Ranked list of DEXs with live trading volume, market share  
  DEX Pair Quotes (Latest) → Real-time liquidity, price, and buy/sell stats  
  DEX OHLCV Historical → Time-series data (daily/hourly/1m)  
  DEX OHLCV Latest → Today’s price, volume, open/close for pairs  
  DEX Trades Latest → Up to 100 recent trades for any DEX pair  
  DEX Spot Pairs Latest → Active token pairs across DEXs + filters (volume, liquidity, volatility)

  Agent Architecture  
  AI Model**: gpt-4o-mini  
  Context Memory**: Window buffer using sessionId  
  Trigger Input**: message, sessionId  
  Execution**: Via Execute Workflow or parent AI supervisor  
  Design**: Tool-based LangChain agent with CMC DEXScan endpoints  

  💡 Use Cases  
  🔹 Find top DEXs by 24h volume  
  🔹 Get spot pairs with highest liquidity on a specific network  
  🔹 Track historical OHLCV for Uniswap pairs  
  🔹 View latest trades for SOL/USDC pool  
  🔹 Analyze tax, pooled % and holders for specific pairs  
  🔹 Filter pairs by 24h volume, percent change, liquidity, or number of transactions  

  ✅ Example Queries  
  ✅ "Top 5 DEXs by 24h volume on Ethereum"  
  ✅ "Get historical OHLCV for SOL-USDC on Solana"  
  ✅ "Latest trades for a PancakeSwap pair"  
  ✅ "Show all spot pairs with over $500K in liquidity on Polygon"  
  ✅ "Retrieve metadata for Uniswap and SushiSwap"  

  🛠️ Setup Instructions  
  Get a CoinMarketCap API Key  
     Sign up at: https://coinmarketcap.com/api/  
  Add API Key to Credentials in n8n  
     Use HTTP Header Auth method  
  Trigger from Parent Workflow (Optional)  
     Use Execute Workflow and pass message and sessionId  
  Test Prompt Ideas  
     Try: "Compare liquidity of Uniswap and Curve pairs on Ethereum"

  Sticky Notes Included  

  DEXScan Agent Guide – Workflow architecture + supported tools  

  Usage & API Call Examples – Prompts, test inputs, setup flow  

  Error Codes + Licensing – 400/401/429/500 troubleshooting, IP rights

  ✅ Final Notes  
  This agent is part of the CoinMarketCap AI Analyst System, which includes multiple specialized agents for cryptocurrencies, exchanges, and community data. Visit my Creator profile to find the full suite of tools.

  Master DEX analytics with AI—get powerful liquidity, trading, and pair insights in seconds.

nodes_used:
  ["n8n-nodes-base.executeWorkflowTrigger","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.memoryBufferWindow","@n8n/n8n-nodes-langchain.toolHttpRequest","@n8n/n8n-nodes-langchain.toolHttpRequest","@n8n/n8n-nodes-langchain.toolHttpRequest","@n8n/n8n-nodes-langchain.toolHttpRequest","@n8n/n8n-nodes-langchain.toolHttpRequest","@n8n/n8n-nodes-langchain.toolHttpRequest","@n8n/n8n-nodes-langchain.toolHttpRequest","@n8n/n8n-nodes-langchain.toolHttpRequest","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 11176 characters]

metadata_json:
  {"categories":["integration","analytics","data processing","automation"],"complexity":"complex","use_cases":["Rank DEXs by 24h volume and market share","Identify spot pairs with highest liquidity on a given network","Retrieve historical OHLCV time-series for specific DEX pairs","Inspect latest trades and real-time pair stats (price, buy/sell, liquidity)","Filter and monitor pairs by volume, volatility, liquidity or transaction count (alerts/sub-agent)"],"estimated_setup_minutes":20,"required_services":["CoinMarketCap DEXScan API (API Key)","LLM provider supporting gpt-4o-mini (e.g., OpenAI)","n8n workflow runtime with outbound HTTP access"],"key_features":["Tool-based agent with 8 DEXScan endpoints (metadata, networks, listings, pairs, trades, OHLCV)","Real-time and historical OHLCV (1m/hourly/daily)","Session-based memory via sessionId for contextual agent conversations","Can run standalone or be invoked as a sub-agent from a supervisor workflow","Configurable filters for liquidity, volume, volatility, transactions, and rankings"],"target_audience":["crypto analysts and researchers","DeFi traders and market makers","developers integrating DEX analytics into apps/workflows」、「data engineers and BI teams"]}


name: Analyze Crypto Markets with the AI-Powered CoinMarketCap Data Analyst
author_name: Don Jayamaha Jr
author_username: don-the-gem-dealer
categories: []
created_at: 2025-04-03T13:53:03.108Z
updated_at: 2025-04-03T13:53:03.108Z
url: https://n8n.io/workflows/3425
scraped_at: 2025-09-14 19:10:59
metadata_generated_at: 2025-09-14 21:18:31
description:
  Meet your AI-powered crypto data analyst—fully integrated with CoinMarketCap APIs.  

  This workflow acts as the supervisor agent for a multi-agent architecture built in n8n, connecting three powerful sub-agents to extract real-time insights from centralized and decentralized markets. It’s the ultimate tool for crypto traders, analysts, developers, and researchers who need strategic multi-source intelligence—all through Telegram.

  This workflow requires 3 sub-agent templates to function correctly. See below.

  🔌 Required Sub-Workflows (Install First)

  CoinMarketCap Crypto Agent Tool  
     → Token prices, metadata, conversions, listings

  CoinMarketCap Exchange & Community Agent Tool  
     → Exchange info, token holdings, Fear & Greed index

  CoinMarketCap DEXScan Agent Tool  
     → DEX trading pairs, liquidity, OHLCV data

   Download all from my Creator Profile:  
   https://n8n.io/creators/don-the-gem-dealer/

  What Makes This Workflow Special?

  This is not just another API wrapper—it’s an intelligent routing agent powered by GPT-4o-mini, capable of:

  Understanding complex user queries  
  Choosing the appropriate tool workflow  
  Structuring the API request  
  Executing sub-workflows  
  Formatting the output  
  Returning insights via Telegram

  It connects three domains of market data:
  Cryptocurrencies (CEX)**
  Exchanges & Sentiment**
  DEX trading data**

  🔍 What You Can Do  

  💰 Token Intelligence
  Get token metadata, price, volume, supply
  Compare rankings and conversions

  🏦 Exchange Insights
  View assets held by exchanges
  Track the CMC 100 Index and Fear & Greed Score

  🌐 DEX Market Analysis
  Analyze pair quotes, historical OHLCV, live trades
  Discover the top DEXs by volume across blockchains

  ✅ Example Questions to Ask
  “What’s the market cap of Ethereum today?”  
  “Show liquidity and volume for SOL/USDT on Solana”  
  “Get token holdings for Binance”  
  “Compare BTC price on Uniswap vs Binance”  
  “What’s the Fear & Greed index right now?”

  🛠️ Setup Instructions

  Create Telegram Bot  
     Use @BotFather to get your bot token.

  Get CoinMarketCap API Key  
     Apply here: https://coinmarketcap.com/api/

  Install Sub-Agent Templates  
     Required:
       Crypto Agent Tool  
       Exchange & Community Tool  
       DEXScan Tool

  Configure Credentials in n8n  
     Add both Telegram and CoinMarketCap keys as HTTP Header Auth.

  Deploy & Test  
     Ask your Telegram bot: “Top 10 tokens by 24h volume” or “Convert 5 ETH to USD”

  Workflow Architecture

  AI Brain**: GPT-4o-mini  
  Memory**: Windowed buffer memory via sessionId  
  Tool Agents**:  
     toolWorkflow() → routes requests to the appropriate sub-agent  
     Executes real-time API queries and returns structured output

  Included Sticky Notes  
  System Overview**  
  Error Handling Guide (200, 400, 401, 429, 500)**  
  Step-by-Step Usage Instructions**  
  Prompt Examples + API Docs**  
  Legal & Licensing Notes**

  Your crypto insights—smarter, faster, and all in one Telegram message.

nodes_used:
  ["n8n-nodes-base.telegram","n8n-nodes-base.set","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.memoryBufferWindow","@n8n/n8n-nodes-langchain.toolWorkflow","@n8n/n8n-nodes-langchain.toolWorkflow","@n8n/n8n-nodes-langchain.toolWorkflow","n8n-nodes-base.telegramTrigger","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 8352 characters]

metadata_json:
  {"categories":["automation","integration","data processing","analytics","ai-assistant"],"complexity":"complex","use_cases":["Token intelligence and price lookups","Exchange asset holdings and sentiment analysis","DEX liquidity, pair quotes and OHLCV historical analysis","Cross-market price comparisons (CEX vs DEX)","On-demand crypto queries delivered via Telegram bot"],"estimated_setup_minutes":45,"required_services":["n8n (workflow runtime)","CoinMarketCap API (including CEX and DEX endpoints)","Telegram Bot API (BotFather token)","OpenAI (GPT-4o-mini or compatible LLM)","DEX / on-chain data provider (via the DEXScan sub-agent)"],"key_features":["AI routing agent that selects and executes the correct sub-workflow","Integrates 3 specialized sub-agents (Crypto, Exchange & Community, DEXScan)","Real-time multi-source market data aggregation (CEX, exchanges, DEX)","Structured API request building and response formatting","Telegram delivery of answers and conversational memory (windowed buffer) support for sessions and follow-ups','Built-in error handling guidance and usage notes"],"target_audience":["Crypto traders","Market analysts and researchers","Developers building crypto tools or bots, integrators implementing data pipelines"]}


name: Automate Call Scheduling with Voice AI Receptionist using Vapi, Google Calendar & Airtable
author_name: SuperAgent
author_username: customaistudio
categories: []
created_at: 2025-04-03T19:05:21.114Z
updated_at: 2025-04-03T19:05:21.114Z
url: https://n8n.io/workflows/3427
scraped_at: 2025-09-14 19:10:59
metadata_generated_at: 2025-09-14 21:18:31
description:
  Who is this template for?

  This template is ideal for small businesses, agencies, and solo professionals who want to automate appointment scheduling and caller follow-up through a voice-based AI receptionist. If you’re using tools like Google Calendar, Airtable, and Vapi (Twilio), this setup is for you.

  What problem does this workflow solve?

  Manual call handling, appointment booking, and email coordination can be time-consuming and prone to errors. This workflow solves that by automating the receptionist role: answering calls, checking calendar availability, managing appointments, and storing call summaries—all without human intervention.

  What this workflow does

  This Agent Receptionist manages inbound voice calls and scheduling tasks using Vapi and Google Calendar. It checks availability, books or updates calendar events, sends email confirmations, and logs call details into Airtable. The workflow includes built-in logic for slot management, email triggers, and storing call transcripts. 

  Setup Instructions

  Duplicate Airtable Base: Use this Airtable base templateBASE LINK 

  Import Workflow: Load provided JSON into your n8n instance.

  Credentials: Connect your Google Calendar and Airtable credentials in n8n.

  Activate Workflow: Enable workflow to get live webhook URLs.

  Vapi Configuration:

  Paste provided system prompt into Vapi Assistant. 

  Link the appropriate webhook URLs from n8n (GetSlots, BookSlots, UpdateSlots, CancelSlots, and end-of-call report).



  Disclaimer

  Optimized for cloud-hosted n8n instances. Self-hosted users should verify webhook and credential setups.

nodes_used:
  ["n8n-nodes-base.set","n8n-nodes-base.itemLists","n8n-nodes-base.itemLists","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.code","n8n-nodes-base.set","n8n-nodes-base.code","n8n-nodes-base.if","n8n-nodes-base.respondToWebhook","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.webhook","n8n-nodes-base.googleCalendar","n8n-nodes-base.respondToWebhook","n8n-nodes-base.if","n8n-nodes-base.set","n8n-nodes-base.googleCalendar","n8n-nodes-base.set","n8n-nodes-base.code","n8n-nodes-base.respondToWebhook","n8n-nodes-base.webhook","n8n-nodes-base.set","n8n-nodes-base.code","n8n-nodes-base.googleCalendar","n8n-nodes-base.respondToWebhook","n8n-nodes-base.if","n8n-nodes-base.set","n8n-nodes-base.airtable","n8n-nodes-base.webhook","n8n-nodes-base.set","n8n-nodes-base.if","n8n-nodes-base.airtable","n8n-nodes-base.respondToWebhook","n8n-nodes-base.googleCalendar","n8n-nodes-base.airtable","n8n-nodes-base.set","n8n-nodes-base.respondToWebhook","n8n-nodes-base.webhook","n8n-nodes-base.set","n8n-nodes-base.if","n8n-nodes-base.airtable","n8n-nodes-base.set","n8n-nodes-base.respondToWebhook","n8n-nodes-base.googleCalendar","n8n-nodes-base.airtable","n8n-nodes-base.set","n8n-nodes-base.respondToWebhook","n8n-nodes-base.webhook","n8n-nodes-base.set","n8n-nodes-base.airtable","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 26084 characters]

metadata_json:
  {"categories":["automation","communication","scheduling","integration","voice AI"],"complexity":"complex","use_cases":["Automated inbound call handling with AI receptionist","Appointment booking and calendar management","Caller follow-up and confirmation emails","Logging call transcripts and metadata to a database","Slot availability management and conflict resolution"],"estimated_setup_minutes":45,"required_services":["n8n (cloud-hosted instance with public webhook URLs)","Vapi (Twilio) assistant for voice AI","Google Calendar","Airtable","Email provider (Gmail/SMTP) for confirmations"],"key_features":["AI voice receptionist answering inbound calls","Real-time calendar availability checks and slot booking","Create, update and cancel events in Google Calendar","Send email confirmations and follow-ups","Store call summaries/transcripts and metadata in Airtable"],"target_audience":["Small businesses","Agencies","Solo professionals / freelancers who take calls and appointments manually but want automation support tech-savvy operators implementing phone workflows"]}


name: Generate Multiple T-shirt Design Prompts From Images With GPT-4o
author_name: AiAgent
author_username: lifehacks
categories: []
created_at: 2025-04-04T04:35:59.170Z
updated_at: 2025-04-04T04:35:59.170Z
url: https://n8n.io/workflows/3430
scraped_at: 2025-09-14 19:11:02
metadata_generated_at: 2025-09-14 21:18:33
description:
  Disclaimer
  This Workflow uses a community node.

  What It Does
  Workflow Demonstration

  This powerful workflow eliminates hours of trial and error when trying to craft the perfect prompt for AI-generated images. By simply saving an image of the design you want to model your generated images after into a designated folder on your desktop, the workflow is automatically triggered. Once the image is saved, n8n pulls it into the workflow, where an Analyze Image AI agent powered by GPT-4o analyzes it and generates a detailed text description. This description is then passed to another Prompt/Text Generator AI agent, which uses it as a template to create five entirely new and unique image prompts using the power of GPT-4o. These prompts produce images that share a similar art style with the original, while remaining creatively distinct. In addition, the AI will extract the original phrase and generate nine brand-new phrases that can be incorporated into the image. Finally, all this information is automatically saved into a folder on your computer, ready for you to use whenever you like.
  Who This Is For
  This workflow is ideal for anyone looking to create high-quality AI-generated images with ease. It’s especially valuable for those running a print-on-demand business or working in logo and artwork design. By automating the process of crafting image prompts that match a desired style, it saves you hours of manual effort and guesswork. With this streamlined system, you can focus less on prompt engineering and more on what truly matters—growing your business.
  How It Works
  Once you find an image or design that perfectly matches the style you're aiming for, the rest of the process is seamless. With the workflow running, simply save the image to the designated folder that triggers the automation. This action activates the workflow, and the image is automatically pulled into n8n using the Get Image From File node.
  From there, the Analyze Image AI Agent, powered by GPT-4o, takes over. It examines the image in depth—assessing its overall theme, art style, text phrase, font, aesthetic, and complexity (whether it’s a simple design or a more detailed composition). Based on this analysis, it generates a detailed description of the image along with the original text phrase it contains.
  Once the analysis is complete, a second AI agent, Prompt/Text Generator, receives this information and uses GPT-4o to create five unique image prompts. These prompts are designed to replicate the essence and style of the original image, while still producing completely original results when used with any AI image generator. In addition to the original phrase, the agent also generates nine brand-new text phrases.
  By combining each of the five prompts with the ten total text phrases (original + nine new), the workflow gives you the potential to generate 50 unique image variations.
  Finally, the Save to File node takes the entire output from the Prompt/Text Generator—including all five image prompts and ten text phrases—that was converted to text and automatically saves it into a designated folder on your computer for future use.
  After a completed workflow has been saved to the designated folder you must change the name of the file prior to running the workflow again. The workflow will only save the same file name each time.
  Set Up Steps
  You will need to create a folder on your computer where you would like to save your original image. You will then copy the pathway to this folder into the local file trigger node.
  You will need to obtain an Open AI API key from platform.openai.com/api-keys
  After you obtain this Open AI API key you will need to connect it to the Analyze Image AI Agent and the Open AI Chat Model connected to the Prompt/Text Generator AI Agent.
  You will now need to fund your Open AI account. GPT 4o costs ~$0.01-$0.02 to run the workflow.
  Finally create a folder on your computer you wish to have the summarizations saved to. Copy the pathway to this folder into the Save to File node.

nodes_used:
  ["n8n-nodes-base.localFileTrigger","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.code","n8n-nodes-base.readWriteFile","@n8n/n8n-nodes-langchain.openAi","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.convertToFile","n8n-nodes-base.readWriteFile","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  H4sIAAAAAAAAE52VW2/jNhCF/4rAZzFLUrzqqWkWWQToNgFiZFEEQcHLyFFXllyJTpMa/u8F7TTK2kri9s2QDw8/cs4M16gOqETnsb2Z3fz8/fyP66s/H387RTlaQLSoXKO6HaJtPVwkXTDMAne8MFo7rbUDA8JYRakh2kpluChACF1pKQoSGATmqS+4oRVjrhIoRxEWy8ZGOOshDNcQV8uzbrFsIEJAZexXsMlRaxeASvQFWuhthOzrqon1soFshof7uo/ZZxjqeZtd9d1iGYfsvO8W2cXCzmHIvtXxPvtyNcO8S7vZ+YDK27sctV2A9HO9O7HglgTlK2yoNZiLgmAbCOAAqqoUSC9AoheSXzpvm+y8Tgh9PZ9Dn7yflum/Vrd4a46dHeCkSdKkHIXLbqhj3bWovMWa5OQuR0vb2wVE6AdUrjc7rxvoh62KbvJ/KVlRgGYKa8YBcyUKbKgLmIHyGpwxWtGR8nIJ7elFdnZvY/a1C9CMkD+1uv00kja2nft7W7cnzSLJtyvrH1ElIznlH8OesBdcYoR3zFgMoZKYU0GxCVWBqSaBcVYB0DDinnXtA/Txnbv0XYAfoY65vpGnKpx03CnMZcUwl9xiZwqHKweECmkd1wV6Fbe4C9EuT6mGb5L1YMO3vo7wrHqFyI4qcY5s85d9Gi5XcbmKn21qtl36n9kd5dp7VmClFcPc6AobGQjmRJoCdGGIesV+2trm6W/Y8R9R9m6i4FweA36ix3J7Kr1lBhfKWcxdUWDrgOCiAmkTNmFmRNw166cZPMbsubO7/ghUO4c27kWTH0WqXkilMExLJ7CUFcfcgcSaSoYdp4I5bYAZeRDMbNZlifadeG51s+4wBJSQoxDHVq8UAykVYMnTZRoasKuUxpXTEiolbaXFiHhtHyDx/d+QUsb+0yAquBeU2YC5FQZzRRQ2PljMKNFFpZ0gGl7Rxdp/f8p+7SLQN+mGrShp9kYk5STHih3QId+1MWWhROiQ9C5H1sf6AVBZ2WaAHA0QY93Ot0vhEfwqbXDZB+hRiR5o8njYrd++bU4GbzQozIS1mEtKcBoTWEhRGFBMe+VRniBa8MlqazwOsXKNFrZOJ7hdb1+bj0bKVp2jug3wiEqyubvb5HuNPOX5QR9Nuu4nesp3OlKTdocPTblGtv49Ne3KzuH52/HQB2v3d5x4gKfOMPGkTB5gqi5Tfm+M1UnP6SO+Q3k4XyZ8N5t/AIKeSYOjCQAA

metadata_json:
  {"categories":["automation","image-generation","prompt-engineering","design"],"complexity":"medium","use_cases":["Generate AI image prompts matching a target art style","Create multiple design variations for print-on-demand products","Automate prompt engineering for image generators","Extract and expand on text phrases from existing designs"],"estimated_setup_minutes":20,"required_services":["OpenAI (GPT-4o) API key and funded account","n8n instance with local file access (Local File Trigger)","Local filesystem/folders for input and output"],"key_features":["Watch a local folder and trigger workflow when an image is saved","Analyze an image with a GPT-4o agent to extract style, text, and description","Generate five unique image prompts based on analysis using GPT-4o","Extract original phrase and produce nine new text phrases (10 total)","Combine prompts and phrases to produce up to 50 unique variations','Save full output to a local file automatically"],"target_audience":["Print-on-demand sellers","Graphic designers and logo/artwork creators","Content creators using AI image generators','Marketers and small business owners who need scalable design variations"]}


name: Smart Sales Support Chatbot with GPT-4o and Google Sheets
author_name: Babish Shrestha
author_username: bbz
categories: []
created_at: 2025-04-04T09:13:57.734Z
updated_at: 2025-04-04T09:13:57.734Z
url: https://n8n.io/workflows/3433
scraped_at: 2025-09-14 19:11:00
metadata_generated_at: 2025-09-14 21:18:31
description:
  Who is this tempate for?
  This workflow powers a simple yet effective customer and sales support chatbot for your webshop. It's perfect for solopreneurs who want to automate customer interactions without relying on expensive or complex support tools.

  How it works?
  The chatbot listens to user requests—such as checking product availability—and automatically handles the following

  Fetches product information from a Google Sheet
  Answers customer queries
  Places an order
  Updates the stock after a successful purchase

  Everything runs through a single Google Sheet used for both stock tracking and order management.

  Setup Instructions

  Before you begin, connect your Google Sheets credentials by following this guide: This will be used to connect all the tools to Google Sheets
  👉 Setup Google sheets credentials

  Get Stock

  	Open "Get Stock" tool node and select the Google sheet credentials you created. 
  	Choose the correct google sheet document and sheet name and you are done.
  Place order
  	
  	Go to your "Place Order" tool node and select the Google sheet credentials you have created. 
  	Choose the correct google sheet document and sheet name.

  Update Stock
  	- Open your "Update Stock" tool node and select the Google sheet credentials you have created. 
  	Choose the correct google sheet document and sheet name.
  	In "Mapping Column Mode" section select map each column manually.
  	In "Column to match on" select the column with a unique identifier (e.g., Product ID) to match stock items.
  	In values to update section, add only the column(s) that need to be updated—usually the stock count.
  AI Agent node 
  	Adjust the prompt according to your use case and customize what you need. 

  Google Sheet Template
  Stock sheet

  |Case ID|Phone Model|Case Name|Case Type|Image URL|Quantity Avaialble|Initital Inventory|Sold|
  |-|-|-|-|-|-|-|-|
  |1023|Iphone 14 pro|Black Leather|Magsafe|https://example.com/url|90|100|10

  Order sheet

  |Case ID|Phone Model|Case Name|Name|Phone Number|Address|
  |-|-|-|-|-|-|
  |1023|Black Leather |Iphone 14 pro|Fernando Torres|9998898888|Paris, France

nodes_used:
  ["@n8n/n8n-nodes-langchain.chatTrigger","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.memoryBufferWindow","n8n-nodes-base.googleSheetsTool","n8n-nodes-base.googleSheetsTool","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.googleSheetsTool"]

workflow_json_compressed:
  [encoded data, 4764 characters]

metadata_json:
  {"categories":["automation","integration","customer support","e-commerce","chatbot"],"complexity":"medium","use_cases":["Automate customer and sales support chats","Look up product availability from a sheet","Place orders via chat and record them","Automatically update inventory after purchases","Lightweight order management using a single Google Sheet"],"estimated_setup_minutes":20,"required_services":["Google Sheets","OpenAI (GPT-4o)","n8n"],"key_features":["Fetch product data from Google Sheets","Answer customer product queries with AI","Place orders and write them to a sheet","Update stock counts after purchases","Single-sheet stock + order workflow for simplicity"],"target_audience":["Solopreneurs","Small e-commerce owners","No-code users who want automated support tools without a full helpdesk system"]}


name: Get Qualified Leads in One Click from Apollo to Airtable
author_name: Not Another Marketer
author_username: notanothermarketer
categories: []
created_at: 2025-04-04T11:10:06.804Z
updated_at: 2025-04-04T11:10:06.804Z
url: https://n8n.io/workflows/3435
scraped_at: 2025-09-14 19:11:00
metadata_generated_at: 2025-09-14 21:18:31
description:
  You Don’t Need More Tools. You Just Need the Right Leads.
  Why spend $1,000s on lead gen when your perfect leads are already waiting in Apollo? You’ve already filtered the ideal prospects. You know who they are, where they work, and what they do.

  Now imagine turning that list into enriched, ready-to-contact leads—without paying pricey Apollo's recurring subscription (spoiler: you will pay only 0.60$ per 500 leads).

  From Filter to Outreach-Ready in Seconds
  With the Lead Generation System, you just drop your Apollo search URL.

  The workflow does the rest:
  ✅ Scrapes all matching contacts from your Apollo filter
  ✅ Enriches and organizes the data (names, roles, emails, LinkedIns, companies, etc.)
  ✅ Delivers the final lead list to Airtable—or your CRM of choice

  No more manual exports. 
  No CSV mess. 
  No VA needed.
  Just qualified leads, cleaned and ready to go.

  Perfect For
  Founders doing DIY outbound
  Growth marketers scaling cold email
  Agencies running lead-gen for clients
  Anyone tired of paying too much for messy, outdated lists

  Setup Guide
  I built a step-by-step guide to setup this workflow in 5 to 10 minutes, available here: https://notanothermarketer.gitbook.io/home/templates/lead-generation

  This template is free. Enjoy!

nodes_used:
  ["n8n-nodes-base.manualTrigger","n8n-nodes-base.set","n8n-nodes-base.stickyNote","n8n-nodes-base.httpRequest","n8n-nodes-base.airtable","n8n-nodes-base.stickyNote","n8n-nodes-base.if"]

workflow_json_compressed:
  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

metadata_json:
  {"categories":["lead generation","integration","data enrichment","automation"],"complexity":"medium","use_cases":["Scrape qualified prospects from Apollo filters","Enrich contact data (emails, LinkedIn, company info)","Automatically push leads into Airtable or CRM","Scale cold outreach without manual CSV exports"],"estimated_setup_minutes":10,"required_services":["Apollo (search URL / account)","Airtable (API key & base)","HTTP access / web scraping capability","Enrichment service or API (used to append emails/LinkedIn)","AI/ML provider (optional — for data parsing/enrichment)"],"key_features":["One-click extraction from an Apollo search URL","Automated enrichment of names, roles, emails, LinkedIn, company data","Direct delivery to Airtable or other CRM","Removes manual exports and CSV handling","Fast setup (5–10 minutes) and low per-lead cost"],"target_audience":["Founders doing DIY outbound","Growth marketers scaling cold email","Agencies running lead-gen for clients"]}


name: Send links from Telegram Channel to Hoarder and Readeck
author_name: Sherlockes
author_username: sherlockes
categories: []
created_at: 2025-04-04T11:19:47.480Z
updated_at: 2025-04-04T11:19:47.480Z
url: https://n8n.io/workflows/3436
scraped_at: 2025-09-14 19:11:03
metadata_generated_at: 2025-09-14 21:18:33
description:
  What this template is made for:
  I have a personal Telegram channel and a bot inside it where I save interesting links that I want to save or read later. The idea is that n8n will take care of reading the new links added to this channel and send them, through the corresponding API, to the Hoarder and Readeck installations.

  How it works
  Since my server where n8n runs is not always on, a "Schedule Trigger" will be responsible for checking every so often if there is any new content in the Telegram channel where I store the links. This request is made through "http request" and the Telegram API.
  Next, a code block is responsible for filtering out everything that is not a hyperlink.
  At this point, the flow splits into two so that parallel and similar processes are performed for Hoarder and Readeck.
  The corresponding API is accessed to get a list of all the links saved in the corresponding service.
  A code block is responsible for filtering the list of hyperlinks previously obtained from Telegram so that only those that are not already saved in the service continue.
  Finally, another "Http Request" node is responsible for using the service API to save the link in the corresponding service.

  Configuration instructions
  The template makes use of the environment variables that I have declared in the n8n "docker-compose.yml" file through an external ".env" file. These are the variables I use:
  Telegram Bot Token Sherlink
  TG_SHERLINK_BOT_TOKEN=XXXXXXXX:XXXXXXXXXXXXXXXX
  Id Telegram Channel Sherlink
  TG_SHERLINK_ID=-XXXXXXXXXXXXX
  Readeck server
  READECK_SERVER=http://readeck.midomain.com
  READECK_API_KEY=xxxxxxxxxxxxx
  Hoarder server
  HOARDER_SERVER=http://hoarder.midomain.com
  HOARDER_API_KEY=xxxxxxxxxxxxxx

  Created in 1.85.4 n8n version

nodes_used:
  ["n8n-nodes-base.scheduleTrigger","n8n-nodes-base.splitOut","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.set","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.set","n8n-nodes-base.code","n8n-nodes-base.httpRequest"]

workflow_json_compressed:
  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

metadata_json:
  {"categories":["automation","integration","data processing"],"complexity":"medium","use_cases":["Automatically save links posted in a personal Telegram channel to read-later services","Deduplicate links before adding to Hoarder or Readeck","Periodic polling of Telegram channel to collect new links","Sync/backup curated links from Telegram to self-hosted services"],"estimated_setup_minutes":15,"required_services":["Telegram Bot API (bot token and channel ID)","Hoarder API (self-hosted Hoarder instance and API key)","Readeck API (self-hosted Readeck instance and API key)","n8n (hosted where it can run scheduled checks; uses environment variables, typically Docker)"],"key_features":["Schedule-based polling of a Telegram channel via HTTP requests to Telegram API","Extraction and filtering of hyperlinks from channel messages","Parallel workflows to send links to Hoarder and Readeck","Deduplication by querying each service's API before saving","Uses environment variables for credentials and servers (Docker/.env friendly)"],"target_audience":["Users who save links to a personal Telegram channel and want them archived","Self-hosters running Hoarder and Readeck","n8n users with basic scripting/API knowledge (can configure env vars and endpoints)"]}


name: Automatically Create Cinematic Quote Videos with AI and Upload to YouTube
author_name: Jaruphat J.
author_username: jaruphatj
categories: []
created_at: 2025-04-05T01:03:46.035Z
updated_at: 2025-04-05T01:03:46.035Z
url: https://n8n.io/workflows/3438
scraped_at: 2025-09-14 19:11:01
metadata_generated_at: 2025-09-14 21:18:32
description:
  ⚠️ Important Disclaimer:
  This template is only compatible with a self-hosted n8n instance using a community node.
  Who is this for?
  This workflow is ideal for digital content creators, marketers, social media managers, and automation enthusiasts who want to produce fully automated vertical video content featuring inspirational or motivational quotes. Specifically tailored for Thai language, it effectively demonstrates integration of AI-generated imagery, video, ambient sound, and visually appealing quote overlays.

  What problem is this workflow solving?
  Manually creating high-quality, vertically formatted quote videos is often repetitive, time-consuming, and involves multiple tedious steps like selecting suitable visuals, editing audio tracks, and correctly overlaying text. Additionally, manual uploading to platforms like YouTube and maintaining accurate content records are prone to errors and inefficiencies.

  What this workflow does:
  Fetches a quote, author, and scenic background description from a Google Sheet.
  Automatically generates a vertical background image using the Flux AI (txt2img) API.
  Transforms the AI-generated image into a subtly animated cinematic vertical video using the Kling video-generation API.
  Generates an immersive, ambient background sound using ElevenLabs’ sound generation API.
  Dynamically overlays the selected Thai-language quote and author text onto the generated video using FFmpeg, ensuring visually appealing typography (e.g., Kanit font).
  Automatically uploads the final video to YouTube.
  Updates the resulting YouTube video URL back to the Google Sheet, keeping your content records current and well-organized.

  Setup
  Requirements:
  This workflow requires a self-hosted n8n instance, as the execution of FFmpeg commands is not supported on n8n Cloud. Ensure FFmpeg is installed on your self-hosted environment.

  API keys and accounts setup for Flux, Kling, ElevenLabs, Google Sheets, Google Drive, and YouTube.

  Google Sheets Setup:
  Your Google Sheet must include these columns:
  Index**	Unique identifier for each quote
  Quote (Thai)**	Quote text in Thai language (or your chosen language)
  Pen Name (Thai)**	Author or pen name of the quote's creator
  Background (EN)**	Short English description of the scene (e.g., "sunrise over mountains")
  Prompt (EN)**	Detailed English prompt describing the image/video scene (e.g., "peaceful sunrise with misty mountains")
  Background Image**	URL of AI-generated image (updated automatically)
  Background Video**	URL of generated video (updated automatically)
  Music Background**	URL of generated ambient audio (updated automatically)
  Video Status**	YouTube URL (updated automatically after upload)
  A ready-to-use Google Sheets template is provided [here (provide your actual link)].

  To help you get started quickly, you can use this template spreadsheet.
  Next steps:
  Authenticate Google Sheets, Google Drive, YouTube API, Flux AI, Kling API, and ElevenLabs API within n8n.
  Ensure FFmpeg supports fonts compatible with your chosen language (for Thai, "Kanit" font is recommended).
  Prepare your Google Sheets with desired quotes, authors, and image/video prompts.
  How to customize this workflow to your needs:
  Fonts:** Adjust font type, size, color, and positioning within the provided FFmpeg commands in the workflow’s code nodes. Verify that selected fonts properly support your target language.
  Media Customization:** Customize the scene descriptions in your Google Sheet to change image/video backgrounds automatically generated by AI.
  Quote Management:** Easily manage, add, or update quotes and associated details directly via Google Sheets without workflow modifications.
  Audio Ambiance:** Customize or adjust the ambient sound prompt for ElevenLabs within the workflow’s HTTP Request node to match your video's desired mood.

  Benefits of using AI-generated content and localized fonts:
  Leveraging AI-generated visual and audio elements along with localized fonts greatly enhances audience engagement by creating visually appealing, professional-quality content tailored specifically for your target audience. This automated workflow drastically reduces production time and manual effort, enabling rapid, consistent content creation optimized for platforms such as YouTube Shorts, Instagram Reels, and TikTok.

nodes_used:
  ["n8n-nodes-base.manualTrigger","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.stickyNote","n8n-nodes-base.googleSheets","n8n-nodes-base.httpRequest","n8n-nodes-base.wait","n8n-nodes-base.wait","n8n-nodes-base.httpRequest","n8n-nodes-base.stickyNote","n8n-nodes-base.httpRequest","n8n-nodes-base.googleSheets","n8n-nodes-base.googleSheets","n8n-nodes-base.googleSheets","n8n-nodes-base.stickyNote","n8n-nodes-base.googleDrive","n8n-nodes-base.readWriteFile","n8n-nodes-base.httpRequest","n8n-nodes-base.readWriteFile","n8n-nodes-base.code","n8n-nodes-base.executeCommand","n8n-nodes-base.httpRequest","n8n-nodes-base.readWriteFile","n8n-nodes-base.httpRequest","n8n-nodes-base.googleSheets","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 7916 characters]

metadata_json:
  {"categories":["automation","content-creation","video-production","integration","AI-generated media"],"complexity":"complex","use_cases":["Automatically create vertically-formatted cinematic quote videos","Batch/growth content production for YouTube Shorts, Reels, TikTok","Localized (Thai) quote video production with proper fonts","Maintaining a tracked content log in Google Sheets","Rapid prototyping of AI-generated visuals + audio for short-form video"],"estimated_setup_minutes":90,"required_services":["Self-hosted n8n instance (required)","FFmpeg installed on host (with Thai-supporting fonts e.g., Kanit)","Flux AI (txt2img) API","Kling video-generation API","ElevenLabs sound generation API","Google Sheets API","Google Drive API","YouTube Data API","n8n community node(s) used by the workflow"],"key_features":["Fetches quotes and metadata from Google Sheets","Generates vertical background images via Flux (txt2img)","Converts images to subtly animated cinematic vertical videos with Kling","Generates ambient background audio via ElevenLabs","Overlays Thai-language quote and author text onto video using FFmpeg (font support configurable) and ensures appealing typography/positioning (e.g., Kanit)  , uploads final video to YouTube automatically  , and writes resulting URLs back to Google Sheet for record-keeping"],"target_audience":["Digital content creators","Social media managers and marketers","Automation enthusiasts and makers comfortable self-hosting n8n  ,with FFmpeg familiarity  ,developers/ops who can manage API keys and service auth"]}


name: Validate Seatable Webhooks with HMAC SHA256 Authentication
author_name: Vitali
author_username: vquie
categories: []
created_at: 2025-04-05T09:40:14.968Z
updated_at: 2025-04-05T09:40:14.968Z
url: https://n8n.io/workflows/3439
scraped_at: 2025-09-14 19:11:02
metadata_generated_at: 2025-09-14 21:18:33
description:
  📌 Validate Seatable Webhooks with HMAC SHA256 Authentication

  This mini workflow is designed to securely validate incoming Seatable webhooks using HMAC SHA256 signature verification.

  🔐 What it does:
  Listens for incoming Seatable webhook requests.
  Calculates a SHA256 HMAC hash of the raw request body using your shared secret.
  Compares the computed hash with the x-seatable-signature header (after removing the sha256= prefix).
  If the hashes match: responds with 200 OK and forwards the request to subsequent nodes.
  If the hashes don’t match: responds with 403 Forbidden.

  ⚠️ Important Notes:
  This workflow is provided as a template and is not intended to work standalone. Please duplicate it and integrate it with your custom logic at the "Add nodes for processing" node.

  Configuration steps:
  Set your secret key in the “Calculate sha256” crypto node (replace the placeholder).
  Adjust the webhook path to suit your environment (or set it to "manual" for testing).
  Connect your actual logic after the verification step.

nodes_used:
  ["n8n-nodes-base.respondToWebhook","n8n-nodes-base.respondToWebhook","n8n-nodes-base.crypto","n8n-nodes-base.webhook","n8n-nodes-base.noOp","n8n-nodes-base.if","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  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

metadata_json:
  {"categories":["integration","security","webhook processing","automation"],"complexity":"simple","use_cases":["Securely validate Seatable webhook payloads","Protect downstream workflows from tampered webhooks","Gate webhook-triggered automations by signature verification","Integrate Seatable events into internal systems after verification"],"estimated_setup_minutes":10,"required_services":["Seatable (webhook sender)","n8n (workflow host)","Any service that can send HTTPS webhooks with an HMAC SHA256 signature header"],"key_features":["Calculates SHA256 HMAC of raw request body using a shared secret","Compares computed hash to x-seatable-signature header (removes sha256= prefix)","Returns 200 OK on match and forwards to downstream nodes","Returns 403 Forbidden on mismatch","Configurable secret in the crypto node and adjustable webhook path for testing/production"],"target_audience":["Developers","DevOps / SRE","Security-conscious integrators/engineers handling webhooks」「No-code/low-code automation builders who need secure webhook endpoints"]}


name: Track LLM Token Costs per Customer Using the Langchain Code Node
author_name: Jimleuk
author_username: jimleuk
categories: []
created_at: 2025-04-05T10:50:28.430Z
updated_at: 2025-04-05T10:50:28.430Z
url: https://n8n.io/workflows/3440
scraped_at: 2025-09-14 19:11:02
metadata_generated_at: 2025-09-14 21:18:32
description:
  Note: This template only works for self-hosted n8n.

  This n8n template demonstrates how to use the Langchain code node to track token usage and cost for every LLM call.

  This is useful if your templates handle multiple clients or customers and you need a cheap and easy way to capture how much of your AI credits they are using.

  How it works
  In our mock AI service, we're offering a data conversion API to convert Resume PDFs into JSON documents.
  A form trigger is used to allow for PDF upload and the file is parsed using the Extract from File node.
  An Edit Fields node is used to capture additional variables to send to our log.
  Next, we use the Information Extractor node to organise the Resume data into the given JSON schema.
  The LLM subnode attached to the Information Extractor is a custom one we've built using the Langchain Code node.
  With our custom LLM subnode, we're able to capture the usage metadata using lifecycle hooks.
  We've also attached a Google Sheet tool to our LLM subnode, allowing us to send our usage metadata to a google sheet.
  Finally, we demonstrate how you can aggregate from the google sheet to understand how much AI tokens/costs your clients are liable for.


  Check out the example Client Usage Log - https://docs.google.com/spreadsheets/d/1AR5mrxz2S6PjAKVM0edNG-YVEc6zKL7aUxHxVcffnlw/edit?usp=sharing

  How to use
  SELF-HOSTED N8N ONLY** - the Langchain Code node is only available in the self-hosted version of n8n. It is not available in n8n cloud.
  The LLM subnode can only be attached to non-"AI agent" nodes; Basic LLM node, Information Extractor, Question & Answer Chain, Sentiment Analysis, Summarization Chain and Text Classifier.

  Requirements
  Self-hosted version of n8n 
  OpenAI for LLM
  Google Sheets to store usage metadata

  Customising this template
  Bring the custom LLM subnode into your own templates! In many cases, it can be a drop-in replacement for the regular OpenAI subnode.
  Not using Google Sheets? Try other databases or a HTTP call to pipe into your CRM.

nodes_used:
  ["n8n-nodes-base.googleSheetsTool","n8n-nodes-base.set","n8n-nodes-base.formTrigger","@n8n/n8n-nodes-langchain.code","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.form","n8n-nodes-base.filter","n8n-nodes-base.googleSheets","n8n-nodes-base.summarize","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.gmail","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.extractFromFile","@n8n/n8n-nodes-langchain.informationExtractor"]

workflow_json_compressed:
  [encoded data, 7752 characters]

metadata_json:
  {"categories":["automation","integration","AI cost-tracking","data processing"],"complexity":"medium","use_cases":["Track LLM token usage and cost per customer","Audit and allocate AI costs across clients","Convert Resume PDFs to structured JSON with LLM assistance","Log and aggregate usage metadata for billing/analytics"],"estimated_setup_minutes":30,"required_services":["n8n (self-hosted)","OpenAI API","Google Sheets"],"key_features":["Custom Langchain Code LLM subnode capturing lifecycle usage metadata","Parse uploaded PDF resumes to JSON (Extract from File + Information Extractor)","Log token/usage metadata to Google Sheets for aggregation","Form trigger for file upload and per-customer attribution","Drop-in replacement for standard OpenAI subnode in supported nodes"],"target_audience":["Developers implementing AI usage tracking","AI engineers integrating LLM usage telemetry","SaaS teams that bill clients for AI consumption (finance/ops)"]}


name: Generate Conversational Twitter/X Threads with GPT-4o AI
author_name: joseph
author_username: josephn8n
categories: []
created_at: 2025-04-05T17:33:45.203Z
updated_at: 2025-04-05T17:33:45.203Z
url: https://n8n.io/workflows/3441
scraped_at: 2025-09-14 19:11:02
metadata_generated_at: 2025-09-14 21:18:32
description:
  🧵 Generate Conversational Twitter/X Threads with GPT-4o AI (n8n Workflow)
  This workflow uses OpenAI (GPT-4o) and Twitter/X to automatically generate and publish engaging, conversational threads in response to a trigger (e.g., from a chatbot or form).

  🚀 What Does It Do?
  Listens for an incoming message (e.g., via webhook or another n8n input).
  Uses GPT-4o to craft a narrative-style Twitter thread in a personal, friendly tone.
  Publishes the first tweet, then automatically posts each following tweet as a reply—building a full thread.

  🛠️ What Do You Need to Configure?
  Before using this template, make sure to set up the following credentials:

  OpenAI
  Add your OpenAI API key in the OpenAI Chat Model node. This is used to generate the thread content.

  Twitter/X
  Add your Twitter OAuth2 credentials to the First Tweet and Thread Reply nodes. This allows the workflow to publish tweets on your behalf.

  ✨ Who Is This For?
  This template is perfect for:
  Content creators who want to share ideas regularly
  Personal brands looking to grow their presence
  Social media managers automating thread creation

  🔧 How to Customize It
  You can easily adjust the tone, structure, or length of the threads by modifying the system prompt in the OpenAI node.

  For example:
  To create threads with humor, change the prompt to “Write in a witty and humorous tone.”
  To tailor it for marketing, prompt it with “Write a persuasive product-focused Twitter thread.”

  You can also integrate this workflow with:
  Telegram bots
  Web forms (e.g., Typeform, Tally)
  CRM tools or newsletter platforms


  📋 Sample Output
  Prompt sent to the workflow:
  “Tips for growing on Twitter in 2025”

  Generated thread:

  ++Tweet 1:++
  Thinking of growing your presence on Twitter/X in 2024? Here's a thread with the most effective strategies that actually work 🧵

  ++Reply 1:++
  Engage, don’t broadcast
  Twitter is a conversation platform. Reply to others, quote-tweet, and start discussions instead of just posting links.

  ++Reply 2:++
  Consistency beats virality
  Tweeting regularly builds trust and visibility. You don't need to go viral — just show up.

nodes_used:
  ["@n8n/n8n-nodes-langchain.chatTrigger","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.memoryBufferWindow","n8n-nodes-base.twitterTool","n8n-nodes-base.twitterTool","@n8n/n8n-nodes-langchain.agent"]

workflow_json_compressed:
  H4sIAAAAAAAAE8VWS3MctxH+KygoVXrUgJqZnXdVqqIwSqKDLJdEW6nSsugG0LMLZQZYA5gladb+mBx98Mk3X/nHXMCQXK7MSE5yyG0e3V9/X3ej0VdUSdrR98fr5qv2a/sm/ebVuf3+PU3oiB5od0WVdh60wFfBTtYlcLnIETMuW8hEleaV4GVRQin6LOtrXNR91uZtWWIt0qxo66xuACSvqiKvaUI9jpsBPB5blO4d+mlzbMbNgB4l7bydcJdQDSPSjr6YvBnBqx9AKKPJP4I3rBztPpwmVBuJ4fFqVgBlJqta5gz7AlhRiwVr8rRiZdbnIkurOssbeof8fo2aiDV4MqJzsEJiUaDaogwxLjfB5k+60c91o1mMxAbQK7EGpY+C34lVqxVamtCNccoro2n3IU3S04SeI18b88+YryorhKybBeu5aFhRCGCN5E2kVreLxQLrMmCAhRE9WhcybjYBLzzudjObb9G6GCI7ynbJjeI6zWXe5y0TreCsqAAYlyJnQsiqAZ4XkIm94jcb1C9ekeOg+bWROPwOocMYzKOnOlSap2mSF0HtIfUxIndX9OzMDnM5k/iRdnRQztOEbmGYwutq41lhaEIFiDXKt+imwX81k735t0s+n4v8LheVrErZpC3DnC9Y0TQFA5kBq+tFA6JFznm9z8U7FRqOvMbR2MvfkYcxGv556nu075WW5vwwG8XD2fgt4cUd4bzPi1rUOWv6NmVF27esbZuc8b4tRFoUvOF8T7hX1nnizxH9nu6eKQeHR/5ceY/2xJjhkF1ZPVwrjxeedvSPV1fk+bMABpM3bIUaLXiUrLdmfPGKmS1aqyQ+e07+MH968vgEL/zjhHz3XUIeO2+VXj1+SnY7mlCQMsaF4a8KB/lg4fZlS0XeNgicFZAKVjSLkgFvF6ziUBSyyXpe3mvhtRrMfy6/Lv6/8qnSb3EzXJ6Ydx785MJcePB8KHnvdPw3tGKYM2/OTkKjBIJ/QY6OrEGgJTb8JR8n5w2BYW4mAtqjVcZ+qmT3maLlVVuHgcqKEgQrFqJgAI1gWdnWlcQmk4tsX7QXK9Qe59n9hWMGwfSweIt8nqn/bkBSd+k8jq/nIR7y9oi8NcNSv7ToyKSJRQnCG0skzpIdUbo3dvRqa1xy8x+kccFihJBmAqNaAR+QXJJAXkvFBzxa6qV+RP6O1sKoUHtwS83IN14N6gcgA5D1/hd5du/IPiOBPhEWwRIcyMaqES3xk/JHn4MI/X7gO4AjFt1mQufBESACJEScu0ImJIgDLU1QHxCIMGu0sQiXRBjtlZ5MjHt85/3Eg/Zmzy04jeaTeE+JRI7Eh1YM4OP1vy7UaELe8jolAiwIjxZdBH85EHQ+xI9eDi1BfQMPZIPWGQ0JEWgFaDNT26J18aqHIZkZOEX6KTigE1Z5QzbGkvH6pxjiNWh//aMOXLzRhmjwk4WBXJLrX7QSJmBoErqJD+gIXmwshmZGdxs/fL4M/qh78/2ERIO1EFrjVkNIGGolo8x9uqMmYTQKD7G3YtZJP0xKQgyLw72axBoGfIchtFAcZn23Nbofd6kfveEfMbx1S/23ePLtnSX4kGa1nVN2U9kkgiu9VR5JbCQVYoMQ6vpnfdO5Lz+GzSsKQeftJEK2uqX+et+O5Emgfq91n3Zkqd/hagoNtbcITJ525C26jdESwzy5bergtdQnaMUB5gMe7hZ2dqEPXPDN7jShUS7SrofBYUIdeq/0Kp5+vEAxhVnwxkq0tKPbLCwN2xkhbmBtWdVVDhAWpJIVOXLGeyEZ76usLJqirADDEmJ0KObtWIlXTXdFQZ35cKN0Hz5cxY3zwYl2a5VQpSVe0C7dnZ7ukoNr+38GO1xaZrjx5uVLgOPtpnMI+dudcIYNI3mCFd58+xL6ofmnQT6zaoeFEZT+QoRocoi62/0KyKVuCbgMAAA=

metadata_json:
  {"categories":["automation","social media","integration","content creation"],"complexity":"medium","use_cases":["Automatically generate and publish Twitter/X threads from triggers","Scale content creation for personal brands and creators","Automate social media engagement workflows for marketing","Convert chatbot or form responses into threaded posts"],"estimated_setup_minutes":15,"required_services":["OpenAI (GPT-4o API)","Twitter/X (OAuth2 API)","Webhook or form provider (e.g., n8n Webhook, Typeform, Tally)"],"key_features":["Generates narrative-style multi-tweet threads with GPT-4o","Posts initial tweet then publishes replies to build a thread","Customizable system prompt for tone, length, and style","Triggerable from webhooks, chatbots, or form submissions","Supports integrations with Telegram, CRM or newsletter tools via n8n nodes"],"target_audience":["Content creators","Social media managers","Personal brands and influencers」「Developers and automation engineers"]}


name: Fully Automated AI Video Generation & Multi-Platform Publishing
author_name: Juan Carlos Cavero Gracia
author_username: carlosgracia
categories: []
created_at: 2025-04-05T18:28:46.255Z
updated_at: 2025-04-05T18:28:46.255Z
url: https://n8n.io/workflows/3442
scraped_at: 2025-09-14 19:10:59
metadata_generated_at: 2025-09-14 19:22:11
description:
  Description

  This comprehensive n8n automation template orchestrates a complete end-to-end workflow for generating engaging short-form Point-of-View (POV) style videos using multiple AI services and automatically publishing them across major social media platforms. It takes ideas from a Google Sheet and transforms them into finished videos with captions, voiceovers, and platform-specific descriptions, ready for distribution.

  Who Is This For?

  Content Creators & Agencies:** Mass-produce unique short-form video content for various clients or channels with minimal manual effort.
  Digital Marketers:** Automate video content pipelines to boost online presence and engagement across multiple platforms simultaneously.
  Social Media Managers:** Schedule and distribute consistent video content efficiently without juggling multiple tools and manual uploads.
  Businesses:** Leverage AI to create branded video content for marketing, reducing production time and costs.

  What Problem Does This Workflow Solve?

  Creating and distributing high-quality short-form video content consistently across multiple social networks is incredibly time-consuming and resource-intensive. This workflow tackles these challenges by:

  Automating Idea-to-Video Pipeline:** Generates video concepts, image prompts, scripts, images, video clips, and voiceovers using AI.
  Streamlining Video Assembly:** Automatically combines generated assets into a final video using a template.
  Generating Platform-Optimized Descriptions:** Creates relevant descriptions for posts by transcribing the final video audio.
  Automating Multi-Platform Publishing:** Uploads the final video and description to TikTok, Instagram, YouTube, Facebook, and LinkedIn simultaneously.
  Reducing Manual Workload:** Drastically cuts down the time and effort required for video production and distribution.
  Centralized Tracking:** Updates a Google Sheet with results, costs, and status for easy monitoring.

  How It Works

  Trigger & Input: Runs on a daily schedule (configurable) and fetches new video ideas from a designated Google Sheet.
  AI Content Generation:
      Uses OpenAI to generate video captions and image prompts based on the idea.
      Uses PiAPI (Flux) to generate images from prompts.
      Uses PiAPI (Kling) to generate video clips from the images (Image-to-Video).
      Uses OpenAI to generate a voiceover script based on the captions.
      Uses ElevenLabs to generate voiceover audio from the script and uploads it to Google Drive.
  Video Assembly: Combines the generated video clips, captions, and voiceover audio using a Creatomate template to render the final video.
  Description Generation: Uploads the final video to Google Drive, extracts the audio using OpenAI (Whisper), and generates a social media description using OpenAI (GPT).
  Multi-Platform Distribution: Uses upload-post.com to upload the final video and generated description to TikTok, Instagram, YouTube, Facebook, and LinkedIn.
  Tracking & Notification: Updates the original Google Sheet row with output details (video link, costs, tokens used) and sends a completion notification via Discord.

  Setup

  Accounts & API Keys: Obtain accounts and generate API keys/credentials for:
      n8n
      Google Cloud Platform (for Google Sheets & Google Drive APIs + OAuth Credentials)
      OpenAI
      PiAPI
      ElevenLabs
      Creatomate
      upload-post.com
      Discord (Webhook URL)
  Google Sheet: Make a copy of the provided Google Sheet Template and connect it in the Load Google Sheet node.
  Creatomate Template: Set up a video template in Creatomate (use the provided JSON source code as a base) and note its Template ID.
  Configure Nodes:
      Enter all API Keys/Credentials in the Set API Keys node and other relevant credential sections (Google nodes, upload-post nodes, etc.).
      Configure Google Drive nodes (Folder IDs, Permissions).
      Configure the upload-post.com nodes with your user identifier and necessary platform details (e.g., Facebook Page ID).
      Customize AI prompts within the OpenAI nodes (Generate Video Captions, Generate Image Prompts, Generate Script, Generate Description...) if desired.
      Set the Discord Webhook URL in the Notify me on Discord node.
  Enable Google APIs: Ensure Google Drive API and Google Sheets API are enabled in your Google Cloud Project.

  Requirements

  Accounts:** n8n, Google (Sheets, Drive, Cloud Platform), OpenAI, PiAPI, ElevenLabs, Creatomate, upload-post.com, Discord.
  API Keys & Credentials:** API Keys for OpenAI, PiAPI, ElevenLabs, Creatomate, upload-post.com. Google Cloud OAuth 2.0 Credentials. Discord Webhook URL.
  Templates:** A configured Google Sheet based on the template, a configured Creatomate video template.
  (Potentially) Paid Plans:** Some services (OpenAI, PiAPI, Creatomate, upload-post.com) may require paid plans depending on usage volume after free trials/credits are exhausted.

  Use this template to build a powerful, automated video content factory, scaling your production and distribution efforts across the social media landscape.

nodes_used:
  ["n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.code","n8n-nodes-base.wait","n8n-nodes-base.wait","n8n-nodes-base.wait","n8n-nodes-base.httpRequest","n8n-nodes-base.code","n8n-nodes-base.if","n8n-nodes-base.wait","@n8n/n8n-nodes-langchain.openAi","n8n-nodes-base.code","n8n-nodes-base.if","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.openAi","n8n-nodes-base.stickyNote","n8n-nodes-base.merge","@n8n/n8n-nodes-langchain.openAi","n8n-nodes-base.googleDrive","n8n-nodes-base.googleDrive","n8n-nodes-base.merge","n8n-nodes-base.httpRequest","n8n-nodes-base.discord","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.googleSheets","n8n-nodes-base.code","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.wait","n8n-nodes-base.httpRequest","n8n-nodes-base.googleDrive","n8n-nodes-base.httpRequest","n8n-nodes-base.googleDrive","n8n-nodes-base.googleSheets","n8n-nodes-base.set","n8n-nodes-base.stickyNote","n8n-nodes-base.if","@n8n/n8n-nodes-langchain.openAi","@n8n/n8n-nodes-langchain.openAi","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.stickyNote","n8n-nodes-base.readBinaryFile","n8n-nodes-base.writeBinaryFile"]

workflow_json_compressed:
  [encoded data, 17316 characters]

metadata_json:
[cell repeats an earlier one in this file: 210 characters]


name: Scrape business leads from Google Maps using OpenAI and Google Sheets
author_name: Dr. Firas
author_username: drfiras
categories: []
created_at: 2025-04-05T19:50:44.805Z
updated_at: 2025-04-05T19:50:44.805Z
url: https://n8n.io/workflows/3443
scraped_at: 2025-09-14 19:10:59
metadata_generated_at: 2025-09-30 08:33:37
description:
  Google Maps Data Extraction Workflow for Lead Generation

  This workflow is ideal for sales teams, marketers, entrepreneurs, and researchers looking to efficiently gather detailed business information from Google Maps for:

  Lead generation  
  Market analysis  
  Competitive research

  Who Is This Workflow For?

  Sales professionals** aiming to build targeted contact lists  
  Marketers** looking for localized business data  
  Researchers** needing organized, comprehensive business information  

  Problem This Workflow Solves

  Manually gathering business contact details from Google Maps is:

  Tedious  
  Error-prone  
  Time-consuming  

  This workflow automates data extraction to increase efficiency, accuracy, and productivity.

  What This Workflow Does

  Automates extraction of business data (name, address, phone, email, website) from Google Maps  
  Crawls and extracts additional website content  
  Integrates OpenAI to enhance data processing  
  Stores structured results in Google Sheets for easy access and analysis  
  Uses Google Search API to fill in missing information  

  Setup

  Import the provided n8n workflow JSON into your n8n instance.  
  Set your OpenAI and Google Sheets API credentials.  
  Provide your Google Maps Scraper and Website Content Crawler API keys.  
  Ensure SerpAPI is configured to enhance data completeness.  

  Customizing This Workflow to Your Needs

  Adjust scraping parameters:
    Location  
    Business category  
    Country code  
  Customize Google Sheets output format to fit your current data structure  
  Integrate additional AI processing steps or APIs for richer data enrichment  

  Final Notes

  This structured approach ensures:

  Accurate and compliant data extraction** from Google Maps  
  Streamlined lead generation  
  Actionable and well-organized data ready for business use  

  📄 Documentation: Notion Guide

  Demo Video

  🎥 Watch the full tutorial here: YouTube Demo

nodes_used:
  ["@n8n/n8n-nodes-langchain.chatTrigger","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.memoryBufferWindow","@n8n/n8n-nodes-langchain.toolWorkflow","@n8n/n8n-nodes-langchain.toolSerpApi","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.toolWorkflow","n8n-nodes-base.executeWorkflowTrigger","n8n-nodes-base.httpRequest","n8n-nodes-base.googleSheets","n8n-nodes-base.aggregate","n8n-nodes-base.stickyNote","n8n-nodes-base.httpRequest","n8n-nodes-base.googleSheets","n8n-nodes-base.aggregate","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 8060 characters]

metadata_json:
  {"categories":["automation","web scraping","data enrichment","lead generation","integration"],"complexity":"medium","use_cases":["Build targeted lead lists from Google Maps","Local market analysis and competitive research","Enrich and clean scraped business data using AI","Export and sync leads to Google Sheets for outreach"],"estimated_setup_minutes":20,"required_services":["SerpApi (Google Maps scraping) or Google Maps API","OpenAI (or another AI/ML provider)","Google Sheets (or compatible spreadsheets service)","Optional: webhook endpoint / HTTP receiver"],"key_features":["Automated Google Maps data extraction (business name, address, phone, ratings, etc.)","OpenAI-based data enrichment and normalization (cleaning, categorization, summaries)","Export and append results to Google Sheets","Aggregation and deduplication of results","Webhook/HTTP integration points and pagination support using memory buffer nodes"],"target_audience":["Sales teams","Marketers and growth teams","Entrepreneurs and small business owners doing outreach campaigns or market research teams"]}


name: Redis Locking for Concurrent Task Handling
author_name: Geoffrey Saxena
author_username: geffy
categories: []
created_at: 2025-04-06T08:12:44.136Z
updated_at: 2025-04-06T08:12:44.136Z
url: https://n8n.io/workflows/3444
scraped_at: 2025-09-14 19:11:02
metadata_generated_at: 2025-09-14 21:18:33
description:
  👤 Who is this for?

  This workflow is great for n8n users who want to prevent duplicate or overlapping workflow runs. If you're a developer, DevOps engineer, or automation enthusiast managing tasks like database updates, syncing tools, or hitting rate-limited APIs, this one’s for you.

  🧩 What problem does this solve?

  In the real world, automations can get triggered at the same time—whether that’s because of multiple webhook calls, overlapping schedules, or retries. And when two workflows try to do the same thing at once (like updating a record or syncing data), it can cause conflicts, data corruption, or wasted API calls.

  This workflow helps avoid that problem by using Redis as a lock system, so only one instance runs at a time. Think of it like putting up a “🚧 Workflow in Progress” sign while your logic is running.

  ⚙️ What this workflow does

  When the workflow starts, it tries to set a Redis key as a lock with a short expiry.
  If the lock is free:
     Your main business logic runs.
     Once it's done, the lock is cleared.
  If the lock is already taken (i.e., another run is in progress):
     The workflow will wait and retry a few times.
  If a duplicate request shows up while one is already being processed:
     It skips that duplicate to avoid unnecessary work.

  You can customize both the timeout and retry logic to match your needs.

  🛠️ Setup guide

  To use this template:

  You’ll need access to a Redis instance (either self-hosted or managed like Upstash, Redis Cloud, etc).
  Set up your Redis credentials in the n8n Redis node.
  Swap out the webhook node with your actual trigger or logic.
  Adjust the lock timeout to match how long your task typically takes.

  &gt; 💡 Bonus Tip: Use this pattern wherever you need idempotency or want to avoid duplicate processing.

  🧪 Example use case

  Let’s say you have a workflow that syncs ClickUp tickets to Google Sheets. It runs daily at 9 AM and updates tickets, adds notes, and makes sure nothing is missed.

  But what if two runs start at the same time? Or someone triggers a manual sync while the scheduled one is still working?

  By wrapping that whole sync inside this Redis locking template, you can make sure it only runs one at a time, saving your APIs (and your sanity).

nodes_used:
  ["n8n-nodes-base.noOp","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.webhook","n8n-nodes-base.code","n8n-nodes-base.redis","n8n-nodes-base.redis","n8n-nodes-base.if","n8n-nodes-base.if","n8n-nodes-base.wait","n8n-nodes-base.if","n8n-nodes-base.stickyNote","n8n-nodes-base.redis","n8n-nodes-base.stickyNote","n8n-nodes-base.switch","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  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

metadata_json:
  {"categories":["automation","integration","reliability","devops"],"complexity":"medium","use_cases":["Prevent duplicate or overlapping workflow runs","Ensure idempotent processing for webhooks and scheduled jobs","Protect against race conditions when updating shared resources (databases, sheets, etc.)","Throttle concurrent access to rate-limited APIs","Coordinate distributed workers or tasks using a centralized lock"],"estimated_setup_minutes":15,"required_services":["Redis (self-hosted or managed e.g., Upstash, Redis Cloud)","Any downstream APIs/services your workflow will call (e.g., ClickUp, Google Sheets) — optional"],"key_features":["Distributed locking using Redis keys with expiry","Configurable lock timeout and retry/wait logic","Skips duplicates when a lock is held to avoid wasted work","Simple drop-in pattern to wrap existing webhook/schedule triggers","Works with common n8n nodes (Redis, Set, If, Switch, Code) for flexible logic"],"target_audience":["Developers","DevOps engineers / SREs","Automation engineers / n8n users building integrations"]}


name: Convert n8n tags into folders and move workflows
author_name: Zacharia Kimotho
author_username: imperolq
categories: []
created_at: 2025-04-06T08:40:16.391Z
updated_at: 2025-04-06T08:40:16.391Z
url: https://n8n.io/workflows/3445
scraped_at: 2025-09-14 19:11:03
metadata_generated_at: 2025-09-14 21:18:33
description:
  N8n recently introduced folders and it has been a big improvement on workflow management on top of the tags.

  This means the current workflows need to be moved manually to the folders. 

  The simplest idea to try is to convert the current tags into folders and move all the current workflows within the respective tags into the folders

  This assumes the tag name will be used as the folder name.

  To Note

  For workflows that use more than 1 tag, the workflow will be assigned the last tag that runs as the folder. 

  How does it work
  I took the liberty of simplifying the setup of this workflow that will be needed on your part and also be beginner-friendly 

  Copy and paste this workflow into your n8n canvas. You must have existing workflows and tags before you can run this
  Set your n8n login details on the node set Credentials with the n8n URL, username, and password.
  Setup your n8n API credentials on the n8n node get workflows
  Run the workflow. This opens up a form where you can select the number of tags to move and click on submit
  The workflow responds with the successful number of workflows that were imported 


  Read more about the template

  Built by Zacharia Kimotho - Imperol

nodes_used:
  ["n8n-nodes-base.set","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.splitOut","n8n-nodes-base.filter","n8n-nodes-base.httpRequest","n8n-nodes-base.splitOut","n8n-nodes-base.removeDuplicates","n8n-nodes-base.splitInBatches","n8n-nodes-base.n8n","n8n-nodes-base.httpRequest","n8n-nodes-base.set","n8n-nodes-base.limit","n8n-nodes-base.httpRequest","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.filter","n8n-nodes-base.set","n8n-nodes-base.formTrigger","n8n-nodes-base.code","n8n-nodes-base.if","n8n-nodes-base.if","n8n-nodes-base.set","n8n-nodes-base.form","n8n-nodes-base.set","n8n-nodes-base.form","n8n-nodes-base.set","n8n-nodes-base.splitOut","n8n-nodes-base.set","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 7088 characters]

metadata_json:
  {"categories":["automation","migration","workflow management"],"complexity":"medium","use_cases":["Convert existing tags into folders in n8n","Bulk-move workflows into folders based on their tags","Cleanup and organize n8n workflows","Migrate tagging system to folder-based structure"],"estimated_setup_minutes":10,"required_services":["n8n instance (cloud or self-hosted) with API access","n8n credentials (username/password)"],"key_features":["Creates folders named after existing tags","Moves workflows into corresponding folders","Handles workflows with multiple tags by assigning the last processed tag as folder","Interactive form to select number of tags to process","Reports count of successfully moved workflows"],"target_audience":["n8n users","Automation engineers","DevOps/sysadmins managing n8n instances (beginner-friendly)"]}


