# templates

name: Automate Customer Support Issue Resolution using AI Text Classifier
author_name: Jimleuk
author_username: jimleuk
categories: []
created_at: 2024-10-17T12:00:39.983Z
updated_at: 2024-10-17T12:00:39.983Z
url: https://n8n.io/workflows/2468
scraped_at: 2025-09-14 11:38:22
description:
  This n8n template is designed to assist and improve customer support team member capacity by automating the resolution of long-lived and forgotten JIRA issues.

  How it works

  Schedule Trigger runs daily to check for long-lived unresolved issues and imports them into the workflow.
  Each Issue is handled as a separate subworkflow by using an execute workflow node. This allows parallel processing.
  A report is generated from the issue using its comment history allowing the issue to be classified by AI - determining the state and progress of the issue.
  If determined to be resolved, sentiment analysis is performed to track customer satisfaction. If negative, a slack message is sent to escalate, otherwise the issue is closed automatically.
  If no response has been initiated, an AI agent will attempt to search and resolve the issue itself using similar resolved issues or from the notion database. If a solution is found, it is posted to the issue and closed.
  If the issue is blocked and waiting for responses, then a reminder message is added.

  How to use

  This template searches for JIRA issues which are older than 7 days which are not in the "Done" status. Ensure there are some issues that meet this criteria otherwise adjust the search query to suit.
  Works best if you frequently have long-lived issues that need resolving.
  Ensure the notion tool is configured as to not read documents you didn't intend it to ie. private and/or internal documentation.

  Requirements

  JIRA for issues management
  OpenAI for LLM
  Slack for notifications

  Customising this workflow

  Why not try classifying issues as they are created? One use-case may be for quality control such as ensuring reporting criteria is adhered to, summarising and rephrasing issue for easier reading or adjusting priority.

nodes_used:
  ["@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.jira","n8n-nodes-base.jira","n8n-nodes-base.jira","n8n-nodes-base.aggregate","n8n-nodes-base.jira","n8n-nodes-base.jira","n8n-nodes-base.set","n8n-nodes-base.if","n8n-nodes-base.jira","n8n-nodes-base.if","@n8n/n8n-nodes-langchain.outputParserStructured","n8n-nodes-base.set","n8n-nodes-base.slack","n8n-nodes-base.jira","n8n-nodes-base.jira","n8n-nodes-base.stickyNote","n8n-nodes-base.executeWorkflow","n8n-nodes-base.executeWorkflowTrigger","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.sentimentAnalysis","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.chainLlm","n8n-nodes-base.stickyNote","n8n-nodes-base.jiraTool","n8n-nodes-base.notionTool","n8n-nodes-base.slack","@n8n/n8n-nodes-langchain.textClassifier"]

workflow_json_compressed:
  [encoded data, 9968 characters]


name: Nightly n8n backup to Google Drive
author_name: Jeyson Orozco
author_username: jeyson-orozco
categories: []
created_at: 2024-10-18T23:12:10.766Z
updated_at: 2024-10-18T23:12:10.766Z
url: https://n8n.io/workflows/2469
scraped_at: 2025-09-14 11:38:23
description:
  Description
  This template creates a nightly backup of all n8n workflows and saves them to a Google Drive folder. Each night, the previous night's backups are moved to an “n8n_old” folder and renamed with the corresponding date.

  Backups older than a specified age are automatically deleted (this feature is active for 30 days, you can remove it if you don't want the backups to be deleted).

  Prerequisites

  Google Drive account and credentials Get from the following link. Link
  n8n version from v 1.63.4 to 1.70.1 or higher
  N8n api key Guide from the following link. Link
  A destination folder for backups:
  “n8n_old”
  “n8n_backups”
  (if it doesn't exist, create it)

  Configuration
  Update all Google Drive nodes with your credentials.
  Edit the Schedule Trigger node with the desired time to run the backup.

  If you want to automatically purge old backups.
  Edit the “PURGE DAYS” node to specify the age of the backups you want to delete.
  Enable the “PURGE DAYS” node and the 3 subsequent nodes.
  Enable the workflow to run on the specified schedule.

  Last updated
  January 2025

nodes_used:
  ["n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.moveBinaryData","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.filter","n8n-nodes-base.googleDrive","n8n-nodes-base.googleDrive","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.googleDrive","n8n-nodes-base.code","n8n-nodes-base.if","n8n-nodes-base.if","n8n-nodes-base.googleDrive","n8n-nodes-base.merge","n8n-nodes-base.googleDrive","n8n-nodes-base.stickyNote","n8n-nodes-base.googleDrive","n8n-nodes-base.googleDrive","n8n-nodes-base.stickyNote","n8n-nodes-base.itemLists","n8n-nodes-base.splitInBatches","n8n-nodes-base.splitInBatches","n8n-nodes-base.n8n","n8n-nodes-base.googleDrive","n8n-nodes-base.googleDrive","n8n-nodes-base.itemLists","n8n-nodes-base.splitInBatches","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.scheduleTrigger"]

workflow_json_compressed:
  [encoded data, 5760 characters]


name: create single new masked email address with fastmail
author_name: Vitali
author_username: vquie
categories: []
created_at: 2024-10-19T18:36:55.889Z
updated_at: 2024-10-19T18:36:55.889Z
url: https://n8n.io/workflows/2471
scraped_at: 2025-09-14 11:38:24
description:
  Template Description
  This n8n workflow template allows you to create a masked email address using the Fastmail API, triggered by a webhook. This is especially useful for generating disposable email addresses for privacy-conscious users or for testing purposes.

  Workflow Details:
  Webhook Trigger: The workflow is initiated by sending a POST request to a specific webhook. You can include state and description in your request body to customize the masked email's state and description.
  Session Retrieval: The workflow makes an HTTP request to the Fastmail API to retrieve session information. It uses this data to authenticate further requests.
  Create Masked Email: Using the retrieved session data, the workflow sends a POST request to Fastmail's JMAP API to create a masked email. It uses the provided state and description from the webhook payload.
  Prepare Output: Once the masked email is successfully created, the workflow extracts the email address and attaches the description for further processing.
  Respond to Webhook: Finally, the workflow responds to the original POST request with the newly created masked email and its description.

  Requirements:
  Fastmail API Access**: You will need valid API credentials for Fastmail configured with HTTP Header Authentication.
  Authorization Setup**: Optionally set up authorization if your webhook is exposed to the internet to prevent misuse.
  Custom Webhook Request**: Use a tool like curl or create a shortcut on macOS/iOS to send the POST request to the webhook with the necessary JSON payload, like so:
    
      curl -X POST -H 'Content-Type: application/json' https://your-n8n-instance/webhook/87f9abd1-2c9b-4d1f-8c7f-2261f4698c3c -d '{"state": "pending", "description": "my mega fancy masked email"}'
    
  This template simplifies the process of integrating masked email functionality into your projects or workflows and can be extended for various use cases.

  Feel free to use the companion shortcut I've also created. Please update the authorization header in the shortcut if needed.

  https://www.icloud.com/shortcuts/ac249b50eab34c04acd9fb522f9f7068

nodes_used:
  ["n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.respondToWebhook","n8n-nodes-base.stickyNote","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.webhook"]

workflow_json_compressed:
  H4sIAAAAAAAAE8VY+4/bNhL+VwjlgL0LTK/eDwNFsU1aJAXyQLJ3ucN6gaXIkc2uTKoitY678P9+GEq2Za/zOLTA/WSLGs58M/PNDKlHbwWWebNHTypjmeLwWngzz49ZmcSFyMuyjKMEeBSVeQAxhEWRJjxOeZVWflVAxipIo8AP8jKBKOY5ABNJ7m0nntICjDe7efQkqiwqUVaCBzTNqojGPC9pngacFpDksV/6fgjcm3iKrcCbeR/BGKmVN/HspsEFlSvqNNKSGZgurW0+wO8dGOtNvEYbaVF8dpPl/iTy/duJ17CWrcBCa9C9rq29mYfbzOzykjVyWjFjV0zWU65Xl7+tWHNp9kZ1g+pw43bisc4uQVnJWW/DW4CCVvIXLQhcZ/U1Ypzs1q86u7zuUaO9V8AEtLiIUeH7TQ7WicBsCNZPn+7L+8+Lly/j5f2HFw/mEJhfBtTkDTP3IMjP9A0+XQnRgjFgvO22j9m/oHXOzOJpuJ0MesMgEUVaMZqWgtEYck7zPGYUyoLlovTzKK8OtngLzAJpmRJ6RVa9QUDr35kXpS1S4Mthn66hrum90mvlUjBXc/W9ORolPQj/RNZZIy+9CdbBUmOM3r/7eH1Kgd+MVj9psfFm3g+Pc0XI3OuMVIu5NyM3+OxWWjWTYKuZw2BmqH3GdQtzb7KT2UFZr9fHUAQ8XPYRdgGee7jjdtLb6rG9YHVtRhaHHxToyfAz7rw0YPcGCXnc/UExxrnulH0tUMvce3wkf/v7xVBqF/+YSgurKbo6bVq5Yu3mqpc3Nxffi/vilmy3I/NotacRmhyBcW4dUL8WwRMBFBFgeCtdKg6YHcTRm1OT/VZjB6ujTW7NiY+lt4eH/d/t5BBdHuzkb11W5mo7RwYaUKJnhW076J/7Yjb7pQa4rDYDdxCD91c2lIm3dA/vj1g/roGbx101v9DKgrJ00P3A6g6XWdPUA5JLh297u/3/96koq9KkSGmVi4rGPAwoCytG4xiKKGFZKJL0YOsDmEYrQawmn6Bcan3/xf7U9qLX+iA47iO5f76PHDWDQccniYHwLHzGVtcvGth3iYFyZLv1Tj0NpsHe0zQtCijziLI4ABrHJadlFIU0yyD2s6qMkjgcjUUr+f2GvNUWvuiicTKDyMi5OPUncf7Ut7UU6EiQJvE0D/0oCuMkC5IoRHLJxdJ6szgLplkSR36c+UkQRGk28XhPJ2/mPXv2jFzDqqmxtl6OClZdL6UhKldkrdv7qtZrYndyrK712pCN7jBtw6RhR0OGsJ4sxLVaYpdA9qy6ev96QmwrFwtoQZByQxhZ9ymdEmdWGgKu+lhdb0hnoOpqUumWuKJiFlUKaRptWFnDsUUwTrJp5QPjG8q1MlzqDpFAa4hu3WsLxmlpurbRBswUp9czjMannbsvwTJZm9lcBVPy/PlAOnLdA3/+fEaul3CIDsJW0kpme5+woaAFRnAokbYfrBgwRvrOIvnB7f/ojnCmiFS87gSQO9ft7ghTgtyN2uUdkQoD3+4VllpsXBo6Y/VK/gEu2ONcXBjS905UNtI1nasQPRuGCPkAtpXwwOonvq3YPRjCFHl1ff1+7MppXnGt7dUAGcY9karS7cp1qSl5bTERhljMs2CWuYgcmiqQqmvtEvYOYmoihPmi59muJ6FJBPrPPcF2hsXeMuqfuHd7VzAt5kxSdl5cGPLrm6v3O2fOknvsBZCm1Q9SoNVzQSZVq1c9hIFADdvUmonpXMXo1vsWGtYCedfZprPo0TvFnyYR+WU6zsGYqsOq6JGJE/fgs20Ztz2y40pEYMxaxpcD8COUWBdD4JtWoxmpFtO5ShDj0yaNOH+RCuvzBMHQYc2OHrqVCxQ8jvha2qV7rWB9cOakhShBpDUnlB3KFA+qsoUVKIslSsnz50dEvHKhQphYWmtZ10QBCPLAaimcxGhKOvf327lWlVx02JscTEf6foCSq6PxP+0N46Ju5R9ujXwE2zUujw6ya2EGLOkax/ODoKz6St4RA7veZ+xGYhc7qSy0ChxBmxYeQFmykqYzMFh+4Yp+lxQynN77skDWWq1rUst7IHe8a+s7bH97Spulbi3vLNGKrBh/9/FSvvuIprBGnP3TIhnTeJRBjDRrN+TXj+/e7ug96c0aPXPHYEXI3d1dycwS/yIWQv/d66evyMX4fDMjp8eaC7I7wmK8KM7M3Y33coBzmWdVwUoR0JAXJY1FUNGcZxUNwzSo4rTIecQJFeTi8eh02fRdeu5Nzh1YVxuyggUjFVN8c0TOube9GJya74blfj4auWpqWclDg8AIEV25hC6GAXbE9apTvGeLtBsU0z03mlb/BljPut2XWF/KOC1KwIIHhd0HKfzA2t2oI5zhWHt6ftmfXnyeiFQkjDLhVzROAqCFnyU08P2C52WVhcHo9LIASyoJteiLxZHoa5d8AyeX+8D/nvMZM0YulKtqfHf0uPsakWd+WfqRoDzNQhoXIqVFmoQ0YX4YRWWQQjkC7pJ9gGlsK9VidIb+ob9JDSV0dJPC0TpcO378cUyW/mA4wGG8KOOE+TTPk4rGeRnS0gdOIcp5Vvi578fJAc6IY38C1Lh1O2jXWKEPkpG3uRrw3T45pUfTeI+6hKxkRZZT3xcZjasyoAUEJYWoyqMwTyCtygPqZhhS2g2p/yHpSfwXJT0omF/kYUgzBj6N8zymRVCElKeQlDyKiojlB7wnHzrOx9eFs7+efxhuAObGv70JbqfDPJoe33Knfa0eJR9yFlQQ08gPfBqLMqeM5TmtUj+LOYPI99Pj5H9v7r9QcEdcOL5HfyvlQvhBnOcFzQMoacyKmOZ5CjSuwM9jnvhxNfqA9K3b2PrcJeyQ7uH1675gv92bvVOGNMxd0fpMjL6RnH7ewdHw5uT7z+5C90YLRL57fIuPpxEKt7fuQqSA77Tuv2DOHr0Vk+gYXsV7Zd9shG7HxJNKwGdv5m9vb7eTfTTPaXzyvfSshpMSPKfoa3fpszq/5Ms55d/zQfGska9sPGfnS63mjO7t9r8zZaz2AxcAAA==


name: Generate SEO Seed Keywords Using AI
author_name: simonscrapes
author_username: simonscrapes
categories: []
created_at: 2024-10-20T15:48:43.894Z
updated_at: 2024-10-20T15:48:43.894Z
url: https://n8n.io/workflows/2473
scraped_at: 2025-09-14 11:38:22
description:
  What this workflow does:
  This flow uses an AI node to generate Seed Keywords to focus SEO efforts on based on your ideal customer profile. You can use these keywords to form part of your SEO strategy.

  Outputs:
  List of 20 Seed Keywords

  Setup
  Fill the Set Ideal Customer Profile (ICP)
  Connect with your credentials
  Replace the Connect to your own database with your own database

  Pre-requisites / Dependencies
  You know your ideal customer profile (ICP)
  An AI API account (either OpenAI or Anthropic recommended)

  More templates and n8n workflows &gt;&gt;&gt; @simonscrapes

nodes_used:
  ["n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.lmChatAnthropic","n8n-nodes-base.splitOut","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.set","n8n-nodes-base.aggregate","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.noOp","n8n-nodes-base.stickyNote","n8n-nodes-base.manualTrigger"]

workflow_json_compressed:
  [encoded data, 4200 characters]


name: Get Google Search Results (SERPs) for SEO Research
author_name: simonscrapes
author_username: simonscrapes
categories: []
created_at: 2024-10-20T16:18:22.066Z
updated_at: 2024-10-20T16:18:22.066Z
url: https://n8n.io/workflows/2475
scraped_at: 2025-09-14 11:38:22
description:
  Use Case
  Research search engine rankings for SEO analysis:
  You need to track keyword rankings for your website
  You want to analyze competitor positions in search results
  You need data for SEO competition analysis
  You want to monitor SERP changes over time

  What this Workflow Does
  The workflow uses ScrapingRobot API to fetch Google search results:
  Retrieves SERP data for your target keywords
  Captures URL rankings and page titles
  Processes up to 5000 searches with free account
  Organizes results for SEO analysis

  Setup
  Create a ScrapingRobot account and get your API key
  Add your ScrapingRobot API key to the HTTP Request node's GET SERP token parameter
  Either connect your keyword database (column name "Keyword") or use the "Set Keywords" node
  Configure your preferred output database connection

  How to Adjust it to Your Needs
  Modify keyword source to pull from different databases
  Adjust the number of SERP results to capture
  Customize output format for your reporting needs


  More templates and n8n workflows &gt;&gt;&gt; @simonscrapes

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

workflow_json_compressed:
  [encoded data, 4636 characters]


name: Convert URL HTML to Markdown Format and Get Page Links
author_name: simonscrapes
author_username: simonscrapes
categories: []
created_at: 2024-10-20T16:36:31.794Z
updated_at: 2024-10-20T16:36:31.794Z
url: https://n8n.io/workflows/2476
scraped_at: 2025-09-14 11:38:23
description:
  Use Case
  Transform web pages into AI-friendly markdown format:
  You need to process webpage content for LLM analysis
  You want to extract both content and links from web pages
  You need clean, formatted text without HTML markup
  You want to respect API rate limits while crawling pages

  What this Workflow Does
  The workflow uses Firecrawl.dev API to process webpages:
  Converts HTML content to markdown format
  Extracts all links from each webpage
  Handles API rate limiting automatically
  Processes URLs in batches from your database

  Setup
  Create a Firecrawl.dev account and get your API key
  Add your Firecrawl API key to the HTTP Request node's Authorization header
  Connect your URL database to the input node (column name must be "Page") or edit the array in Example fields from data source
  Configure your preferred output database connection

  How to Adjust it to Your Needs
  Modify input source to pull URLs from different databases
  Adjust rate limiting parameters if needed
  Customize output format for your specific use case


  More templates and n8n workflows &gt;&gt;&gt; @simonscrapes

nodes_used:
  ["n8n-nodes-base.manualTrigger","n8n-nodes-base.wait","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.noOp","n8n-nodes-base.noOp","n8n-nodes-base.set","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.limit","n8n-nodes-base.splitInBatches","n8n-nodes-base.set","n8n-nodes-base.splitOut","n8n-nodes-base.httpRequest","n8n-nodes-base.stickyNote"]

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


name: Mark outdated workflow nodes on canvas and send a summary with Gmail (add-on)
author_name: Mario
author_username: octionic
categories: []
created_at: 2024-10-21T13:24:50.985Z
updated_at: 2024-10-21T13:24:50.985Z
url: https://n8n.io/workflows/2477
scraped_at: 2025-09-14 11:38:24
description:
  This is an add-on for the template Check if workflows contain build-in nodes that are not of the latest version

  Purpose

  This workflow highlights outdated nodes within all workflows of a single n8n instance and places an updated preconfigured node right next to it, so it can be swapped easily.

  How it works

  The parent workflow checks the entire n8n instance for outdated nodes within all workflows and passes a list of those alongside some metadata to this workflow
  This workflow then processes that data and updates the affected workflows
  Outdated nodes are renamed by prepending an emoji (default: ⚠️) - this is also used for future checks to prevent from double-processing
  The latest version of each outdated node is added to the workflow canvas (not wired up) behind the old one, slightly shifted in position
  An Email is sent with a list of modified workflows

  In the settings it is possible to define:

  which symbol/emoji should be prepended to outdated notes
  whether to include only major node updates or all of them
  whether to add the new nodes to the canvas or not

  Setup

  Clone this template to your n8n instance
  Update the Settings node by setting at least the base URL of your n8n instance
  Set a recipient in the Gmail node
  Clone the parent template to your n8n instance and configure it as described in it’s description
  Add an “Execute Workflow” node to the end of the parent workflow and configure it, so it calls this workflow

  How to use

  Execute the parent workflow and check your Email Inbox.

  All linked workflows should contain one or more updated nodes with an emoji prepended to their names.

  Disclaimer

  Beware, that major updates can cause migrations of nodes to fail, since their structure can differ. So always compare the old nodes with the newly created, if all parameters still meet the requirements.

  Be careful when executing this workflow on a production environment, since it directly modifies your workflows. It is advisable to run this on your testing environment and migrate successfully tested workflows to your production environment using git or manually.

nodes_used:
  ["n8n-nodes-base.executeWorkflowTrigger","n8n-nodes-base.stickyNote","n8n-nodes-base.set","n8n-nodes-base.gmail","n8n-nodes-base.n8n","n8n-nodes-base.n8n","n8n-nodes-base.code","n8n-nodes-base.noOp","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"]

workflow_json_compressed:
  [encoded data, 4444 characters]


name: Send a message via a Lark Bot
author_name: Hiroshi
author_username: hiroshi
categories: []
created_at: 2024-10-22T04:15:35.750Z
updated_at: 2024-10-22T04:15:35.750Z
url: https://n8n.io/workflows/2478
scraped_at: 2025-09-14 11:38:24
description:
  What this workflow does
  This workflow in n8n demonstrates how to send a message in Lark using a Lark bot. It begins with a manual trigger and then retrieves the necessary Lark token via a POST request. The token is used to authenticate and send a message to a specific chat using the Lark API. The input node provides the required app_id, app_secret, chat_id, and message content. After obtaining the token, the message is sent with the Lark API's message/v4/send/ endpoint.

  Who This Is For
  This n8n workflow is ideal for organizations, teams, and developers who need to automate message sending within Lark, especially those managing notifications, alerts, or team reminders. It can help users reduce manual messaging tasks by leveraging a Lark bot to deliver messages at specific intervals or based on particular conditions, enhancing team communication and responsiveness.

  Setup
  Fill the Input node with your values
  Exchange the bearer token in the Send Message node with your token

  Author: Hiroshi

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

workflow_json_compressed:
  H4sIAAAAAAAAE6VW7W7bNhR9FYEY0A0QbYmiJErAfjRF0QZt04943dYkCPhxaauRKVWi0niGgT7G9np9koGSEjupk6Kbf1nk0b333HvIozUqFMrR4ce379RRRw7t5yPz7CVBPlqC5Shfo8K0lhsJhw4XsjSKecyyMM6SlGiRKaGYSHQWRyoArSRnjIVxKiPBBEkyGmkRQACpDEEJgXxkYVmX3MKTBlR7DLarn1TLugQLCuW26WDjI8OXgHJ0siiaql0UqpgXlpcTWS3PvGMwynsFbcvn4B0a7yVvLtqusOBi83mL8pP1QCpLXojfDItXK/axuFxpdBP4SQPcVg3ykXT/QD22KEckIBSHASZkFtCckDyiE5pEH5CPulp9H7Y585GpFOyWoBWLmIhwyHSKaRAnWAiRYcbdDo3iLBDbsn5fgPFkWciLwsy9r1/+nkFrvc9Vc6HL6vPXL/84iqvaQQ0zuM+FBW9hsuSm4+WsKeZzcLTqqi1sURmUnxAa+IQEZz6qecOXYKFpUb7eDKHeQ9P2uHDjjzWnXHNKOcGEgcQUIoU5EwrzJEpJmFAGgmxrfga2H4E3qy7A3Fvgwtr6HXzqoLW3y0v2l4e6pkQ5cq+1+XRa1WAm5fWknRD6Jczrop3yzi6ml9HUguHGnnMpoW3PratnWhgLjeHlIOhF5Qi+eX08Qz6qalfC2IuPbWUOKrVCOfp1fWo87xTxuj4v1CnKvVO0Xns/OchkWPQ2m1Pkb2EtyAbsHuiw0cNPzcZDPmrBqCGR0/rw/By46mmPSzXIQq/Gclws5KNFj3lzq0e7HTtZ34i7MhaMxTM3CB9d8rJzy7yuy0Jyx3nax9ycbe6KgE62MqAQaiVAY8FYiCmNJc4CCTiLhcxESuM03ZHBoak7e+/0W7gzdXrP1G/NhLdtMTdLMLbfu/V4fcAiQoSTKwYgHFOlNBYpTXGgUx3RIAaS0W2Vw/S2Zba2Kcx8p0myLM6ZVCLIFEgSJ5LTAN20RDLNuSAEkygWmIZEYqYkwyykRCZAIJB3kg3zfyDh8/j46YeGvU7Sv7pP6lAdvDh+s5hdVPD04Mm7oxXdJg9JqKVOCSY8jDANGME8SQSmqYoToShP0nibXC64fZhqJc9DlaUAWSa0VhIIjXgWCwoCIqVAp3yHuWsz1REGLlNMZUAxEwQwkwHEQRgKGcI2uYWrhzhfH+pvb/fpPlFGE3pTR0Z4QgA0hvFuCrFIA8CcBUqxSEVC8G0dx7aQFyvvqBrMYb80e8wI2VFoxAKffitQORwulKM/q86T3HhzsN54K3CjvJ1TXwzm5C2ggdx74CpD91/GmVSQ0JjglJAQU0UjnEHCMNc8DbQCIUm6l3D4w4zT5AcYj/p6iBWvCwxXdVk10DxEkaWKSEkynEQhw1SLFAsaBVhTwUic0CyMoh2KO/b/427D/r/bLIfc00s6dXf39D84y9i8rV/8/Ki/Px/9MiksLCe9fVx3eMdqlu383BEeXnSn7GZrnJLb6ZO43zXkoSwOMdqT521OzWafRe3zI2e6YOzoKChHczDQFNJ91rl1Xo7+M64/7uxiNgzLtXmwPLfolCFvXuqncQeQj0Jpm4P35av3b+vuQ2PNH2YrigHsDeH2mdqZj7i0xSWgXPOy7X3X2sLM+3xwBbJzNF43ChqUo8vQVXU5ROg/fEHqTMqU4ozzBFPNA+eLKdY0VJKmOk4i54ayMgbk9fRHV8zXaMkLJz9n0pV66LOpB/qoMAquUB5szs42/l3wvnj7j8XeaN//ytyX4I7B74m82fwLFldSDk0MAAA=


name: Automate Droplet Snapshots on DigitalOcean
author_name: Darryn Balanco
author_username: optimus01
categories: []
created_at: 2024-10-23T13:17:02.170Z
updated_at: 2024-10-23T13:17:02.170Z
url: https://n8n.io/workflows/2485
scraped_at: 2025-09-14 11:38:24
description:
  This workflow automates the management of DigitalOcean Droplet snapshots by listing all droplets, filtering based on the number of snapshots, and deleting excess snapshots before creating new ones. It ensures your droplet snapshots stay organized and within a manageable limit, preventing unnecessary storage costs due to an excess of snapshots.

  Who is this for?
  This workflow is perfect for users managing DigitalOcean Droplets and looking to automate the process of snapshot creation and cleanup to save on storage costs and maintain efficient resource management. It’s useful for DevOps teams, cloud administrators, or any developer leveraging DigitalOcean for their infrastructure.

  What problem is this workflow solving?
  When managing multiple DigitalOcean Droplets, snapshots can quickly accumulate, taking up space and increasing storage costs. Manually deleting and creating snapshots can be time-consuming and inefficient. This automation solves this problem by automating the snapshot management process, ensuring that no more than a defined number of snapshots are kept per droplet.

  What this workflow does
  Runs every 48 hours: The workflow is triggered by a cron node that runs every 48 hours, ensuring timely snapshot management.
  List all droplets: The workflow retrieves all droplets in the DigitalOcean account.
  Retrieve snapshots: For each droplet, the workflow retrieves a list of existing snapshots.
  Filter snapshots: If the number of snapshots exceeds 4, the workflow filters for snapshots that need to be deleted.
  Delete snapshots: Excess snapshots are automatically deleted based on the filter criteria.
  Create new snapshot: After cleaning up, the workflow creates a new snapshot for each droplet, ensuring that backups are always up-to-date.

  Setup
  DigitalOcean API Key: You’ll need to configure the HTTP Request nodes with your DigitalOcean API key. This key is required for authenticating requests to list droplets, retrieve snapshots, delete snapshots, and create new ones.
  Snapshot Threshold: By default, the workflow is set to keep no more than 4 snapshots per droplet. This can be adjusted by modifying the filter node conditions.
  Set Execution Frequency: The cron node is set to run every 48 hours, but you can adjust the timing to suit your needs.

  How to customize this workflow
  Adjust Snapshot Limit**: Change the value in the filter node if you want to keep more or fewer snapshots.
  Modify Run Frequency**: The workflow runs every 48 hours by default. You can change the frequency in the cron node to run more or less often.
  Enhance with Notifications**: You can add a notification node (e.g., Slack or email) to alert you when snapshots are deleted or created.

  Workflow Summary
  This workflow automates the management of DigitalOcean Droplet snapshots by keeping the number of snapshots under a defined limit, deleting the oldest ones, and ensuring new snapshots are created at regular intervals.

nodes_used:
  ["n8n-nodes-base.filter","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.cron","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"]

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


name: Automated Notion Task Reminders via Slack
author_name: Darryn Balanco
author_username: optimus01
categories: []
created_at: 2024-10-23T15:12:58.135Z
updated_at: 2024-10-23T15:12:58.135Z
url: https://n8n.io/workflows/2488
scraped_at: 2025-09-14 11:38:24
description:
  This workflow is designed to automate task reminders by retrieving tasks from a Notion database and sending reminders to Slack users. It checks for incomplete tasks from a Notion database and sends a Slack message to the relevant users with the task details and due dates. The automation is scheduled to run every weekday at 9:00 AM, ensuring that users are always reminded of pending tasks.

  Who is this for?
  This workflow is ideal for teams or individuals who manage their tasks using Notion but rely on Slack for communication. It provides an automated solution for ensuring that tasks in Notion are followed up on, reducing the risk of missing deadlines.

  What problem is this workflow solving?
  Often, team members need to be reminded of tasks from various platforms. This workflow bridges the gap between task management in Notion and communication in Slack by automatically sending task reminders. It ensures that team members are informed of their pending tasks each morning, helping them stay organized and on top of their work.

  What this workflow does
  Triggers every weekday at 9:00 AM: The workflow runs at 9:00 AM, Monday through Friday.
  Fetches tasks from Notion: It retrieves tasks from a Notion database.
  Filters incomplete tasks: The workflow filters tasks that are not marked as "Done."
  Fetches Slack users: It retrieves all Slack users to ensure that the reminders are sent to the correct user.
  Matches tasks to the correct user: It checks the Notion task assignee and matches it with the appropriate Slack user.
  Sends Slack reminders: Sends a Slack direct message to each user with their incomplete tasks and due dates.

  Setup
  Connect Notion: You will need to connect your Notion account and specify the database containing tasks.
  Connect Slack: Authenticate with Slack using OAuth to allow the workflow to send messages on your behalf.
  Notion user email mapping: Ensure that the Notion users’ email addresses are correctly mapped to their corresponding Notion user profiles.
  Slack user full name mapping: Ensure that the Slack users’ full names are correctly mapped to their corresponding Slack user profiles.
  Adjust schedule: If needed, modify the schedule node to run at a different time or frequency.

  How to customize this workflow
  Change the database**: You can adjust the workflow to pull tasks from a different Notion database by modifying the "Get To Dos from Tasks Database" node.
  Add more users**: The workflow currently supports two users, but you can expand it to support more by adding additional logic in the "Switch for Notion Users Emails" node.
  Modify the message format**: The Slack message content can be customized further to include more task details or change the message format.

  Workflow Summary
  This workflow automates sending task reminders from a Notion database to Slack users. By running every weekday morning, it ensures that users receive timely reminders of their incomplete tasks, helping them stay organized and efficient.

nodes_used:
  ["n8n-nodes-base.filter","n8n-nodes-base.slack","n8n-nodes-base.notion","n8n-nodes-base.cron","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.slack","n8n-nodes-base.slack","n8n-nodes-base.switch","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.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 5516 characters]


name: Build an endpoint to perform CRUD operations with multiple HTTP methods
author_name: Giulio
author_username: gandreini
categories: []
created_at: 2024-10-23T16:32:21.930Z
updated_at: 2024-10-23T16:32:21.930Z
url: https://n8n.io/workflows/2490
scraped_at: 2025-09-14 11:38:23
description:
  This n8n workflow template allows you to create a CRUD endpoint that performs the following actions:

  Create a new record
  Get a record
  Get many records
  Update a record
  Delete a record

  This template is connected with Airtable but you can replace the Airtable nodes with anything you need to interact with (e.g. Postgres, MySQL, Notion, Coda...).

  The template uses the n8n Webhook node setting 'Allow Multiple HTTP Methods' to enable multiple HTTP methods on the same node.

  Features

  Just two nodes to create 5 endpoints
  Use it with Airtable or replace the Airtable nodes for your own customization
  Add your custom logic exploiting all n8n's possibilities

  Workflow Steps

  Webhook node**: exposes the endpoints to get many records and create a new record
  Webhook (with ID) node**: exposes the endpoints to get, update, and delete a record. Due to a n8n limitation, this endpoint will have an additional code in the path (e.g. https://my.app.n8n.cloud/webhook/580ccc56-f308-4b64-961d-38323501a170/customers/:id). Keep this in mind when using these endpoints in your application
  Various Airtable nodes**: execute various specific operations to interact with Airtable records

  Getting Started

  To deploy and use this template:

  Import the workflow into your n8n workspace
  Customize the endpoint paths by tweaking the 'Path' parameters in the 'Webhook' and 'Webhook (with ID)' nodes (currently customers)
  Set up your Airtable credentials by following this guide and customize the Airtable nodes by selecting your base, table, and the correct fields to update. ...or... replace the Airtable nodes and connect the endpoint to any other service (e.g. Postgres, MySQL, Notion, Coda)

  How to use the workflow

  Activate the workflow
  Connect your app to the endpoints (production URLs) to perform the various operations allowed by the workflow

  Note that the Webhook nodes have two URLs, one for testing and one for production. The testing URL is activated when you click on 'Test workflow' button and can't be used for production. The production URL is available after you activate the workflow. More info here.

  Feel free to get in touch with me if you have questions about this workflow.

nodes_used:
  ["n8n-nodes-base.respondToWebhook","n8n-nodes-base.respondToWebhook","n8n-nodes-base.respondToWebhook","n8n-nodes-base.respondToWebhook","n8n-nodes-base.stickyNote","n8n-nodes-base.airtable","n8n-nodes-base.airtable","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.airtable","n8n-nodes-base.stickyNote","n8n-nodes-base.airtable","n8n-nodes-base.respondToWebhook","n8n-nodes-base.stickyNote","n8n-nodes-base.airtable","n8n-nodes-base.airtable","n8n-nodes-base.webhook","n8n-nodes-base.webhook"]

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


name: Create LinkedIn Contributions with AI and Notify Users On Slack
author_name: Darryn Balanco
author_username: optimus01
categories: []
created_at: 2024-10-23T19:16:01.726Z
updated_at: 2024-10-23T19:16:01.726Z
url: https://n8n.io/workflows/2491
scraped_at: 2025-09-14 11:38:23
description:
  This workflow automates the process of gathering LinkedIn advice articles, extracting their content, and generating unique contributions for each article using an AI model. The contributions are then posted to a Slack channel and a NocoDB database for record-keeping. The workflow is triggered weekly to ensure new articles are continuously collected and responded to.

  Who is this for?
  This workflow is designed for professionals, marketers, and content creators looking to boost their LinkedIn presence by regularly engaging with LinkedIn advice articles. It’s especially useful for those who want to be seen as a "thought leader" or "top voice" in their niche by contributing relevant and unique advice to trending topics.

  What problem is this workflow solving?
  Manually searching for relevant LinkedIn articles, reading through them, and crafting thoughtful contributions can be time-consuming. This workflow solves that by automating the process of finding new articles, extracting key content, and generating AI-powered contributions. It helps users stay consistently active on LinkedIn, contributing value to trending discussions.

  What this workflow does
  Triggers Weekly: The workflow is set to run every Monday at 8:00 AM.
  Search Google for LinkedIn Advice Articles: Uses a predefined Google search URL to find the latest LinkedIn advice articles based on the user's area of expertise.
  Extract LinkedIn Article Links: A code node extracts all LinkedIn advice article links from the search results.
  Retrieve Article Content: For each article link, the workflow retrieves the HTML content and extracts the article title, topics, and existing contributions.
  Generate AI-Powered Contributions: The workflow sends the extracted article content to an AI model, which generates unique, helpful advice for each topic within the article.
  Post to Slack & NocoDB: The AI-generated contributions, along with the article links, are posted to a designated Slack channel and stored in a NocoDB database for future reference.

  Setup
  Google Search URL: Update the Google search URL with the relevant LinkedIn advice query for your field (e.g., "site:linkedin.com/advice 'marketing automation'").
  Slack Integration: Connect your Slack account and specify the Slack channel where you want the contributions to be posted.
  NocoDB Integration: Set up your NocoDB project to store the generated contributions along with the article titles and links.

  How to customize this workflow
  Change Search Terms**: Modify the Google search URL to focus on a different LinkedIn topic or expertise area.
  Adjust Trigger Frequency**: The workflow is set to run weekly, but you can adjust the frequency by changing the schedule trigger.
  Enhance Contribution Quality**: Customize the AI model's prompt to generate contributions that align with your brand voice or content strategy.

  Workflow Summary
  This workflow helps users maintain a consistent presence on LinkedIn by automating the discovery of new advice articles and generating unique contributions using AI. It is ideal for professionals who want to engage with LinkedIn content regularly without spending too much time manually searching and drafting responses.

nodes_used:
  ["n8n-nodes-base.httpRequest","n8n-nodes-base.stickyNote","n8n-nodes-base.manualTrigger","n8n-nodes-base.merge","n8n-nodes-base.code","n8n-nodes-base.splitOut","n8n-nodes-base.scheduleTrigger","@n8n/n8n-nodes-langchain.openAi","n8n-nodes-base.nocoDb","n8n-nodes-base.slack","n8n-nodes-base.nocoDb","n8n-nodes-base.html","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.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.googleSheets","n8n-nodes-base.stickyNote","n8n-nodes-base.nocoDb","n8n-nodes-base.set","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 8220 characters]


name: Generate SEO Keyword Search Volume Data using Google API
author_name: simonscrapes
author_username: simonscrapes
categories: []
created_at: 2024-10-24T09:40:54.747Z
updated_at: 2024-10-24T09:40:54.747Z
url: https://n8n.io/workflows/2494
scraped_at: 2025-09-14 11:38:22
description:
  Use Case
  Generate accurate search volume data for SEO keyword research:
  You have a list of potential keywords to target for your website SEO but don't know their actual search volume
  You need historical data to identify seasonal trends in keyword popularity
  You want to assess keyword difficulty to prioritize your content strategy
  You need data-driven insights for planning your SEO campaigns

  What this Workflow Does
  The workflow connects to Google's Keyword Planner API to retrieve keyword metrics for your SEO research:

  Fetches monthly search volume for each keyword
  Provides historical trends data for the past 12 months
  Calculates keyword difficulty scores
  Delivers competition metrics from Google Ads

  Setup
  Fill the Set 20 Keywords with up to 20 Keywords of your choosing in an array e.g. ["keyword 1", "keyword 2",...]
  Create a Google Ads API account and add credentials to Get Search Data node
  Replace the Connect to your own database with your own database for the output

  How to Adjust it to Your Needs
  Change the Set 20 Keywords node input to a source of your choosing e.g. Airtable database with 20 keywords
  Connect to output source of your choosing 


  More templates and n8n workflows &gt;&gt;&gt; @simonscrapes

nodes_used:
  ["n8n-nodes-base.manualTrigger","n8n-nodes-base.stickyNote","n8n-nodes-base.splitOut","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.noOp","n8n-nodes-base.httpRequest"]

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


name: Integrate Xero with FileMaker using Webhooks
author_name: Stathis Askaridis
author_username: stathisaska
categories: []
created_at: 2024-10-25T14:24:00.538Z
updated_at: 2024-10-25T14:24:00.538Z
url: https://n8n.io/workflows/2499
scraped_at: 2025-09-14 11:38:24
description:
  Integrate Xero with FileMaker using Webhooks

  Workflow Description

  This n8n workflow automates the integration between Xero and FileMaker, allowing for seamless data transfer between the two platforms. By listening for webhooks from Xero (e.g., new invoices, payments, or contacts), this workflow ensures that data is automatically sent and recorded in a FileMaker database.

  Who is This For?

  This workflow template is ideal for:
  Accountants** who need a streamlined process to sync financial data between Xero and FileMaker.
  Business Owners** looking to automate data entry and improve accuracy across their systems.
  Developers** building solutions for clients that require integration between accounting software and databases.
  Operations Teams** focused on minimizing manual work and improving efficiency.

  Key Steps

  Xero Webhook Trigger: The workflow starts by capturing events from Xero via a webhook.
  Data Processing: Transforms and maps the incoming data to match FileMaker’s required format.
  FileMaker Node: Utilizes the FileMaker node to create or update records directly in the FileMaker database.
  Logging & Error Handling: Tracks successful entries and manages any errors with automated alerts.

  Setup Instructions

  Set Up the Xero Webhook:
     Create a webhook in Xero and point it to your n8n webhook node URL.
     Configure the types of events to trigger the workflow (e.g., new invoices or payments).
     Xero will then send some test calls to test you are doing proper hash control.

  Connect the FileMaker Node:
     Set up your FileMaker node with the appropriate credentials and database configuration.
     Map the fields between the incoming Xero data and your FileMaker database structure.
  Customize Data Processing:
     Adjust data transformations as needed to ensure compatibility with your FileMaker schema.
  Test and Deploy:
     Run the workflow with sample data to ensure everything is functioning correctly.
     Monitor the execution log to verify data transfer and make any adjustments as needed.
  Error Handling Configuration:
     Configure error-handling nodes or alerts to notify you of any issues during data processing.

  Benefits

  This setup facilitates real-time data synchronization between Xero and FileMaker, reducing the need for manual data entry and improving overall operational efficiency.

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

workflow_json_compressed:
  H4sIAAAAAAAAE71X227bOBD9FYHdRzEgKd5kYB96QbFBkTRA0m2BOFhQ5DDWxhYNSW5iBP73BWXFURIpbXeBfTEsceYMz5nhDHWPVtAaNLtHZdW0prJw7NAMCSkzQxTXVhoJkijqaCZzbiVRjIHKc0W5F5n3yuSFd85Q4QvjCgNQFEqiXYqq4KBBs8t7VEbIvHDMMq+w05nCXFDA2jCBDdVC0Qwc+AKlqDIrQDP0vt6u24BS1G7X8bnSFe4AcWEaOLIPy+vQlG0ZKjS7pJKTVEpylaK1qc0KWqibyKyHOP/jLRMSpei7WW7ii9/v73/7uwnV5Rw1YVNb+MuZ1szR1W6HUmTsHhctVsaiFDVga2jRDFGUIqhscGV1jWYo7kdylKLofFaHNdTt9nTPojX1NbQdbFQkbuRPqJsOl+7SXhkljDUqU1hARjEnjGGtmcKZEtZrRZUh8lGZk/AdkndlZept8iECT2m0Ct9hb9ebDbViE1qFdbSIf3eRcvt2uey8Z94sG0iRg6YtKxONPsEWzVBtbn/Ez1OwIBzFJtMec8E11qTg2CjlibLE2lw88juHdpJS060NefAJHl2Ou39NW3eJurx/iDBI9ng1PHDal8Luapc+1eUGYP25Wm7jVmdtvYFp7kzQwilHMeRCYF4wiw1hBAMpGGRQFMLaR+7HHyepl/4Zcy3HmdtQufJhs6gIYQmm6uh3TGlPNUJfzvtzNkdXRz33Qck+nITOjz31+wZ1SL5CsQjhZuC9AOOgbubo6nKO7vAd1AE35XVl2k0NBzmn5cqMIpw6iUHLAnPKPc4dkzjnlnoPOs+Gcp1vrIWmmdSshmYdKncR+o0+VZARTVLBXzsDaI/QwPvgAM0YIbu0f+e+lu0ihgwfXq9+7TzwnErMvAXMnaBYG06xlLbgkNHC+UH1f6nMpl2EumzA/Rde6ld4cUL/BS9aEO1kgYkUFnOQFGtVKCw507nMsiwHNuznYFpIbvcbTmqwoZ4m6MslrMwN1M+YZWw8Y4debbswKEVLsw2b2K17iWKR+BKWrjk7eH4po+/+7bA/xFp+1hj6qj+HdlDsL4bGvrRtDQ6qtjTLZo+/hJOOy6xX7oKeXGzzbxuxUqebooRHlT6FTVWG5OPB5ZWjwrXLlQLAkjuPudIaa000VsQ6aVXhhVePyGdQ+1CvknUd4pHpVUkaW5fr6X47lQfBf5CH9T7cAX4sHf3iDD3d02GlS9Re/6TrzEcPVXu0L59jl0TR/zfFnfTcUcdjseeYM5VjrYFhMEyRTFowjAyaU1vam21yGrp6nJhnnU1vMhRYEpJyNtrcW6iiaG/eJOedTMmhoOfVmWkaaJJ2Af0JS0qXmKZPc3LAStqQFJBsGnBJWSXbsKknKuOVWwsrMs9InOVZgbmwAheZdhgAPOdMGFaYUTXoL8tB5cS5vy1dbFZU6CPFM0W1yFkuuVIpWkB5vWjRjDJ6lBEpMiZlllEp06ciHlfrTTuv3jq3l6EbbA9tan/nSxZQwytKCO4z6cBjYmyOuZI51lR7zEDnOfU0l2bQ4YeTc1KJ27HGTsnhstOvd3d1br0gRlJcCEEwB5A419xh47TNObBC2NiInyq3Nl2X/0nf4eQwt++C2x7uPYu2XZ9AuwhxK2efzy9QepguJ910OTyexseXMl51GanAHmIcf4y/K1NG1rEv73FejPvOIkVl5eAOzcjuKn00Hh+kLzzi3a67xo3Ee/4NMurcG435D29z44F7QuPBXx2Yo3hPSmsMdPrbYRTvhfloVob39QmJxqiMYf3klBqJstv9A/bvrVTKDgAA


name: Replace Images in Google Docs Documents and Download as PDF/Docx
author_name: simonscrapes
author_username: simonscrapes
categories: []
created_at: 2024-10-26T10:26:29.662Z
updated_at: 2024-10-26T10:26:29.662Z
url: https://n8n.io/workflows/2501
scraped_at: 2025-09-14 11:38:24
description:
  Use Case
  Automate image replacement in Google Docs:
  You need to update document images dynamically
  You want to create multiple versions of a template with different images
  You need to batch process document images from a URL database
  You want to generate shareable documents with custom images

  What this Workflow Does
  The workflow automates image replacement in Google Docs:
  Accepts image URLs from your database
  Finds and replaces images in template documents
  Creates new document copies with updated images
  Optionally converts to PDF and makes documents shareable

  Setup
  Connect your image URL database (column name must be "url")
  Set up Google Docs OAuth 2 API credentials
  Optional: Create a template document in Google Drive with placeholder images
  Optional: Configure Google Drive authentication for additional features

  How to Adjust it to Your Needs
  Remove template copying for single document processing
  Adjust image ID selection for documents with multiple images
  Configure sharing settings and download formats
  Customize file naming and storage location


  More templates and n8n workflows &gt;&gt;&gt; @simonscrapes

nodes_used:
  ["n8n-nodes-base.manualTrigger","n8n-nodes-base.stickyNote","n8n-nodes-base.httpRequest","n8n-nodes-base.googleDrive","n8n-nodes-base.set","n8n-nodes-base.googleDrive","n8n-nodes-base.stickyNote","n8n-nodes-base.noOp","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.googleDrive","n8n-nodes-base.googleDrive","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 4508 characters]


name: Monthly Spotify Track Archiving and Playlist Classification
author_name: Arnaud MARIE
author_username: arnaud-marie
categories: []
created_at: 2024-10-27T17:36:47.297Z
updated_at: 2024-10-27T17:36:47.297Z
url: https://n8n.io/workflows/2502
scraped_at: 2025-09-14 11:38:24
description:
  Monthly Spotify Track Archiving and Playlist Classification

  This n8n workflow allows you to automatically archive your monthly Spotify liked tracks in a Google Sheet, along with playlist details and descriptions. Based on this data, Claude 3.5 is used to classify each track into multiple playlists and add them in bulk.

  Who is this template for?
  This workflow template is perfect for Spotify users who want to systematically archive their listening history and organize their tracks into custom playlists.

  What problem does this workflow solve?
  It automates the monthly process of tracking, storing, and categorizing Spotify tracks into relevant playlists, helping users maintain well-organized music collections and keep a historical record of their listening habits.

  Workflow Overview
  Trigger Options**: Can be initiated manually or on a set schedule.
  Spotify Playlists Retrieval**: Fetches the current playlists and filters them by owner.
  Track Details Collection**: Retrieves information such as track ID and popularity from the user’s library.
  Audio Features Fetching**: Uses Spotify's API to get audio features for each track.
  Data Merging**: Combines track information with their audio features.
  Duplicate Checking**: Filters out tracks that have already been logged in Google Sheets.
  Data Logging**: Archives new tracks into a Google Sheet.
  AI Classification**: Uses an AI model to classify tracks into suitable playlists.
  Playlist Updates**: Adds classified tracks to the corresponding playlists.

  Setup Instructions
  Credentials Setup:  
     Make sure you have valid Spotify OAuth2 and Google Sheets access credentials.
  Trigger Configuration:  
     Choose between manual or scheduled triggers to start the workflow.
  Google Sheets Preparation:  
     Set up a Google Sheet with the necessary structure for logging track details.
  Spotify Playlists Setup:  
     Have a diverse range of playlists and exhaustive description (see example) ready to accommodate different music genres and moods.

  Customization Options
  Adjust Playlist Conditions**:  
     Modify the AI model’s classification criteria to align with your personal music preferences.
  Enhance Track Analysis**:  
     Incorporate additional audio features or external data sources for more refined track categorization.
  Personalize Data Logging**:  
     Customize which track attributes to log in Google Sheets based on your archival preferences.
  Configure Scheduling**:  
     Set a preferred schedule for periodic track archiving, e.g., monthly or weekly.

  Cost Estimate 
  For 300 tracks, the token usage amounts to approximately 60,000 tokens (58,000 for input and 2,000 for completion), costing around 20 cents with Claude 3.5 Sonnet (as of October 2024).

  Playlists' Description Examples


  | Playlist Name           | Playlist Description                                                                                                                                             |
  |-------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------|
  | Classique               | Indulge in the timeless beauty of classical music with this refined playlist. From baroque to romantic periods, this collection showcases renowned compositions.   |
  | Poi                     | Find your flow with this dynamic playlist tailored for poi, staff, and ball juggling. Featuring rhythmic tracks that complement your movements.                   |
  | Pro Sound               | Boost your productivity and focus with this carefully selected mix of concentration-enhancing music. Ideal for work or study sessions.                           |
  | ChillySleep             | Drift off to dreamland with this soothing playlist of sleep-inducing tracks. Gentle melodies and ambient sounds create a peaceful atmosphere for restful sleep.  |
  | To Sing                 | Warm up your vocal cords and sing your heart out with karaoke-friendly tracks. Featuring popular songs, perfect for solo performances or group sing-alongs.      |
  | 1990s                   | Relive the diverse musical landscape of the 90s with this eclectic mix. From grunge to pop, hip-hop to electronic, this playlist showcases defining genres.       |
  | 1980s                   | Take a nostalgic trip back to the era of big hair and neon with this 80s playlist. Packed with iconic hits and forgotten gems, capturing the energy of the decade.|
  | Groove Up               | Elevate your mood and energy with this upbeat playlist. Featuring a mix of feel-good tracks across various genres to lift your spirits and get you moving.       |
  | Reggae & Dub            | Relax and unwind with the laid-back vibes of reggae and dub. This playlist combines classic reggae tunes with deep, spacious dub tracks for a chilled-out vibe.   |
  | Psytrance               | Embark on a mind-bending journey with this collection of psychedelic trance tracks. Ideal for late-night dance sessions or intense focus.                        |
  | Cumbia                  | Sway to the infectious rhythms of Cumbia with this lively playlist. Blending traditional Latin American sounds with modern interpretations for a danceable mix.  |
  | Funky Groove            | Get your body moving with this collection of funk and disco tracks. Featuring irresistible basslines and catchy rhythms, perfect for dance parties.              |
  | French Chanson          | Experience the romance and charm of France with this mix of classic and modern French songs, capturing the essence of French musical culture.                    |
  | Workout Motivation      | Push your limits and power through your exercise routine with this high-energy playlist. From warm-up to cool-down, these tracks will keep you motivated.        |
  | Cinematic Instrumentals | Immerse yourself in a world of atmospheric sounds with this collection of cinematic instrumental tracks, perfect for focus, relaxation, or contemplation.        |

nodes_used:
  ["n8n-nodes-base.set","n8n-nodes-base.code","n8n-nodes-base.httpRequest","n8n-nodes-base.splitOut","@n8n/n8n-nodes-langchain.lmChatAnthropic","n8n-nodes-base.spotify","n8n-nodes-base.spotify","@n8n/n8n-nodes-langchain.outputParserStructured","n8n-nodes-base.set","n8n-nodes-base.filter","n8n-nodes-base.splitOut","n8n-nodes-base.code","n8n-nodes-base.merge","n8n-nodes-base.set","n8n-nodes-base.limit","n8n-nodes-base.googleSheets","n8n-nodes-base.merge","n8n-nodes-base.filter","n8n-nodes-base.splitOut","n8n-nodes-base.merge","n8n-nodes-base.spotify","n8n-nodes-base.code","n8n-nodes-base.stickyNote","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.stickyNote","n8n-nodes-base.googleSheets","n8n-nodes-base.googleSheets","n8n-nodes-base.googleSheets","n8n-nodes-base.merge","n8n-nodes-base.stickyNote","n8n-nodes-base.limit","n8n-nodes-base.noOp","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.chainLlm"]

workflow_json_compressed:
  [encoded data, 14180 characters]


name: WordPress - AI Chatbot to enhance user experience - with Supabase and OpenAI
author_name: Dataki
author_username: dataki
categories: []
created_at: 2024-10-28T12:11:32.191Z
updated_at: 2024-10-28T12:11:32.191Z
url: https://n8n.io/workflows/2504
scraped_at: 2025-09-14 11:38:22
description:
  This is the first version of a template for a RAG/GenAI App using WordPress content.

  As creating, sharing, and improving templates brings me joy 😄, feel free to reach out on LinkedIn if you have any ideas to enhance this template!

  How It Works

  This template includes three workflows:

  Workflow 1**: Generate embeddings for your WordPress posts and pages, then store them in the Supabase vector store.
  Workflow 2**: Handle upserts for WordPress content when edits are made.
  Workflow 3**: Enable chat functionality by performing Retrieval-Augmented Generation (RAG) on the embedded documents.

  Why use this template?

  This template can be applied to various use cases:

  Build a GenAI application that requires embedded documents from your website's content.
  Embed or create a chatbot page on your website to enhance user experience as visitors search for information.
  Gain insights into the types of questions visitors are asking on your website.
  Simplify content management by asking the AI for related content ideas or checking if similar content already exists. Useful for internal linking.

  Prerequisites
  Access to Supabase for storing embeddings.
  Basic knowledge of Postgres and pgvector.
  A WordPress website with content to be embedded.
  An OpenAI API key
  Ensure that your n8n workflow, Supabase instance, and WordPress website are set to the same timezone (or use GMT) for consistency.

  Workflow 1 : Initial Embedding

  This workflow retrieves your WordPress pages and posts, generates embeddings from the content, and stores them in Supabase using pgvector.

  Step 0 : Create Supabase tables

  Nodes : 
  Postgres - Create Documents Table: This table is structured to support OpenAI embedding models with 1536 dimensions
  Postgres - Create Workflow Execution History Table

  These two nodes create tables in Supabase:

  The documents table, which stores embeddings of your website content.
  The n8n_website_embedding_histories table, which logs workflow executions for efficient management of upserts. This table tracks the workflow execution ID and execution timestamp.

  Step 1 : Retrieve and Merge WordPress Pages and Posts

  Nodes :
  WordPress - Get All Posts
  WordPress - Get All Pages
  Merge WordPress Posts and Pages

  These three nodes retrieve all content and metadata from your posts and pages and merge them. 
  Important: ** **Apply filters to avoid generating embeddings for all site content.

  Step 2 : Set Fields, Apply Filter, and Transform HTML to Markdown

  Nodes :
  Set Fields
  Filter - Only Published & Unprotected Content
  HTML to Markdown

  These three nodes prepare the content for embedding by:

  Setting up the necessary fields for content embeddings and document metadata.
  Filtering to include only published and unprotected content (protected=false), ensuring private or unpublished content is excluded from your GenAI application.
  Converting HTML to Markdown, which enhances performance and relevance in Retrieval-Augmented Generation (RAG) by optimizing document embeddings.

  Step 3: Generate Embeddings, Store Documents in Supabase, and Log Workflow Execution

  Nodes:
  Supabase Vector Store
    Sub-nodes:
      Embeddings OpenAI
      Default Data Loader
      Token Splitter
      Aggregate
  Supabase - Store Workflow Execution

  This step involves generating embeddings for the content and storing it in Supabase, followed by logging the workflow execution details.

  Generate Embeddings: The Embeddings OpenAI node generates vector embeddings for the content.
  Load Data: The Default Data Loader prepares the content for embedding storage. The metadata stored includes the content title, publication date, modification date, URL, and ID, which is essential for managing upserts. 


  ⚠️ Important Note : Be cautious not to store any sensitive information in metadata fields, as this information will be accessible to the AI and may appear in user-facing answers.

  Token Management: The Token Splitter ensures that content is segmented into manageable sizes to comply with token limits.
  Aggregate: Ensure the last node is run only for 1 item.
  Store Execution Details: The Supabase - Store Workflow Execution node saves the workflow execution ID and timestamp, enabling tracking of when each content update was processed.

  This setup ensures that content embeddings are stored in Supabase for use in downstream applications, while workflow execution details are logged for consistency and version tracking.

  This workflow should be executed only once for the initial embedding. 
  Workflow 2, described below, will handle all future upserts, ensuring that new or updated content is embedded as needed.

  Workflow 2: Handle document upserts

  Content on a website follows a lifecycle—it may be updated, new content might be added, or, at times, content may be deleted. 

  In this first version of the template, the upsert workflow manages:
  Newly added content**
  Updated content**

  Step 1: Retrieve WordPress Content with Regular CRON

  Nodes:
  CRON - Every 30 Seconds
  Postgres - Get Last Workflow Execution
  WordPress - Get Posts Modified After Last Workflow Execution
  WordPress - Get Pages Modified After Last Workflow Execution
  Merge Retrieved WordPress Posts and Pages

  A CRON job (set to run every 30 seconds in this template, but you can adjust it as needed) initiates the workflow. A Postgres SQL query on the n8n_website_embedding_histories table retrieves the timestamp of the latest workflow execution.

  Next, the HTTP nodes use the WordPress API (update the example URL in the template with your own website’s URL and add your WordPress credentials) to request all posts and pages modified after the last workflow execution date. This process captures both newly added and recently updated content. The retrieved content is then merged for further processing.

  Step 2 : Set fields, use filter

  Nodes :
  Set fields2
  Filter - Only published and unprotected content

  The same that Step 2 in Workflow 1, except that HTML To Makrdown is used in further Step.

  Step 3: Loop Over Items to Identify and Route Updated vs. Newly Added Content


  Here, I initially aimed to use 'update documents' instead of the delete + insert approach, but encountered challenges, especially with updating both content and metadata columns together. Any help or suggestions are welcome! :)


  Nodes:
  Loop Over Items
  Postgres - Filter on Existing Documents
  Switch

    Route existing_documents (if documents with matching IDs are found in metadata):
      Supabase - Delete Row if Document Exists: Removes any existing entry for the document, preparing for an update.
      Aggregate2: Used to aggregate documents on Supabase with ID to ensure that Set Fields3 is executed only once for each WordPress content to avoid duplicate execution.
      Set Fields3: Sets fields required for embedding updates.
      
    Route new_documents (if no matching documents are found with IDs in metadata):
      Set Fields4: Configures fields for embedding newly added content.


  In this step, a loop processes each item, directing it based on whether the document already exists. The Aggregate2 node acts as a control to ensure Set Fields3 runs only once per WordPress content, effectively avoiding duplicate execution and optimizing the update process.

  Step 4 : HTML to Markdown, Supabase Vector Store, Update Workflow Execution Table

  The HTML to Markdown node mirrors Workflow 1 - Step 2. Refer to that section for a detailed explanation on how HTML content is converted to Markdown for improved embedding performance and relevance.

  Following this, the content is stored in the Supabase vector store to manage embeddings efficiently. Lastly, the workflow execution table is updated. These nodes mirros the **Workflow 1 - Step 3 nodes.

  Workflow 3 : An example of GenAI App with Wordpress Content : Chatbot to be embed on your website

  Step 1: Retrieve Supabase Documents, Aggregate, and Set Fields After a Chat Input

  Nodes:
  When Chat Message Received
  Supabase - Retrieve Documents from Chat Input
  Embeddings OpenAI1
  Aggregate Documents
  Set Fields


  When a user sends a message to the chat, the prompt (user question) is sent to the Supabase vector store retriever. The RPC function match_documents (created in Workflow 1 - Step 0) retrieves documents relevant to the user’s question, enabling a more accurate and relevant response.

  In this step:
  The Supabase vector store retriever fetches documents that match the user’s question, including metadata.
  The Aggregate Documents node consolidates the retrieved data.
  Finally, Set Fields organizes the data to create a more readable input for the AI agent.

  Directly using the AI agent without these nodes would prevent metadata from being sent to the language model (LLM), but metadata is essential for enhancing the context and accuracy of the AI’s response. By including metadata, the AI’s answers can reference relevant document details, making the interaction more informative.

  Step 2: Call AI Agent, Respond to User, and Store Chat Conversation History

  Nodes:
  AI Agent**
    Sub-nodes:
      OpenAI Chat Model
      Postgres Chat Memories
  Respond to Webhook**

  This step involves calling the AI agent to generate an answer, responding to the user, and storing the conversation history.  The model used is gpt4-o-mini, chosen for its cost-efficiency. 

nodes_used:
  ["n8n-nodes-base.manualTrigger","@n8n/n8n-nodes-langchain.embeddingsOpenAi","@n8n/n8n-nodes-langchain.documentDefaultDataLoader","@n8n/n8n-nodes-langchain.textSplitterTokenSplitter","@n8n/n8n-nodes-langchain.embeddingsOpenAi","@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.memoryPostgresChat","n8n-nodes-base.respondToWebhook","n8n-nodes-base.set","@n8n/n8n-nodes-langchain.embeddingsOpenAi","@n8n/n8n-nodes-langchain.documentDefaultDataLoader","@n8n/n8n-nodes-langchain.textSplitterTokenSplitter","n8n-nodes-base.markdown","n8n-nodes-base.postgres","n8n-nodes-base.aggregate","n8n-nodes-base.aggregate","n8n-nodes-base.aggregate","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.wordpress","n8n-nodes-base.wordpress","n8n-nodes-base.stickyNote","n8n-nodes-base.set","n8n-nodes-base.filter","n8n-nodes-base.markdown","n8n-nodes-base.supabase","n8n-nodes-base.stickyNote","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.stickyNote","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.set","n8n-nodes-base.filter","n8n-nodes-base.splitInBatches","n8n-nodes-base.set","n8n-nodes-base.set","@n8n/n8n-nodes-langchain.vectorStoreSupabase","n8n-nodes-base.supabase","n8n-nodes-base.aggregate","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.postgres","n8n-nodes-base.postgres","n8n-nodes-base.merge","n8n-nodes-base.merge","n8n-nodes-base.postgres","n8n-nodes-base.supabase","n8n-nodes-base.switch","@n8n/n8n-nodes-langchain.chatTrigger","@n8n/n8n-nodes-langchain.vectorStoreSupabase","@n8n/n8n-nodes-langchain.agent","@n8n/n8n-nodes-langchain.vectorStoreSupabase"]

workflow_json_compressed:
  [encoded data, 9772 characters]


name: Import workflows and map their credentials using a Multi-Form
author_name: Mario
author_username: octionic
categories: []
created_at: 2024-10-29T19:05:29.604Z
updated_at: 2024-10-29T19:05:29.604Z
url: https://n8n.io/workflows/2506
scraped_at: 2025-09-14 11:38:24
description:
  Purpose

  This workflow allows you to import any workflow from a file or another n8n instance and map the credentials easily.

  How it works

  A multi-form setup guides you through the entire process
  At the beginning you have two options:
      Upload a workflow file (JSON)
      Copy workflow from a remote n8n instance
  If you choose the second option, you get to choose one of your predefined (in the Settings node) remote instances first, then it retrieves a list of all the workflows using the n8n API which you then can choose a workflow from.
  Now both initial options come together - the workflow file is being processed
  In parallel all credentials of the current instance are being retrieved using the Execute Command node
  The next form page enables a mapping of all the credentials used in the workflow. The matching happens between the names (because one workflow can contain different credentials of the same type) of the original credentials and the ones available on the current instance. Every option then shows all available credentials of the same type. In addition the user has always the choice to create a new credential on the fly.
  For every option which was set to create a new credential, an empty credential is being created on the current instance using the n8n API. An emoji is being appended to the name, which indicates that it needs to be populated.
  Finally the workflow gets updated with the new credential ID’s and created on the current instance using the n8n API. Then the user gets a message, if the process has succeeded or not.

  Setup

  Select your credentials in the nodes which require those
  Configure your remote instance(s) in the Settings node. (You can skip this step, if you only want to use the File Upload feature)
      Every instance is defined as object with the keys name, apiKey and baseUrl. Those instances are then wrapped inside an array. You can find an example described within a note on the workflow canvas.

  How to use

  Grab the (production) URL of the Form from the first node
  Open the URL and follow the instructions given in the multi-form

  Disclaimer

  Security: Beware, that all credentials are being decrypted and processed within the workflow. Also the API keys to other n8n instances are stored within the workflow.
  This solution is primarily meant for transferring data between testing environments. For production use consider the n8n enterprise edition which provides a reliable way to deploy workflows between different environments without the need of manual credential mapping.

nodes_used:
  ["n8n-nodes-base.extractFromFile","n8n-nodes-base.executeCommand","n8n-nodes-base.readWriteFile","n8n-nodes-base.extractFromFile","n8n-nodes-base.merge","n8n-nodes-base.merge","n8n-nodes-base.set","n8n-nodes-base.code","n8n-nodes-base.httpRequest","n8n-nodes-base.noOp","n8n-nodes-base.if","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.form","n8n-nodes-base.form","n8n-nodes-base.splitOut","n8n-nodes-base.code","n8n-nodes-base.sort","n8n-nodes-base.noOp","n8n-nodes-base.stickyNote","n8n-nodes-base.renameKeys","n8n-nodes-base.n8n","n8n-nodes-base.form","n8n-nodes-base.form","n8n-nodes-base.form","n8n-nodes-base.form","n8n-nodes-base.formTrigger","n8n-nodes-base.code","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.code","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.splitOut","n8n-nodes-base.filter","n8n-nodes-base.set","n8n-nodes-base.removeDuplicates","n8n-nodes-base.form","n8n-nodes-base.code","n8n-nodes-base.set","n8n-nodes-base.code","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.code","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.n8n","n8n-nodes-base.code","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 9144 characters]


name: 📂 Automatically Update Stock Portfolio from OneDrive to Excel
author_name: Louis
author_username: louisdl
categories: []
created_at: 2024-10-29T19:41:20.189Z
updated_at: 2024-10-29T19:41:20.189Z
url: https://n8n.io/workflows/2507
scraped_at: 2025-09-14 11:38:23
description:
  Seamlessly Sync and Update Data from a csv in OneDrive to Excel with n8n

  This workflow is perfect for users who need a reliable, automated way to transfer and organize data from OneDrive into Excel—especially for tasks like portfolio tracking, inventory management, and record-keeping. By monitoring your OneDrive folder for new CSV files, it performs data cleaning, transformation, and real-time updates in an Excel sheet, ensuring only new or changed records are added.

  How it Works

  Automated Monitoring: Every minute, the workflow scans a designated OneDrive folder for new files.
  File Verification: It checks if the detected file is in CSV format; if not, the process stops with an error message.
  Data Extraction and Cleaning: CSV data is loaded, and irrelevant headers are removed before mapping to specified columns in Excel.
  Excel Update: The workflow maps data to your Excel sheet, updating only new or modified entries based on a unique identifier ("Ticker/ISIN").
  Cleanup: To keep your OneDrive organized, processed files are deleted after updating Excel.

  Setup Steps

  Connect OneDrive and Excel Accounts: Link your Microsoft OneDrive and Excel accounts in n8n.
  Designate Folder and Worksheet: Specify the OneDrive folder for monitoring and the Excel sheet for data updates.
  Configure Sync Frequency and CSV Validation: Set the monitoring frequency to every minute and ensure the workflow identifies CSV files accurately.

  Once configured, this workflow offers a hands-free, efficient solution to keep your OneDrive and Excel data synchronized effortlessly.

nodes_used:
  ["n8n-nodes-base.microsoftOneDriveTrigger","n8n-nodes-base.stopAndError","n8n-nodes-base.extractFromFile","n8n-nodes-base.microsoftOneDrive","n8n-nodes-base.stickyNote","n8n-nodes-base.code","n8n-nodes-base.stickyNote","n8n-nodes-base.noOp","n8n-nodes-base.stickyNote","n8n-nodes-base.microsoftExcel","n8n-nodes-base.microsoftOneDrive","n8n-nodes-base.microsoftOneDrive","n8n-nodes-base.if","n8n-nodes-base.set","n8n-nodes-base.microsoftExcel"]

workflow_json_compressed:
  H4sIAAAAAAAAE51XTW/bOBD9KwIve9EE/BhSpG+LfiwK7DYL7G4vRQ78GCZCbcmQ5KZF4P++kJ3WjiMldo826HmPj2/ejB/YigbPFg+sbvrBN5E+JLZghqOORjmnRbIq2oqbwFOyySjFhcGQPBeZtM2Cq0gpyigrE7LILgqRBduWrGkT9Wzx+YHVY8kcURkRDaBDD+iMBIfWgsxkU/LCoY2sZI1fEVuwf7v69pa6vqhz0dB9keslFXVT3Psh3lEqcrtM1LGSDd/X4/nGNrADhOB7ulrVsWv7Ng/XDb3t6q/0WI+VbN329VC3DVt8BuS8VJbflGztO7+igbqeLR62+7KfqOt3B8W2fLxERU6gEAIoqQAoowCHRoBOylTKpSCDOlziYzsUb/75NMuyH9r1701613XtCTMtean5BcRQZe5kJnAhakDSGbzlAVKw3pNW0fl8IPbu29D5OPRF8oMvcteuith/neVJ++Pvu3b1vl7Sc6rSXEBVoMwCqQJjVAaUUoMlbUFrEQVx61DzA9W/frxk8eMp5fmvzkrWNnt5Fyy2zVA3G9p9vt4M683w9CZC8fOuUjK/vPff+32Rt35soKHb0OE1kpFSiwDO8wSI0kDISoDJPnD0BrWvDlf8Z6jjl+/Fx3agF6wynnk8cmxhZ3gpnztld1tqBrZg7AXXWGENNxwUjnbWNkLIksDrlDUXiHqn9iPPN0vyTV8Md1S0P+SbZhvbdMKzwjlpm3ag/kPzftnes0X2y55O6MqfdPXYfK7KkKWoALEK4KMPEAS6XPEghA+TsoqLdTWGl/rKSWelc5UziMbhr4kcZXKkPEJwiQCD1OC5SYAuKY5cJh/4cWYU12vq/MijLFJbNO1wVze3szdo2uv1iY/1KPYlsWaT0d4hgXJoRh8Y8MloEDpXRmcR1HE2Hwk734tzwgrNefmc23lSJkk82SQhG+kBrRIQiEfg6FKldBQ56QPPP9vbvVs36+QHKtqm6O+I5m37Mz/efYu0PGk0Kc+aFfLqQDdnKTKvElTBeEATI9gqBZBe5RSTMwKPQvkPGvZ0j+ZdbvuL0u7pcLtwtsXskXuErKIDNJjBqoQgiLz01rhYHYn7tr1vlq1PTyn/KllhLiRLThlvKYLWiIBJKHApeqiwclb5UNHxEHlzR/HLbpeoh9/6cSYXue1Wft4KdX5KUJ2nprw6pFXWQaLgAjAGB+jRQyClwAUjnCDJkYsDxb87WvuO9nLmmpajsm2x3gzj2jN+SaMpi8GHF2Tu6WSmudncfcJbXeFhKFSVU8oYEEZrQCUlBF8hCPQ6KBG4Invg/d+ut/qzGb7UY0Kct0uMPXZTjpHRUBx/u0uQ5+Np8cBWvh4rf37YraO/rvOuTsnqJtE3tuDbm5ttObmbHDCbzXJZHoBfD/ZJjJk+m7raGS6fhJjZBich5leAydJzmTZV+7VEmQSYs98UwIur5GT12QkyVf7V/J6EmH+0KYzXFvdnEE8MePJvZJLPmX+8psi9Pm8nES/ryCngVzNoAne7/R9zJI96+w4AAA==


name: Generate SQL queries from schema only - AI-powered
author_name: Yulia
author_username: yulia
categories: []
created_at: 2024-10-29T21:14:34.146Z
updated_at: 2024-10-29T21:14:34.146Z
url: https://n8n.io/workflows/2508
scraped_at: 2025-09-14 11:38:21
description:
  This workflow is a modification of the previous template on how to create an SQL agent with LangChain and SQLite.

  The key difference – the agent has access only to the database schema, not to the actual data. To achieve this, SQL queries are made outside the AI Agent node, and the results are never passed back to the agent.

  This approach allows the agent to generate SQL queries based on the structure of tables and their relationships, without having to access the actual data.

  This makes the process more secure and efficient, especially in cases where data confidentiality is crucial.

  🚀 Setup

  To get started with this workflow, you’ll need to set up a free MySQL server and import your database (check Step 1 and 2 in this tutorial). 

  Of course, you can switch MySQL to another SQL database such as PostgreSQL, the principle remains the same. The key is to download the schema once and save it locally to avoid repeated remote connections.

  Run the top part of the workflow once to download and store the MySQL chinook database schema file on the server.

  With this approach, we avoid the need to repeatedly connect to a remote db4free database and fetch the schema every time. As a result, we reach greater processing speed and efficiency.

  🗣️ Chat with your data

  Start a chat: send a message in the chat window.
  The workflow loads the locally saved MySQL database schema, without having the ability to touch the actual data. The file contains the full structure of your MySQL database for analysis.
  The Langchain AI Agent receives the schema, your input and begins to work.
  The AI Agent generates SQL queries and brief comments based solely on the schema and the user’s message.
  An IF node checks whether the AI Agent has generated a query. When:
  Yes: the AI Agent passes the SQL query to the next MySQL node for execution.
  No: You get a direct answer from the Agent without further action.

  The workflow formats the results of the SQL query, ensuring they are convenient to read and easy to understand.
  Once formatted, you get both the Agent answer and the query result in the chat window.

  🌟 Example queries

  Try these sample queries to see the schema-driven AI Agent in action:

  Would you please list me all customers from Germany?

  What are the music genres in the database?

  What tables are available in the database?

  Please describe the relationships between tables. - In this example, the AI Agent does not need to create the SQL query.

  And if you prefer to keep the data private, you can manually execute the generated SQL query in your own environment using any database client or tool you trust 🗄️

  💭 The AI Agent memory node does not store the actual data as we run SQL-queries outside the agent. It contains the database schema, user questions and the initial Agent reply. Actual SQL query results are passed to the chat window, but the values are not stored in the Agent memory.

nodes_used:
  ["@n8n/n8n-nodes-langchain.lmChatOpenAi","@n8n/n8n-nodes-langchain.memoryBufferWindow","n8n-nodes-base.noOp","n8n-nodes-base.mySql","n8n-nodes-base.mySql","n8n-nodes-base.set","n8n-nodes-base.convertToFile","n8n-nodes-base.readWriteFile","n8n-nodes-base.extractFromFile","@n8n/n8n-nodes-langchain.chatTrigger","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.manualTrigger","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.set","n8n-nodes-base.readWriteFile","n8n-nodes-base.set","n8n-nodes-base.if","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.mySql","n8n-nodes-base.set","n8n-nodes-base.merge"]

workflow_json_compressed:
  [encoded data, 7008 characters]


name: TwentyCRM event based updates on selective messaging channels with logs
author_name: sateshcharan
author_username: sateshcharan
categories: []
created_at: 2024-10-30T13:18:04.260Z
updated_at: 2024-10-30T13:18:04.260Z
url: https://n8n.io/workflows/2509
scraped_at: 2025-09-14 11:38:24
description:
  Who is this template for?

  This workflow template is designed for DevOps, Engineering, and Managed Service Provider professionals seeking alerts on various channels, with each channel being logically chosen based on the severity of the event.

  How it works

  Each time a new event occurs, the workflow runs (powered by TwentyCRM's native Webhooks feature).
  After filtering for the required data from the webhook, the filtered data is logged using Google Sheets.
  Based on the eventType from the webhook, we conditionally select a predefined messaging channel and send updates or alerts through it.

  Set up instructions

  Complete the Set up credentials step when you first open the workflow. You'll need a Google-OAuth2.0 with Gmail API & Google Sheets Scope, Slack with OAuth2.0 - chat:write scopes.
  Set up the Webhook in TwentyCRM, linking the On new TwentyCRM event Trigger with your TwentyCRM App.
  Set the correct channel to send to in the Post message in channel step.
  After testing your workflow, swap the Test URL to Production URL in TwentyCRM and activate your workflow.

  Template was created in n8n v1.63.4.

nodes_used:
  ["n8n-nodes-base.stickyNote","n8n-nodes-base.set","n8n-nodes-base.googleSheets","n8n-nodes-base.if","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.webhook","n8n-nodes-base.gmail","n8n-nodes-base.slack"]

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


name: Enhance Security Operations with the Qualys Slack Shortcut Bot!
author_name: Angel Menendez
author_username: djangelic
categories: []
created_at: 2024-10-30T19:28:02.510Z
updated_at: 2024-10-30T19:28:02.510Z
url: https://n8n.io/workflows/2510
scraped_at: 2025-09-14 11:38:24
description:
  Enhance Security Operations with the Qualys Slack Shortcut Bot!

  Our Qualys Slack Shortcut Bot is strategically designed to facilitate immediate security operations directly from Slack. This powerful tool allows users to initiate vulnerability scans and generate detailed reports through simple Slack interactions, streamlining the process of managing security assessments.

  Workflow Highlights:
  Interactive Modals**: Utilizes Slack modals to gather user inputs for scan configurations and report generation, providing a user-friendly interface for complex operations.
  Dynamic Workflow Execution**: Integrates seamlessly with Qualys to execute vulnerability scans and create reports based on user-specified parameters.
  Real-Time Feedback**: Offers instant feedback within Slack, updating users about the status of their requests and delivering reports directly through Slack channels.


  Operational Flow:
  Parse Webhook Data**: Captures and parses incoming data from Slack to understand user commands accurately.
  Execute Actions**: Depending on the user's selection, the workflow triggers other sub-workflows like 'Qualys Start Vulnerability Scan' or 'Qualys Create Report' for detailed processing.
  Respond to Slack**: Ensures that every interaction is acknowledged, maintaining a smooth user experience by managing modal popups and sending appropriate responses.


  Setup Instructions:
  Verify that Slack and Qualys API integrations are correctly configured for seamless interaction.
  Customize the modal interfaces to align with your organization's operational protocols and security policies.
  Test the workflow to ensure that it responds accurately to Slack commands and that the integration with Qualys is functioning as expected.


  Need Assistance?
  Explore our Documentation or get help from the n8n Community for more detailed guidance on setup and customization.

  Deploy this bot within your Slack environment to significantly enhance the efficiency and responsiveness of your security operations, enabling proactive management of vulnerabilities and streamlined reporting.

  To handle the actual processing of requests, you will also need to deploy these two subworkflows:
  Qualys Start Vulnerability Scan
  Qualys Create Report

  To simplify deployment, use this Slack App manifest to quickly create an app with the correct permissions:

  {
      "display_information": {
          "name": "Qualys n8n Bot",
          "description": "n8n Integration for Qualys",
          "background_color": "#2a2b2e"
      },
      "features": {
          "bot_user": {
              "display_name": "Qualys n8n Bot",
              "always_online": false
          },
          "shortcuts": [
              {
                  "name": "Scan Report Generator",
                  "type": "global",
                  "callback_id": "qualys-scan-report",
                  "description": "Generate a report from the latest scan to review vulnerabilities and compliance."
              },
              {
                  "name": "Launch Qualsys VM Scan",
                  "type": "global",
                  "callback_id": "trigger-qualys-vmscan",
                  "description": "Start a Qualys Vulnerability scan from the comfort of your Slack Workspace"
              }
          ]
      },
      "oauth_config": {
          "scopes": {
              "bot": [
                  "commands",
                  "channels:join",
                  "channels:history",
                  "channels:read",
                  "chat:write",
                  "chat:write.customize",
                  "files:read",
                  "files:write"
              ]
          }
      },
      "settings": {
          "interactivity": {
              "is_enabled": true,
              "request_url": "Replace everything inside the double quotes with your workflow webhook url, for example: https://n8n.domain.com/webhook/99db3e73-57d8-4107-ab02-5b7e713894ad"",
              "message_menu_options_url": "Replace everything inside the double quotes with your workflow message options webhook url, for example: https://n8n.domain.com/webhook/99db3e73-57d8-4107-ab02-5b7e713894ad""
          },
          "org_deploy_enabled": false,
          "socket_mode_enabled": false,
          "token_rotation_enabled": false
      }
  }

nodes_used:
  ["n8n-nodes-base.set","n8n-nodes-base.executeWorkflow","n8n-nodes-base.set","n8n-nodes-base.executeWorkflow","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.switch","n8n-nodes-base.set","n8n-nodes-base.switch","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.respondToWebhook","n8n-nodes-base.stickyNote","n8n-nodes-base.webhook","n8n-nodes-base.respondToWebhook","n8n-nodes-base.respondToWebhook","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, 8116 characters]


name: Qualys Vulnerability Trigger Scan SubWorkflow
author_name: Angel Menendez
author_username: djangelic
categories: []
created_at: 2024-10-31T00:18:38.836Z
updated_at: 2024-10-31T00:18:38.836Z
url: https://n8n.io/workflows/2511
scraped_at: 2025-09-14 11:38:24
description:
  This workflow is triggered by a parent workflow initiated via a Slack shortcut. Upon activation, it collects input from a modal window in Slack and initiates a vulnerability scan using the Qualys API.

  Key Features
  Trigger:** Launched by a parent workflow through a Slack shortcut with modal input.
  API Integration:** Utilizes the Qualys API for vulnerability scanning.
  Data Conversion:** Converts XML scan results to JSON for further processing.
  Loop Mechanism:** Continuously checks the scan status until completion.
  Slack Notifications:** Posts scan summary and detailed results to a specified Slack channel.

  Workflow Nodes
  Start VM Scan in Qualys: Initiates the scan with specified parameters.
  Convert XML to JSON: Converts the scan results from XML format to JSON.
  Fetch Scan Results: Retrieves scan results from Qualys.
  Check if Scan Finished: Verifies whether the scan is complete.
  Loop Mechanism: Handles the repetitive checking of the scan status.
  Slack Notifications: Posts updates and results to Slack.


  Relevant Links
  Qualys API Documentation
  Qualys Platform Documentation
  Parent workflow link
  Link to Report Generator Subworkflow

nodes_used:
  ["n8n-nodes-base.httpRequest","n8n-nodes-base.xml","n8n-nodes-base.httpRequest","n8n-nodes-base.splitInBatches","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.wait","n8n-nodes-base.xml","n8n-nodes-base.if","n8n-nodes-base.executeWorkflowTrigger","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.slack","n8n-nodes-base.slack","n8n-nodes-base.slack","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.set","n8n-nodes-base.stickyNote","n8n-nodes-base.merge","n8n-nodes-base.slack","n8n-nodes-base.manualTrigger","n8n-nodes-base.noOp","n8n-nodes-base.merge","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 8260 characters]


name: Qualys Scan Slack Report Subworkflow
author_name: Angel Menendez
author_username: djangelic
categories: []
created_at: 2024-10-31T00:22:38.823Z
updated_at: 2024-10-31T00:22:38.823Z
url: https://n8n.io/workflows/2512
scraped_at: 2025-09-14 11:38:24
description:
  Introducing the Qualys Scan Slack Report Subworkflow—a robust solution designed to automate the generation and retrieval of security reports from the Qualys API.

  This workflow is a sub workflow of the Qualys Slack Shortcut Bot workflow. It is triggered when someone fills out the modal popup in slack generated by the Qualys Slack Shortcut Bot.

  When deploying this workflow, use the Demo Data node to simulate the data that is input via the Execute Workflow Trigger. That data flows into the Global Variables Node which is then referenced by the rest of the workflow. 

  It includes nodes to Fetch the Report IDs and then Launch a report, and then check the report status periodically and download the completed report, which is then posted to Slack for easy access. 

  For Security Operations Centers (SOCs), this workflow provides significant benefits by automating tedious tasks, ensuring timely updates, and facilitating efficient data handling.

  How It Works

  Fetch Report Templates:** The "Fetch Report IDs" node retrieves a list of available report templates from Qualys. This automated retrieval saves time and ensures that the latest templates are used, enhancing the accuracy and relevance of reports.
    
  Convert XML to JSON:** The response is converted to JSON format for easier manipulation. This step simplifies data handling, making it easier for SOC analysts to work with the data and integrate it into other tools or processes.
    
  Launch Report:** A POST request is sent to Qualys to initiate report generation using specified parameters like template ID and report title. Automating this step ensures consistency and reduces the chance of human error, improving the reliability of the reports generated.
    
  Loop and Check Status:** The workflow loops every minute to check if the report generation is complete. Continuous monitoring automates the waiting process, freeing up SOC analysts to focus on higher-priority tasks while ensuring they are promptly notified when reports are ready.
    
  Download Report:** Once the report is ready, it is downloaded from Qualys. Automated downloading ensures that the latest data is always available without manual intervention, improving efficiency.
    
  Post to Slack:** The final report is posted to a designated Slack channel for quick access. This integration with Slack ensures that the team can promptly access and review the reports, facilitating swift action and decision-making.

  Get Started

  Ensure your Slack and Qualys integrations are properly set up.
  Customize the workflow to fit your specific reporting needs.
  Link to parent workflow
  Link to Vulnerability Scan Trigger

  Need Help?

  Join the discussion on our Forum or check out resources on Discord!


  Deploy this workflow to streamline your security report generation process, improve response times, and enhance the efficiency of your security operations.

nodes_used:
  ["n8n-nodes-base.set","n8n-nodes-base.httpRequest","n8n-nodes-base.xml","n8n-nodes-base.httpRequest","n8n-nodes-base.splitInBatches","n8n-nodes-base.wait","n8n-nodes-base.httpRequest","n8n-nodes-base.if","n8n-nodes-base.httpRequest","n8n-nodes-base.slack","n8n-nodes-base.xml","n8n-nodes-base.xml","n8n-nodes-base.executeWorkflowTrigger","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"]

workflow_json_compressed:
  [encoded data, 7504 characters]


name: Convert Image Files (JPG, PNG) to URLs and Reduce File Size for FREE
author_name: simonscrapes
author_username: simonscrapes
categories: []
created_at: 2024-10-31T14:44:02.675Z
updated_at: 2024-10-31T14:44:02.675Z
url: https://n8n.io/workflows/2513
scraped_at: 2025-09-14 11:38:22
description:
  Use Case
  Transform and optimize images for web use:
  You need to host local images online
  You want to reduce image file sizes automatically
  You need image URLs for web content
  You want to generate and optimize AI-created images

  What this Workflow Does
  The workflow processes images through two services:
  Uploads images to ImgBB for hosting and URL generation (free but need API key)
  Optimizes images using ReSmush.it to reduce file size (free)
  Optional: Creates images using OpenAI's image generation
  Returns optimized image URLs ready for use

  Setup
  Create an ImgBB account and get your API key
  Add your ImgBB API key to the HTTP Request node (key parameter)
  Optional: Configure OpenAI credentials for image generation
  Connect your image input source

  How to Adjust it to Your Needs
  Skip OpenAI nodes if using your own image files
  Adjust image optimization parameters
  Customize image hosting settings
  Modify output format for your needs


  More templates and n8n workflows &gt;&gt;&gt; @simonscrapes

nodes_used:
  ["n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","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.set","@n8n/n8n-nodes-langchain.openAi","n8n-nodes-base.noOp"]

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


name: Summarize your emails with A.I. (via Openrouter) and send to Line messenger
author_name: Keith Rumjahn
author_username: rumjahn
categories: []
created_at: 2024-11-01T07:46:21.338Z
updated_at: 2024-11-01T07:46:21.338Z
url: https://n8n.io/workflows/2515
scraped_at: 2025-09-14 11:38:23
description:
  Who is this template for?
  Anyone who is drowning in emails
  Busy parents who has alot of school emails
  Busy executives with too many emails

  Case Study
  I get too many emails from my kid's school about soccer practice, lunch orders and parent events. I use this workflow to read all the emails and tell me what is important and what requires actioning. 

  Youtube tutorial

  What this workflow does
  It uses IMAP to read the emails from your email account (i.e. Gmail). 
  It then passes the email to Openrouter.ai and uses a free A.I. model to read and summarize the email. 
  It then sends the summary as a message to your messenger (i.e. Line).

  Setup
  You need to find your email server IMAP credentials. 
  Input your openrouter.ai API credentials or replace the HTTP request node with an A.I. node such as OpenAI. 
  Input your messenger credentials. I use Line but you can change the node to another messenger line Telegram.
  You need to change the message ID to your ID inside the http request. You can find your user ID inside the https://developers.line.biz/console/. Change the "to": {insert your user ID}.

  How to adjust it to your needs
  You can change the A.I. prompt to fit your needs by telling it to mark emails from a certain address as important. 
  You can change the A.I. model from the current meta-llama/llama-3.1-70b-instruct:free to a paid model or other free models. 
  You can change the messenger node to telegram or any other messenger app you like.

nodes_used:
  ["n8n-nodes-base.emailReadImap","n8n-nodes-base.httpRequest","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.chainLlm","@n8n/n8n-nodes-langchain.lmChatOpenRouter","@n8n/n8n-nodes-langchain.outputParserStructured","n8n-nodes-base.if"]

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


name: 📈 Receive Daily Market News from FT.com to your Microsoft outlook inbox
author_name: Louis
author_username: louisdl
categories: []
created_at: 2024-11-01T13:38:33.684Z
updated_at: 2024-11-01T13:38:33.684Z
url: https://n8n.io/workflows/2516
scraped_at: 2025-09-14 11:38:23
description:
  📈 Daily Financial News - Description 

  This workflow automates the process of collecting, organizing, and delivering a daily summary of financial news by following these key steps:

  Scheduled Activation  
     The workflow starts at 7:00 AM each day, triggered by the Schedule Trigger node.

  News Retrieval  
     The HTTP Request node fetches the latest financial news from FT.com.

  Content Extraction  
     The Extract Specific Content node scrapes targeted sections of the HTML (headlines, editor's picks, top stories, etc.) using CSS selectors to locate and capture relevant content.

  News Aggregation  
     The Set Node gathers and organizes the extracted news data, preparing it for summarization. Categories like "Headline #1," "Editor's Picks," and "Europe News" are all structured into a single data block.

  Summarization  
     An AI Agent (Google Gemini) takes the aggregated news data and creates a concise, HTML-formatted summary tailored to give investors an insightful market snapshot.

  Email Delivery  
     Finally, the Microsoft Outlook node sends the summary via email to the designated recipient with the subject "Financial news from today."

  This process ensures that financial news is efficiently curated, summarized, and delivered without manual intervention.

nodes_used:
  ["n8n-nodes-base.html","n8n-nodes-base.httpRequest","n8n-nodes-base.scheduleTrigger","@n8n/n8n-nodes-langchain.lmChatGoogleGemini","n8n-nodes-base.set","@n8n/n8n-nodes-langchain.agent","n8n-nodes-base.stickyNote","n8n-nodes-base.microsoftOutlook"]

workflow_json_compressed:
  H4sIAAAAAAAAE52VTW/jNhCG/wrBSy+iQ1EkRenURdEu9tAW6HZ7CYJiSA5tIhLlSjSygeH/Xshx105iZYNe7fl43nc0wz3tMQNt9zSmKUNy+MnTlmouldNV06jSm8qZmmvLvTdeVxUvtbQeeBlQmVDyyqF3wola21CGxpVlKOmhoGnwONH2dk/jXNILEBIayxoXKiY9cmYE1kx5o4xWxksraUET9Ehb+vPXPILLZNqiiyE64oaUMWVa0Py4nSOSSezYglmYcLXJfTenD3lues7HDl1GTzYIvosJp4Kgj3kYf5jINrr7qSDTdshdXG8ywexWtKDbYYo5Dom2t4bzopL8rqBbGKHHjONE2/3h1OlT+qUbHmibxx0+kf2F43RMLVfiUJy0VwaC8kEwrRwyGbhkgL5iOtSlNyVUtQ9n7R8xkxATJBehIwkfJjKkmf0N8Xn7B/6zwylfePBl7EhL5v+m9ubm4eFhFfLKDf3Nc4nK/F+J8kJiraUVgjfMBsGZDGiZ5ZyzAEKXUjWgy/os8bPboN91SP4c43qN46Ky6RR4jrsgr/QS+eIkGm2rqrbAdMCayRodM5VRTBkbnHa1aZy9mMQwrDskH7GPKZKfNpDJr4PH7oz7YzLp5szcQVq7DcS06vo5/KnAU/5z9lJwXijxffgzulAINlSs0mXDpAfBLArHrIemdporL/0FOuQNjiRvkGCHPaY8LZuM+QUcF+9ytlrJb3hKSmVLGZhQaJisVcOM8JI1RjW6dFAHf4H34RP5sH62z4tOwinupXnvmrw+7yC3tUZwzGupmZTeMOtkyaQGEL4JyNXFDn7O0d0/kt+GvLx10zHmFHJBx2Y6wV/R0f9uWEvp8pjrIKzGBpixpWSSm4oBV45VttYAqHkJ5oITkz8Oedr1PYyPxD4SZD3EbhG7j24cpiHk33e5G4b7F9Yq+S5rxeGumAUldHPmUd+3obZ72kOcy93uj+/AO0mPSQWNyeNX2vLD3d2heH0rrlV/x828Wvzamlyr//p7vVpu8dm6yvzWil6nXbpH7Z5C/HvemR2s8fTbm/ivwl/1WnT0mpbvv9dXBB0O/wLEnwHmfwgAAA==


name: Send Google analytics data to A.I. to analyze then save results in Baserow
author_name: Keith Rumjahn
author_username: rumjahn
categories: []
created_at: 2024-11-01T15:33:44.130Z
updated_at: 2024-11-01T15:33:44.130Z
url: https://n8n.io/workflows/2517
scraped_at: 2025-09-14 11:38:23
description:
  Who's this for?
  If you own a website and need to analyze your Google analytics data
  If you need to create an SEO report on which pages are getting most traffic or how your google search terms are performing
  If you want to grow your site based on suggestions from data

  Use case
  Instead of hiring an SEO expert, I run this report weekly. It checks compares the data from this week to the week before:
  Views based on countries
  The top performing pages
  Google search console performance

  Watch youtube tutorial here

  Get my SEO A.I. agent system here

  How it works
  The workflow gathers google analytics for the past 7 days then it gathers the data for the week before for comparison.
  It does this 3 times to get: views per country, engagement per page and google search console results for organic search results.
  The google analytics nodes has already chosen the correct dimensions and metrics. 
  At the end, it passes the data to openrouter.ai for A.I. analyse.
  Finally it saves to baserow. 

  How to use this
  Input your Google analytics credentials
  Input your property ID
  Input your Openrouter.ai credentials
  Input your baserow credentials
  You will need to create a baserow database with columns: Name, Country Views, Page Views, Search Report, Blog (name of your blog).

  Created by Rumjahn

nodes_used:
  ["n8n-nodes-base.scheduleTrigger","n8n-nodes-base.manualTrigger","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.googleAnalytics","n8n-nodes-base.googleAnalytics","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.googleAnalytics","n8n-nodes-base.googleAnalytics","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.googleAnalytics","n8n-nodes-base.googleAnalytics","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.baserow","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 5580 characters]


name: 🎵 Sync YouTube and Spotify Music Playlists
author_name: Louis
author_username: louisdl
categories: []
created_at: 2024-11-01T16:50:08.247Z
updated_at: 2024-11-01T16:50:08.247Z
url: https://n8n.io/workflows/2518
scraped_at: 2025-09-14 11:38:24
description:
  Workflow Overview

  This workflow automates the process of updating a Spotify playlist with tracks from a YouTube playlist, ensuring no duplicates are added.

  Key Components

  Manual Trigger: Starts the workflow when you click ‘Test workflow’.
     
  Spotify Integration: Retrieves tracks from a specified Spotify playlist.

  YouTube Integration: Fetches tracks from a designated YouTube playlist.

  Batch Processing: Processes tracks in batches to handle multiple items efficiently.

  Track Search: Searches for YouTube tracks on Spotify to find corresponding IDs.

  Comparison: Compares existing Spotify tracks with YouTube tracks to identify which ones to add.

  Track Addition: Adds new Spotify tracks to the playlist that are not already included.

  If you have any questions or need clarification, feel free to ask!

nodes_used:
  ["n8n-nodes-base.compareDatasets","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.spotify","n8n-nodes-base.youTube","n8n-nodes-base.splitInBatches","n8n-nodes-base.manualTrigger","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.spotify","n8n-nodes-base.stickyNote","n8n-nodes-base.spotify"]

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


name: Summarize Umami data with AI (via Openrouter) and save it to Baserow
author_name: Keith Rumjahn
author_username: rumjahn
categories: []
created_at: 2024-11-02T07:13:06.199Z
updated_at: 2024-11-02T07:13:06.199Z
url: https://n8n.io/workflows/2520
scraped_at: 2025-09-14 11:38:24
description:
  Who's this for?
  Anyone who wants to improve the SEO of their website
  Umami users who want insights on how to improve their site
  SEO managers who need to generate reports weekly

  Case study

  Watch youtube tutorial here

  Get my SEO A.I. agent system here

  How it works
  This workflow calls the Umami API to get data 
  Then it sends the data to A.I. for analysis
  It saves the data and analysis to Baserow

  How to use this
  Input your Umami credentials
  Input your website property ID
  Input your Openrouter.ai credentials
  Input your baserow credentials
  You will need to create a baserow database with columns: Date, Summary, Top Pages, Blog (name of your blog).

  Future development
  Use this as a template. There's alot more Umami stats you can pull from the API.
  Change the A.I. prompt to give even more detailed analysis.

  Created by Rumjahn

nodes_used:
  ["n8n-nodes-base.manualTrigger","n8n-nodes-base.scheduleTrigger","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.stickyNote","n8n-nodes-base.code","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.code","n8n-nodes-base.httpRequest","n8n-nodes-base.code","n8n-nodes-base.httpRequest","n8n-nodes-base.baserow"]

workflow_json_compressed:
  [encoded data, 4680 characters]


name: Transfer credentials to other n8n instances using a Multi-Form
author_name: Mario
author_username: octionic
categories: []
created_at: 2024-11-03T20:13:25.521Z
updated_at: 2024-11-03T20:13:25.521Z
url: https://n8n.io/workflows/2521
scraped_at: 2025-09-14 11:38:24
description:
  Purpose

  This workflow allows you to transfer credentials from one n8n instance to another.

  How it works

  A multi-form setup guides you through the entire process
  You get to choose one of your predefined (in the Settings node) remote instances first
  Then all credentials of the current instance are being retrieved using the Execute Command node
  On the next form page you can select one of the credentials by their name and initiate the transfer
  Finally the credential is being created on the remote instance using the n8n API. A final form ending indicates if that action succeeded or not.

  Setup

  Select your credentials in the nodes which require those
  Configure your remote instance(s) in the Settings node
      Every instance is defined as object with the keys name, apiKey and baseUrl. Those instances are then wrapped inside an array. You can find an example described within a note on the workflow canvas.

  How to use

  Grab the (production) URL of the Form from the first node
  Open the URL and follow the instructions given in the multi-form

  Disclaimer

  Please note, that this workflow can only run on self-hosted n8n instances, since it requires the Execute Command Node.
  Security: Beware, that all credentials are being decrypted and processed within the workflow. Also the API keys to other n8n instances are stored within the workflow.
  This solution is primarily meant for transferring data between testing environments. For production use consider the n8n enterprise edition which provides a reliable way to manage credentials across different environments.

nodes_used:
  ["n8n-nodes-base.form","n8n-nodes-base.form","n8n-nodes-base.httpRequest","n8n-nodes-base.code","n8n-nodes-base.set","n8n-nodes-base.executeCommand","n8n-nodes-base.readWriteFile","n8n-nodes-base.extractFromFile","n8n-nodes-base.code","n8n-nodes-base.form","n8n-nodes-base.form","n8n-nodes-base.code","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.formTrigger"]

workflow_json_compressed:
  [encoded data, 4204 characters]


name: 📄🌐PDF2Blog - Create Blog Post on Ghost CRM from PDF Document
author_name: Joseph LePage
author_username: joe
categories: []
created_at: 2024-11-04T01:11:15.636Z
updated_at: 2024-11-04T01:11:15.636Z
url: https://n8n.io/workflows/2522
scraped_at: 2025-09-14 11:38:23
description:
  From PDF to Powerful Blog Posts: AI-Powered Content Transformation

  Turn complex documents into engaging digital content that drives results. This n8n Workflow uses AI to transforms lengthy PDFs into compelling blog posts that attract and retain readers while you focus on strategic initiatives.

  Time-Saving Innovation

  🚅Lightning-Fast Processing
  Transform lengthy documents into polished blog content in under 1 minute, eliminating hours of manual work. Our system handles the heavy lifting, delivering up to a 95% reduction in content production time.

  📱Intelligent Analysis
  The AI engine identifies and extracts key insights, organizing information for maximum impact. Each document undergoes comprehensive analysis to ensure no valuable content is overlooked.

  Advanced Content Optimization

  ✍️Dynamic Writing Styles Possible
  Adjust the prompt for multiple tone options:
  Professional for corporate communications
  Conversational for engaging blogs
  Thought leadership for industry authority

  📊SEO-Ready Content Potential
  Adjust the prompt to automatically optimized for search engines, incorporating relevant keywords and semantic structure to improve visibility and drive organic traffic.

  Ideal Applications

  🤼Content Marketing Teams
  Scale content production without sacrificing quality or consistency. Perfect for teams looking to maintain a robust publishing schedule while maximizing resource efficiency.

  🏫Academic Communication
  Help researchers and institutions share complex findings with broader audiences through accessible, engaging content that maintains academic integrity.

  🧑‍💻Digital Publishers
  Streamline the content transformation process while ensuring each piece meets modern digital standards and reader expectations.

  Transform your content strategy with an intelligent system that delivers consistent, high-quality results while dramatically reducing production time.

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

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


name: Elastic Alert Notification via Microsoft Graph API
author_name: Aditya Gaur
author_username: autom8r
categories: []
created_at: 2024-11-04T11:09:10.365Z
updated_at: 2024-11-04T11:09:10.365Z
url: https://n8n.io/workflows/2523
scraped_at: 2025-09-14 11:38:24
description:
  Who is this template for?

  This template is for teams and administrators who use n8n to monitor Elastic alerts and want to receive automated email notifications when an alert is triggered. It leverages Microsoft Graph API to send emails and provides an efficient way to notify users about alerts directly in their inbox.

  How it works?

  The template connects to the Elastic API to retrieve alert data. When a new alert is detected, the workflow processes the alert content and sends an email notification via Microsoft Graph API. The email includes alert details such as the alert name, timestamp, severity, and a summary of the message, allowing for quick action or review.

  Setup steps

  Step 1: Set up OAuth2 Credentials in n8n for Microsoft Graph API with Mail.Send permission.
  Step 2: Configure your Elastic API endpoint in the HTTP Request node to retrieve alerts.
  Step 3: Modify the email recipients in the template to specify who will receive the alert notifications.
  Step 4: Customize the email format, if necessary, to include additional alert details or adjust the message.

nodes_used:
  ["n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.if","n8n-nodes-base.noOp","n8n-nodes-base.splitInBatches","n8n-nodes-base.noOp"]

workflow_json_compressed:
  H4sIAAAAAAAAE62WW4/qNhCA/0pk9TGGJDhXna66bVftVmcvWlBfFlQ5zgR8lNipbVYHofz3ygkQ9gB7kfqAguy5fDOeGXuLhCxAo+x5i3iBMgQkDdI4nuBJWqaY5AnFOYkCHExCNolDn5A4RS4StAaUoT/AODcV1YYz57oCZZCLzKaxWyIRuLONc6phtDKmeYJ/16CtTCM1N1wKlD1HgecS4i1c1FBFazCgNMq2aK0qlCGrprPxeCPXCjeK6xpD7w/ThmMQRSO5MCMm6zG1ABq5SDbWtrXStj3P36B05y5o3V2gaTyhSRASHALzMAHq4TTMQxxDRL3Si4KQ5kOgUxCFc1NTXjn30vCSM9rxfzpcnxDPDYL34l0q2qxGNWdKaln28b34I29cw1iDKO4or15FinJZbH6TwoAwsx7pm5YCtS5SPccdmJW0kT8+TGfIRXRtViDMPpIMyeu1WQXI7RQfj+CMWoPbORhW/9Kdzs/buXCcOapBa7qEOcqcbsWu6XX+DZixa3P0+HQ7vXtdK5mz3f5kfT3PUXd2/9hkz9GibefI3Vuxbo/M2iU2hNkb/3N29/WgciSx24Wqku6XXF3Z37VwOmfOimonBxCOUXy5BAVF1sloo6RYXnWIzj2tIfsy3q1dBj7WnMILKG42Z/X0bvNEa8Zr0IbWzVk1s98d9HJ19TsYyivdcf+IdjiRI/knWFJV6C4X/YH0UU432kA9R30C20PujXwCxhsOwmiby+d9hg+HYaXAtsV1USjQ+tVJ9dt02JmjtQb1C3yndVOBLeq9z87v/u/uz8J+epg50vQFZnIKwtwaqHfWbGFaCy263OdlXJISAHCUhASTNI0xBT/ESewxmhOaF/lxn7MVFOsKnFlfFBcbXO8EB7mjJp8k52eaWldgv1wYUC+0smO3XZwMKX804OdJGCcsDDH1wgCTSRngtIgoDkiReAkpKCR0wH8C3UihweHaEdI4UDdmczEGXr7GTsh57Lfm6cg/oEYRCfwIIswCP8CkJDlOci/FkRfFISMlK1J/QL2XzkMDqhs+rlNIy7viYnmRVsiH5odZ6nueGyUnwCf5HLLJgBapN8FhBAUmFBKcl2WKGbAgJnlQQnyE+FXKxnl4AeXcULba9UpXfpfLoqm4uRW/UsNWoM/gBt6n8js5oNMQwtCi04CEmBSxh5MEYuwT5pd+wgoIwkvZtZeXLJ1KyuYz6bVX1QeSu3DtvBXADnfRSRdlW1RTbo0+b7sXx+7tcOZWGAA7DRdxUcB3lHntYtG6Fyr8nP2PnN6JC3fQf79AzwJeCusc4jvtetb+pZfI/5YC6+QNxXN+PlBtb2X63cfVGca2/Q9j+8V9uwoAAA==


name: Monitor if a page is alive and notify via Twilio SMS if not
author_name: Rui Borges
author_username: rpb-dev
categories: []
created_at: 2024-11-04T14:33:26.382Z
updated_at: 2024-11-04T14:33:26.382Z
url: https://n8n.io/workflows/2524
scraped_at: 2025-09-14 11:38:24
description:
  Workflow Purpose

  This workflow periodically checks a service's availability and sends an SMS notification if the service is down.

  High-Level Steps

  Schedule Trigger: The workflow is triggered at a specified interval, such as every minute.
  HTTP Request: An HTTP request is sent to the URL of the service being monitored.
  If: The HTTP status code of the response is checked.
  If the status code is 200 (OK), the workflow ends.
  If the status code is not 200, indicating a potential issue, an SMS notification is sent using Twilio.

  Setup
  Setting up this workflow is relatively straightforward and should only take a few minutes:

  Create a new n8n workflow.
  Add the nodes: Schedule Trigger, HTTP Request, If, and Twilio.
  Configure the nodes:
  Schedule Trigger: Specify the desired interval.
  HTTP Request: Enter the URL of the service to be monitored.
  If: Set the condition to check for a status code other than 200.
  Twilio: Enter the Twilio account credentials and the phone numbers for sending and receiving the SMS notification.
  Connect the nodes: Connect the nodes as shown in the workflow diagram.
  Activate the workflow: Save the workflow and activate it.

  Additional Notes

  The workflow can be customized by changing the interval, the URL, the Twilio credentials, and the SMS message.
  This workflow is a simple example, and more complex workflows can be created to meet specific needs.

nodes_used:
  ["n8n-nodes-base.scheduleTrigger","n8n-nodes-base.httpRequest","n8n-nodes-base.twilio","n8n-nodes-base.if"]

workflow_json_compressed:
  H4sIAAAAAAAAE3WUT2/jNhDFv4pB9CgGFEWKlIEeivaQBEV3Nwn2EvjAP0OHhURpRcrZrqHvXkhybCexLwYNDt7M7z1x9shbtEZdF2/r+/qxu/367b5j31CGGkgKrffIh5hUMHA31XEurZSCFE6XXFNLgLEyL7QpeJWXlEtNHNGukoXhlomCGEIMo0wLYVRRKjRmKKltROvnTYZCa2E67pchyjLnIGmOLRMWM+sqrFROMFOgra2gFIVAGQqqAbRGj+YF7FDD6qn32y30KEPpv266CTLgWRprFeEmHgpPdV0bffJtQOtnnOeEZJgzsslQp3rVQII+TuD9UMNiQIJ+p+p5UOehnmZtfBgSRDRuxnFp/B36OGvmN3TMDkiMl7oEVeC8KCeQ0mAlS4olM4RSq4UEdkK6fXr6unqAHwPEdBXnJaXuVHOOItgVkqGv0RqhDLXdVLvQQezaEOHj2Q11/XD8n/oBxvETIjtDtHnOuXEGGyoUZsRwLK0g2BBBuAHKTKVPiE+vvvbtVbj0dn3ORWcu+pkrtQuW69tmOTUQo9rOnwf0O29g9Vf7Gt6RTzCmBwsheVUvOnPXPzo/xz1B3f0yIv39cB//IeUr/PryEWCljGmHkNDn9I/GOKaEzJXGVakdZpLkuOKWYeukk07b3El10r1zV03x7oMhnF4J+owyQ6YN1h/zPot+9zYrzVANLn1X9QCLf0ZFeIQwtdod4j/wqdpbtQyAYuq9SWju0WgfVGp7tEYqWPS+7dvLFlwTbhjHjAnAjAiNJRMOc7AVqXRhCsrnkKBftPZHK4ZGz292uVv6w49hSm58P/7v+/3qt39jG25iUmmIf7YWVuOIMtT77ctbGSXkwpulN3TcZEiZc+4IKfmwnT2Dn2CGqf2X3sIEu8un/gcr592YV7lkOXVYWksxI8xgZUuJiWbSkco54cziTwBzDOPOTb+N8lOyz5vseT+vxQtPZa7JkA8WfqI1GTebMXu/Ms6Ejirn39VFhU979JLK5c10QW8c/wffN6CyUgYAAA==


name: Create Content from Form Inputs and Save it to Google Drive using AI
author_name: Francis Njenga
author_username: gatura
categories: []
created_at: 2024-11-04T20:00:09.023Z
updated_at: 2024-11-04T20:00:09.023Z
url: https://n8n.io/workflows/2525
scraped_at: 2025-09-14 11:38:22
description:
  AI Content Generator Workflow

  Introduction
  This workflow automates the process of creating high-quality articles using AI, organizing them in Google Drive, and tracking their progress in Google Sheets. It's perfect for marketers, bloggers, and businesses looking to streamline content creation. With minimal setup, you can have a fully operational system to generate, save, and manage your articles in one cohesive workflow.

  How It Works
  Collect Inputs: Users fill out a form with details like article title, keywords, and instructions.
  Generate Content: AI creates an outline and writes the article based on user inputs.
  Organize Files: Saves the outline and final article in Google Drive for easy access.
  Track Progress: Updates Google Sheets with links to the generated content for tracking.

  Set Up Steps
  Time Required**: Approximately 15–20 minutes to connect all integrations and test the workflow.
  Steps**:
    Connect Google Drive and Google Sheets: Authorize access to store files and update the spreadsheet.
    Set Up OpenAI Integration: Add your OpenAI API key for generating the outline and article content.
    Customize the Form: Modify the form fields to match the details you want to collect for each article.
    Test the Workflow: Run the workflow with sample inputs to ensure everything works smoothly.

  This workflow not only simplifies the process of article creation but also sets a foundation for expanding into additional automations, like posting to social media platforms.

nodes_used:
  ["n8n-nodes-base.googleDrive","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.merge","n8n-nodes-base.sort","n8n-nodes-base.aggregate","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.merge","n8n-nodes-base.formTrigger","n8n-nodes-base.googleSheets","n8n-nodes-base.set","n8n-nodes-base.convertToFile","n8n-nodes-base.splitOut","n8n-nodes-base.if","n8n-nodes-base.if","n8n-nodes-base.set","n8n-nodes-base.code","n8n-nodes-base.convertToFile","n8n-nodes-base.googleDrive","n8n-nodes-base.googleSheets","n8n-nodes-base.googleDrive","@n8n/n8n-nodes-langchain.openAi","@n8n/n8n-nodes-langchain.openAi","@n8n/n8n-nodes-langchain.openAi","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"]

workflow_json_compressed:
  [encoded data, 11696 characters]


name: Telegram to Spotify with OpenAI
author_name: Alexander Bentlund
author_username: nld-alex
categories: []
created_at: 2024-11-05T09:33:03.164Z
updated_at: 2024-11-05T09:33:03.164Z
url: https://n8n.io/workflows/2526
scraped_at: 2025-09-14 11:38:24
description:
  Search music and play to Spotify from Telegram

  This workflow is a simple demonstration on accessing a message model from Telegram and it makes searching for songs an easy task even if you can't remember the artist or song name.
  An OpenAI message model tries to figure out the song and sends it to an active Spotify device**.

  Use case
  Imagine an office where you play music in the background and the employees can control the music without having to login to the playing account.

  How it works
  You describe the song in Telegram.
  Telegram bot sends the text to n8n.
  An OpenAI message model tries to find the song.
  Spotify gets the search query string.
  First match is then added to queue.
  -- If there is no match a message is sent to Telegram and the process ends.
  We change to the next track in the list.
  We make sure the song starts playing by trying to resume.
  We fetch the currently playing track.
  We return "now playing" information to Telegram: Song Name - Artist Name - Album Name.

  Error handling
  Every Spotify step has it's on error handler under settings where we output the error.
  Message parser receives the error and sends it to Telegram.

  Requirements
  Active workflow*
  OpenAI API key
  Telegram bot
  Spotify account and Oauth2 API
  Spotify active on a device**

  .* The Telegram trigger is activated only if this workflow is active. You can however TEST the workflow in the editor by clicking "Test step" and then it waits for the Telegram event. When event is received, just step through all steps or just clicking "Test step" on the "Fetch Now Playing" node.

  .** You must have a Spotify device active when trying to communicate with a device. Open Spotify and play something - not it is active.

nodes_used:
  ["n8n-nodes-base.telegramTrigger","@n8n/n8n-nodes-langchain.openAi","n8n-nodes-base.spotify","n8n-nodes-base.spotify","n8n-nodes-base.spotify","n8n-nodes-base.spotify","n8n-nodes-base.spotify","n8n-nodes-base.stickyNote","n8n-nodes-base.merge","n8n-nodes-base.if","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.telegram","n8n-nodes-base.set"]

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


name: SharePoint List Fetch with OAuth Token
author_name: Aditya Gaur
author_username: autom8r
categories: []
created_at: 2024-11-05T09:49:37.056Z
updated_at: 2024-11-05T09:49:37.056Z
url: https://n8n.io/workflows/2527
scraped_at: 2025-09-14 11:38:23
description:
  Who is this template for?

  This template is designed for teams who need to automate data retrieval from SharePoint lists using n8n. It is ideal for users who want to authenticate via OAuth and then use the token to access SharePoint API endpoints, pulling in list data directly into n8n.

  How it works

  The template first generates an OAuth token using the Microsoft OAuth API. This token is then used to authenticate requests to the SharePoint List API, allowing the workflow to fetch data from a specified SharePoint list. By following the n8n workflow, the user can configure the necessary credentials and endpoints to automate SharePoint data access securely.

  Setup steps

  Step 1: Replace {tenant_id}, {client_id}, and {client_secret} with your Azure AD details for OAuth authentication.

  Step 2: Specify the SharePoint list API endpoint in the template (under "SharePoint List Fetch" node).

  Step 3: Configure the SharePoint list URL and make adjustments for specific data fields if necessary.

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

workflow_json_compressed:
  H4sIAAAAAAAAE5VVXW/bNhT9KwQ7oFsgWh+mPoc+ZAXWl7UNlmzAkAQBRV5bXGVSIym7nqH/PlBJbKVR2vVJEnnvuYf3HF4dsNICLK6uD1gKXOEkS2mexjVhLMsIjTiQumARycsoWzKWxxETOMCKbQBX+B0oMMwB+njeuwZd6U+gcIDdvvO7qlBkhCc1s7BonOt+h396sA4HuNNWOqkVrq6LJApoFt0GuGOGbcCBsbg64N60uMJvfJ6twpBxrnvl7IJxDtZyrZzR7WInldA7u1DgwsMB/fC31WrhQDHl7qRAwxA6T8uG2nMMExxg3fnKvsYQYHNP6T24RvsOXHy8vMIBrrXYXxzp/CE9oSO9sV8PPVgbX2k8coC3rO39Im8lKHfHDQhQTrLW4iE4pjzsSjHJOByOq8MwE2yBG3BzCfc7T5MMWN0bPqX02MbDXveG2IYZ6LRUjgi9YVINi9PSgusNHm6H4V7KP8HYUanEVxhtkq3yeMmzlBSrWhAqopTUNaxIWVMWr7KEFlCebPIrON6gS49/4fHRb3L0wHf6JI6zrxnlOw8Y3rFOhjuow1ZaZ8M1uHrvpGvhx9d/6d54jlf+8/VPoXSwsV8apwEmwPwvj5xzDt1UPNZ1reTMo4XesD9rwRx7o/QGHPOvUzHfauVAOXL11GMvYGzB1NrCFMAbXxv57xg7QfgFmAGDDofx4noHfU1zEcdQQpmQhGYFoUXKSZGvUpIJyAXLV2VaTDS/5A2IvgV0ZeR6DeZFue1D4CluIvmymFfc9C34p1QOzJa1vtkz5OPFiX6RLstVmnCSJHFBKKM5KbO8IEtYQgHlSlBenOhbcFfjDHmZN3xhzyya5/rENMxauVYbUG7ce/L5OIOXZSlosloSGkNEaESXpGRpToo0z+N6lXIR5Semx1F3YmqdkWo9EXpO2OWCHnuTMrpiNOYkypOM0DQpSFmyJalTiDjNeVxm0URaJ/mnPfqgHbzcnTHmIWTSpLSIgiR53iSuW21wlQd4J4VrcEXTwl8xuW4crmhEA8zvrwGu8KtX6ANswSD43GkLSBvUMCMQ1wJQDa3eofHkFt2os7Njg4LjhA2ejM6zM3SjbtR5u2N7iyzbAnINWEAgXQMGSYUs8N4A2rK+daiVnwA1zDaSa9P56u/eXqDLEQu9Z4qtwSzwMy8Ot+MZFPBHP0xcVh2wH1K4uvZTQ4tv/13H8ABLJeAzrqLh9nYInt+6OdwZb8+CzdafA/zGfJ8BH4b/APREuH56CAAA


name: Sync Google Calendar Events to Outlook
author_name: Alexander Bentlund
author_username: nld-alex
categories: []
created_at: 2024-11-05T10:07:58.573Z
updated_at: 2024-11-05T10:07:58.573Z
url: https://n8n.io/workflows/2528
scraped_at: 2025-09-14 11:38:23
description:
  What this workflow does
  This workflow is used as a bridge between your private Google Calendar to your Work Outlook Calendar. The same mentality can be used with other calendar types.

  Description
  Send a copy of a Google Calendar event to your Outlook work account as a reminder to yourself or co-workers that you are booked for private matters like "Dentist appointment", "Taking kids to Disney Land" etc.

  How it works
  Create event
  -- You create a Google Calendar event.
  -- A trigger in n8n reacts and collects the event info.
  -- An Outlook event is created with the same information in your Outlook Calendar.
  Cancel
  -- You cancel an event in Google Calendar
  -- A trigger in n8n reacts and collects the canceled event info.
  -- Using the Outlook node to getAll events searches for the event in your Outlook Calendar.
  -- If the event is found it is then deleted.
  -- An email with the details of the cancelation is then sent to your Outook e-mail address.

  The n8n Merge node is used to combine results from two different nodes that are necessary to create the cancelled event e-mail notification.

  Important notice
  Make sure you use a dedicated Google Calendar for private events that will be displayed in your work Outlook calendar in order to avoid displaying unwanted calendar events that you do not wish to share with your co-workers.

  Requirements
  Active workflow*
  Google Calendar OAuth2 API
  Microsoft Outlook OAuth2 API

  .*The Google Calendar trigger is activated only if this workflow is active. You can however TEST the workflow in the editor by clicking “Test step”. You will then receive a response from Google Calendar that you can use in order to view what data Google Sends.

nodes_used:
  ["n8n-nodes-base.merge","n8n-nodes-base.googleCalendarTrigger","n8n-nodes-base.googleCalendarTrigger","n8n-nodes-base.microsoftOutlook","n8n-nodes-base.microsoftOutlook","n8n-nodes-base.microsoftOutlook","n8n-nodes-base.microsoftOutlook"]

workflow_json_compressed:
  H4sIAAAAAAAAE+VXbW/bNhD+KxoxoC0qZqLeZbTd7KRJsybxkrrN4iYoKPJkM5EoT6KcuIH/+0DJjp1USYquKAbUHwybL3e8u+d5jrxGgqMOst586NqDfnbBDyZvvK2/kIkyUBR1rpGQpaKSwa5eF9MwIY5v8xC4y2wGoUsCwu3EDYkVhRxcgCDwbJfEnBHftzjhDELLdVxgAXeRiRRkk5Qq2CyAl+9AVZPNPJukoICjjioqmJtI0gxQB+3k+SgFg9EUJKeFoXKjX6k0zy+0HToqUefjmYlkzkH/vG5igQACj7sUA3gU6wPh2I84DggPIfZIAp6HbnzsQzECbW420X9lKHFtD8e0hI1sMTvJS6FELlHnY2RbZmhZZyaa0IJmoKAodZ6ynGsDLM9iIfWefKJ36Lm5uRzuzVZLummK5o3jD1CUtXVnbi6i8IF4keNaOCIWwy4jgCPwY8x8SPwgcqwohlUUu5LlmZAj4/UUpDIGhRiNoLg3rFGd2M1FXler18L0LMt0/C/DvBXVJE/TgcignhEKsroKi0zAFIrZvpCVAjQ/05E2fvqymZRqswCqy26iZYk1yK7Rp09F2mDBXBpLRamQiaY0rfTfWV4VnyCjIv1jpL83WJ7VZtgY+BGUVaoOmsyc5FVh1L/nugwFcJBK0LQ+8u089LuVGtvdiaij0UXYHfWG//y9qShlR5Pdt2qV8BuzxgKkSyMGZSyvpKrd3aotualtkCQxcZiDA0587MY8xBS4hYPEd4LQiVxK2MrVpmZf+v0qa4eW6bcA+LtWtj5z+hPWNrEgJIkXYxoSB7tgOThyLQvTKAhdO/bjKF5Tn4YBS1Vrany/GAlW5GWeqJUIrpU1cNsJW1bxOTCFOujl9bVxiraLPDMmhZhSBR3jFBnPjV/Py1xulFWW0WJmzOfIRAWUeVUwWBa01jMoaONM55oq+Ibidrv7F92d91f9waE7zN5be8f7Vyfn79XB1pEYCiJOznm6NzjITgbb4/7xobN/PBwfXPZ2uvWnl34+t+1h//LPw2H/sHd+eTB46yW9y95xNDv2+G5SHnmEzi78nhsP3zV7Xu90uw/Mww7tdrsv2wG2LLzWaZB8iyrQpFjkskkbSL7BFxPGLy+NSnJIhARu/N62onNnsEl3qWihWs3XM484uLOm88Vw44RyXoOFptsCUl6jI8757JY/DiUrRC0F7c7WFzw3TtHpqTxFhkbSGpbGKkv3hLzQjlu4eRfJLewsd/jksDfa5sMo3i/31xr2cu8NaxasNJ7SFK6Mg72tZ18S1L4hqAUBczxCMItdil2fBjhyAsBeEPPEjzmzrDXx3QG1UF6VG42qfSM/PbtddlORCYU6xESJSJeDrCpVnunCsFwqKmT5dMFj03iywsYNY5880xBtIe3Pw8+kyLNumi6HStRJaFrCDwPfZV5cGHXbehB+vudazEs8HPlOjF3bt3DIiIUJCxIvjgPPIWv9YQv0xfi/9YV72n2NkHthIfgaKFbqIHjN6Ef7A6/P/RPh73+mcQ5LbJ/od4PtY5fHBFPH8TDYbsSsxIssWNO4dyC58Rpr6BqXQo0NDoqKtPxGwBHLt0zffuwmspSweqzuJMbNrfEUNR1Ld6fNXCoNsA56MSavGi1my4XGVNC7t7QXv43JK332/AiYmAiQqrx9rdRU3fhc3yrv64kLr4Mmft3OfmCNH5GSMxNRpsQUllQqQSkhRw2tr4BVOqJ+waFAHTQlmq/TZnv9iHdczhzqcmzx2MMuJAyHIXExi1zuuH7ouRbVeM+lBLZ8EyweyjpoKnSZP17XD++vwk+9xURCcrhCHWt+ph8Nt7Stze6dp/ltI6Qx0taf22y1C+ndc5lf53sRQOvDrM35g5eIVtP3vOfbjD/8hGixPp//C9mMVkb1EQAA


name: Automatic Background Removal for Images in Google Drive
author_name: Simon
author_username: simonfes
categories: []
created_at: 2024-11-05T10:13:13.396Z
updated_at: 2024-11-05T10:13:13.396Z
url: https://n8n.io/workflows/2529
scraped_at: 2025-09-14 11:38:22
description:
  This n8n workflow simplifies the process of removing backgrounds from images stored in Google Drive. By leveraging the PhotoRoom API, this template enables automatic background removal, padding adjustments, and output formatting, all while storing the updated images back in a designated Google Drive folder.

  This workflow is very useful for companies or individuals that are spending a lot of time into removing the background from product images.

  How it Works

      The workflow begins with a Google Drive Trigger node that monitors a specific folder for new image uploads.
      Upon detecting a new image, the workflow downloads the file and extracts essential metadata, such as the file size.
      Configurations are set for background color, padding, output size, and more, which are all customizable to match specific requirements.
      The PhotoRoom API is called to process the image by removing its background and adding padding based on the settings.
      The processed image is saved back to Google Drive in the specified output folder with an updated name indicating the background has been removed.

  Requirements

      PhotoRoom API Key
      Google Drive API Access

  Customizing the Workflow

      Easily adjust the background color, padding, and output size using the configuration node.
      Modify the output folder path in Google Drive or replace Google Drive with another storage service if needed.
      For advanced use cases, integrate further image processing steps, such as adding captions or analyzing content using AI.

nodes_used:
  ["n8n-nodes-base.set","n8n-nodes-base.httpRequest","n8n-nodes-base.splitOut","n8n-nodes-base.googleDrive","n8n-nodes-base.httpRequest","n8n-nodes-base.merge","n8n-nodes-base.googleDrive","n8n-nodes-base.googleDrive","n8n-nodes-base.editImage","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.googleDriveTrigger","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.if","n8n-nodes-base.splitInBatches"]

workflow_json_compressed:
  [encoded data, 4152 characters]


name: Automated Work Attendance with Location Triggers
author_name: Rui Borges
author_username: rpb-dev
categories: []
created_at: 2024-11-05T12:13:46.324Z
updated_at: 2024-11-05T12:13:46.324Z
url: https://n8n.io/workflows/2530
scraped_at: 2025-09-14 11:38:23
description:
  his workflow automates time tracking using location-based triggers.

  How it works
  Trigger: It starts when you enter or exit a specified location, triggering a shortcut on your iPhone.
  Webhook: The shortcut sends a request to a webhook in n8n.
  Check-In/Check-Out: The webhook receives the request and records the time and whether it was a "Check-In" or "Check-Out" event.
  Google Sheets: This data is then logged into a Google Sheet, creating a record of your work hours.

  Set up steps
  Google Drive: Connect your Google Drive account.
  Google Sheets: Connect your Google Sheets account.
  Webhook: Set up a webhook node in n8n.
  iPhone Shortcuts: Create two shortcuts on your iPhone, one for "Check-In" and one for "Check-Out."
  Configure Shortcuts: Configure each shortcut to send a request to the webhook with the appropriate "Direction" header.

  It's easy to setup, around 5 minutes.

nodes_used:
  ["n8n-nodes-base.webhook","n8n-nodes-base.stickyNote","n8n-nodes-base.googleDrive","n8n-nodes-base.googleSheets","n8n-nodes-base.code","n8n-nodes-base.if","n8n-nodes-base.set","n8n-nodes-base.googleSheets","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

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


name: Save Qualys Reports to TheHive
author_name: Angel Menendez
author_username: djangelic
categories: []
created_at: 2024-11-05T18:14:55.243Z
updated_at: 2024-11-05T18:14:55.243Z
url: https://n8n.io/workflows/2531
scraped_at: 2025-09-14 11:38:24
description:
  Automate Report Generation with n8n & Qualys

  Introducing the Save Qualys Reports to TheHive Workflow—a robust solution designed to automate the retrieval and storage of Qualys reports in TheHive.

  This workflow fetches reports from Qualys, filters out already processed reports, and creates cases in TheHive for the new reports. It runs every hour to ensure continuous monitoring and up-to-date vulnerability management, making it ideal for Security Operations Centers (SOCs).

  How It Works:

  Set Global Variables:** Initializes necessary global variables like base_url and newtimestamp. This step ensures that the workflow operates with the correct configuration and up-to-date timestamps. Ensure to change the Global Variables to match your environment. 
    
  Fetch Reports from Qualys:** Sends a GET request to the Qualys API to retrieve finished reports. Automating this step ensures timely updates and consistent data retrieval.
    
  Convert XML to JSON:** Converts the XML response to JSON format for easier data manipulation. This transformation simplifies further processing and integration into TheHive.
    
  Filter Reports:** Checks if the reports have already been processed using their creation timestamps. This filtering ensures that only new reports are handled, avoiding duplicates.
    
  Process Each Report:** Loops through the list of new reports, ensuring each is processed individually. This step-by-step handling prevents issues related to bulk processing and improves reliability.
    
  Create Case in TheHive:** Generates a new case in TheHive for each report, serving as a container for the report data. Automating case creation improves efficiency and ensures that all relevant data is captured.
    
  Download and Attach Report:** Downloads the report from Qualys and attaches it to the respective case in TheHive. This automation ensures that all data is properly archived and easily accessible for review.


  Get Started:

  Ensure your Qualys and TheHive integrations are properly set up.
  Customize the workflow to fit your specific vulnerability management needs.


  Need Help?

  Join the discussion on our Forum or check out resources on Discord!


  Deploy this workflow to streamline your vulnerability management process, improve response times, and enhance the efficiency of your security operations.

nodes_used:
  ["n8n-nodes-base.manualTrigger","n8n-nodes-base.set","n8n-nodes-base.httpRequest","n8n-nodes-base.filter","n8n-nodes-base.if","n8n-nodes-base.splitInBatches","n8n-nodes-base.wait","n8n-nodes-base.n8n","n8n-nodes-base.executeWorkflow","n8n-nodes-base.xml","n8n-nodes-base.splitOut","n8n-nodes-base.theHiveProject","n8n-nodes-base.httpRequest","n8n-nodes-base.theHiveProject","n8n-nodes-base.scheduleTrigger","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, 7932 characters]


name: Backup workflows to git repository on Github
author_name: Shashikanth
author_username: shashikanth
categories: []
created_at: 2024-11-06T19:49:39.666Z
updated_at: 2024-11-06T19:49:39.666Z
url: https://n8n.io/workflows/2532
scraped_at: 2025-09-14 11:38:23
description:
  Source code, I maintain this worflow here.

  Usage Guide

  This workflow backs up all workflows as JSON files named in the [workflow_name].json format.

  Steps

  Create GitHub Repository  
     Skip this step if using an existing repository.

  Add GitHub Credentials  
     In Credentials, add the GitHub credential for the repository owner.

  Download and Import Workflow  
     Import this workflow into n8n.

  Set Global Values  
     In the Globals node, set the following:
       repo.owner: GitHub username of the repository owner.
       repo.name: Name of the repository for backups.
       repo.path: Path to the folder within the repository where workflows will be saved.

  Configure GitHub Nodes  
     Edit each GitHub node in the workflow to use the added credentials.

  Workflow Logic

  Each workflow run handles files based on their status:

  New Workflow  
     If a workflow is new, create a new file in the repository.

  Unchanged Workflow  
     If the workflow is unchanged, skip to the next item.

  Changed Workflow  
     If a workflow has changes, update the corresponding file in the repository.

  Current Limitations / Needs work

  Name Change of Workflows  
     If a workflow is renamed or deleted in n8n, the old file remains in the repository.
  Deleted Workflows  
     Deleted workflows in n8n are not removed from the repository.

nodes_used:
  ["n8n-nodes-base.github","n8n-nodes-base.set","n8n-nodes-base.n8n","n8n-nodes-base.splitInBatches","n8n-nodes-base.if","n8n-nodes-base.if","n8n-nodes-base.code","n8n-nodes-base.github","n8n-nodes-base.github","n8n-nodes-base.scheduleTrigger","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:
  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


name: Get Comments from Facebook Page
author_name: Sira Ekabut
author_username: siraekabut
categories: []
created_at: 2024-11-07T12:48:25.238Z
updated_at: 2024-11-07T12:48:25.238Z
url: https://n8n.io/workflows/2533
scraped_at: 2025-09-14 11:38:22
description:
  This workflow automates the collection of comments from posts on a Facebook Page.  

  Providing clean, structured data for analysis or further automation.

  What this workflow does
  Fetches recent posts from a Facebook Page.
  Retrieves comments for each post.
  Outputs structured data of Comments and Posts for further use.

  Setup
  Facebook Graph API: Connect your Access Token with the required permissions (pages_read_engagement, pages_read_user_content).
  Workflow: Set the Page ID and the number of posts to fetch in the "Set Number of Latest Posts to Fetch" node.

nodes_used:
  ["n8n-nodes-base.manualTrigger","n8n-nodes-base.splitOut","n8n-nodes-base.filter","n8n-nodes-base.set","n8n-nodes-base.splitOut","n8n-nodes-base.facebookGraphApi","n8n-nodes-base.facebookGraphApi","n8n-nodes-base.merge","n8n-nodes-base.code","n8n-nodes-base.set","n8n-nodes-base.stickyNote"]

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


name: Telegram AI bot assistant: ready-made template for voice & text messages
author_name: Yulia
author_username: yulia
categories: []
created_at: 2024-11-07T15:22:37.896Z
updated_at: 2024-11-07T15:22:37.896Z
url: https://n8n.io/workflows/2534
scraped_at: 2025-09-14 11:38:21
description:
  Free template for voice & text messages with short-term memory 
   
  This n8n workflow template is a blueprint for an AI Telegram bot that processes both voice and text messages. Ready to use with minimal setup. 
   
  The bot remembers the last several messages (10 by default), understands commands and provides responses in HTML. 
   
  You can easily swap GPT-4 and Whisper for other language and speech-to-text models to suit your needs. 
  Core Features 
     Text: send or forward messages 
     Voice: transcription via Whisper 
   
  Extend this template by adding LangChain tools. 
  Requirements 
  Telegram Bot API 
  OpenAI API (for GPT-4 and Whisper) 
   
  💡 New to Telegram bots? Check our step-by-step guide on creating your first bot and setting up OpenAI access. 
  Use Cases 
  Personal AI assistant 
  Customer support automation 
  Knowledge base interface 
  Integration hub for services that you use: 
    Connect to any API via HTTP Request Tool 
    Trigger other n8n workflows with Workflow Tool

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

workflow_json_compressed:
  [encoded data, 4644 characters]


name: Get Long Lived Facebook User or Page Access Token
author_name: Sira Ekabut
author_username: siraekabut
categories: []
created_at: 2024-11-09T00:42:28.140Z
updated_at: 2024-11-09T00:42:28.140Z
url: https://n8n.io/workflows/2535
scraped_at: 2025-09-14 11:38:24
description:
  Facebook access tokens expire quickly, requiring regular updates for continued API access. This workflow simplifies the process of exchanging short-lived tokens for long-lived ones, saving time and reducing manual effort.

  What this workflow does
  Exchanges a short-lived Facebook User Access Token for a long-lived token using the Facebook Graph API.
  Optionally retrieves a long-lived Page Access Token associated with the user.
  Outputs both the user and page tokens for further use in automation or integrations.

  Setup
  Prerequisites:

  A valid Facebook App ID and App Secret.
  A short-lived User Access Token from the Facebook platform.
  (Optional) The App-Scoped User ID for fetching associated page tokens.

  Workflow Configuration:
  Replace placeholder values in the "Set Parameter" node with your Facebook credentials and token.
  Run the workflow manually to generate long-lived tokens.

  Documentation Reference:

  Follow the official Facebook guide for more details: https://developers.facebook.com/docs/facebook-login/guides/access-tokens/get-long-lived/

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

workflow_json_compressed:
  H4sIAAAAAAAAE8VW7W7bNhR9FYEdkBYQbYoiKVFAf3TFVhQYtn5kK4YkCCjyStYiU6pIp/YMAX2M7fX6JINkx3FiJ+32Z/olUrz3XN1zzpXWqDIoQ9UL0s2T1x+qZDn/nbu3KERz8Apla1RZ55XV8Ho4R1KjFFWK54LEtChELCQRhOQJK0Ra8JwUMVNxHhESEQokknnMNWORjEQqkwSFyMO8rZWHlx0Y9x78on3ZzNsaPBiU+W4BfYismgPK0CvwwU+NLYOfqmswwY9KQ940V8GvDrqg6YI3qoTghdbgXHDaXIEd0qvSoezsIkS2MTDcrjevSBUnSaIMTiUAZoJLLGMlMZAo1xpyRZRBO+gPM7CBrit9Vdky+PL5r1NwPvjUdFdF3Xz68vnvAWrVDkdtavGIhXPlYDJXdqHq064qS+hQiNrGVb5qLMrOWEpCmpKLELWqU3Pw0DmUrftNqt+gc+O5qA+3NQPViQamcZEXEjPOKU6VBMxzFpmE6lTSCD3Yru83jdp15mi5M+/bd/BxAc7fLTYi5Gi1aNHVKENDnMum07JT7WxSbKmZ6GY+vaZkQqaNWvjZVI3sXPptDU07ZB/TdODaxjq4f18s6vrdbj0Kou9D5MCatwvoVpu9EH0cFm/uVLZf59n6pi1B2SnrL8fXD9G1qhfDbpFfwlLPlC1hW93Q9ZsQXVdg/WVl9iKer9fBd3+4xp6d3D4/uQj6/lioA92Bfzx8c+YwxWFtR9JMFg66y/3+jmku+vtyYhO6ExSDVKaJIJjF2mBmWIFVIjTmnEcJL3KqaPKYoEbH/VdB0ePy3wrq+VcVNbz505P34IMd7SfPJpWH+WRsiGrbS6ebFszl2JvKBH0/KLBZWO82I23WDG14/uqH0/9Ljfcccchr3pjV5F/yKpRmKZMpJhErMEtohKWgEitt4txEMZWwx+t7X+mrVfBz4+FBGt14Zntkj0XBSIjTZEJSweNUpJxTmsQHnH6qjJ+hjAoyiVgkhEgFSYaQEM2gKmceZZzTCSGJkDRlnHKWhkg31oP1KENPngQD0YOQqm5/9u96HJxbfOvDvcXGVcPGgUOGTdW2eKMSPDzHlQmeboSg6mfn9tw+eTJw1HRmmPy+CfyscoFp9LkNbiRq4BrqpoXO3dWpabSb3uzguikrOy0XlQG3HYR4LMNNS/C4bmyJ68FZU/TwJyCKlEipELhIQGOmucAypgnWrDAEGEvSQuwxu2+Oh7mFe9ZMHhj1twbpQ6Scq0o7h8FL2fru8uYjm0eFyFMVYaMpxyyPAEulYkw0AcapAmrgtto7Y3ZbqvNdZcs9YyyXyyXatUMqEaeJVFjHXGImlcGyAI0jqSUwnaTGiEOA3TB+CGS1Wq1uQYRMIpWyCIPhgJmRAudG5TgCBZoaHmmtb0EOVPYIzp/DdQukE244cIIFBYUZAMF5oRTmRSJ1wUzEkr12Hc63R5AW43VsbsQT1l+ESGlfXQPKClU7GCaa95UtR2phCXoxMP9LZ6BDGbqOBoVebzKMP4KxJDpONGCqpcIsZhHOdc4wLYSQheBAiUSjoS3o3ZS9K89sjeaqGvQ3jMfGfPs/zBgWosoaWKKM9BcXffh46LdhHfu8HcX6+u/hMcAH3HkEoe//ATrAJvWZCwAA


name: Pattern for Parallel Sub-Workflow Execution Followed by Wait-For-All Loop
author_name: Hubschrauber
author_username: hubschrauber
categories: []
created_at: 2024-11-11T19:41:41.082Z
updated_at: 2024-11-11T19:41:41.082Z
url: https://n8n.io/workflows/2536
scraped_at: 2025-09-14 11:38:23
description:
  What this workflow does
  This (set of) workflow(s) shows how to start multiple sub-workflows, asynchronously, in parallel, and then wait for all of them to complete.  Normally sub-workflows would need to be run synchronously, in series, or, if they are executed asynchronously (to run concurrently, in parallel), there is no easy way to merge/wait for an arbitrary number of them to complete.

  This is a "design pattern" template to show one approach for running multiple, data-driven instances of a sub-workflow "asynchronously," in parallel (instead of running them one at a time in series), but still prevent the later steps in the workflow from continuing until all of the sub-workflows have reported back that they are finished, via callback URL.  There are other techniques involving messaging services, database tables, or other external "flow manager" helpers, but this technique accomplishes the goal fully within n8n.

  Setup
  To implement this pattern, examine the nodes in the template and modify the incoming data leading to:
  A split-out loop to acynchronously execute a sub-workflow multiple times, in parallel.
      For instance, each sub-workflow might process one of a list of incoming documents.
      The resumeUrl for the main/parent workflow is provided to all of the sub-workflow executions, along with a unique identifier that can be counted later (e.g. a document file-name).
  A "wait-for-all" loop that checks whether all sub-workflows have reported back (if node) and builds a unique list of identifiers from the callbacks received from each execution of the sub-workflow.
      The sub-workflow should be designed to respond immediately (async) and later send a callback request when it has finished processing.
      The callback request should include the unique identifier value received when the sub-workflow it was started.

  This is meant to be a possible answer to questions like this one about running things in parallel,  maybe this one about waiting for things to finish, this one about managing sub-batches of things by waiting for each batch, or this one about running things in parallel.  The topic of how to do this comes up A LOT, and this is one of the only techniques that (so far) seems to work.

nodes_used:
  ["n8n-nodes-base.manualTrigger","n8n-nodes-base.splitInBatches","n8n-nodes-base.wait","n8n-nodes-base.code","n8n-nodes-base.set","n8n-nodes-base.code","n8n-nodes-base.if","n8n-nodes-base.httpRequest","n8n-nodes-base.respondToWebhook","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.noOp","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.wait","n8n-nodes-base.httpRequest","n8n-nodes-base.respondToWebhook","n8n-nodes-base.webhook"]

workflow_json_compressed:
  H4sIAAAAAAAAE61Z627jNhZ+FY5aIMnA9PAmkfSgPzqDXTTYThPMpJ0fcbCgRCpmI1OuSCfNBgb6GLuv1ydZUPI9ci7bRf5EEnnO4fm+c+HxQ+JqbXwyunxIrE5GCdIS41ximOdSQYY5h6LQKcREa61LnBcZTgaJU1OTjJKvE+NAUdnixrpr8Ocf/74wPoC7urkpq/ruzz/+kwyScD+LS51wsNUFc+XNcKrcXFUXjb2+Nk0ySGa1t8HWLhldpgINGEqvBslMNWpqgml8MnpYdKJ+MY1v1+HFYGmzxrTkouSQIUkho2kJRU4F5ISUTKUFV7jc2PxjXc/A2a1pwGkwU3/QQj+rbDh1H1QoJsbvmogR6bUxqWdxRWvuvr10ba/kmmSEIKhEWkJWMARzyQuY06wkmtCU82zLxyaf1PUN+KiqKlfFDfiqbDho9V33cdtWHm1l0da7TtRpNCItNEpFziAThYCMSQVlgSSUqVRpLhTJmUj2j9cYP2+NWkpKBtsnHiSTEGafTJjUUcP52ZeLZBD3zGrnzadax52rx5/i4yNMhxtUjUFEp0UOBU4xZDlhUGUUQc5VxnmOGWVq46WfZ1oFA0rrrJ8Y/cUcdlERNe+6SLKVi3bP+6v/2FldmQB+9bUD34Fvj49OS/B9VYG/L5UdnQxL2/hwfDKMa96PnS3B8Zv4/3DLoBOw/wZ8By6v3o9dlL56HUl5qjs9vdAfnQxtMNNW1TCv9f1wd+sh9Ze7y64emzOczf3keHfZyfuxa0yYNw5cxvVX7x+BRtaQIVnioqQllIYSyGhJoDQph5orSiVHWhVsA9mps8Gqyv7rZbB5s09swtCAiCeDcJAo7+21mxoX2m87j6ukhyVVuSgxRIZQyCQuoMTMwFzkJMsRzlDJN3b3GquaRt0ng+RWVfP4fHmVLK5iDjC/m2IezJkrTDIKzdzsp4UhW/sPo1SLMmNQKG0gM4hAwQmBqeCKpiXJEdtKDF/sdF5F0n+aV8HCiBco6wacq0ZVlanAeVMXxnvrrl8RC7w/+25CYcWGsQPgoTG/zY0Pp3oEjhrzG0szfrQY9H0SPEsPfMKEsqPF+GluFWnJSakQzCQ1kGHKoMSohKLUiGdcZFhvFaa9CD14flvucYplL+BUUTttV89bn5LbdSIbJJUpwy9LNiSDpFDefDEuarrdZYKqrFad/sSHxhYhaXVMc+tUqJvILhePsK12RV0q0oJiJiHNInW1JlAiQiDnqKCkFIQR3GZp03SyHtaemE/ztvR23zr916FNytu2f/fwAL59lCoq467DBCwWMcPb68nu8uOjV5Dz6GSoqur4ZEtmFzoHmECQxhmVFIqUU8iKAkOlCwQRZSUqsTYlR1tRElQTwJd5Dr8u2xJwaxX4ui5g/cSIlexzR9M9hmCBBllPrZg31er4xt0Ov/7tww9nZ//458+ffwSLxbtlwXw3W54f+nm+6pNgUM11m0yme7Vzh3XeOP2h1vcr8sTnH4zSrf7uVSwH5ztWbdt4+bByyioA2xS/lbU2WK9DdAnHIJm0ql4ivViWq+iRPdldNrStgthK/NxUB/Bmww3iTGkmUoIglTmFDOEMqkxJqDUXskBcGiQ2iH9f3Lj6rjL62jyfALp2RF/UG0Ls9E4R7OxVfd52D6M0RlgoDGkuNWQZpjAntISYZjyjKsUsV9tUtcXNPfipDuZwFWzXLJdsp22CBllP2i7qKkY9HSR3VodJMqISRSxjyCYjjGSbVoJxIRkl33zzDejipY3aWWV2AseD7/29KyZN7eq5r+7H7m1r7GjdoLxbdSzjxLpgGqeqcQI+KG9gjAM/qeeVBrkBRe1Kez1vjAbWgTAxwAkHrPNBucKAUIPGlKYx7cPEgBvhgTfNrS0MiN4CysWdnQowq5swfNxMrmEoGeZYUwlFXsa6ShWUuWRQcC0zqXKtiO6FAb8aB8wZGtAexjwCggi6AUKgfRzOvZnrGn7Zdnjb/7VpNBa3XWhCveyinvCDFFnKC02hzEQBmc4yqIxC0SNYoFKkSGxdlD7WLlg3N2CdOI9dXc9ODvrE1Weznvghr7nLpUqmWBgFWZoZyCRPYV5mJeQ4L6XRSGUG90JFXw1VytAAC/QIqSU+OOV8KCkWyz++QSsTbLh+LzDfCyLwSVn37lw1xoW182KwXEysBz4GmAfTVYStU6IHddmS3c9zuKoNMTxWNaMlfYhX7qquZx7MXbBVfHEPVFWBxsQ4ADEOnwoGTJWmjFBY0LyEDDMGc55piKhWSgjOc9MfDOT1Hs7QQKLDHmacDynFBGOSIUrkVmISckiwZIxTzBCT6aM0tUX+sXv79uM8vDtXPsR0YX1MDTVQwJuoOJj1SGLQ+lAVwd7G1za8efPm7dsnvGUkEVmaI5hTIyHDMoXK4AymBZZS8FQhlm/d1V95NWcMDSRDe1dzojNi0oJApZmCzEgEFeIp5IVKCSYG4VTtX82fqkIcI5ZmhYBUMh3nDSkUWhiIM4MUQzLVBd0K+8ilz211BrUDezR+YcPk6hCnSsnFxIBVOwC6ku9bjs86sWuaR1g6AntwN7HFBNi2ZVzW7yEAFxPTxMKxrCAKNKpoC0nXEwNb9gq+Ux78OvdhqV2D/B4ooG3ZlpewG2z5PICJ8u4oABOLi9FAgSU0MOIH1LWyDtyb0FkEtKnU/dL60NyDqQ32WgXj2zTdGlR7b3Nb2XAPwkSFTeT7eR6Uv/GgqKezyoSuqkV3tUEMVAC1K8xwjzRZtiLNwQZ0PTrYGRZ0HZwfbvVnXQP/qrbzpT3m7hxhvxHst7AdZ+w0p5vusPXvmfu7slXvRZoNySCJGH0w4c4Yd9HYSEGKENpcHYxhOMcKClkiyDQpYU7KEnKmTJnmSqntq8PnrjeMpfW568IzbSQh/ZDtOHop46uNuTGJ/tiannUItL4bu4d4ix7veXicjJa9+2Mvjt1i7KInn8gSiDGWKqlghksJWSYMFKmQkBqTM0RLkqb00VTycLLr9QNCffku1oEsZynkXHPI4mRUIFFCopGiIjcF64YUe6Rr3fT0fer/Opwki6u2CjlTrC/8bcIfPSRTZeMBI/s7SS/Nou3GQWKdNr8nI7S4iletlXP7BD9Fyl5h+6OQXmufbfUeiR5sdj8zoe61an8K32fVcwPCp2x66bW/17geH/fZ94Jj9oyl+yQ9fWXtldy7pdeLh0ZhT1FvD8s+uU9N3PuJ2A/nX7f5Gaz7FBz8EajfKc/+zNWn43+az/Yf8BWS/uppF4v/AqdE26gUHAAA


name: Simple Social: Instagram Single Image Post with Facebook API
author_name: Edoardo Guzzi
author_username: mredodos
categories: []
created_at: 2024-11-12T12:13:49.467Z
updated_at: 2024-11-12T12:13:49.467Z
url: https://n8n.io/workflows/2537
scraped_at: 2025-09-14 11:38:21
description:
  Simple Social: Instagram Single Image Post with Facebook API

  Who is this workflow for?
  This workflow is designed for businesses, social media managers, content creators, and developers who need to automate the process of posting single images to Instagram using the Facebook API. It is ideal for anyone looking to streamline their social media posting process, saving time and ensuring consistent content delivery.

  Use Case / Problem Solved
  Manually posting images and captions on Instagram can be time-consuming, especially for businesses and content creators managing multiple accounts. This workflow automates the process from image preparation to publishing, reducing manual effort and increasing efficiency.

  What this workflow does
  Trigger Initialization: The workflow starts with a manual trigger that can be adapted to other triggers (e.g., HTTP webhook or schedule).
  Set Parameters: The workflow includes a node that sets essential parameters, such as the image URL, Instagram business account ID, and caption.
  Prepare Instagram Media: A node prepares the media for upload using the Facebook API, sending the image and caption for pre-publication processing.
  Check Media Upload Status: The workflow verifies if the media preparation is complete.
  Conditional Check: If the media preparation is successful, the workflow proceeds to publish; otherwise, it triggers an error-handling path.
  Publish Media: The media is published on Instagram if the conditions are met.
  Post-Publish Check: The workflow checks the status after publication.
  Conditional Check for Publication: If the publication status is "PUBLISHED," it triggers a success path; otherwise, it triggers a failure handling.
  Email Notifications: The workflow sends email notifications to indicate successful or unsuccessful outcomes.

  Setup 

  Here is a quick video in italian language with sub eng(https://youtu.be/obWJFJvg_6g)

  Add API Credentials: Ensure that valid Facebook API credentials are added and configured for use.
  Permissions Required: Ensure your app has the necessary permissions (ads_management, business_management, instagram_basic, instagram_content_publish, pages_read_engagement). App review may be required for external user access.
  Node Configuration: Customize the Set Instagram Parameters node to specify the image URL, caption, and Instagram business account ID.
  Trigger Adaptation: Adapt the initial trigger if needed to fit your workflow's requirements (e.g., schedule, webhook).

  How to customize this workflow
  Change the Image URL and Caption**: Modify the Set Instagram Parameters node to change the image and caption.
  Trigger Customization**: Replace the manual trigger with other triggers like a webhook to automate posting based on external events.
  Notifications**: Adjust the email nodes to send customized messages or trigger other workflows based on the outcome.

  Limitations
  Image Format**: Only JPEG images are supported. Extended JPEG formats such as MPO and JPS are not compatible.
  Unsupported Tags**: Shopping tags, branded content tags, and filters are not supported.
  Instagram TV**: Publishing to Instagram TV is not supported.
  Rate Limit**: Instagram accounts are limited to 50 API-published posts within a rolling 24-hour period. Carousels count as a single post. Check usage with GET /{ig-user-id}/content_publishing_limit.

  Example Usage
  Imagine managing a business account that needs consistent posts. You can schedule this workflow or trigger it manually to automatically post images with captions at the right time, ensuring that your audience stays engaged without manual posting efforts.

nodes_used:
  ["n8n-nodes-base.facebookGraphApi","n8n-nodes-base.facebookGraphApi","n8n-nodes-base.manualTrigger","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.set","n8n-nodes-base.facebookGraphApi","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.facebookGraphApi","n8n-nodes-base.if","n8n-nodes-base.facebookGraphApi","n8n-nodes-base.if","n8n-nodes-base.emailSend","n8n-nodes-base.emailSend","n8n-nodes-base.emailSend","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 4280 characters]


name: Demo Workflow - How to use workflowStaticData()
author_name: Ria
author_username: riascho
categories: []
created_at: 2024-11-12T13:55:30.934Z
updated_at: 2024-11-12T13:55:30.934Z
url: https://n8n.io/workflows/2538
scraped_at: 2025-09-14 11:38:23
description:
  This workflow demonstrates how to use the workflowStaticData() function to set any type of variable that will persist within workflow executions. 

  https://docs.n8n.io/code/cookbook/builtin/get-workflow-static-data/

  This can be useful for example when working with access tokens that expire after a certain time period. Using staticData we can keep a record of that access token and the expiry time and build our workflow logic around it. 

  Important

  Static Data only persists across production executions, i.e. triggered by Webhooks or Schedule Triggers (not manual executions!)
  For this the workflow will have to be activated. 

  Setup

  configure HTTP Request node to fetch access token from your API (optional)
  activate workflow
  test the workflow with the webhook production link
  you can check the population of the static data in the single executions

  Feedback

  If you found this useful or want to report some missing information - I'd be happy to hear from you at ria@n8n.io

nodes_used:
  ["n8n-nodes-base.webhook","n8n-nodes-base.noOp","n8n-nodes-base.httpRequest","n8n-nodes-base.code","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.if","n8n-nodes-base.code"]

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


name: AI Agent to chat with you Search Console Data, using OpenAI and Postgres
author_name: Dataki
author_username: dataki
categories: []
created_at: 2024-11-13T15:44:30.373Z
updated_at: 2024-11-13T15:44:30.373Z
url: https://n8n.io/workflows/2541
scraped_at: 2025-09-14 11:38:23
description:
  Edit 19/11/2024: As explained on the workflow, the AI Agent with the original system prompt was not effective when using gpt4-o-mini.

  To address this, I optimized the prompt to work better with this model. You can find the prompts I’ve tested on this Notion Page. And yes, there is one that works well with gpt4-o-mini.

  AI Agent to chat with you Search Console Data, using OpenAI and Postgres



  This AI Agent enables you to interact with your Search Console data through a chat interface. Each node is documented within the template, providing sufficient information for setup and usage. You will also need to configure Search Console OAuth credentials.

  Follow this n8n documentation to set up the OAuth credentials.

  Important Notes

  Correctly Configure Scopes for Search Console API Calls
  It’s essential to configure the scopes correctly in your Google Search Console API OAuth2 credentials. Incorrect configuration can cause issues with the refresh token, requiring frequent reconnections. Below is the configuration I use to avoid constant re-authentication:



  Of course, you'll need to add your client_id and client_secret from the Google Cloud Platform app you created to access your Search Console data.

  Configure Authentication for the Webhook

  Since the webhook will be publicly accessible, don’t forget to set up authentication. I’ve used Basic Auth, but feel free to choose the method that best meets your security requirements.

  🤩💖 Example of awesome things you can do with this AI Agent

nodes_used:
  ["@n8n/n8n-nodes-langchain.memoryPostgresChat","@n8n/n8n-nodes-langchain.lmChatOpenAi","n8n-nodes-base.set","n8n-nodes-base.stickyNote","n8n-nodes-base.webhook","n8n-nodes-base.stickyNote","n8n-nodes-base.respondToWebhook","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.toolWorkflow","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.executeWorkflowTrigger","n8n-nodes-base.switch","n8n-nodes-base.set","n8n-nodes-base.stickyNote","n8n-nodes-base.set","n8n-nodes-base.set","n8n-nodes-base.httpRequest","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.httpRequest","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.aggregate","n8n-nodes-base.aggregate","n8n-nodes-base.stickyNote","@n8n/n8n-nodes-langchain.agent"]

workflow_json_compressed:
  [encoded data, 9892 characters]


name: Use a Custom URL for Recurring Zoom Meetings
author_name: Eric
author_username: automation-wizard
categories: []
created_at: 2024-11-13T19:55:21.795Z
updated_at: 2024-11-13T19:55:21.795Z
url: https://n8n.io/workflows/2543
scraped_at: 2025-09-14 11:38:24
description:
  Use case

  Instead of this:
  https://us06web.zoom.us/j/83456429326?pwd=1hVesbyHCsOfstyVU3z4CR6D46A8K.1

  share this:
  mydomain.com/meet-me

  Do you ever wish you had one, simple URL that you can share with people to hop on a Zoom meeting? 😃

  You could waste time: 👎👎

  creating a recurring Zoom meeting 😫
  saving the link somewhere 😵‍💫
  finding it, copying it each time you need it 😭
  sharing an ugly long link with everyone 🤢

  Or...

  You could create a 🌹 beautiful link using your own domain/website that redirects to your Zoom meeting, and share that beautified URL with everyone. 😌 And it will be easy for you to remember 💡

  &gt; NOTE
  Zoom now forces a one-year max lifetime on recurring videos. 😐 So I created this simple workflow to solve a few headaches. ☺️

  What this workflow does

  Triggers once, annually (360 days)
  Creates a new, recurring meeting in Zoom
  Updates a redirect script with the new Zoom URL on a Wordpress Page
  Notifies you in a Slack channel

  What this workflow lacks in breakthrough innovation, it makes up for with usefulness and peace of mind.

  Have fun and make it your own!

  Setup
  Add your credentials in each node
  	this pre-requires you have a Zoom, Wordpress and Slack account, and have gotten API access on those accounts
  Create a Page in Wordpress, and get its ID.
  (Or create a new Page in WP.)
  Configure node parameters according to your needs.
  TEST!!!! Don't ever skip this step. Ever.
  Set it and forget it.

  &gt; NOTE
  You can replace the Wordpress node with another website CMS node, or generic HTTP request for a non-wordpress site.
  You can also remove or replace the Slack node with other notification functionality (eg. sms, whatsapp, email...)

  Template was created in n8n v1.58.2

nodes_used:
  ["n8n-nodes-base.zoom","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.wordpress","n8n-nodes-base.slack"]

workflow_json_compressed:
  H4sIAAAAAAAAE4VU/W/bNhD9V7jbsCYA7fpj6QI1CZB1LRKgS4eua7DURsBIF4s1xWOPpziuof99oGS3XuJgP4k6Pj7ce/exAk8FRsg+rcCbCiGDK6IKNMgypD9/6HstpHdjIva/dpeBohVLHrJPw/EvA31wOJhqCIZNhYIcIVuBULA5ZHCBC/UHolg/Aw2mlhK92Nx074FOaylH6aYoWk7j3lh0RcfRJjHWEFESQRusasG/A/nXXngJmXCNGj6T9b/hLTGeUZRNNBgWm9tgvHy0BVIXbzSIrfCKfFJ4WiHb3Dy/wMX1P8RzaJpO/Ufk2OY4bPQ3d/7KSyxqh+oD29kM+Umn4hr4HedJktPwiskr6cJKSDFGFJWcVVXnk0qAEpWphXqMhWXMRTnr5w+8H452e8+1w/S1XpDvjGvrW5hlPP8WGL8YaFhncSpnVDNk42b6WHx/tCX/krgIjDE+qXuxhdhO9eDF7lSDmeF5ARkMR2O194rRCCqjUlhZry7/1CqnsGz9OP9d0W17StdaBRMFlRVVIuM+aGCMVHOe0koI0EABedNqdSiMpGB3+N5mOXlBL5DB8cQfVShGlSKhh19qe3c8AcZbxlhOQK2RxxMYvFyt1E+fI/l+6r3rmp1qmgmcTPxROHm/Lpr1M62CQxNRLYwVZVRFFXrpb2ZCLaxz6gZn1qtYEotb/vzj4Wg8eHn0PJz8TzM6k8+f7sD17XYVfj18YljxvpWfhl8x5jVzym3Tj51hxQ8Tn0TvPUuwZ/t9K1j1H1oAaVod5okvL4336EBvTqnSK7i+ZrcZ0YqKlLuzUUDDnXF1+jU3+XA0Tu9MmqP3GGsnF53qatlrpfU27I0GkhL5XUgyY9f4uasLfGv9/ANdEs9vHS3W0//Q0VF/1Ex1agKfKrZmaNdg2jbGJufSfuwy3TECLUaD9QXeQzZoptNGb+F2sTwo3U6GR7tmF9F/1/UOnqb5F+KP2irlBQAA


name: Call analyzer with AssemblyAI transcription and OpenAI assistant integration
author_name: Mark Shcherbakov
author_username: lowcodingdev
categories: []
created_at: 2024-11-14T13:57:28.629Z
updated_at: 2024-11-14T13:57:28.629Z
url: https://n8n.io/workflows/2547
scraped_at: 2025-09-14 11:38:23
description:
  Video Guide

  I prepared a detailed guide that showed the whole process of building a call analyzer.

  .png)

  Who is this for?
  This workflow is ideal for sales teams, customer support managers, and online education services that conduct follow-up calls with clients. It’s designed for those who want to leverage AI to gain deeper insights into client needs and upsell opportunities from recorded calls.

  What problem does this workflow solve?
  Many follow-up sales calls lack structured analysis, making it challenging to identify client needs, gauge interest levels, or uncover upsell opportunities. This workflow enables automated call transcription and AI-driven analysis to generate actionable insights, helping teams improve sales performance, refine client communication, and streamline upselling strategies.

  What this workflow does
  This workflow transcribes and analyzes sales calls using AssemblyAI, OpenAI, and Supabase to store structured data. The workflow processes recorded calls as follows:

  Transcribe Call with AssemblyAI: Converts audio into text with speaker labels for clarity.
  Analyze Transcription with OpenAI: Using a predefined JSON schema, OpenAI analyzes the transcription to extract metrics like client intent, interest score, upsell opportunities, and more.
  Store and Access Results in Supabase: Stores both transcription and analysis data in a Supabase database for further use and display in interfaces.

  Setup

  Preparation
  Create Accounts: Set up accounts for N8N, Supabase, AssemblyAI, and OpenAI.
  Get Call Link: Upload audio files to public Supabase storage or Dropbox to generate a direct link for transcription.
  Prepare Artifacts for OpenAI:
      Define Metrics: Identify business metrics you want to track from call analysis, such as client needs, interest score, and upsell potential.
      Generate JSON Schema: Use GPT to design a JSON schema for structuring OpenAI’s responses, enabling efficient storage, analysis, and display.
      Create Analysis Prompt: Write a detailed prompt for GPT to analyze calls based on your metrics and JSON schema.

  Scenario 1: Transcribe Call with AssemblyAI
  Set Up Request:
      Header Authentication: Set Authorization with AssemblyAI API key.
      URL: POST to https://api.assemblyai.com/v2/transcript/.
      Parameters:
          audio_url: Direct URL of the audio file.
          webhook_url: URL for an N8N webhook to receive the transcription result.
          Additional Settings:
              speaker_labels (true/false): Enables speaker diarization.
              speakers_expected: Specify expected number of speakers.
              language_code: Set language (default: en_us).

  Scenario 2: Process Transcription with OpenAI
  Webhook Configuration: Set up a POST webhook to receive AssemblyAI’s transcription data.
  Get Transcription:
      Header Authentication: Set Authorization with AssemblyAI API key.
      URL: GET https://api.assemblyai.com/v2/transcript/&lt;transcript_id&gt;.
  Send to OpenAI:
      URL: POST to https://api.openai.com/v1/chat/completions.
      Header Authentication: Set Authorization with OpenAI API key.
      Body Parameters:
          Model: Use gpt-4o-2024-08-06 for JSON Schema support, or gpt-4o-mini for a less costly option.
          Messages:
              system: Contains the main analysis prompt.
              user: Combined speakers’ utterances to analyze in text format.
          Response Format:
              type: json_schema.
              json_schema: JSON schema for structured responses.

  Save Results in Supabase:
      Operation: Create a new record.
      Table Name: demo_calls.
      Fields:
          Input: Transcription text, audio URL, and transcription ID.
          Output: Parsed JSON response from OpenAI’s analysis.

nodes_used:
  ["n8n-nodes-base.manualTrigger","n8n-nodes-base.set","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.httpRequest","n8n-nodes-base.if","n8n-nodes-base.httpRequest","n8n-nodes-base.httpRequest","n8n-nodes-base.set","n8n-nodes-base.supabase","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.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 7648 characters]


name: Automate Google Analytics Reporting
author_name: Alex Kim
author_username: alexk1919
categories: []
created_at: 2024-11-15T03:56:10.002Z
updated_at: 2024-11-15T03:56:10.002Z
url: https://n8n.io/workflows/2549
scraped_at: 2025-09-14 11:38:22
description:
  Automate Google Analytics Reporting with n8n

  This n8n workflow collects, processes, and formats Google Analytics data into a comprehensive HTML report. The report is segmented into three primary categories: Engagement Stats, Search Results, and Country Views. The formatted report can be emailed or saved as a document, and the workflow includes error handling and logging for better debugging.

  Overview

  Purpose

  To automate the extraction, processing, and presentation of Google Analytics data in a visually appealing and structured format for easier insights and decision-making.

  Features

  Data Parsing**: Individual parsers process raw Google Analytics data for different time periods and categories.
  Data Aggregation**: Combines parsed data into a single structured JSON object.
  HTML Report Generation**: Formats the aggregated data into an HTML table with color-coded segments for better readability.
  Email or Document Output**: The formatted report can be emailed or saved as a Google Doc (will need additional setup).
  Error Handling**: Includes checks for missing data and detailed error messages for debugging.

  Workflow Steps

  Data Fetching:

     Six separate Google Analytics data pulls:
       Page Engagement Stats (This Week and Prior Week)
       Google Search Results (This Week and Prior Week)
       Country Views (This Week and Prior Week)

  Data Parsing:

     Each data pull is processed using a dedicated parser node to generate a URL-safe string.
     Example nodes:
       Parse - Get Page Engagement This Week
       Parse - Country Views Prior Week

  Data Aggregation:

     Aggregates parsed data into a structured JSON object using the Aggregate Data node.
     Ensures consistency and handles missing or malformed data.

  HTML Report Generation:

     Creates a formatted HTML report with color-coded tables for each segment:
       Engagement Stats: Green
       Search Results: Blue
       Country Views: Orange
     Includes headers and neatly formatted tables for each data set.

  Output:

     The report can be sent via email using the Gmail API or saved to Google Docs.
     Example nodes:
       Gmail node for email delivery.
       Google Docs node for saving the report as a document.

  Requirements

  Prerequisites

  Google Cloud Setup**:
    Enable Google Analytics API.
    Enable Gmail API (if using email output).
    Generate OAuth credentials for API access.
  n8n Installation**:
    Self-hosted n8n instance with required nodes (Gmail, Google Docs, etc.).
    Free Cloud-based n8n account.

  Environment Variables

  Ensure API credentials and tokens are set up in the n8n environment.
  Update the respective nodes with client ID, client secret, and access tokens.

  Configuration

  Google Analytics

  Configure the Get Report nodes with the appropriate property ID and metrics.
  Ensure correct date ranges are selected for each node.

  Formatting Node

  The Format Data node processes aggregated data and generates the HTML content.
  Customize the HTML styling and segment colors as needed.

  Email Node

  Configure the Gmail node with OAuth credentials.
  Set the recipient email address and subject line dynamically.

  Error Handling

  Common Issues

  Authentication Errors:

     Ensure OAuth credentials are correct.
     Verify that the APIs are enabled in the Google Cloud Console.

  Empty Data:

     Check the raw data from Google Analytics.
     Validate the property ID and query parameters in the Get Report nodes.

  Parsing Errors:

     Ensure the parser nodes are correctly configured and match the expected input format.

  Debugging

  Use debug logs in each node to identify data flow issues.
  Add error-handling nodes to capture and log issues during execution.

  Example Usage

  Run the Workflow
     Trigger the workflow to fetch, process, and format Google Analytics data.
  Verify Output
     Check the formatted HTML output in the debug logs.
     Ensure the email or Google Doc contains the correctly formatted report.

  Future Enhancements

  Add support for additional metrics or dimensions.
  Integrate with Slack for notifications.
  Enable scheduling for automated reports.
  Add a visual dashboard for real-time analytics.

nodes_used:
  ["n8n-nodes-base.manualTrigger","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.googleAnalytics","n8n-nodes-base.googleAnalytics","n8n-nodes-base.googleAnalytics","n8n-nodes-base.googleAnalytics","n8n-nodes-base.stickyNote","n8n-nodes-base.code","n8n-nodes-base.googleAnalytics","n8n-nodes-base.googleAnalytics","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.set","n8n-nodes-base.code","n8n-nodes-base.code","n8n-nodes-base.stickyNote","n8n-nodes-base.gmail","n8n-nodes-base.scheduleTrigger"]

workflow_json_compressed:
  [encoded data, 8668 characters]


name: Waitlist Form Stored in GoogleSheet with Email Verification Step
author_name: Marcel Claus-Ahrens
author_username: geckse
categories: []
created_at: 2024-11-15T20:38:32.392Z
updated_at: 2024-11-15T20:38:32.392Z
url: https://n8n.io/workflows/2550
scraped_at: 2025-09-14 11:38:24
description:
  Instructions

  This automation streamlines the process of collecting user information using a Form Node, enabling individuals to join a waitlist managed via Google Sheets.

  It also generates a verification code, prompting users to input this code in the Second Form Step. If the code is _nvalid, the workflow keeps the user in a verification loop until a valid code is entered.

  Once a valid code is provided, the workflow proceeds to the final step, where additional information can be collected.

  All entered data and intermediate states are securely stored in the Google Sheet.

  Structure of the GoogleSheet

  Firstname | Lastname | Email | Company | Verification-Code | Verified | Intended Use
  Marcel | Claus-Ahrens | foo[at]bar| foobar | abc123 | TRUE | Just testing

  Setup

  Set Up a Google Sheet: Create a Google Sheet with the specified columns, or customize them to suit your needs.
  Verify the "Send Mail" Node: Ensure your "Send Mail" node is functional, or replace it with another email-sending node.
  Customize Texts and Fields: Update email content, form texts, and form fields to align with your specific use case.
  Done!

    
  Enjoy the workflow! ❤️  
  let the workf low — Workflow Automation & Development

nodes_used:
  ["n8n-nodes-base.googleSheets","n8n-nodes-base.set","n8n-nodes-base.emailSend","n8n-nodes-base.form","n8n-nodes-base.stickyNote","n8n-nodes-base.stickyNote","n8n-nodes-base.set","n8n-nodes-base.form","n8n-nodes-base.set","n8n-nodes-base.if","n8n-nodes-base.form","n8n-nodes-base.merge","n8n-nodes-base.stickyNote","n8n-nodes-base.googleSheets","n8n-nodes-base.googleSheets","n8n-nodes-base.stickyNote","n8n-nodes-base.crypto","n8n-nodes-base.formTrigger","n8n-nodes-base.stickyNote"]

workflow_json_compressed:
  [encoded data, 5300 characters]


