by Lucas Walter
Who's it for This workflow is perfect for directory site creators, content managers, and developers who need to automatically find and select the highest quality favicon or logo for websites they're showcasing. Instead of manually hunting down brand assets or settling for blurry default icons, this workflow does the heavy lifting by fetching multiple options and using AI to pick the best one. How it works The workflow takes a website URL and domain as input, then intelligently fetches favicon images from three different sources: Google's Favicon API - Gets the site's actual favicon Logo.dev - Provides high-quality brand logos Clearbit - Alternative logo source for business websites Once all images are collected, the workflow uses OpenAI's vision model to analyze each icon based on: Image quality and resolution (minimum 256x256) Brand authenticity (avoiding generic framework icons) Visual clarity without artifacts or blur Professional presentation suitable for directory listings The AI assigns quality scores from 0.0 to 1.0, and the workflow automatically returns the URL of the highest-scoring favicon. Requirements OpenAI API key (for image analysis) Logo.dev API key (free tier available) How to set up Configure API credentials: Add your OpenAI API key to n8n credentials Sign up for Logo.dev and add your API token The Clearbit and Google APIs require no authentication Test the workflow: Use the pinned test data (Fyxer AI example) or replace with your own Ensure all HTTP nodes can successfully fetch images Verify the AI analysis is working by checking the quality scores Customize input format: Modify the workflow trigger to accept your preferred input format Adjust the domain extraction logic if needed for your use case How to customize the workflow For different quality criteria: Edit the AI prompt in the "analyze_each_icon" node to emphasize different aspects (transparency, size, style preferences) For additional favicon sources: Add more HTTP Request nodes pointing to other favicon/logo APIs Update the merge node to handle additional inputs Modify the final URL construction logic to handle new sources For batch processing: Wrap this workflow in a loop to process multiple websites at once Add error handling for failed requests or AI analysis timeouts The workflow is designed to be reliable and handles errors gracefully - if one favicon source fails, it continues with the available options and still provides the best result possible.
by Julian Kaiser
🗂️ Bulk File Upload to Google Drive with Folder Management How it works User submits files and target folder name via form Workflow checks if folder exists in Drive Creates folder if needed or uses existing one Processes and uploads all files maintaining structure Set up steps (Est. 10-15 mins) Set up Google Drive credentials in n8n Replace parent folder ID in search query with your Drive folder ID Configure form node with: Multiple file upload field Folder name text field Test workflow with sample files 💡 Detailed configuration steps and patterns are documented in sticky notes within the workflow. Perfect for: Bulk file organization Automated Drive folder management File upload automation Maintaining consistent file structures
by Oneclick AI Squad
This n8n workflow automates the process of scraping LinkedIn profiles using the Apify platform and organizing the extracted data into Google Sheets for easy analysis and follow-up. Use Cases Lead Generation**: Extract contact information and professional details from LinkedIn profiles Recruitment**: Gather candidate information for talent acquisition Market Research**: Analyze professional networks and industry connections Sales Prospecting**: Build targeted prospect lists with detailed professional information How It Works 1. Workflow Initialization & Input Webhook Start Scraper**: Triggers the entire scraping workflow Read LinkedIn URLs**: Retrieves LinkedIn profile URLs from Google Sheets Schedule Scraper Trigger**: Sets up automated scheduling for regular scraping 2. Data Processing & Extraction Data Formatting**: Prepares and structures the LinkedIn URLs for processing Fetch Profile Data**: Makes HTTP requests to Apify API with profile URLs Run Scraper Actor**: Executes the Apify LinkedIn scraper actor Get Scraped Results**: Retrieves the extracted profile data from Apify 3. Data Storage & Completion Save to Google Sheets**: Stores the scraped profile data in organized spreadsheet format Update Progress Tracker**: Updates workflow status and progress tracking Process Complete Wait**: Ensures all operations finish before final steps Send Success Notification**: Alerts users when scraping is successfully completed Requirements Apify Account Active Apify account with sufficient credits API token for authentication Access to LinkedIn Profile Scraper actor Google Sheets Google account with Sheets access Properly formatted input sheet with LinkedIn URLs Credentials configured in n8n n8n Setup HTTP Request node credentials for Apify Google Sheets node credentials Webhook endpoint configured How to Use Step 1: Prepare Your Data Create a Google Sheet with LinkedIn profile URLs Ensure the sheet has a column named 'linkedin_url' Add any additional columns for metadata (name, company, etc.) Step 2: Configure Credentials Set up Apify API credentials in n8n Configure Google Sheets authentication Update webhook endpoint URL Step 3: Customize Settings Adjust scraping parameters in the Apify node Modify data fields to extract based on your needs Set up notification preferences Step 4: Execute Workflow Trigger via webhook or manual execution Monitor progress through the workflow Check Google Sheets for scraped data Review completion notifications Good to Know Rate Limits**: LinkedIn scraping is subject to rate limits. The workflow includes delays to respect these limits. Data Quality**: Results depend on profile visibility and LinkedIn's anti-scraping measures. Costs**: Apify charges based on compute units used. Monitor your usage to control costs. Compliance**: Ensure your scraping activities comply with LinkedIn's Terms of Service and applicable laws. Customizing This Workflow Enhanced Data Processing Add data enrichment steps to append additional information Implement duplicate detection and merge logic Create data validation rules for quality control Advanced Notifications Set up Slack or email alerts for different scenarios Create detailed reports with scraping statistics Implement error recovery mechanisms Integration Options Connect to CRM systems for automatic lead creation Integrate with marketing automation platforms Export data to analytics tools for further analysis Troubleshooting Common Issues Apify Actor Failures**: Check API limits and actor status Google Sheets Errors**: Verify permissions and sheet structure Rate Limiting**: Implement longer delays between requests Data Quality Issues**: Review scraping parameters and target profiles Best Practices Test with small batches before scaling up Monitor Apify credit usage regularly Keep backup copies of your data Regular validation of scraped information accuracy
by Onur
Effortless Task Management: Create Todoist Tasks Directly from Telegram with AI This n8n workflow empowers you to seamlessly manage your tasks by creating Todoist entries directly from Telegram, using the power of AI. Simply send a voice or text message to your Telegram bot, and this workflow will transform it into actionable tasks in your Todoist account. Who is this for? Busy professionals** who need a quick and easy way to capture tasks on the go. Students** looking to streamline their assignments and project management. Anyone** who wants to leverage AI for effortless task management. What Problem Does it Solve? This workflow eliminates the need to manually enter tasks into Todoist. It automates the process of capturing, organizing, and prioritizing tasks, saving you time and effort. What are the Benefits? Seamless Integration:** Connect your Telegram and Todoist accounts for a frictionless workflow. AI-Powered Task Breakdown:** LLM AI intelligently analyzes your messages and breaks them down into manageable sub-tasks. Voice-to-Task:** Create tasks with voice messages for hands-free convenience. Increased Productivity:** Capture and organize tasks quickly, keeping you focused and productive. Accessibility:** Access your tasks from anywhere with Todoist's mobile app and Google extension. How it Works Send a message: Send a voice or text message describing your task to your Telegram bot. AI analysis: The workflow uses an LLM (OpenAI Chat Model) to analyze your message and break it down into sub-tasks. Task creation: The workflow creates tasks in your Todoist account based on the AI's analysis. Notification: You receive a Telegram notification with a link to your newly created tasks in Todoist. Nodes in the Workflow Telegram Trigger:** Listens for incoming messages on Telegram. Switch:** Routes messages based on their type (voice or text). Telegram:** Fetches voice messages from Telegram. OpenAI:** Transcribes voice messages to text using OpenAI's Whisper API. Edit Fields:** Prepares the text for the LLM. Basic LLM Chain:** Analyzes messages and generates sub-tasks using OpenAI's GPT model. Structured Output Parser:** Extracts sub-tasks from the LLM's response. Todoist:** Creates tasks in your Todoist account. Telegram:** Sends a notification with a link to your Todoist tasks. Requirements Active n8n instance. Telegram account with a bot. Todoist account. OpenAI API key. Setup Information Import the workflow JSON into your n8n instance. Configure the Telegram Trigger node with your bot token. Set up the OpenAI credentials with your API key. Connect your Todoist account in the Todoist node. Customize the LLM prompt (optional) to fine-tune task creation. Additional Tips Explore Todoist's features to further organize and manage your tasks. Experiment with different LLM prompts to optimize task breakdown. Use n8n's features to automate other aspects of your workflow. This workflow combines the convenience of Telegram with the power of AI and Todoist to provide a seamless task management experience. Start managing your tasks effortlessly today!
by Sebastian/OptiLever
Who's it for This workflow is designed for users who want to implement iterative AI-powered content improvement processes. It's ideal for content creators, marketers, product managers, and anyone who needs to refine ideas through multiple rounds of critique and enhancement until they meet quality standards. How it works The workflow creates a sophisticated feedback loop using three specialized AI agents that work together to continuously improve content. Starting with an initial input (like a product description), the system generates ideas and then enters a reasoning loop where: A Critic Agent analyzes the current output and identifies flaws or areas for improvement A Refiner Agent takes the original input plus the critic's feedback to create enhanced versions An Evaluator Agent assesses the refined output and determines if it meets the quality threshold The loop continues until either the evaluator determines the output is satisfactory or a maximum number of iterations is reached (configurable, default is 5 turns). How to set up Configure the initial AI agent to generate your starting content Set up the loop structure with "Reset Loop" enabled in the loop node options Configure three AI agents within the loop: Critic: Provide detailed analysis prompts for identifying improvements Refiner: Create prompts that incorporate feedback to enhance content Evaluator: Define quality criteria and decision-making logic Add Edit Fields nodes at the beginning and end of the loop to maintain data structure Include a Code node to track iteration count and loop control Set up the IF node to check exit conditions (max turns or completion status) Requirements n8n workflow environment Access to AI/LLM nodes (OpenAI, Anthropic, etc.) Basic understanding of JSON data structures Configured AI model credentials How to customize the workflow Customize the system prompts for each agent based on your specific use case. The critic should focus on your quality criteria, the refiner should understand your improvement goals, and the evaluator should have clear success metrics. Adjust the maximum iteration count in the code node and IF condition based on your complexity needs and token budget considerations.
by Jimleuk
This n8n template watches an outlook shared inbox for support messages and creates an equivalent issue item in JIRA. How it works A scheduled trigger fetches recent Outlook messages from an shared inbox which collects support requests. These support requests are filtered to ensure they are only processed once and their HTML body is converted to markdown for easier parsing. Each support request is then triaged via an AI Agent which adds appropriate labels, assesses priority and summarises a title and description of the original request. Finally, the AI generated values are used to create an issue in JIRA to be actioned. How to use Ensure the messages fetched are solely support requests otherwise you'll need to classify messages before processing them. Specify the labels and priorities to use in the system prompt of the AI agent. Requirements Outlook for incoming support OpenAI for LLM JIRA for issue management Customising this workflow Consider automating more steps after the issue is created such as attempting issue resolution or capacity planning.
by Tarek Mustafa
Who is this for? Jira users who want to automate the generation of a Lessons Learned or Retrospective report after an Epic is Done. What problem is this workflow solving? / use case Lessons Learned / Retrospective reports are often omitted in Agile teams because they take time to write. With the use of n8n and AI this process can be automated. What is this workflow doing Triggers automatically upon an Epic reaching the "Done" status in Jira. Collects all related tasks and comments associated with the completed Epic. Intelligently filters the gathered data to provide the LLM with the most relevant information. Utilizes an LLM with a structured System Message to generate insightful reports. Delivers the finalized report directly to your specified Google Docs document. Setup Create a Jira API key and follow the Credentials Setup in the Jira trigger node. Create credentials for Google Docs and paste your document ID into the Node. How to customize this workflow to your needs Change the System Message in the AI Agent to fit your needs.
by ARRE
Good to know: This workflow automatically processes incoming emails (you can filter them base on your needs) and creates concise AI-powered summaries, then logs them to a Google Sheets spreadsheet for easy tracking and analysis. Who is this for? ➖Business professionals who receive many emails and need quick summaries ➖Customer service teams tracking email communications ➖Project managers monitoring email correspondence ➖Anyone who wants to automatically organize and summarize their email communications What problem is this workflow solving? This workflow solves the problem of email overload by automatically reading incoming emails, generating concise summaries using AI, and organizing them in a structured format. It eliminates the need to manually read through every email to understand the key points and maintains a searchable record of communications. What this workflow does: ✅Monitors your Gmail inbox for new emails ✅Filters emails based on specific criteria (sender validation) ✅Extracts key information (sender, date, subject, content) ✅Uses AI to generate concise summaries of email content ✅Automatically logs all data including the AI summary to a Google Sheets spreadsheet How it works: 1️⃣Gmail trigger monitors for new emails at specified intervals 2️⃣Email data is processed and formatted using JavaScript 3️⃣A conditional check validates the sender 4️⃣AI agent (powered by Groq's language model) reads the email content and generates a summary 5️⃣All information is automatically appended to a Google Sheets document How to use: Set up Gmail OAuth2 credentials in n8n Configure Google Sheets OAuth2 credentials Set up Groq API credentials for AI processing Create a Google Sheets document and update the document ID Customize the sender validation criteria as needed Activate the workflow Requirements: ✅n8n instance (cloud or self-hosted) ✅Gmail account with OAuth2 access ✅Google Sheets account ✅AI API ✅Basic understanding of n8n workflow Customizing this workflow: 🟢Modify the Gmail trigger filters to target specific labels or criteria 🟢Adjust the sender validation logic in the conditional node 🟢Customize the AI prompt to change summary style or focus 🟢Add additional data fields to the Google Sheets output 🟢Change the polling frequency for checking new emails 🟢Switch to different AI models by replacing the Groq node
by Jimleuk
Mistral OCR is a super convenient way to parse and extract data from multi-page PDFs or single images using AI. What makes it special and differs it from the competition is that Mistral OCR also performs document page splitting and markdown conversion. This helps reduce dependencies required for document parsing workflows where tools like StirlingPDF. Read the official documentation on Mistral OCR API here: https://docs.mistral.ai/capabilities/document/#tag/ocr/operation/ocr_v1_ocr_post How it works To access Mistral-OCR, you'll need to use Mistral Cloud API via the HTTP request node Mistral OCR can only accept 2 file types: PDF and Image. Here, we use 2 different request to the Mistral-OCR API to parse a bank statement PDF and an screenshot of a bank statement to extract the tables. Next, we explore a more secure method of uploading documents to the Mistral OCR API by using Mistral's cloud storage. In example 2, we first store a copy of our documents to Mistral cloud and then generate a signed URL to retreive the file before sending it to Mistral OCR. This ensures the file is not accessible publicly and protects it from unauthorised access. Finally, another way to use Mistral-OCR is via document understanding. This allows you to ask questions about the document rather than extract contents from it. In example 3, I demonstrate this use-case asking Mistral-small to tell me how many deposits are shown in the bank statement. How to use Ensure your documents are either publicly accessible for Mistral-OCR or upload them to Mistral Cloud. Alternatively, signed urls from AWS S3 or Cloudflare R2 should also work. Requirements Mistral Cloud account and API Key. You'll also need credit on your account to use Mistral-OCR. Customising the workflow Mistral-OCR also works for images such as charts and diagrams so try using it on Financial Reports. Mistral-OCR is even cheaper with batching enabled. This returns your results within 24hrs but is half the price per page.
by Amit Mehta
How it Works This workflow automates the complete newsletter management process from content creation to client delivery, using Google Sheets, AI content generation, Google Drive, and Gmail. Whether you're a content creator, marketing agency, or small business owner, this workflow helps you automate newsletter creation and manage client communications with built-in approval workflows — all triggered from a simple spreadsheet. 🎯 Use Case Ideal for: Marketing Teams** streamlining newsletter distribution Agencies** managing multiple client newsletters Content Creators** automating regular communications Small Businesses** maintaining customer engagement Setup Instructions 1. Upload the Spreadsheet File name: Newsletter_Management Sheet structure: | ID | Topic | Client Name | Client Email | Status | Created Date | Send Date | Add newsletter topics and set their Status as Pending 2. Configure Google Sheets Nodes Connect your Google account to: Get topic from newsletter sheet Pick records to send email to client Get Client email address Update Status as Generated Update status as Sent 3. Add API Credentials OpenAI API Key** → for AI content generation Google Drive Access** → for document storage Gmail Account** → for sending newsletters and notifications 4. Activate the Workflow Once live, the workflow will: Manual Path: Generate newsletter content from pending topics Scheduled Path: Send approved newsletters to clients automatically Track status updates throughout the entire process Store generated content in Google Drive Send admin notifications and client emails 🔁 Workflow Logic Main Workflow (Content Generation) Trigger: Manual activation for newsletter creation Retrieve: Pending topics from Google Sheets Validate: Status confirmation (Pending only) Generate: AI-powered HTML newsletter content Store: Upload to Google Drive Notify: Send completion email to admin Update: Mark status as "Generated" Scheduled Workflow (Client Distribution) Trigger: Schedule-based activation Retrieve: Approved newsletters from Google Sheets Validate: Status confirmation (Approved only) Lookup: Client email addresses Loop: Process multiple recipients Send: Personalized newsletters via Gmail Update: Mark status as "Sent" 🧩 Node Descriptions | Node Name | Description | |-----------|-------------| | When clicking 'Test workflow' | Manual trigger to start newsletter generation | | Get topic from newsletter sheet | Retrieves pending newsletter topics from Google Sheets | | Validate Status as Pending | Checks whether status is 'Pending' for processing | | Create HTML for Newsletter | AI-powered content generation using OpenAI | | Prepare Data to create word doc | Formats generated content for document creation | | Upload doc to google drive | Stores completed newsletters in Google Drive | | Send an email to admin | Notifies administrators of completion | | Update Status as Generated | Marks processed items as 'Generated' | | Schedule Trigger | Automated trigger for client email distribution | | Pick records to send email to client | Retrieves approved newsletters for sending | | Validate Status as Approved | Ensures only approved content is processed | | Get Client email address | Fetches client contact information | | Loop Over Items | Processes multiple newsletter recipients | | Send email to client | Delivers personalized newsletters via Gmail | | Update status as Sent | Marks newsletters as successfully delivered | 🛠️ Customization Tips Modify AI prompts for different content styles and tones Add Slack notifications instead of or alongside Gmail Export to different formats (PDF, Word, etc.) Schedule multiple sending times for different client segments Add approval workflows with webhook triggers Integrate with CRM systems for client management 📒 Suggested Sticky Notes for Workflow | Node/Section | Sticky Note Content | |--------------|---------------------| | Manual Trigger | "Click to start newsletter generation process" | | AI Content Generation | "Customize prompts here for different newsletter styles" | | Google Drive Upload | "Organized storage - change folder structure as needed" | | Gmail Admin Notification | "Update admin email addresses and notification templates" | | Schedule Trigger | "Set optimal sending times for your audience" | | Client Email Loop | "Handles bulk sending - monitors for delivery errors" | | Status Updates | "Maintains audit trail - prevents duplicate processing" | 📎 Required Files | File Name | Purpose | |-----------|---------| | Newsletter_Management.xlsx | Google Sheet to manage topics, clients, and status tracking | | Client_Database.xlsx | Client contact information and preferences | | Newsletter_Workflow.json | Main n8n workflow export for this automation | 🧪 Testing Tips Add one test topic with status = Pending and run manual trigger Verify AI content generation produces quality HTML Check Google Drive upload and folder organization Test admin email delivery and formatting Add test client with valid email for scheduled workflow Monitor workflow logs for API responses and errors Confirm status updates occur at each step 🏷 Suggested Tags & Categories #Newsletter #EmailMarketing #ContentGeneration #ClientCommunication #Automation #GoogleWorkspace #AIContent #MarketingAutomation #WorkflowManagement #BusinessProcess 🔧 Prerequisites Google Workspace account (Sheets, Drive, Gmail) OpenAI API account with GPT-4 access n8n instance (Cloud or self-hosted) Basic understanding of Google Sheets and email marketing 📊 Expected Performance Setup Time**: 30-45 minutes Monthly Executions**: 100-500 (varies by newsletter frequency) Processing Time**: 2-5 minutes per newsletter Scalability**: Handles 100+ clients efficiently 🚨 Important Notes Ensure proper Google API permissions are configured Monitor OpenAI API usage and rate limits Set up error handling for failed email deliveries Regularly backup your Google Sheets data Test thoroughly before production deployment 💡 Advanced Features Approval Workflows**: Add manual approval steps between generation and sending A/B Testing**: Create multiple versions and track performance Analytics Integration**: Connect with Google Analytics for tracking Multi-language Support**: Generate content in different languages Dynamic Personalization**: Use client data for personalized content
by Sirhexalot
This workflow facilitates seamless synchronization between Entra (Microsoft Azure AD) and Zammad. It automates the following processes: Fetch Entra Contacts: Create Universal User Object: Extracts key user information, such as email, phone, and name, and formats it for Zammad compatibility. Synchronize with Zammad: Identifies users in Zammad who need updates based on Entra data. Adds new users from Entra to Zammad. Deactivates users in Zammad if they are no longer in Entra. Key Features Dynamic Matching**: Compares contacts from Entra with existing Zammad users based on email and updates records accordingly. Efficient Management**: Automatically creates, updates, or deactivates Zammad users based on their status in Entra. Custom Fields**: Supports custom field mapping, ensuring enriched user profiles in Zammad. Setup Instructions Microsoft Entra Integration: Ensure proper API permissions for accessing Entra contacts. Configure Microsoft OAuth2 credentials in n8n. Zammad Integration: Set up Zammad API credentials with appropriate access rights. Customize the workflow to include additional fields or map existing fields as needed. Run Workflow: Trigger the workflow manually or set up an automation schedule (e.g., daily sync). Review created/updated/deactivated users in Zammad. Use Cases IT Administration**: Keep your support system in sync with the organization’s Entra data. Customer Management**: Ensure accurate and up-to-date user records in Zammad. Prerequisites Access to an Entra (Azure AD) environment with contacts data. A Zammad instance with API credentials for user management. A custom field in Zammad User Object (entra_key) of type String. A custom field in Zammad User Object (entra_object_type) of type `Single selection field with two key value pairs user = User contact = Contact` This workflow is fully customizable and can be adapted to your organization’s specific needs. Save time and reduce manual errors by automating your user sync process with this template! If you have found an error or have any suggestions, please report them here on Github.
by Humble Turtle
Architecture Agent Overview The Architect Agent listens to Slack messages and generates full data architecture blueprints in response. Powered by Claude 3.5 (Anthropic) for reasoning and design, and Tavily for real-time web search, this agent creates production-ready data pipeline scaffolds on-demand — transforming natural language prompts into structured data engineering solutions. Capabilities Understands and interprets user requests from Slack Designs end-to-end data pipelines architectures using industry best practices. Outputs include High-level architecture diagrams Required Connections To operate correctly, the following integrations must be in place: Slack API Token with permission to read messages and post responses Tavily API Key for external search functionality Claude 3.5 API Access via Anthropic Detailed configuration instructions are provided in the workflow Setup time <15 minutes Example input: "Create a data pipeline orchestrated by Airflow, running on a Docker image. It should connect to a MySQL database, load in the data into a PostgreSQL DB (incremental load) and then transform the data into business-oriented tables also in the PostgreSQL database. Create an example setup with raw sales data." Customising this workflow Try saving outputs to Google Drive to store all your architecture blueprints