Extract text from a PDF file
Companion workflow for Read PDF node docs
๐ Learn Code Node (JavaScript) with an Interactive Hands-On Tutorial
How it works This workflow is a hands-on tutorial for the Code node in n8n, covering both basic and advanced concepts through a simple data processing task. Provides Sample Data: The workflow begins with a sample list of users. Processes Each Item (Run Once for Each Item): The first Code node iterates through each user to calculate their fullName and age. This demonstrates basic item-by-item data manipulation using $input.item.json. Fetches External Data (Advanced): The second Code node showcases a more advanced feature. For each user, it uses the built-in this.helpers.httpRequest function to call an external API (genderize.io) to enrich the data with a predicted gender. Processes All Items at Once (Run Once for All Items): The third Code node receives the fully enriched list of users and runs only once. It uses $items() to access the entire list and calculate the averageAge, returning a single summary item. Create a Binary File: The final Code node gets the fully enriched list of users once again and creates a binary CSV file to show how to use binary data Buffer in JavaScript. Set up steps Setup time: < 1 minute This workflow is a self-contained tutorial and requires no setup. Explore the Nodes: Click on each of the Code nodes to read the code and the comments explaining each step, from basic to advanced. Run the Workflow: Click "Execute Workflow" to see it in action. Check the Output: Click on each node after the execution to see how the data is transformed at each stage. Notice how the data is progressively enriched. Experiment! Try changing the data in the 1. Sample Data node, or modify the code in the Code nodes to see what happens.
Evaluate tool usage accuracy in multi-agent AI workflows using evaluation nodes
Who's it for ------------ This workflow is ideal for AI developers running multi-agent systems in n8n who need to quantitatively evaluate tool usage behavior. If you're building autonomous agents and want to verify their decisions against ground-truth expectations, this workflow gives you plug-and-play observability. What it does ------------ This template uses n8n's built-in Evaluation Trigger and Evaluation nodes to assess whether an AI agent correctly used all the expected tools. It supports: Dataset-driven testing of agent behavior Logging actual tools to compare them with the expected tools Assigning performance metrics (tool_called = true/false) Persisting output back to Google Sheets for further debugging The workflow can be triggered by either the chat input or the dataset row evaluation. It routes through a multi-tool agent node powered by the best LLMs. The agent has access to tools such as web search, calculator, vector search, and summarizer tools. The workflow then aims to validate tool use decisions by extracting the intermediate steps from the agent (i.e., action + observation) and comparing the tools that were called with the expected tools. If the tools that were called during the workflow execution match, then it's a pass; otherwise, it's documented as a fail. The evaluation nodes take care of that process.ย How to set it up ---------------- Connect your Google Sheets OAuth2 credential. Replace the document with your own test dataset. Set your desired models and configure the different agent tools, such as the summarizer and vector store. The default vector store used is Qdrant, so the user must create this vector store with a few samples of queries + web search results. Run from either the chat trigger or the evaluation trigger to test. Requirements ------------ Google Sheets OAuth2 credential OpenRouter / OpenAI credentials for AI agents and embeddings Firecrawl and Qdrant credentials for web + vector search How to customize ---------------- Edit the Search Agent system message to define tool selection behavior Add more metric columns in the Evaluation node for complex scoring Add new tool nodes and link them to the agent block Swap in your own summarizer
Create, add an attachment, and send a draft using Microsoft Outlook
This workflow allows you to create, add an attachment, and send a draft using the Microsoft Outlook node. Microsoft Outlook node: This node creates a draft message with HTML content. You can either set the content as Text or HTML. You can also add the recipients to the draft in this node. HTTP Request node: This node fetches the logo of n8n from a URL and returns the binary data. You might want to fetch files from your machine or another email or a database. You can replace this node with the relevant node. Microsoft Outlook1 node: This node adds the attachment that we receive from the previous node to the draft message that we created. Microsoft Outlook2 node: This node sends the draft message to a recipient. Since we didn't mention the recipient in the Microsoft Outlook node, we add the recipient in this node. You can also enter multiple recipients.
Automate audio/video transcription in any language with the new ElevenLabs model
How it works ๐ฃ๏ธ> ๐ I set up this workflow to convert any audio or video file into structured text using the new ElevenLabs Scribe model, one of the best Speech-to-Text AIs, available in 99+ languages. This workflow integrates seamlessly with n8n and leverages the ElevenLabs Scribe API to: This workflow seamlessly integrates with n8n to: โ Upload audio/video files automatically โ Transcribe them with industry-leading accuracy in any language โ Export the text for further processing (summaries, subtitles, SEO content, etc.) ๐ Try the new ElevenLabs Scribe model now: Convert speech to text instantly Business Cases ๐น Podcast Transcriptions โ Convert podcast episodes into blog posts for SEO and accessibility ๐น YouTube Subtitles โ Generate captions automatically for increased engagement ๐น Legal & Compliance โ Accurately transcribe meetings, interviews, or customer calls ๐น E-learning โ Turn lectures and webinars into structured course notes ๐น SEO & Content Marketing โ Repurpose videos into articles, quotes, and social media content ๐ก Boost your productivity with the new Scribe model โ Start with ElevenLabs Scribe Set up steps ๐ Quick & simple setup in n8n โ Upload your file, select the model (scribe_v1), and let the AI handle the rest via the ElevenLabs API. โธป ๐ข Why I Chose the New ElevenLabs Scribe Model? I wanted the most accurate and reliable transcription tool for my workflow. After testing different options, Scribe outperformed Google Gemini & OpenAI Whisper in independent benchmarks. It delivers high-quality transcriptions, even in underserved languages like Serbian, Mongolian, and many more. โ Transcribes in 99+ languages โ Fast, accurate, and easy to integrate โ Suitable for content creators, businesses, and professionals ๐ Get started now and revolutionize your workflow with the new Scribe model โ Try Scribe AI today ๐ Phil | Inforeole | Linkedin ๐ซ๐ท Contactez nous pour automatiser vos processus
Receive Google Sheet data via REST API
Simple workflow which allows to receive data from a Google Sheet via "REST" endpoint. Wait for Webhook Call Get data from Google Sheet Return data Example Sheet: https://docs.google.com/spreadsheets/d/17fzSFl1BZ1njldTfp5lvh8HtS0-pNXH66b7qGZIiGRU
Get a summary of each podcast in your YouTube playlist daily automatically free
Understand the workflow better. watch this video Good to know: This workflow automatically transcribes your favorite podcasts or videos saved in a YouTube playlist and generates a comprehensive, AI-powered summaryโso you can quickly understand the main topics and insights without having to watch or listen to the entire episode. ๐ค Who is this for? Podcast fans who want to save time and get the key points from episodes Busy professionals who follow educational or industry videos and need quick takeaways Content creators or researchers who organize and review large amounts of video/audio material Anyone who wants to efficiently capture and summarize information from YouTube playlists โ What problem is this workflow solving? This workflow solves the challenge of information overload from long-form podcasts and videos. It: Automatically transcribes each video or podcast episode in your chosen YouTube playlist Uses AI to create a clear, well-structured summary of the content Lets you learn and extract valuable information without watching or listening to the entire recording Organizes everything in a Google Sheets document for easy tracking and future reference โ What this workflow does: ๐บ Fetches all videos from a specified YouTube playlist ๐ Extracts video titles, URLs, and IDs ๐ Retrieves and combines transcripts for each video or podcast episode ๐ Processes transcript data for clarity ๐ค Uses AI to generate a detailed, sectioned summary that covers all main topics and insights ๐ Automatically logs video titles, transcripts, summaries, and row numbers to a Google Sheets spreadsheet โ๏ธ How it works: ๐ข Trigger: Start the workflow manually or on a schedule ๐บ Fetch videos from your chosen YouTube playlist ๐ Extract and organize video details (title, URL, ID) ๐ Retrieve the transcript for each video or podcast episode ๐ Combine transcript segments into a single script โ๏ธ Extract the first sentences for focused summarization ๐ค AI agent creates a comprehensive summary of the episode or video ๐ Save all dataโtitle, transcript, summary, and row numberโto Google Sheets ๐ ๏ธ How to use: Set up YouTube OAuth2 credentials in n8n Configure Google Sheets OAuth2 credentials Set up API credentials for transcript and AI processing Create and link your Google Sheets document Input your playlist ID and adjust any filters as needed Activate the workflow ๐ Requirements: n8n instance (cloud or self-hosted) YouTube account with OAuth2 access Google Sheets account Access to transcript and AI APIs Basic n8n workflow knowledge ๐ข Customizing this workflow: Change the YouTube playlist ID to target your preferred podcasts or video series Adjust the transcript retrieval process for other APIs or formats Customize the AI prompt for different summary styles or focus areas Add or remove fields in the Google Sheets output Change the workflow trigger or polling frequency Switch to a different AI model if desired This workflow is designed to help you quickly learn from podcasts and videos you care aboutโwithout spending hours consuming the full content.
Manage attendee registrations and send emails
n8nConf Companion workflow for blog post
Send memes via Discord
A discord integration that sends you memes :)
WhatsApp to Chatwoot message forwarder with media support
Description Automates the forwarding of messages from WhatsApp (via Evolution API) to Chatwoot, enabling seamless integration between external WhatsApp users and internal Chatwoot agents. It supports both text and media messages, ensuring that customer conversations are centralized and accessible for support teams. What Problem Does This Solve? Managing conversations across multiple platforms can lead to fragmented support and lost context. This subworkflow bridges the gap between WhatsApp and Chatwoot, automatically forwarding messages received via the Evolution API to a Chatwoot inbox. It simplifies communication flow, centralizes conversations, and enhances the support team's productivity. Features Support for plain text messages Support for media messages: images, videos, documents, and audio Automatic media upload to Chatwoot with proper attachment rendering Automatic contact association using WhatsApp number and Chatwoot API Designed to work with Evolution API webhooks or any message source Prerequisites Before using this automate, make sure you have: Evolution API credentials with incoming message webhook configured A Chatwoot instance with access token and API endpoint An existing Chatwoot inbox (preferably API channel) A configured HTTP Request node in n8n for Chatwoot API calls Suggested Usage This subworkflow should be attached to a parent workflow that receives WhatsApp messages via the Evolution API webhook. Ideal for: Centralized customer service operations WhatsApp-to-CRM/chat routing Hybrid automation workflows where human agents need to reply from Chatwoot It ensures that all incoming WhatsApp messages are properly converted and forwarded to Chatwoot, preserving message content and structure.
Share jokes on Twitter automatically
This Workflows share a Jokes on Twitter with DadJokes API or BlaBlagues API for ImageJokes
Personalized outreach for lawyers with LinkedIn scraping, GPT-4o, Google Sheets
โ ๏ธ This template uses only official n8n nodes. No community nodes required. ๐งโ๐ผ Who is this for? This workflow is designed for: Legal tech founders Marketing freelancers or consultants Agencies supporting lawyers and small law firms Anyone doing outbound outreach in the legal niche โ What problem is this solving? LinkedIn is a goldmine for targeting legal professionals โ but scraping and personalizing outreach is tedious and expensive. Most tools either: Require paid LinkedIn Sales Navigator Canโt personalize at scale Violate LinkedInโs TOS This workflow solves that by using free Google Search, OpenRouter AI, and GPT-4o to find, enrich, and message up to 1,000 solo lawyers per day โ without using browser automation or scrapers. --- โ๏ธ What this workflow does Uses Google Programmable Search to find solo lawyers and small firm founders on LinkedIn Parses each profileโs name, title, profile URL, and snippet Saves raw lead data to Google Sheets Uses OpenRouter Sonar Pro to enrich each profile with external content Generates a personalized, 1-line message using GPT-4o Appends the final message into Google Sheets for outreach --- ๐ ๏ธ Setup Estimated time: 15โ20 minutes โ Google Programmable Search Enable the Custom Search API on Google Cloud Create a programmable search engine set to search the full web Copy your API key and CX ID โ Google Sheets Create a sheet with columns: Name, Title, Profile URL, Outreach Message Share the sheet with your OAuth-connected Google account โ OpenRouter Sign up at openrouter.ai Fund with at least $5 and generate your API key Use the model perplexity/sonar-pro for real-time research โ GPT-4o (optional) You can use your OpenAI key or route GPT-4o via OpenRouter All setup-specific values are marked clearly in sticky notes and placeholders. --- ๐ ๏ธ How to customize this workflow to your needs Change the Google search query to match your industry (e.g., "founder" AND "therapist" site:linkedin.com/in) Modify the AI prompt to match your tone (formal, casual, humorous) Connect the final output to your CRM (like HubSpot, Airtable, etc.) Add a second outreach message variant to A/B test performance --- ๐ Sticky Notes & Annotations All nodes are clearly renamed for understandability (e.g., Find Lawyer Profiles, Parse LinkedIn Search Results) Color-coded sticky notes explain: Setup instructions Required credentials Use case --- ๐ Category AI Sales Marketing