Generate and publish carousels for TikTok and Instagram with GPT-Image-1
Description This n8n automation template provides an end-to-end solution for generating a series of themed images for Instagram and TikTok carousels using OpenAI's GPT Image (via the image generation API) and automatically publishing them to both platforms. It uses a sequence of prompts to create a narrative or themed carousel, generating each image based on the previous one, and then posts them with an AI-generated caption. Who Is This For? Social Media Managers: Quickly create and schedule engaging image carousels for Instagram and TikTok. Content Creators: Automate the visual content creation process for thematic posts or storytelling carousels. Digital Marketers: Efficiently produce visual assets for campaigns that require sequential imagery. Small Businesses: Generate unique promotional content for social media without needing advanced design skills. What Problem Does This Workflow Solve? Manually creating a series of related images for a carousel and then publishing them across multiple platforms can be repetitive and time-consuming. This workflow addresses these issues by: Automating Image Generation: Uses OpenAI to generate a sequence of 5 images, where each new image is an evolution based on the previous one and a new prompt. Automating Caption Generation: Leverages OpenAI (GPT) to create a suitable description/caption for the carousel based on the image prompts. Streamlining Multi-Platform Publishing: Automatically uploads the generated image carousel and caption to both Instagram and TikTok. Reducing Manual Effort: Significantly cuts down the time spent on designing individual images and manually uploading them. Ensuring Visual Cohesion: The sequential image generation method (editing the previous image) helps maintain a consistent style or narrative across the carousel. How It Works Trigger: The workflow is initiated manually (can be adapted to a schedule or webhook). Define Prompts: Five distinct prompts are pre-set within the workflow to guide the generation of each image in the carousel. AI Caption Generation: OpenAI (GPT-4.1) generates a concise (≤ 90 characters for TikTok) description for the social media posts based on all five image prompts. Sequential AI Image Generation: Image 1: OpenAI's image generation API (specified as gpt-image-1) creates the first image based on prompt1. Image 2-5: For each subsequent image, the workflow uses the OpenAI image edits* API. It takes the previously generated image and a new prompt (prompt2 for image 2, prompt3 for image 3, and so on) to create the next image in the sequence. Images are converted from base64 JSON to binary format. Content Aggregation: The five generated binary image files (named photo1 through photo5) are merged. Multi-Platform Distribution: The merged images and the AI-generated description are sent to api.upload-post.com for publishing as a carousel to Instagram. The same content is sent to api.upload-post.com for publishing as a carousel to TikTok, with an option to automatically add music. The TikTok description is truncated if it exceeds 90 characters. Setup Accounts & API Keys: You will need: An n8n instance. An OpenAI API key. A key for social media API upload-post. Configure Credentials: Add your OpenAI API key to the "OpenAI" credentials in n8n. This will be used by the "Generate Description for Tiktok and Instagram" node and the HTTP Request nodes calling the OpenAI image generation/edit APIs. In the "POST TO INSTAGRAM" and "POST TO TIKTOK" nodes, replace "Apikey addapikey_here" with your actual upload-post.com API key. Update the user field in the "POST TO INSTAGRAM" and "POST TO TIKTOK" nodes if "upload_post" is not your user identifier for that service. Customize Prompts: Modify the five prompts (prompt1 to prompt5) in the "Set All Prompts" node to define the story or theme of your image carousel. Review Image Generation Parameters: In the "Set API Variables" node, you can adjust: sizeofimage (e.g., "1024x1536" for vertical carousels). openaiimagemodel (ensure this matches a valid OpenAI model identifier for image generation/edits, like dall-e-2 or dall-e-3 if gpt-image-1 is a placeholder). responseformatimage (should generally remain b64_json for this workflow). (Optional) TikTok Auto Music: The "POST TO TIKTOK" node has an autoaddmusic parameter set to true. Change this to false if you prefer to add music manually or not at all. Requirements Accounts: n8n, OpenAI, upload-post.com. API Keys & Credentials: API Keys for OpenAI and https://upload-post.com. (Potentially) Paid Plans: OpenAI and upload-post.com usage may incur costs depending on your volume and their respective pricing models. This template empowers you to automate the creation and distribution of visually consistent image carousels, saving time and enhancing your social media presence.
Raw materials inventory management with Google Sheets, Supabase and approvals
Automated Raw Materials Inventory Management with Google Sheets, Supabase, and Gmail using n8n Webhooks Description What Problem Does This Solve? 🛠️ This workflow automates raw materials inventory management for businesses, eliminating manual stock updates, delayed material issue approvals, and missed low stock alerts. It ensures real-time stock tracking, streamlined approvals, and timely notifications. Target audience: Small to medium-sized businesses, inventory managers, and n8n users familiar with Google Sheets, Supabase, and Gmail integrations. What Does It Do? 🌟 Receives raw material data and issue requests via form submissions. Updates stock levels in Google Sheets and Supabase. Manages approvals for material issue requests with email notifications. Detects low stock levels and sends alerts via Gmail. Maintains data consistency across Google Sheets and Supabase. Key Features Real-time stock updates from form submissions. Automated approval process for material issuance. Low stock detection with Gmail notifications. Dual storage in Google Sheets and Supabase for redundancy. Error handling for robust data validation. Setup Instructions Prerequisites n8n Instance: Self-hosted or cloud n8n instance. API Credentials: Google Sheets API: Credentials from Google Cloud Console with Sheets scope, stored in n8n credentials. Supabase API: API key and URL from Supabase project, stored in n8n credentials (do not hardcode in nodes). Gmail API: Credentials from Google Cloud Console with Gmail scope. Forms: A form (e.g., Google Form) to submit raw material receipts and issue requests, configured to send data to n8n webhooks. Installation Steps Import the Workflow: Copy the workflow JSON from the “Template Code” section (to be provided). Import it into n8n via “Import from File” or “Import from URL”. Configure Credentials: Add API credentials in n8n’s Credentials section for Google Sheets, Supabase, and Gmail. Assign credentials to respective nodes. For example: In the Append Raw Materials node, use Google Sheets credentials: {{ $credentials.GoogleSheets }}. In the Current Stock Update node, use Supabase credentials: {{ $credentials.Supabase }}. In the Send Low Stock Email Alert node, use Gmail credentials. Set Up Nodes: Webhook Nodes (Receive Raw Materials Webhook, Receive Material Issue Webhook): Configure webhook URLs and link them to your form submissions. Approval Email (Send Approval Request): Customize the HTML email template if needed. Low Stock Alerts (Send Low Stock Email Alert, Send Low Stock Email After Issue): Configure recipient email addresses. Test the Workflow: Submit a test form for raw material receipt and verify stock updates in Google Sheets/Supabase. Submit a material issue request, approve/reject it, and confirm stock updates and notifications. How It Works High-Level Steps Receive Raw Materials: Processes form submissions for raw material receipts. Update Stock: Updates stock levels in Google Sheets and Supabase. Handle Issue Requests: Processes material issue requests via forms. Manage Approvals: Sends approval requests and processes decisions. Monitor Stock Levels: Detects low stock and sends Gmail alerts. Detailed Descriptions Detailed node descriptions are available in the sticky notes within the workflow screenshot (to be provided). Below is a summary of key actions. Node Names and Actions Raw Materials Receiving and Stock Update Receive Raw Materials Webhook: Receives raw material data from a form submission. Standardize Raw Material Data: Maps form data into a consistent format. Calculate Total Price: Computes Total Price (Quantity Received * Unit Price). Append Raw Materials: Records receipt in Google Sheets. Check Quantity Received Validity: Ensures Quantity Received is valid. Lookup Existing Stock: Retrieves current stock for the Product ID. Check If Product Exists: Branches based on Product ID existence. Calculate Updated Current Stock: Adds Quantity Received to stock (True branch). Update Current Stock: Updates stock in Google Sheets (True branch). Retrieve Updated Stock for Check: Retrieves updated stock for low stock check. Detect Low Stock Level: Flags if stock is below minimum. Trigger Low Stock Alert: Triggers email if stock is low. Send Low Stock Email Alert: Sends low stock alert via Gmail. Add New Product to Stock: Adds new product to stock (False branch). Current Stock Update: Updates Supabase Current Stock table. New Row Current Stock: Inserts new product into Supabase. Search Current Stock: Retrieves Supabase stock records. New Record Raw: Inserts raw material record into Supabase. Format Response: Removes duplicates from Supabase response. Combine Stock Update Branches: Merges branches for existing/new products. Material Issue Request and Approval Receive Material Issue Webhook: Receives issue request from a form submission. Standardize Data: Normalizes request data and adds Approval Link. Validate Issue Request Data: Ensures Quantity Requested is valid. Verify Requested Quantity: Validates Product ID and Submission ID. Append Material Request: Records request in Google Sheets. Check Available Stock for Issue: Retrieves current stock for the request. Prepare Approval: Checks stock sufficiency for the request. Send Approval Request: Emails approver with Approve/Reject options. Receive Approval Response: Captures approver’s decision via webhook. Format Approval Response: Processes approval data with Approval Date. Verify Approval Data: Validates the approval response. Retrieve Issue Request Details: Retrieves original request from Google Sheets. Process Approval Decision: Branches based on approval action. Get Stock for Issue Update: Retrieves stock before update (Approved). Deduct Issued Stock: Reduces stock by Approved Quantity (Approved). Update Stock After Issue: Updates stock in Google Sheets (Approved). Retrieve Stock After Issue: Retrieves updated stock for low stock check. Detect Low Stock After Issue: Flags low stock after issuance. Trigger Low Stock Alert After Issue: Triggers email if stock is low. Send Low Stock Email After Issue: Sends low stock alert via Gmail. Update Issue Request Status: Updates request status (Approved/Rejected). Combine Stock Lookup Results: Merges stock lookup branches. Create Record Issue: Inserts issue request into Supabase. Search Stock by Product ID: Retrieves Supabase stock records. Issues Table Update: Updates Supabase Materials Issued table. Update Current Stock: Updates Supabase stock after issuance. Combine Issue Lookup Branches: Merges issue lookup branches. Search Issue by Submission ID: Retrieves Supabase issue records. Customization Tips Expand Storage Options : Add nodes to store data in other databases (e.g., Airtable) alongside Google Sheets and Supabase. Modify Approval Email : Update the Send Approval Request node to customize the HTML email template (e.g., adjust styling or add branding). Alternative Notifications : Add nodes to send low stock alerts via other platforms (e.g., Slack or Telegram). Adjust Low Stock Threshold : Modify the Detect Low Stock Level node to change the Minimum Stock Level (default: 50).!
Move data between JSON and spreadsheets
This workflow illustrates how to convert data from JSON to binary format and import JSON data or files into Google Sheets or local spreadsheets.
Generate recipes from ingredients with Ollama AI Chef Agent
What It Does The Chef Agent is your AI-powered kitchen companion—ready to turn leftover ingredients into meal inspiration. It's a simple, fun n8n automation that: Accepts a list of ingredients via webhook Uses Ollama AI to suggest 5 creative recipes or food ideas Recommends up to 3 missing ingredients to improve the dish Returns a fallback message if the AI is unavailable Includes setup notes for beginners Requirements An active n8n instance (local or hosted) Ollama AI running locally (or another LLM via HTTP request) A webhook endpoint (defaults to /lets-cook) Why You’ll Love It Fully customizable for your use case or favorite LLM Great intro to AI + workflow automation Comes with playful Clown Mutiny flair: > “Powered by Clown Mutiny’s taste-bud liberation division.” Installation Import the provided JSON template into your n8n workspace. Configure your AI node to match your local Ollama instance. Trigger the flow by sending a POST request to the webhook: json { "ingredients": "eggs, rice, spinach" }
WhatsApp productivity assistant with OpenAI, Gmail, Calendar, Tasks & Expense tracking
Who's it for This template is designed for anyone who wants to use WhatsApp as a personal AI assistant hub. If you often juggle tasks, emails, calendars, and expenses across multiple tools, this workflow consolidates everything into one seamless AI-powered agent accessible right from your most-used messaging app. What it does Jarvis listens to your WhatsApp messages (text or audio) and processes them with OpenAI. Based on your request, it can: ✅ Manage tasks (create, complete, or delete) 📅 Handle calendar events (schedule, reschedule, or check availability) 📧 Send, draft, or fetch emails with Gmail 👥 Retrieve Google Contacts 💵 Log and track expenses 🎤 Process voice notes and respond intelligently All responses are returned directly to WhatsApp, giving you a unified command center that works on any device. How to set up Clone this template into your n8n workspace. Set up a WhatsApp Business API account (via Meta Business Suite or providers like Twilio, 360dialog, or MessageBird). Configure the WhatsApp webhook to connect to your n8n instance. Connect your Google accounts (Gmail, Calendar, Contacts, etc.). Add your OpenAI API key in the Credentials section. Test by sending a WhatsApp message like: "Create a meeting tomorrow at 3pm" "Add expense $50 for lunch" "Draft a reply to that email from Steve" "What's on my calendar this week?" Requirements n8n instance (cloud or self-hosted with public webhook URL) WhatsApp Business API credentials (not regular WhatsApp) Gmail, Google Calendar, and Google Contacts credentials (optional based on features) OpenAI API key ElevenLabs API Key (optional, for advanced audio note processing) How to customize Swap email providers by replacing the Gmail MCP node with Outlook, Exchange, or IMAP/SMTP. Add more integrations like Notion, Slack, Todoist, or your CRM. Adjust AI personality by modifying the system prompt in the OpenAI node. Control context memory to determine how much conversation history Jarvis remembers. Add automation rules like auto-categorizing expenses or auto-scheduling recurring meetings. Multi-language support by configuring OpenAI to respond in different languages. Key advantages of WhatsApp version 🌍 Universal access - WhatsApp works everywhere, including international numbers 📱 Cross-platform - Seamlessly works on mobile, web, and desktop 🔒 End-to-end encryption for sensitive task and email data 👥 Familiar interface - No need to learn a new app ✅ Read receipts - Know when Jarvis has processed your request With this template, you can transform WhatsApp into your all-in-one AI productivity assistant, simplifying workflows and saving hours every week—all from the app you're already using daily.
Monitor USDT ERC-20 wallet balance with Etherscan and Telegram notifications
Overview This n8n workflow is specifically designed to monitor the USDT ERC-20 balance within a specific wallet. It uses Etherscan's public blockchain database, which does not require API authentication, to periodically check and process transaction data. This workflow is ideal for users who need an automated solution to track ERC-20 wallet transactions. Features Automatic Monitoring: Executes every 5 minutes to capture new transactions. Customizable Filters: Customize tracking based on parameters like transaction duration and wallet addresses. Data Aggregation: Compiles transaction data into a single, structured list. Formatted Outputs: Presents processed data in an organized format. Telegram Tracking: Tracks wallet balances via Telegram notifications using the bot. Requirements n8n Setup: Requires a self-hosted or cloud-based n8n instance. Basic Understanding: Basic knowledge of n8n workflows and nodes. Installation and Configuration Import Workflow: Load the provided JSON workflow into your n8n instance. Configure the User Data Node: Enter your ERC-20 Wallet Address in the 'Your Wallet Address' field. Enter your Etherscan API Key in the “Your Etherscan API Key” field. Enter your USDT ERC-20 Contract Address in the "Your ERC-20 USDT Contract Address" field (0xdAC17F958D2ee523a2206206994597C13D831ec7). You can also monitor another token by entering a different contract address. Configure the Telegram Node: Go to Telegram and search for "BotFather". Select /newbot from the BotFather menu to create your bot. Get the API key BotFather provides. Go to Telegram and search for "Get My ChatID". Start the conversation and get your ChatID. Use this information to configure the Telegram Node. Schedule Trigger Node: By default, the workflow is triggered every 5 minutes. Adjust this according to your needs. Test the Workflow: Execute the workflow manually to ensure everything is working as expected. How It Works Schedule Trigger: Starts the workflow at predetermined intervals. Edit Fields: Sets the wallet address, Etherscan API key, and USDT ERC-20 token address. Edit Telegram Settings: Create a bot via BotFather. Configure the API key and Telegram Chat ID. Etherscan Data Import: Collects transaction data from the ERC-20 wallet using Etherscan's public database. Final Results: Organizes and formats the transaction data for review. Telegram Bot Message Sending: If there is a balance change, it sends a formatted message about the balance change. If there is no balance change, it sends a message that your balance has not changed. You can configure it to avoid sending a message when there is no change.
Extract LinkedIn Sales Navigator contacts to Google Sheets with auto pagination
Complete Template Description Automate LinkedIn Sales Navigator contact extraction to Google Sheets This workflow scrapes LinkedIn Sales Navigator search results and automatically saves contact details to Google Sheets with pagination support and rate limiting protection. Who's it for Sales teams, recruiters, and business development professionals who need to extract and organize LinkedIn contact data at scale without manual copy-pasting. What it does The workflow connects to a LinkedIn scraping API to fetch contact information from Sales Navigator search results. It handles pagination automatically, extracts contact details (name, title, company, location, profile URL), and appends them to a Google Sheet. Built-in rate limiting (30-60 second delays) prevents API blocks and mimics natural browsing behavior. Requirements Self-hosted n8n instance (this workflow will NOT work on n8n Cloud due to cookie requirements and third-party API usage) LinkedIn Sales Navigator account Google Sheets account EditThisCookie browser extension API access from the creator (1 month free trial available) How to set up Step 1: Get API Access Email the creator to request 1 month of free API access using the link in the workflow. You'll receive your API key within 24 hours. Step 2: Configure API Authentication Click the "Scrape LinkedIn Contacts API" node Under Authentication, select "Header Auth" Create new credential with Name: x-api-key and your received API key as the Value Save the credential Step 3: Extract LinkedIn Cookies Install the EditThisCookie extension Navigate to LinkedIn Sales Navigator Click the cookie icon in your browser toolbar Click "Export" and copy the cookie data Paste into the cookies field in the "Set Search Parameters" node Step 4: Configure Your Search In the "Set Search Parameters" node, update: cookies: Your exported LinkedIn cookies url: Your LinkedIn Sales Navigator search URL total_pages: Number of pages to scrape (default: 2, each page = ~25 contacts) Step 5: Set Up Google Sheets Make a copy of the template Google Sheet (or create your own with matching column headers) In the "Save Contacts to Google Sheets" node, connect your Google Sheets account Select your destination spreadsheet and sheet name Important Security Note: Keep your LinkedIn cookies private. Never share them with others or commit them to public repositories. Customization options Adjust total_pages to control how many contacts you scrape Modify the delay in "Rate Limit Delay Between Requests" node (default: 30-60 seconds random) - do not lower this to avoid API blocks Customize which contact fields to save in the Google Sheets column mapping Change the search URL to target different prospect segments or filters
Automate CV screening and applicant scoring from Gmail to Airtable with AI
How It Works Trigger Watches for new emails with attachments in a Gmail label. Extract Data Extracts job code from the email subject (e.g., FN-001) Extracts raw text from the attached CV (PDF) AI Parsing Uses Google Gemini to parse the CV and extract: Name Email Years of experience Skills Job Lookup Uses the extracted job code to retrieve job details from Airtable. AI Scoring Compares applicant data with job requirements Scores from 1–100 Generates a brief reasoning summary (in Bahasa Indonesia) Log to Airtable Saves applicant data, score, and AI notes to the "Applications" table. Setup Instructions Prepare Airtable Base Job Posts Table Columns: Job Code, Job Title, Required Skills, Minimum Experience, Job Description Applications Table Columns: Applicant Name, Email, Score, Notes Include a linked field to the Job Posts table Add Credentials in n8n Gmail Google AI (Gemini) Airtable Configure Nodes Trigger: Set Gmail filter (e.g., label:job-applications) Extract Job Code: Verify regex format, default is ([A-Z]{2}-\d{3}) Airtable Nodes: Select your base and table in: "Find Job Post..." "Save Applicant..." Activate Workflow Save and enable the workflow New applications will be processed automatically
Extract product info from website screenshots with Dumpling AI + Sheets
What this workflow does This workflow extracts product details—like name, price, discount, and rating— from website screenshots using Dumpling AI. It starts when a new product page URL is added to a Google Sheet, captures a screenshot of that page, extracts visible product info from the image, and writes the results back into the sheet. What problem is this workflow solving? Many product pages block traditional scraping tools or use unstructured layouts. This workflow bypasses HTML limitations by using visual AI extraction, making it reliable even when content is embedded in images or hard to parse with code. Who is this for? This is ideal for eCommerce researchers, pricing analysts, marketers, or anyone building a product database from websites without needing to code or maintain complex scrapers. Setup Create a Google Sheet with a column named "Site" (or update the trigger). Add your product page URLs in this column—one per row. Connect your Google Sheets and Dumpling AI credentials in n8n. Ensure your Dumpling AI account has API access for screenshots and extraction. How to customize the workflow Prompt adjustment: In the “Extract Text from Screenshot” node, you can modify the prompt to extract other information like brand name, delivery time, or availability. Add more fields: After the extraction, edit the “Format Extracted Data” node to map additional fields from the response to your Google Sheet columns. Change output destination: You can easily replace the Google Sheets module with Airtable, Notion, or another app if preferred. > ⚠️ This works best when the product data is clearly visible in the screenshot. > It won’t extract info that’s hidden behind popups or loaded via user interaction.
Auto-tag high-value sales orders in Zoho CRM with VIP alert
Description: Automatically detect and flag high-value sales orders as VIP in Zoho CRM using this intelligent n8n workflow. Ideal for eCommerce platforms, sales automation tools, or ERP systems, this automation template listens to incoming order data via webhook, checks if the sales order amount exceeds a set threshold (₹10,000 or $10,000), and updates the CRM with a VIP tag in real time. Whether you're scaling your operations or building a smart sales pipeline, this template ensures no important order goes unnoticed—real-time tagging of premium clients made easy. What This Template Does (Step-by-Step) 🔔 Webhook Trigger (Sales Order Intake) Receives real-time POST requests from your e-commerce, POS, or order management system Captures order details, including total value ($json.body.salesorder.total) ⚖️ High-Value Condition Check Evaluates whether the sales order value exceeds a custom threshold (default: 10,000) If order total > 10,000, continues the workflow Otherwise, halts execution (no CRM action) 🏷️ Zoho CRM VIP Tagging Automatically creates or updates a purchase order record in Zoho CRM Tags the record with “VIP Order” to flag it for priority handling Uses OAuth2-secured integration with your Zoho account Required Integrations: ✅ Zoho CRM (OAuth2 credentials) ✅ Any external sales/order system with webhook support Use Cases: 💰 B2B sales teams tracking large enterprise orders 🛍️ D2C brands prioritizing premium customers for fulfillment or loyalty 🔁 CRM automation agencies building smart workflows for clients 🧑💼 Sales managers setting up internal escalations or alerts for VIP deals Key Features: ⚙️ No-code CRM automation using n8n 🔒 Secure Zoho CRM integration via OAuth2 ⏱️ Instant tagging for faster follow-up 🧠 Configurable logic (change the threshold easily!) 📈 Scalable for thousands of incoming orders
Multi-AI agent router: compare OpenAI, Anthropic & Groq responses with webhooks
Introduction This workflow connects to OpenAI, Anthropic, and Groq, processing requests in parallel with automatic performance metrics. Ideal for testing speed, cost, and quality across models. How It Works Webhooks trigger parameter extraction and routing. Three AI agents run simultaneously with memory and parsing. Responses merge with detailed metrics. Workflow Template Webhook → Extract Parameters → Router ├→ OpenAI Agent ├→ Anthropic Agent ├→ Groq Agent → Merge → Metrics → Respond Workflow Steps Webhook receives POST with prompt and settings. Parameters extracted and validated. Router directs by cost, latency, or type. AI agents run in parallel. Results merged with metadata. Metrics compute time, cost, and quality. Response returns outputs and recommendation. Setup Instructions Activate Webhook with authentication. Add API keys for all providers. Define models, tokens, and temperature. Adjust Router logic for selection. Tune Metrics scoring formulas. Prerequisites n8n v1.0+ instance API keys: OpenAI, Anthropic, Groq HTTP client for testing Customization Add providers like Gemini or Azure OpenAI. Enable routing by cost or performance. Benefits Auto-select efficient providers and compare model performance in real time.