by Yaron Been
Replace manual task prioritization with intelligent AI reasoning that thinks like a Chief Operating Officer. This workflow automatically fetches your Asana tasks every morning, analyzes them using advanced AI models, and delivers the single most critical task with detailed reasoning - ensuring your team always focuses on what matters most. โจ What This Workflow Does: ๐ Automated Task Collection**: Fetches all assigned Asana tasks daily at 9 AM ๐ค AI-Powered Analysis**: Uses OpenAI GPT-4 to evaluate urgency, impact, and strategic importance ๐ฏ Smart Prioritization**: Identifies the #1 most critical task with detailed reasoning ๐ง Contextual Memory**: Leverages vector database for historical context and pattern recognition ๐พ Structured Storage**: Saves prioritized tasks to PostgreSQL with full audit trail ๐ Continuous Learning**: Builds organizational knowledge over time for better decisions ๐ง Key Features: Daily automation** with zero manual intervention Context-aware AI** that learns from past prioritization decisions Strategic reasoning** explaining why each task is prioritized Vector-powered memory** using Pinecone for intelligent context retrieval Clean structured output** with task names, priority levels, and detailed justifications Database integration** for reporting and historical analysis ๐ Prerequisites: Asana account with API access OpenAI API key (GPT-4 recommended) PostgreSQL database Pinecone account (for vector storage and context) ๐ฏ Perfect For: Operations teams managing multiple competing priorities Startups needing systematic task management Project managers juggling complex workflows Leadership teams requiring strategic focus Any organization wanting AI-driven operational intelligence ๐ก How It Works: Morning Automation: Triggers every day at 9 AM Data Collection: Pulls all relevant tasks from Asana AI Analysis: Evaluates each task using COO-level strategic thinking Context Retrieval: Searches vector database for similar past tasks Smart Prioritization: Identifies the single most important task Structured Output: Delivers priority level with detailed reasoning Data Storage: Saves results for reporting and continuous improvement ๐ฆ What You Get: Complete n8n workflow with all AI components configured PostgreSQL database schema for task storage Vector database setup for contextual intelligence Comprehensive documentation and setup guide Sample task data and output examples ๐ก Need Help or Want to Learn More? Created by Yaron Been - Automation & AI Specialist ๐ง Support: Yaron@nofluff.online ๐ฅ YouTube Tutorials: https://www.youtube.com/@YaronBeen/videos ๐ผ LinkedIn: https://www.linkedin.com/in/yaronbeen/ Discover more advanced automation workflows and AI integration tutorials on my channels! ๐ท๏ธ Tags: AI, OpenAI, Asana, Task Management, COO, Prioritization, Automation, Vector Database, Operations, GPT-4
by Miquel Colomer
Do you want to know where a web visitor lives? This workflow enriches any lead by IP address using the uProc.io Location By IP address tool and sends an email in Spanish or English depending on the detected web visitor country. You need to add your credentials (Email and API Key - real -) located at Integration section to n8n. Node "Create IP and Email Item" can be replaced by any other supported service with IP and Email values, like Mailchimp, Calendly, or MySQL. The "uProc" node returns the location of the provided IP address. "If" node checks if the web visitor country code belongs to Spain (ES Isocode). If positive, we use the Spanish language in our emails. Otherwise, we will use the English language in our communications. Depending on the detected country code, we use the Amazon SES node to send the customized email adapted to the right language.
by Samir Saci
Tags: Supply Chain, Logistics, AI Agents Context Hey! Iโm Samir, a Supply Chain Data Scientist from Paris, and the founder of LogiGreen Consulting. We design tools to help companies improve their logistics processes using data analytics, AI, and automationโto reduce costs and minimize environmental impacts. >Letโs use N8N to improve logistics operations! ๐ฌ For business inquiries, you can add me on LinkedIn Who is this template for? This workflow template is designed for logistics or manufacturing operations that receive orders by email. The example above illustrate the challenge we want to tackle using an AI Agent to parse the information and load them in a Google sheet. If you want to understand how I built this workflow, check my detailed tutorial: ๐ฅ Step-by-Step Tutorial How does it work? The workflow is connected to a Gmail Trigger to open all the emails that include Inbound Order in their subject. The email is parsed by an AI Agent equipped with OpenAI's GPT to collect all the information. The results are pulled in a Google Sheet. These orderlines can then be transferred to warehouse teams to prepare *order receiving. What do I need to get started? Youโll need: Gmail and Google Drive Accounts** with the API credentials to access it via n8n An OpenAI API key (GPT-4o) for the chat model. A Google Sheet with these columns: PO_NUMBER, EXPECTED_DELIVERY DATE, SKU_ID, QUANTITY Next Steps Follow the sticky notes in the workflow to configure each node and start using AI to support your logistic operations. ๐ Curious how N8N can transform your logistics operations? ๐ฌ Letโs connect on LinkedIn Notes An example of email is included in the template so you can try it with your mailbox. This workflow was built using N8N version 1.82.1 Submitted: March 28, 2025
by Emmanuel Bernard
๐ Do you want to master AI automation, so you can save time and build cool stuff? Iโve created a welcoming Skool community for non-technical yet resourceful learners. ๐๐ป Join the AI Atelier ๐๐ป This workflow provides an API endpoint to generate speech from text using Elevenlabs.io, a popular text-to-speech service. Step 1: Configure Custom Credentials in n8n To set up your credentials in n8n, create a new custom authentication entry with the following JSON structure: { "headers": { "xi-api-key": "your-elevenlabs-api-key" } } Replace "your-elevenlabs-api-key" with your actual Elevenlabs API key. Step 2: Send a POST Request to the Webhook Send a POST request to the workflow's webhook endpoint with these two parameters: voice_id: The ID of the voice from Elevenlabs that you want to use. text: The text you want to convert to speech. This workflow has been a significant time-saver in my video production tasks. I hope it proves just as useful to you! Happy automating! The n8Ninja
by Sirhexalot
This n8n workflow allows you to reset all user roles in Zammad to specified default roles. It ensures consistency in role management across your Zammad instance. Features Retrieve all active users from Zammad. Update each user's roles to predefined default role IDs. Exclude specific users by their IDs from the update process. Simple configuration for default roles and excluded users. Usage Import the Workflow: Upload the provided .json file into your n8n instance. Configure Variables: zammad_base_url: Your Zammad instance URL. zammad_api_key: Your Zammad API key. default_roles: List of default role IDs to apply to all users. exclude_zammad_users_by_id: List of user IDs to exclude from the update. Run the Workflow: Execute the workflow to update roles automatically. Issues and Suggestions For issues or suggestions, visit the GitHub Repository.
by Dataki
This workflow demonstrates how to enrich data from a list of companies in a spreadsheet. While this workflow is production-ready if all steps are followed, adding error handling would enhance its robustness. Important notes Check legal regulations**: This workflow involves scraping, so make sure to check the legal regulations around scraping in your country before getting started. Better safe than sorry! Mind those tokens**: OpenAI tokens can add up fast, so keep an eye on usage unless you want a surprising bill that could knock your socks off! ๐ธ Main Workflow Node 1 - Webhook This node triggers the workflow via a webhook call. You can replace it with any other trigger of your choice, such as form submission, a new row added in Google Sheets, or a manual trigger. Node 2 - Get Rows from Google Sheet This node retrieves the list of companies from your spreadsheet. here is the Google Sheet Template you can use. The columns in this Google Sheet are: Company**: The name of the company Website**: The website URL of the company These two fields are required at this step. Business Area**: The business area deduced by OpenAI from the scraped data Offer**: The offer deduced by OpenAI from the scraped data Value Proposition**: The value proposition deduced by OpenAI from the scraped data Business Model**: The business model deduced by OpenAI from the scraped data ICP**: The Ideal Customer Profile deduced by OpenAI from the scraped data Additional Information**: Information related to the scraped data, including: Information Sufficiency: Description: Indicates if the information was sufficient to provide a full analysis. Options: "Sufficient" or "Insufficient" Insufficient Details: Description: If labeled "Insufficient," specifies what information was missing or needed to complete the analysis. Mismatched Content: Description: Indicates whether the page content aligns with that of a typical company page. Suggested Actions: Description: Provides recommendations if the page content is insufficient or mismatched, such as verifying the URL or searching for alternative sources. Node 3 - Loop Over Items This node ensures that, in subsequent steps, the website in "extra workflow input" corresponds to the row being processed. You can delete this node, but you'll need to ensure that the "query" sent to the scraping workflow corresponds to the website of the specific company being scraped (rather than just the first row). Node 4 - AI Agent This AI agent is configured with a prompt to extract data from the content it receives. The node has three sub-nodes: OpenAI Chat Model: The model used is currently gpt4-o-mini. Call n8n Workflow: This sub-node calls the workflow to use ScrapingBee and retrieves the scraped data. Structured Output Parser: This parser structures the output for clarity and ease of use, and then adds rows to the Google Sheet. Node 5 - Update Company Row in Google Sheet This node updates the specific company's row in Google Sheets with the enriched data. Scraper Agent Workflow Node 1 - Tool Called from Agent This is the trigger for when the AI Agent calls the Scraper. A query is sent with: Company name Website (the URL of the website) Node 2 - Set Company URL This node renames a field, which may seem trivial but is useful for performing transformations on data received from the AI Agent. Node 3 - ScrapingBee: Scrape Company's Website This node scrapes data from the URL provided using ScrapingBee. You can use any scraper of your choice, but ScrapingBee is recommended, as it allows you to configure scraper behavior directly. Once configured, copy the provided "curl" command and import it into n8n. Node 4 - HTML to Markdown This node converts the scraped HTML data to Markdown, which is then sent to OpenAI. The Markdown format generally uses fewer tokens than HTML. Improving the Workflow It's always a pleasure to share workflows, but creators sometimes want to keep some magic to themselves โจ. Here are some ways you can enhance this workflow: Handle potential errors Configure the scraper tool to scrape other pages on the website. Although this will cost more tokens, it can be useful (e.g., scraping "Pricing" or "About Us" pages in addition to the homepage). Instead of Google Sheets, connect directly to your CRM to enrich company data. Trigger the workflow from form submissions on your website and send the scraped data about the lead to a Slack or Teams channel.
by Yang
Who is this for? This workflow is ideal for sales teams, marketers, and virtual assistants who manage outbound campaigns and want to improve their cold outreach personalization. It helps automate the research and writing process for each lead, saving time while improving quality. What problem is this workflow solving? Cold outreach often lacks personalization because manually reviewing each lead's website takes time. This workflow eliminates that bottleneck by using AI to auto-generate personalized icebreakers, summaries, and outreach emails based on a leadโs websiteโwithout human research. What this workflow does This n8n workflow runs on a schedule and pulls leads from Airtable who don't yet have an "Ice breaker" field filled out. For each lead, it does the following: Trigger: Scheduled daily via the Run Daily to Process New Leads node. Search Airtable: Finds leads in Airtable where the Ice breaker field is empty using the Search Cold Leads Without Icebreaker node. Split in Batches: Iterates through each lead one by one using Loop Through Each Lead. Rate Limiting: Waits briefly before each request using Wait Before Making Request to avoid rate limits. Scrape Website: Sends each leadโs website to Dumpling AI's /scrape endpoint via the Scrape Lead Website with Dumpling AI HTTP request. Generate AI Copy: Sends the scraped content to GPT-4o using the Generate Icebreaker, Summary & Email (GPT-4o) node. It asks the LLM to create: A short personalized icebreaker A 2โ3 line website summary A short email body for cold outreach Save Results: Updates the original Airtable record with the generated content using the Save AI Output Back to Airtable node. Sticky Note: Provides an overview of the workflow and usage instructions for future editors or collaborators. This loop continues for all leads found, updating Airtable with fresh AI-generated outreach content. Integration Requirements Airtable (Personal Access Token) Dumpling AI API Key (Header Auth) OpenAI (GPT-4o)
by Akhil Varma Gadiraju
๐ Form-Based X/Twitter Poster (v2) A user-friendly n8n workflow that enables users to submit tweets through a simple web form โ with optional image, video, or GIF uploads โ and posts them to a connected X/Twitter account. Designed for ease of use, this workflow handles both media and text-only posts, providing clear feedback upon submission. ๐งญ Overview Workflow Name: Form-Based X/Twitter Poster (v2) Goal: Provide a web form for users to create tweets, upload optional media, and post directly to X/Twitter. ๐ How It Works 1. Form Submission Trigger Node:** On form submission Type:** formTrigger Purpose:** Renders a web form for tweet creation. Fields:** Post Content: Required textarea for tweet text. Media: Optional file upload (.jpg, .png, .gif, .mp4, etc.). Button:** "Submit" Output:** JSON with text and binary media (if any). 2. Extract Media Details Node:** Extract Media Details Type:** code Purpose:** Extracts tweet text, checks for media, determines media type. Output Example:** { "content": "My tweet!", "mime_type": "image/jpeg", "media_type": "IMAGE" } 3. If Media Exists Node:** If Media Exists Type:** if Purpose:** Checks whether media was uploaded. True Path:** Media was uploaded. False Path:** No media uploaded. 4. Upload Media to X/Twitter (True path only) Node:** Upload Media (X) Type:** httpRequest Purpose:** Uploads media to Twitter via API v1.1. Media Category:** TWEET_IMAGE (can be customized) Auth:** Twitter OAuth1 API Output:** Includes media_id_string 5. Post Tweet with Media (True path) Node:** X Type:** twitter Purpose:** Posts tweet with uploaded media. Auth:** Twitter OAuth2 API 6. Post Text-Only Tweet (False path) Node:** X1 Type:** twitter Purpose:** Posts tweet without media. Auth:** Twitter OAuth2 API 7. Show Confirmation Message Node:** End Form Type:** form Purpose:** Displays thank-you message post-submission. Title:** Thank you so much for sharing your experience on X! ๐ค Message:** We truly appreciate your support and are so glad we could make a positive impact. Your words mean the world to us! ๐ How to Customize Form Fields:** Change form title, labels, help texts, or file formats. Media Logic:** Add logic for distinguishing GIF vs VIDEO. Adjust media upload URL dynamically: https://upload.twitter.com/1.1/media/upload.json?media_category={{ $json.media_type === 'VIDEO' ? 'TWEET_VIDEO' : ($json.media_type === 'GIF' ? 'TWEET_GIF' : 'TWEET_IMAGE') }} Error Handling:** Add Error Trigger nodes to catch and manage failures gracefully. Tweet Text:** Customize tweet text with extra formatting or default content. Advanced Ideas:** Schedule tweets Post to multiple accounts Add content approval steps ๐ Required Credentials 1. Twitter OAuth1 API Used by:** Upload Media (X) Required for:** Media upload via v1.1 Credentials:** Consumer Key, Consumer Secret, Access Token, Access Token Secret Workflow Credential Name:** X OAuth - Akhil 2. Twitter OAuth2 API Used by:** X, X1 Required for:** Posting tweets Scopes:** tweet.read, tweet.write, users.read, offline.access Workflow Credential Name:** X OAuth2 - Akhil ๐ก Use Cases Easy Tweet Tool:** For non-technical users to share content. Content Approval:** Internal review system before posting. Announcements:** Quickly broadcast updates. Campaign Posting:** Streamline recurring content sharing. ๐งโ๐ป Node Naming Suggestions | Old Name | Suggested Name | |--------------------|--------------------------| | If Image Exists | If Media Exists | | X | Post Tweet with Media | | X1 | Post Text-Only Tweet | โค๏ธ Made with love by Akhil using n8n
by ConvertAPI
Who is this for? For developers and organizations that need to convert HTML files to PDF. What problem is this workflow solving? The file format conversion problem. What this workflow does Converts HTML to file. Converts the HTML file to PDF. Stores the PDF file in the local file system. How to customize this workflow to your needs Open the HTTP Request node. Adjust the URL parameter (all endpoints can be found here). Add your secret to the Query Auth account parameter. Please create a ConvertAPI account to get an authentication secret. Optionally, additional Body Parameters can be added for the converter.
by Dr. Firas
๐ฅ Clone Video Ads Factory using NanoBanana, Kling and Publish with Blotato ๐ Documentation: Notion Guide Who is this for? This workflow is built for marketers, growth hackers, agencies, content creators, and automation builders who want to industrialize video ad production. Perfect for anyone running paid ads, social media campaigns, UGC-style content, dropshipping creatives, AI ad testing, or scalable content factories. What problem is this workflow solving? / Use case Creating high-performing video ads is: Slow Manual Expensive Hard to scale Hard to test in volume This workflow solves: โ Manual editing โ Manual prompt writing โ Manual scene creation โ Manual video assembly โ Manual audio integration โ Manual publishing It turns one input video + prompt into a fully automated ad production pipeline. What this workflow does This automation system acts as a full AI video ads factory: Step-by-step pipeline: Video Analysis Breaks down the source video into cinematic scenes Extracts structure, rhythm, composition, pacing, and visual logic Prompt Engineering Generates structured prompts for: Images Videos Music Captions Global script Scene structure Image Generation Uses NanoBanana to generate consistent AI images per scene Keeps visual identity across scenes Video Generation Uses Kling to generate cinematic video clips Scene-based video creation Video Merging Automatically merges all generated scenes into one final video Music Generation Generates a full song from prompt (AI music model) Audio + Video Merge Merges generated music with the final video Publishing Automatically publishes content using Blotato Creates posts and media assets โก๏ธ Result: Fully automated AI video ad production system Setup Required accounts: Airtable fal.ai AtlasCloud** Blotato** Initial configuration: Create Airtable base Add required fields: Original Video Avatar Image Product Image Status Prompts Scenes Music File Final Video Add API keys in the Setup nodes: AtlasCloud fal.ai Airtable Blotato Expected outcome You get a fully automated AI content factory that can: Clone ad styles Scale ad production Test creatives at scale Generate UGC-style ads Build content farms Automate marketing pipelines Create AI ad studios Run continuous ad experiments Typical use cases AI UGC ad factories Dropshipping ad automation SaaS promo videos Influencer content cloning Brand video scaling Marketing automation Ad testing labs Growth hacking pipelines AI content studios ๐ Need help or want to customize this? ๐ฉ Contact: LinkedIn ๐บ YouTube: @DRFIRASS ๐ Workshops: Mes Ateliers n8n Need help customizing? Contact me for consulting and support : Linkedin / Youtube / ๐ Mes Ateliers n8n
by Matheus Weckwerth
Flow Start: The flow starts upon receiving an HTTP GET call. Webhook: Receives the HTTP GET call and triggers the flow. Database: Connects to the database (Customer Datastore) to retrieve all necessary information (getAllPeople). Data Processing: Variable Insertion: The retrieved data is inserted into a variable. Variable Aggregation: The variables are aggregated and prepared for use in FlutterFlow. Webhook Response: Sends the response back through the Webhook with the processed data ready for use in FlutterFlow.
by Anthony
This workflow allows you to recognize a folder with receipts or invoices (make sure your files are in .pdf, .png, or .jpg format). The workflow can be triggered via the "Test workflow" button, and it also monitors the folder for new files, automatically recognizing them. Video Demo https://youtu.be/mGPt7fqGQD8 1. n8n import glitch After import, the trigger node "When clicking 'Test workflow'" might be disconnected. You need to connect it via 2 arrows to "Google Sheets1" and "Google Drive" nodes. So, the workflow has 2 triggers - via button, and via Google Sheets "new file" event - both of these triggers should be connected to 2 nodes. Here is how it should look like: https://ocr.oakpdf.com/n8n_fix.png 2. Set up RapidAPI HTTP auth key Create new "HTTP header" n8n credential and paste your RapidAPI key from https://rapidapi.com/restyler/api/receipt-and-invoice-ocr-api into it. https://ocr.oakpdf.com/n8n_api_key.png Make sure "HTTP Request" node uses this credential. 3. Set up your Google Auth You need a Google connection to work with your Google Sheets and Google Drive accounts: https://docs.n8n.io/integrations/builtin/credentials/google/oauth-generic/#finish-your-n8n-credential 4. Set up Google Sheets Copy this Google Sheets document: https://docs.google.com/spreadsheets/d/1G0w-OMdFRrtvzOLPpfFJpsBVNqJ9cfRLMKCVWfrTQBg/edit?usp=sharing Custom document formats and advanced usage Email: contact@scrapeninja.net Linkedin: https://www.linkedin.com/in/anthony-sidashin/