11 templates found
Category:
Author:
Sort:

Transcribing bank statements to markdown using Gemini Vision AI

This n8n workflow demonstrates an approach to parsing bank statement PDFs with multimodal LLMs as an alternative to traditional OCR. This allows for much more accurate data extraction from the document especially when it comes to tables and complex layouts. Multimodal Parsing is better than traditiona OCR because: It reduces complexity and overhead by avoiding the need to preprocess the document into text format such as markdown before passing to the LLM. It handles non-standard PDF formats which may produce garbled output via traditional OCR text conversion. It's orders of magnitude cheaper than premium OCR models that still require post-processing cleanup and formatting. LLMs can format to any schema or language you desire! How it works You can use the example bank statement created specifically for this workflow here: https://drive.google.com/file/d/1wS9U7MQDthj57CvEcqG_Llkr-ek6RqGA/view?usp=sharing A PDF bank statement is imported via Google Drive. For this demo, I've created a mock bank statement which includes complex table layouts of 5 columns. Typically, OCR will be unable to align the columns correctly and mistake some deposits for withdrawals. Because multimodal LLMs do not accept PDFs directly, well have to convert the PDF to a series of images. We can achieve this by using a tool such as Stirling PDF. Stirling PDF is self-hostable which is handy for sensitive data such as bank statements. Stirling PDF will return our PDF as a series of JPGs (one for each page) in a zipped file. We can use n8n's decompress node to extract the images and ensure they are ordered by using the Sort node. Next, we'll resize each page using the Edit Image node to ensure the right balance between resolution limits and processing speed. Each resized page image is then passed into the Basic LLM node which will use our multimodal LLM of choice - Gemini 1.5 Pro. In the LLM node's options, we'll add a "user message" of type binary (data) which is how we add our image data as an input. Our prompt will instruct the multimodal LLM to transcribe each page to markdown. Note, you do not need to do this - you can just ask for data points to extract directly! Our goal for this template is to demonstrate the LLMs ability to accurately read the page. Finally, with our markdown version of all pages, we can pass this to another LLM node to extract required data such as deposit line items. Requirements Google Gemini API for Multimodal LLM. Google Drive access for document storage. Stirling PDF instance for PDF to Image conversion Customising the workflow At time of writing, Gemini 1.5 Pro is the most accurate in text document parsing with a relatively low cost. If you are not using Google Gemini however you can switch to other multimodal LLMs such as OpenAI GPT or Antrophic Claude. If you don't need the markdown, simply asking what to extract directly in the LLM's prompt is also acceptable and would save a few extra steps. Not parsing any bank statements any time soon? This template also works for Invoices, inventory lists, contracts, legal documents etc.

JimleukBy Jimleuk
16778

Automated social media content creation with OpenAI, LinkedIn & Twitter approval

Whether you’re a product manager, developer, or simply curious about workflow automation, you’re in the right place. This n8n workflow is designed to help you streamline and automate your social media content creation, approval, and publishing process—all with minimal manual effort. I’ve put together this guide to make it easy for you to get started, even if you’re new to n8n or automation tools. You’ll find step-by-step instructions, helpful links, and tips to ensure a smooth setup. Feel free to explore, experiment, and make this workflow your own! Let’s dive in and unlock the power of automation together! What This Workflow Does This workflow automates the process of creating, reviewing, and publishing social media posts for LinkedIn and Twitter (X), including image generation and approval steps. It also notifies via Slack and logs posts in Google Sheets. Workflow json: https://drive.google.com/drive/folders/1zE5W0Ff6EBoAFRHupWPybC-fnGZqE84r?usp=sharing Prerequisites An n8n account (sign up for free: n8n Cloud) API credentials for: OpenAI (for content and image generation) LinkedIn Gmail (for approval emails) Twitter/X Slack Google Sheets You’ll find help to set up auth at the end of this doc! How to Use This Workflow Step 1: Import the Workflow Download or copy the workflow JSON. In n8n, click Import and paste/upload the workflow. Step 2: Set Up Credentials For each service node (OpenAI, LinkedIn, Gmail, Twitter, Slack, Google Sheets), click the node and select or create the required credentials. Use the official setup links provided earlier for each service. Step 3: Configure the Trigger The workflow starts with a Form Trigger node. Open the node to customize the form fields if needed. Step 4: Test the Workflow Click Test Workflow to run it manually. Fill out the form to generate a post. The workflow will: Generate platform-specific content using AI. Send an approval email. If approved, generate an image (if selected). Publish to LinkedIn and Twitter. Notify via Slack. Log the post in Google Sheets. Step 5: Review and Adjust Check each node for errors or missing credentials. Adjust content prompts, approval logic, or output formatting as needed. Helpful n8n Resources n8n Quickstart Guide How to use workflow templates Working with credentials Using expressions in n8n

Saloni MalhotraBy Saloni Malhotra
1971

Vector database as a big data analysis tool for AI agents [2/2 KNN]

Vector Database as a Big Data Analysis Tool for AI Agents Workflows from the webinar "Build production-ready AI Agents with Qdrant and n8n". This series of workflows shows how to build big data analysis tools for production-ready AI agents with the help of vector databases. These pipelines are adaptable to any dataset of images, hence, many production use cases. Uploading (image) datasets to Qdrant Set up meta-variables for anomaly detection in Qdrant Anomaly detection tool KNN classifier tool For anomaly detection The first pipeline to upload an image dataset to Qdrant. The second pipeline is to set up cluster (class) centres & cluster (class) threshold scores needed for anomaly detection. The third is the anomaly detection tool, which takes any image as input and uses all preparatory work done with Qdrant to detect if it's an anomaly to the uploaded dataset. For KNN (k nearest neighbours) classification The first pipeline to upload an image dataset to Qdrant. This pipeline is the KNN classifier tool, which takes any image as input and classifies it on the uploaded to Qdrant dataset. To recreate both You'll have to upload crops and lands datasets from Kaggle to your own Google Storage bucket, and re-create APIs/connections to Qdrant Cloud (you can use Free Tier cluster), Voyage AI API & Google Cloud Storage. [This workflow] KNN classification tool This tool takes any image URL, and as output, it returns a class of the object on the image based on the image uploaded to the Qdrant dataset (lands). An image URL is received via the Execute Workflow Trigger*, which is then sent to the Voyage AI Multimodal Embeddings API to fetch its embedding. The image's embedding vector is then used to query Qdrant, returning a set of X similar images with pre-labeled classes. Majority voting is done for classes of neighbouring images. A loop is used to resolve scenarios where there is a tie in Majority Voting, and we increase the number of neighbours to retrieve. When the loop finally resolves, the identified class is returned to the calling workflow.

Jenny By Jenny
1685

Automate email categorization & response generation with Gmail & GPT-4

Gmail AI Email Manager - Setup Guide 🎯 Workflow Overview This workflow will create an intelligent Gmail email manager that can: Monitor incoming emails via webhook Analyze email content using AI Categorize emails automatically Generate smart responses Take actions based on email content Send notifications for important emails 📋 Pre-Setup Checklist Before we build the workflow, let me gather the necessary information and validate our approach. Phase 1: Discovery & Planning [ ] Search for Gmail nodes [ ] Find AI analysis nodes [ ] Identify webhook trigger options [ ] Check notification nodes Phase 2: Configuration Requirements [ ] Gmail API credentials [ ] AI service (OpenAI/Claude) API key [ ] Webhook URL setup [ ] Email classification rules 🔧 Setup Instructions Step 1: Gmail API Setup Go to Google Cloud Console Create new project or select existing Enable Gmail API Create OAuth 2.0 credentials Add authorized redirect URI: https://your-n8n-instance.com/rest/oauth2-credential/callback Step 2: AI Service Setup Choose one of the following: OpenAI: Get API key from platform.openai.com Claude: Get API key from console.anthropic.com Local AI: Set up Ollama or similar Step 3: n8n Credentials Gmail OAuth2: Add client ID, secret, and scopes AI Service: Add API key Webhook: Configure webhook URL Gmail AI Email Manager - Setup Guide 🔧 Quick Setup Checklist Google Cloud Console [ ] Enable Gmail API [ ] Create OAuth2 credentials [ ] Add redirect URI: https://your-n8n.com/rest/oauth2-credential/callback [ ] Set up Gmail push notifications with Pub/Sub API Keys [ ] Get OpenAI API key from platform.openai.com [ ] Create Google Sheets for logging (optional) n8n Credentials [ ] Gmail OAuth2: Client ID, Secret, Scopes: gmail.readonly,gmail.modify,gmail.compose [ ] OpenAI API: Your API key Gmail Labels (Create these) [ ] URGENT (red) [ ] IMPORTANT (orange) [ ] PROMOTIONAL (purple) [ ] PERSONAL (green) [ ] WORK (blue) [ ] SPAM (gray) Update Workflow Values [ ] High Priority Alert: Change notification email [ ] Spreadsheet Log: Update sheet ID (if using) [ ] Webhook: Copy URL after saving workflow Test [ ] Save & activate workflow [ ] Send test email to Gmail [ ] Check execution log [ ] Verify auto-categorization works That's it! Your AI email manager is ready! 🚀

PaulBy Paul
915

Update Shopify order tags when a Onfleet event happens

Summary Onfleet is a last-mile delivery software that provides end-to-end route planning, dispatch, communication, and analytics to handle the heavy lifting while you can focus on your customers. This workflow template automatically updates the tags for a Shopify Order when an Onfleet event occurs. Configurations Update the Onfleet trigger node with your own Onfleet credentials, to register for an Onfleet API key, please visit https://onfleet.com/signup to get started You can easily change which Onfleet event to listen to. Learn more about Onfleet webhooks with Onfleet Support Update the Shopify node with your Shopify credentials and add your own tags to the Shopify Order

James LiBy James Li
876

Automated workflow backups from self-hosted n8n to Google Drive with version history

✅ What problem does this workflow solve? If you're using a self-hosted n8n instance, there's no built-in version history or undo for your workflows. If a workflow is accidentally modified or deleted, there's no way to roll back. This backup workflow solves that problem by automatically syncing your workflows to Google Drive, giving you version control and peace of mind. --- ⚙️ What does this workflow do? ⏱ Runs on a set schedule (e.g., daily or every 12 hours). 🔍 Fetches all workflows from your self-hosted n8n instance. 🧠 Detects changes to avoid duplicate backups. 📁 Creates a dedicated folder for each workflow in Google Drive. 💾 Uploads new or updated workflow files in JSON format. 🗃️ Keeps backup history organized by date. 🔄 Allows for easy restore by importing backed-up JSON into n8n. --- 🔧 Setup Instructions Google Drive Setup Connect your Google Drive account using the Google Drive node in n8n. Choose or create a root folder (e.g., n8n-workflow-backups) where backups will be stored. n8n API Credentials Generate a Personal Access Token from your self-hosted n8n instance: Go to Settings → API in your n8n dashboard. Copy the token and use it in the HTTP Request node headers as: Authorization: Bearer <your_token> Schedule the Workflow Use the Cron node to schedule this workflow to run at your desired frequency (e.g., once a day or every 12 hours). --- 🧠 How it Works Step-by-Step Flow: Scheduled Trigger The workflow begins on a timed schedule using the Cron node. Fetch All Workflows Uses the n8n API (/workflows) to retrieve a list of all existing workflows. Loop Through Workflows For each workflow: A folder is created in Google Drive using the workflow name. The workflow’s last updated timestamp is checked against Google Drive backups. Smart Change Detection If the workflow has changed since the last backup: A new .json file is uploaded to the corresponding folder. The file is named with the last updated date of the workflow (YYYY-MM-DD-HH-mm-ss.json) to maintain a versioned history. If no change is detected, the workflow is skipped. --- 🗂 Google Drive Folder Organization Backups are neatly organized by workflow and version: /n8n-workflow-backups/ ├── google-drive-backup-KqhdMBHIyAaE7p7v/ │ ├── 2025-07-15-13-03-32.json │ ├── 2025-07-14-03-08-12.json ├── resume-video-avatar-KqhdMBHIyAaE8p8vr/ │ ├── 2025-07-15-23-05-52.json Each folder is named after the workflow's name+id and contains timestamped versions. --- 🔧 Customization Options 📅 Change Backup Frequency Adjust the Cron node to run backups daily, weekly, or even hourly based on your needs. 📤 Use a Different Storage Provider You can swap out Google Drive for Dropbox, S3, or another cloud provider with minimal changes. 🧪 Add Workflow Filtering Only back up workflows that are active or match specific tags by filtering results from the n8n API. --- ♻️ How to Restore a Workflow from Backup Go to the Google Drive backup folder for the workflow you want to restore. Download the desired .json file (based on the date). Open your self-hosted n8n instance. Click Import Workflow from the sidebar menu. Upload the JSON file to restore the workflow. > You can choose to overwrite an existing workflow or import it as a new one. --- 👤 Who can use this? This template is ideal for: 🧑‍💻 Developers running self-hosted n8n 🏢 Teams managing large workflow libraries 🔐 Anyone needing workflow versioning, rollback, or disaster recovery 💾 Productivity enthusiasts looking for automated backups --- 📣 Tip Consider enabling version history in Google Drive so you get even more fine-grained backup recovery options on top of what this workflow provides! --- 🚀 Ready to use? Just plug in your n8n token, connect Google Drive, and schedule your backups. Your workflows are now protected!

InfyOm TechnologiesBy InfyOm Technologies
817

Automatically send a direct message (DM) to new followers on Bluesky using Baserow

Send personalized welcome messages to your new Bluesky followers automatically, helping you maintain engagement while saving time. This workflow monitors your follower list and sends customized direct messages, creating a warm welcome for new connections without manual intervention. How it works Checks your Bluesky followers list daily at 9 AM Identifies new followers by comparing against a database Extracts the follower's first name when available Sends a personalized welcome message with optional link Prevents duplicate messages through double-verification Maintains a record of sent messages to avoid repetition Set up steps (10-15 minutes) Create a Bluesky account if you haven't already Generate an app password in your Bluesky settings Enter your Bluesky handle and app password in the "Set Bluesky Credentials" node Set up your database (Baserow, or adapt for Airtable/Google Sheets) Customize your welcome message in the "Create Welcome Message" node Optional: Adjust the regular check time (default: 9 AM) Features Personalized messaging using follower's first name when available Database tracking to prevent duplicate messages Basic rate limiting protection to stay within API limits Customizable welcome message with clickable links Ability to handle up to 100 new followers per check Perfect for creators who want to Welcome new followers consistently Save time on manual messaging Build early engagement with followers Share important links or resources Maintain a professional presence Scale their community management Suggested enhancements Add message templates for different follower types Include email/Slack notifications for errors Add analytics tracking for message success rates Implement dynamic timing based on follower activity Create A/B testing for different welcome messages Add follower segmentation based on profile data

Gareth B. DaviesBy Gareth B. Davies
782

Transcribe & summarize GoHighLevel call recordings

This n8n template automatically transcribes GoHighLevel (GHL) call recordings and creates an AI-generated summary that is added as a note directly to the related contact in your GHL CRM. It’s designed for real estate investors, agencies, and sales teams that handle a large volume of client calls and want to keep detailed, searchable notes without spending hours on manual transcription. --- Who’s it for Sales and acquisitions teams that want instant call notes in their CRM Real estate wholesalers or agencies using GoHighLevel for deal flow Support and QA teams that need summarized transcripts for review Any business owner who wants to automatically document client conversations --- How it works A HighLevel automation workflow triggers when a call is marked “Completed” and automatically sends a webhook to n8n. The n8n workflow receives this webhook and waits briefly to ensure the call recording is ready. It retrieves the conversation and message IDs from the webhook payload. The call recording is fetched from GHL’s API. An AI transcription node converts the audio to text. A summarization node condenses the transcript into bullet points or a concise paragraph. A Code node formats the AI output into proper JSON for GHL’s “Create Note” endpoint. Finally, an HTTP Request node posts the summary to the contact’s record in GHL. --- How to set up Add your GoHighLevel OAuth credential and connect your agency account. Add your AI credential (e.g., OpenAI, Anthropic, or Gemini). Replace the sample webhook URL with your n8n endpoint. Test with a recent call and confirm the summary appears in the contact timeline. --- Requirements GoHighLevel account with API and OAuth access AI service for transcription and summarization (e.g., OpenAI Whisper + GPT) --- Customizing this workflow You can tailor this automation for your specific team or workflow: Add sentiment analysis or keyword extraction to the summary. Change the AI prompt to focus on “action items,” “objections,” or “next steps.” Send summaries to Slack, Notion, or Google Sheets for reporting. Trigger follow-up tasks automatically in your CRM based on keywords. --- Good to know AI transcription and summarization costs vary by provider — check your LLM’s pricing. GoHighLevel’s recording availability may take up to 1 minute after the call ends; adjust the delay accordingly. For OAuth setup help, refer to GHL’s OAuth documentation. --- Happy automating! ⚙️

BelenBy Belen
371

Send messages from AI agents with Mandrill tool MCP Server

Complete MCP server exposing all Mandrill Tool operations to AI agents. Zero configuration needed - all 2 operations pre-built. ⚡ Quick Setup Need help? Want access to more workflows and even live Q&A sessions with a top verified n8n creator.. All 100% free? Join the community Import this workflow into your n8n instance Activate the workflow to start your MCP server Copy the webhook URL from the MCP trigger node Connect AI agents using the MCP URL 🔧 How it Works • MCP Trigger: Serves as your server endpoint for AI agent requests • Tool Nodes: Pre-configured for every Mandrill Tool operation • AI Expressions: Automatically populate parameters via $fromAI() placeholders • Native Integration: Uses official n8n Mandrill Tool tool with full error handling 📋 Available Operations (2 total) Every possible Mandrill Tool operation is included: 💬 Message (2 operations) • Send a message based on a template • Send a message based on HTML 🤖 AI Integration Parameter Handling: AI agents automatically provide values for: • Resource IDs and identifiers • Search queries and filters • Content and data payloads • Configuration options Response Format: Native Mandrill Tool API responses with full data structure Error Handling: Built-in n8n error management and retry logic 💡 Usage Examples Connect this MCP server to any AI agent or workflow: • Claude Desktop: Add MCP server URL to configuration • Custom AI Apps: Use MCP URL as tool endpoint • Other n8n Workflows: Call MCP tools from any workflow • API Integration: Direct HTTP calls to MCP endpoints ✨ Benefits • Complete Coverage: Every Mandrill Tool operation available • Zero Setup: No parameter mapping or configuration needed • AI-Ready: Built-in $fromAI() expressions for all parameters • Production Ready: Native n8n error handling and logging • Extensible: Easily modify or add custom logic > 🆓 Free for community use! Ready to deploy in under 2 minutes.

David AshbyBy David Ashby
291

Auto scrape X image posts & publish to Telegram with Google Sheets storage

Who’s it for This automation template is designed for content creators, social media managers, and automation enthusiasts who want to automatically scrape X (Twitter) posts with images and publish them directly to a Telegram channel — without writing a single line of code. With this workflow, you can keep your Telegram community constantly updated with the latest tweets from any account. It collects, cleans, and shares content in a fully automated cycle. How It Works Trigger – Start scraping from a specific X (Twitter) account using its unique ID and username. Fetch Data – The workflow calls the Twitter API (or a scraping endpoint) to gather recent tweets. Format & Filter – Extracts key fields (author name, username, text, URL, creation date, images, video) and keeps only tweets containing text and at least one image. Remove Duplicates – Ensures no tweet is processed or posted twice. Save to Google Sheets – Stores cleaned tweet data for backup and future use. Clean Text – Removes unwanted links and hashtags for a polished message. Loop & Publish – Sends each tweet (text + image) to your Telegram channel. Delay – Waits 3 minutes between each post to prevent spamming. How to Use Enter the Twitter ID and username of the target account. Connect your Google Sheets account to store scraped tweets. Connect your Telegram bot and specify the channel for publication. Run the workflow — tweets will be automatically scraped, filtered, saved, and posted to Telegram. Requirements A valid Twitter API connection or alternative scraping endpoint. A Google Sheet to store tweet data. A Telegram Bot linked to your channel. n8n (or any compatible automation platform) to run the workflow. Need help Contact me for consulting and support: LinkedIn / YouTube

Jaures NYABy Jaures NYA
250

Create & send client session summaries from Zoom meetings via Gmail and Airtable

Description Whenever a Zoom “Meeting assets” email arrives in your Gmail inbox, this workflow will: 1) Trigger on new Gmail messages filtered by the subject “Meeting assets”. 2) Extract from the email (HTML or plain text): 3) Type of session (e.g. “1 hour”, “2 hours”, or “exploratory call”). Client’s full name. Session date & time (from the GMT… timestamp). Duration (HH:MM:SS). Recording link. Quick summary. Detailed summary. List of next steps. 4) Lookup the client in your Master Airtable base, table People, by full name. 5) Send a personalized Gmail to the client with all extracted details. 6) Create a new record in your Sessions table in Airtable, linking back to that client. Quick Start Import this JSON into n8n as a new workflow. Connect your Gmail credentials (OAuth2). Connect your Airtable credentials (Personal Access Token). In the Search Records node: Base → your Master base ID. Table → “Your people table”. Filter By Formula → ={Full Name} = '{{ $json.clientName }}'. In the Create Record node: Table → “Sessions”. Map each field (dateTime, duration, summaries, next steps, client link). Activate the workflow. Prerequisites n8n v1.50 or higher A Gmail account with OAuth2 credentials configured An Airtable base containing: Table People with a Full Name field (and email). Table Sessions with fields: DateTime, Duration, Quick Summary, Detailed Summary, Next Steps, and a Linked Record to People. An Airtable Personal Access Token with read/write access to that base. Tips & Extensions Timezone conversion: Use a Function node with moment-timezone to convert UTC if needed. Error handling: Add a catch node to log or notify if any field fails to parse. Alternate notifications: Swap the Gmail node for Slack, Microsoft Teams, or SMS integrations. With this documentation, your team can import and deploy the workflow in minutes. Enjoy!

LuisBetancourt.coBy LuisBetancourt.co
137
All templates loaded