by Juan Carlos Cavero Gracia
This workflow contains community nodes that are only compatible with the self-hosted version of n8n. Description This automation template is designed for content curators, marketers, and anyone looking to supercharge their content sharing strategy. It transforms any web article, blog post, or news link into a series of platform-specific social media posts, generated by AI. It also captures a live screenshot of the webpage to use as the post image, automating the entire process of publishing them across X (Twitter), LinkedIn, Threads, and Reddit. Note: The default example is configured to share n8n templates, but this workflow can promote any web page, article, or news story. Just change the URL! The upload-post node only works for self-hosted n8n instances, but you can use the standard http node for uploading the content* Who Is This For? Content Curators & Marketers:** Effortlessly share valuable industry news and articles with tailored messages and visuals for each audience. Social Media Managers:** Keep your social feeds consistently active with relevant, high-quality content without the manual overhead. Community Builders & Brand Evangelists:** Quickly disseminate product updates, tutorials, and blog posts to your community on all relevant platforms. Professionals & Thought Leaders:** Build your personal brand by easily sharing insightful articles with automated visuals, adding your unique perspective. What Problem Does This Workflow Solve? Sharing a single piece of content across multiple social platforms is tedious. You need to manually write unique posts, create visuals, and then publish everything. This workflow addresses these challenges by: Automating Content Creation:** Uses a powerful AI agent (Google Gemini) to read any URL and write compelling, unique posts for each social network. Generating Visuals Automatically:** Captures a high-quality screenshot of the source webpage to use as a visually appealing image in your posts, increasing engagement. Ensuring Platform-Specific Tone:** The AI is instructed to generate professional posts for LinkedIn, concise threads for X, conversational updates for Threads, and community-focused posts for Reddit. One-Click Distribution:** Takes a single URL as input and handles the entire content creation and sharing process across multiple platforms automatically. How It Works Input a URL: In the "Set Input Data" node, simply paste the URL of the article or page you want to share. AI Analysis & Generation: The workflow sends the URL to the AI agent, which scrapes the content and generates four distinct, ready-to-publish posts. Screenshot Generation: At the same time, it uses the ScreenshotOne service to capture a high-quality image of the provided URL. Cross-Platform Publishing: The generated content and the screenshot are automatically sent to the corresponding nodes to be posted on X, LinkedIn, and Threads, while the text-only version is sent to Reddit. Setup AI Model Credentials: Add your Google Gemini API key to the Google Gemini Chat Model node to power the AI agent. Screenshot Service (ScreenshotOne): The workflow uses ScreenshotOne to generate images for your posts. Create a free account at screenshotone.com to get your own API key. The free plan includes 100 screenshots per month. In the Upload Post X, Upload Post LinkedIn, and Upload Post Threads nodes, go to the Photos parameter (under Additional Fields) and replace the existing access_key in the URL with your own. Upload-Post Account: This workflow uses upload-post.com for multi-platform posting. Create a free account at upload-post.com to get your API Token and User ID. Add the credentials in the Upload Post X, Upload Post LinkedIn, and Upload Post Threads nodes. Reddit Credentials: Connect your Reddit account using OAuth2 in the Reddit node to enable posting. Customize the AI: (Optional) Edit the prompt in the Social Media Agent node to match your content. The default prompt is optimized for sharing n8n templates, but you can easily adapt it for any topic to fit your brand's voice and style. Requirements Accounts:** n8n, Google (for Gemini API), ScreenshotOne, upload-post.com, Reddit. API Keys & Credentials:** Google Gemini API Key, ScreenshotOne API Key, Upload-post.com API Token & User ID, Reddit OAuth2 credentials. Use this template to become a content-sharing powerhouse, saving hours of work while increasing your reach and engagement across the web.
by Robert Breen
n8n Workflow: OpenAI DALL·E 2 Image Generation & Google Drive Upload Description This n8n workflow automates the process of generating multiple AI-created images from a single prompt using OpenAI's DALL·E 2, then uploads the results directly to a Google Drive folder. It includes a loop to produce several image variations for the same prompt, making it ideal for creative projects, marketing materials, or content experimentation. Step-by-Step Setup Instructions 1. Prepare Your API Keys OpenAI API Key** Sign up or log in at https://platform.openai.com/ Go to API Keys and create a new one. Copy and store this securely — you'll need it in n8n. Google Drive API** Go to https://console.cloud.google.com/ Create a project and enable Google Drive API. Create OAuth 2.0 credentials and set the redirect URI to your n8n OAuth redirect (found in your n8n Google Drive node setup). Connect your Google account when adding credentials in n8n. 2. Workflow Nodes Overview Manual Trigger – Starts the workflow manually. Set Image Prompt – Stores the prompt text and base file name (e.g., “Make an image of an attractive woman standing in New York City”). Duplicate Rows (Code Node) – Creates multiple "runs" of the same prompt for variation. Loop Over Items – Processes each variation one at a time. Generate an image (OpenAI DALL·E 2) – Sends the prompt to OpenAI and retrieves an image. Upload to Google Drive – Saves each generated image to your chosen Google Drive folder. 3. Building the Workflow in n8n Step 1 — Manual Trigger Add a Manual Trigger node to start the workflow manually when testing. Step 2 — Set Image Prompt Add a Set node with two fields: Prompt → The image description text. Name → The base name for the saved file. Example: | Name | Value | |--------|---------------------------------------------------------------| | Prompt | Make an image of an attractive woman standing in New York City | | Name | woman-nyc | Step 3 — Duplicate Rows (Code Node) Use this JavaScript to create three copies of the prompt (run 1, run 2, run 3): const original = items[0].json; return [ { json: { ...original, run: 1 } }, { json: { ...original, run: 2 } }, { json: { ...original, run: 3 } }, ]; Step 4 — Loop Over Items Insert a Split in Batches node and set the batch size to 1. This ensures each prompt variation runs through the image generation process individually. Connect this node so it runs after the Duplicate Rows node. Step 5 — Generate Image Add the OpenAI Image Generation node and configure it as follows: Model**: dall-e-2 Prompt**: ={{ $json.Prompt }} Leave other options at their defaults unless you want to specify image size or style. Connect your OpenAI API credentials created in Step 1. This node will send the current prompt in the batch to OpenAI's DALL·E 2 model and return an AI-generated image. Step 6 — Upload to Google Drive Add a Google Drive node and configure it to store the generated image: File Name**: ={{ $('Set Image Prompt').item.json.Name }} - {{ $('Duplicate Rows').item.json.run }} Folder ID**: Select the target Google Drive folder where images should be saved. Connect your Google Drive OAuth2 API credentials. The node will upload each generated image to your chosen Google Drive location, with a unique filename for each variation. Running the Workflow Execute the workflow manually. The process will: Loop through each prompt variation. Generate an image using OpenAI DALL·E 2. Upload the image to Google Drive with a unique name. You will find all generated images in the selected Google Drive folder. Customization Tips Change the number of variations by editing the Duplicate Rows code. Adjust the prompt dynamically from other data sources like Google Sheets, webhooks, or forms. Schedule the workflow to run at specific times or trigger it via an API call. Created by Robert A. – Ynteractive Website: https://ynteractive.com Email: robert@ynteractive.com
by Tomek
How it works Use Telegram to send in new phrases (flashcard front) You can also manually input phrase in the workflow itself ChatGPT generates provided phrase description (in English but you can change it) including multiple meanings & generates examples of using the phrase in a sample sentence (flashcard back) Steps to setup Provide your Telegram bot API key (optional) Provide your OpenAI key Provide Google Sheets credentials How to import flashcards from Google Sheets into Anki Use Google Sheets to Anki add-on: 1871608121 In Anki simply click Sync Decks and you're done :) Enjoy
by Intuz
This n8n template from Intuz provides a complete and automated solution for hyper-personalized email outreach. It powerfully combines AI with Gmail and Google Sheets, using specific keywords and prospect data to automatically craft unique, compelling email content that boosts engagement and secures more replies. Instead of manually replying to every lead or inquiry, this template does the heavy lifting for you, ensuring every response is relevant, thoughtful, and timely. It reads each person's unique inquiry, uses OpenAI to craft a perfectly tailored and human-like response, and sends it directly from your Gmail account. Ideal for sales, marketing, and customer support teams looking to boost engagement and save hours of manual work. Use Cases: Sales Teams: Instantly follow up with new leads from your website's contact form with a personalized touch. Customer Support: Provide initial, intelligent responses to support tickets, answering common questions or acknowledging receipt of a complex issue. Marketing Automation: Nurture leads by responding to content downloads or webinar sign-ups with relevant, non-generic information. Founders & Solopreneurs: Manage all incoming business inquiries (partnerships, media, etc.) efficiently without sacrificing quality. How It Works: Trigger the Flow (Manual): Start the automation whenever you're ready to process a new batch of inquiries from your sheet. Fetch Inquiries from Google Sheets: The workflow connects to your specified Google Sheet and reads each row. It pulls the contact's First Name, Email ID, the Inquiry Intent (e.g., "Demo Request," "Pricing Inquiry"), and the full text of their Original Inquiry. Sync Your Signature: Before writing the email, an HTTP Request node dynamically fetches your display name from your Gmail account settings. This ensures the signature in the generated email (Thanks, {{Your Name}}) is always accurate. Craft a Hyper-Personalized Reply with AI: It uses this context to generate a high-quality, professional, and friendly email reply in HTML format. For example: If the intent is "Technical Support," the AI will generate a helpful, empathetic response addressing the technical issue. If the intent is "Partnership Proposal," it will draft a professional reply acknowledging the proposal and outlining the next steps. Send via Gmail: The final node takes the AI-generated message, adds a relevant subject line (e.g., "Re: Your Demo Request"), and sends it directly to the contact's email address from your connected Gmail account. This process loops for every single row in your Google Sheet, turning a list of names into a series of meaningful conversations. Setup Instructions: To get this workflow running, you'll need to configure a few things: Credentials: Google: Connect your Google account via OAuth2 and ensure you have enabled access for Google Sheets, Google Drive, and Gmail. OpenAI: Add your OpenAI API key as a credential. Google Sheet Setup: Create a Google Sheet with the following exact column headers: -First Name -Email ID -Inquiry Intent (A short category like "Demo Request", "Billing Issue", etc.) -Original Inquiry (The full text of the email or message you received). Node Configuration: Get row(s) in sheet: Select your Google Sheet document and the specific sheet name. Message a model (OpenAI): Choose your preferred OpenAI model (e.g., gpt-4-turbo, gpt-3.5-turbo). HTTP Request & Send Personalized emails: These nodes should automatically use your configured Gmail credentials. No changes are typically needed. Connect with us Website: https://www.intuz.com/cloud/stack/n8n Email: getstarted@intuz.com LinkedIn: https://www.linkedin.com/company/intuz Get Started: https://n8n.partnerlinks.io/intuz
by Oneclick AI Squad
📚 Automated School Fee Reminder Workflow with Payment Link Automatically sends fee reminders (via email and WhatsApp) to parents with secure payment links, 3 days before the due date. 🔧 Main Components Daily Fee Check – 8 AM** Scheduled trigger that starts the workflow daily at 8 AM. Read Pending Fees** Fetches student fee records from an Excel sheet (using getAll method). Process Fee Reminders** Filters records to find pending fees due within the next 3 days. Prepare Email Reminder** Generates personalized email messages with payment links. Wait for Email Preparation** Adds delay/wait condition for email logic readiness. Send Email Reminder** Sends the fee reminder email with a secure payment link to the parent. Prepare WhatsApp Reminder** Generates WhatsApp-friendly messages with fee and payment details. Wait for WhatsApp Preparation** Waits for WhatsApp message logic to complete. Send WhatsApp Message** Sends the message to the parent’s WhatsApp number using a message API. Update Reminder Status** Updates the Excel file to mark reminders as sent to avoid duplicates. 🧩 Channels Used 📧 Email – with personalized payment link 💬 WhatsApp – formatted reminder message 🔐 Payment Integration Secure payment links are auto-generated per student to enable direct and safe online fee payments. ✅ Essential Prerequisites Excel sheet with fee records (student_fee_data.xlsx) SMTP credentials for sending email WhatsApp API or provider integration (like Twilio or Gupshup) Access to a payment gateway or service for link generation File storage access to update reminder status in Excel 📁 Required Excel File Structure (student_fee_data.xlsx) | Student ID | Name | Email | Phone | Fee Due Date | Amount | Reminder Sent | | ---------- | ---- | ----- | ----- | ------------ | ------ | ------------- | 🧾 Expected Input Format Example { "studentId": "ST123", "name": "Ria Mehta", "email": "ria.mehta@example.com", "phone": "+919123456789", "dueDate": "2025-08-10", "amount": "₹5000", "reminderSent": "No" } 🚀 Key Features ⏰ Scheduled Daily Execution – Fully automated at 8 AM 🧮 Due-Date Filtering – Only targets fees due in the next 3 days 💬 Multi-Channel Notifications – Sends reminders via both Email and WhatsApp 🔗 Secure Payment Links – Auto-generated for each student 🔄 Reminder Tracking – Prevents duplicate reminders by updating status ⚙️ Quick Setup Guide Import Workflow JSON into your n8n instance. Configure schedule in the “Daily Fee Check” node (default: 8 AM). Set Excel file path in the “Read Pending Fees” node. Update your fee processing logic in the “Process Fee Reminders” node. Add email credentials in the “Send Email Reminder” node. Integrate WhatsApp provider API in the “Send message” node. Define how you generate secure payment links. Test with sample data and activate workflow. 🛠️ Parameters to Configure | Parameter | Description | | ------------------ | ------------------------------------------ | | excel_file_path | Path to the fee tracking Excel file | | smtp_host | SMTP server for sending email reminders | | smtp_user | Email username | | smtp_password | Email password | | whatsapp_api_key | WhatsApp API key for sending messages | | payment_api_url | URL for generating payment links | | admin_email | (Optional) Admin email for error reporting |
by Jon Bungartz
How it works creates a new page in Confluence based on a page template also defined in Confluence replaces any number of placeholders with data from your workflow generic implementation for maximum flexibility Set up steps All parameters you need to change are defined in the Set node Set your Atlassian-domain Set the template id you want to use as the basis for new pages Set the target space and parent page for new pages added based on that template. 🎥 Explainer video has all the details. =) Feedback Any feedback is welcome. If you have ideas for improvements, let me know.
by n8n Team
This workflow syncs Discord scheduled events to Google Calendar. On a specified schedule, a request to Discord's API is made to get the scheduled events on a particular server. Only the events that have not been created or have recently been updated will be sent to Google Calendar. Prerequisites Discord account and Discord credentials. Google account and Google credentials. How it works Triggers off on the On schedule node. Gets the scheduled events from Discord. The IDs of the Discord scheduled events are used to get the events from Google Calendar, since the IDs are the same on creation of the Google Calendar event. We can now determine which events are new or have been updated. The new or updated events are created or updated in Google Calendar.
by Dave Long
This workflow contains community nodes that are only compatible with the self-hosted version of n8n. Using the serial number for assets, this workflow will create a ticket with the subject "Found duplicate Serial Numbers" with a list of all of the duplicate assets for a technician to review and merge. Duplicate assets causes incorrect billing (if customers are billed based on asset counts), and additional overhead when reviewing the history of assets when that history is spread across multiple instances. Note: Due to limitations of the Syncro API, automatically merging duplicate assets is not possible. How it works: Get a list of all assets in Syncro and summarize the list based on the Customer ID, Asset Type, and Asset Serial Create a new ticket listing all of the duplicate assets Set up steps: Install the Syncro RMM community node Connect a Syncro RMM account* Open the "Create a ticket" node and update the customer ID *See Syncro RMM Community Node documentation for details about how to get a Syncro API key and what permissions the Syncro API key needs
by Yang
📄 What this workflow does This workflow helps you analyze Google reviews of any business to generate powerful marketing insights. By simply submitting a business name and its Google Place ID, it fetches the top 30 reviews and uses GPT-4 (via LangChain Agent) to extract valuable customer insights such as marketing angles, customer motivations, product pain points, and voice of customer (VOC) quotes. The output is stored automatically in a connected Google Sheet. 👤 Who is this for Marketing teams looking for messaging inspiration Founders or product managers exploring customer feedback Brand strategists gathering real-world insights Agencies running VOC or sentiment analysis 🛠️ Requirements Dumpling AI API key** OpenAI GPT-4 or GPT-4o access** Google Sheets connection** A form or manual input with: Business Name Google Place ID ⚙️ How to set up Connect Credentials Dumpling AI (via HTTP Header Auth) OpenAI (GPT-4) Google Sheets (OAuth2) Prepare your Google Sheet Create columns: Business Name, Place ID, Marketing Angles, Customer Motivations, Frictions and Barriers, Product Opportunities, VOC Snippets Update Nodes Replace the Google Sheets Document ID and Tab Name with yours Check that the Dumpling API node is linked to your credential Optional: tweak the prompt in the LangChain Agent node to fit your tone or goals 🤖 How it works (Workflow Steps) User submits business name + Google Place ID Dumpling AI fetches top 30 reviews Workflow aggregates review text GPT-4 via LangChain analyzes the reviews Insights are parsed and logged to Google Sheets 💡 Customization Ideas Push output to Notion, Airtable, or Slack Add sentiment scoring to prioritize themes Create summaries for each insight category Schedule insights to be emailed weekly This is a plug-and-play VOC research workflow — great for founders, marketers, and product teams who want actionable data from real customers without doing manual review scraping or summarizing.
by Oneclick AI Squad
📘 Student Absence Alerts & Attendance Tracking Automation Automatically alerts parents about student absences and tracks 30-day attendance patterns to identify risks and trends. 🔧 Main Components Daily Attendance Check – 10:30 AM** Triggers the workflow every day at 10:30 AM. Read Today’s Attendance** Retrieves current-day attendance records from the source Excel or database. Read Student Contacts** Reads contact details (email, phone) of students for alert delivery. Process Absent Students** Identifies students who are absent and unexcused for the day. Prepare Absence Email** Generates customized email content for absent students. Send Absence Email** Sends an absence alert email to the student’s parent/guardian. Prepare Absence SMS** Formats WhatsApp-friendly message for alerts. Send Absence WhatsApp** Sends the WhatsApp message using API (e.g., Facebook Graph). Generate Attendance Report** Prepares a daily attendance summary with absence level classifications. Save Attendance Report** Appends the generated report to a historical attendance sheet. ⚠️ Alert Logic Based on the past 30-day absence pattern, the system classifies students into: | Level | Absences in 30 Days | Status | | --------- | ------------------- | -------------- | | 🔴 High | 5+ | Critical Alert | | 🟡 Medium | 3–4 | Warning | | 🟢 Low | 1–2 | Low Risk | 📊 Tracking Features 🔢 Attendance Rate Calculation – Tracks each student's attendance percentage 🔍 Pattern Analysis – Detects recurring absenteeism trends 🚨 Risk Identification – Flags high-risk students for early intervention 📈 Historical Reporting – Maintains daily logs for future reference ✅ Essential Prerequisites Excel sheet or database with daily attendance logs Excel sheet or database with student contact details SMTP credentials for sending emails WhatsApp API integration (e.g., Facebook Graph or Twilio) Storage access for saving attendance reports 📁 Required Excel File Structures Attendance Sheet (daily_attendance.xlsx) | Student ID | Date | Status | | ---------- | ---------- | ------ | | ST101 | 2025-08-06 | Absent | Contacts Sheet (student_contacts.xlsx) | Student ID | Name | Email | Phone | | ---------- | ---------- | --------------------------------------------- | ------------- | | ST101 | Aryan Shah | aryan@example.com | +919123456789 | 🧾 Expected Input Format Example { "studentId": "ST101", "name": "Aryan Shah", "email": "aryan@example.com", "phone": "+919123456789", "status": "Absent", "date": "2025-08-06" } 🚀 Key Features ⏰ Scheduled Daily Execution – Automated tracking at 10:30 AM ✉️ Multi-Channel Notifications – Email + WhatsApp alerts to parents 📊 Absence Pattern Monitoring – 30-day trend analysis 🧠 Risk-Based Alerts – Smart classification into alert levels 🗂️ Daily Reports – Easy to audit attendance summary logs ⚙️ Quick Setup Guide Import Workflow JSON into n8n. Configure schedule trigger at 10:30 AM. Set Excel file paths in "Read Today’s Attendance" and "Read Student Contacts". Customize absence thresholds in the “Process Absent Students” node. Add SMTP details for the “Send Absence Email” node. Integrate WhatsApp API in the “Send Absence WhatsApp” node. Test with mock data and review reports. Activate the workflow. 🔧 Parameters to Configure | Parameter | Description | | ---------------------- | -------------------------------------- | | attendance_file_path | Path to today's attendance records | | contacts_file_path | Path to student contacts sheet | | smtp_user | Email username for SMTP server | | smtp_password | Password for SMTP server | | whatsapp_api_url | Endpoint for sending WhatsApp messages | | alert_thresholds | Absence count thresholds for alerts |
by Agent Studio
This workflow is an experiment to integrate charts in AI Agents, using the new Structured Output from OpenAI and Quickchart.io. How it works Users chat with an AI Agent. Anytime the AI Agent considers a chart is needed, it calls a tool to generate a chart OpenAI generates a chart using the Quickchart definition This object is added at the end of a Quickchart.io URL (see documentation) The url is added in the conversation via the AI Agent as markdown. Set up steps Create an OpenAI API Key Create the OpenAI credentials Use the credentials for the HTTP Request node (as Predefined Credential type) Activate your workflow Start chatting For example, you can ask the AI Agent to generate a chart about the top 5 movies at the box office Start exploring the limits Shout-out Quickchart.io is an amazing open source project that provides a free API to test. Go check them out! Example of chart
by ist00dent
This n8n template allows you to monitor hourly weather conditions in a specific city using OpenWeatherMap and log the results to a Google Sheet. It’s perfect for anyone needing periodic weather tracking—whether you're managing logistics, travel planning, or environmental monitoring. 🔧 How it works A Schedule Trigger activates the workflow every hour. The Get Weather Data from OpenWeatherMap node fetches real-time weather details using the city name you specify. An IF node checks if the weather description contains "rain" or the temperature is below a set threshold. If the condition is true, the data is formatted with city, temperature, humidity, and conditions. The Google Sheets node appends this formatted information to your designated sheet. 👤 Who is it for? This workflow is ideal for: Operations teams monitoring weather-sensitive logistics Researchers collecting climate data Developers and hobbyists learning how to connect APIs with Google Sheets 🗂️ Google Sheet Structure Your Google Sheet should have the following columns: city (string) temperature (K) (number) humidity (number) conditions (string) status (string) ⚙️ Setup Instructions Create a Google Sheet with the above columns. Set up your Google Service Account credentials in n8n. Replace the API key in the HTTP Request node with your own OpenWeatherMap credential. Specify your target city and ensure your OpenWeatherMap account is active. Adjust the frequency in the Schedule Trigger as needed (default: every hour).