by Cheng Siong Chin
How It Works This workflow automates monthly revenue aggregation from multiple financial sources, including Stripe, PayPal, Shopify, and bank feeds, while delivering intelligent tax forecasting through GPT-4–based structured analysis. It systematically retrieves revenue data, consolidates disparate datasets into a unified view, and applies GPT-4 to predict upcoming tax obligations with greater accuracy. The system then generates clearly formatted, audit-ready reports and automatically distributes tax projections to designated agents via Gmail, while securely storing all outputs in Google Sheets to maintain traceable audit trails. Designed for tax professionals, accounting firms, and finance teams, it enables accurate predictive tax planning and supports a proactive compliance strategy without the need for manual calculations or spreadsheet-driven analysis. Setup Steps Connect Stripe, PayPal, Shopify credentials via n8n authentication. Configure OpenAI GPT-4 API key for structured tax analysis. Connect Gmail account for report distribution and Google Sheets. Set monthly trigger schedule and customize tax category rules. Prerequisites Stripe, PayPal, Shopify, or bank feed accounts; OpenAI API key; Gmail account; Google Sheets. Use Cases Accounting firms automating quarterly tax prep for multiple clients Customization Modify revenue sources, adjust GPT-4 prompts for specific tax scenarios Benefits Eliminates manual tax calculations, reduces forecasting errors
by hayatofujita
Status: Published Description Generate high-quality, long-form SEO articles from trending news using mobile-first approvals via LINE. 👥 Who’s it for This workflow is designed for content marketers, SEO specialists, and solo bloggers who want to scale their content production without losing editorial control. It is ideal for users who want to manage a deep-dive writing process entirely from their smartphone, ensuring every article meets their standards before being drafted. 🚀 How it works This template acts as a sophisticated "AI Editorial Staff" that connects RSS feeds, LINE, OpenAI, and Google Workspace. Smart News Sourcing: Automatically monitors niche-specific RSS feeds to identify the latest trending topics. AI Strategic Planning: Uses OpenAI (GPT-4o/GPT-4o-mini) to propose high-potential SEO keywords and catchy titles based on live news. Mobile Editorial Control: Sends proposals directly to your LINE. By replying with "Create Article," you trigger the next phase of the workflow. Stateful Session Management: Uses a Google Sheets "Bridge" to store unique resume URLs, allowing you to resume the automated process through simple text commands. High-Quality Looping: Instead of generating an entire article at once (which often results in shallow content), this workflow loops through each chapter. The AI writes one section at a time in detail and appends it to a Google Doc. Automated Archiving: Once the deep-dive writing is finished, it logs the final article title, URL, and date into a master Google Sheets ledger and notifies you via LINE. ⚙️ Setup steps Prepare Google Sheet: Create a spreadsheet with two tabs. Tab 1 (シート1): Headers should be userId and resumeurl. Tab 2 (Article_History): Headers should be Title, URL, and Date. Configure Credentials: Set up your credentials in n8n for OpenAI (API Key), Google Workspace (OAuth2), and LINE Messaging API (Header Auth). Update Workflow Configuration Node: Paste your LINE User ID (from the LINE Developers Console). Paste your Google Spreadsheet ID. Update the RSS URL in the news node to your target niche. Update Google Sheets Nodes: In the "Store Resume Key" and "Get Resume URL" nodes, select your specific spreadsheet. Configure LINE Webhook: Copy the Production URL from the "LINE Webhook Receiver" node. Paste it into the LINE Developers Console under "Webhook URL" and enable "Use Webhook." Activate: Save the workflow and toggle it to “Active.” 📦 Requirements n8n version 1.0 or later OpenAI API Key (GPT-4o recommended for high-quality writing) Google Workspace Account (Google Docs, Google Sheets) LINE Developers Account (Messaging API) 🎨 How to customize Refine Writing Style: Edit the System Message in the "Chapter Writing" node to change the tone (e.g., from "Formal Technical" to "Conversational Storyteller"). Switch Approval Keywords: Change the IF node condition to respond to "Approve" or "Go" instead of "Create Article." Direct-to-WordPress: Replace the "Create Google Doc" and "Update Docs" nodes with a WordPress node to automatically publish or save as a draft on your website once the loop is complete. Language Adaptation: Update the RSS URL and AI prompts to source news in any language and output the final article in another.
by TOMOMITSU ASANO
#Multi-Language Content Translation Pipeline with AI Quality Control This workflow provides a professional-grade translation pipeline that combines the speed of DeepL with the intelligent reasoning of OpenAI's GPT-4. It is designed to help teams scale their global content reach without sacrificing linguistic accuracy or cultural nuance. Who’s it for This template is ideal for content managers, digital marketing teams, and global publishers who need to localize high volumes of articles or documentation while maintaining a "human-in-the-loop" quality standard. How it works The workflow automates the entire translation lifecycle through the following steps: Trigger: Content is ingested via a Webhook or a recurring Schedule. Translation: The source text is translated into multiple target languages simultaneously using the DeepL API. AI Quality Guard: An OpenAI agent evaluates each translation, assigning a quality score based on accuracy and fluency. Automated Publishing: Content that meets your quality threshold is automatically uploaded as a draft to WordPress. Manual Review: Any translations that fall below the threshold are flagged in Slack for human intervention. Data Logging: All results are saved to Google Sheets to build a searchable translation memory. How to set up Credentials: Connect your DeepL, OpenAI, WordPress, Slack, and Google Sheets accounts. Configuration: In the 'Translation Configuration' node, define your source language and a list of target languages (e.g., DE, FR, JA). Google Sheets: Create a sheet with headers: contentId, title, sourceLanguage, targetLanguage, translatedText, and qualityScore. Slack: Choose the notification channels for alerts and summary reports. Requirements DeepL API key OpenAI API key (GPT-4o or GPT-4o-mini recommended) WordPress site with Application Passwords enabled A Slack workspace and a Google Sheets account How to customize the workflow Adjust Quality Standards:** Change the qualityThreshold value in the configuration node to make the AI verification more or less strict. Add Platforms:** Replace the WordPress node with other CMS nodes like Ghost, Strapi, or Contentful to match your stack. Advanced QA:** Modify the AI Quality Reviewer’s prompt to focus on specific brand guidelines or industry terminology.
by Max
This AI receptionist handles restaurant bookings and delivery orders with Vapi, Telegram, and Airtable Who’s it for This n8n template is built for restaurants that want to automate table bookings and delivery or takeaway orders using an AI receptionist. It’s suitable for small to mid-sized restaurants that receive bookings and orders via voice calls or Telegram and want a structured, reliable backend without manual handling. How it works The workflow powers an AI receptionist that operates through Vapi (voice) and Telegram (chat). For table bookings, it collects party size and preferred time, checks table availability within the requested time range, and returns available options or a “no availability” response. For orders, the menu is fetched from Airtable, items are validated, prices are calculated, and order details are collected. Delivery addresses are validated and checked against supported areas. If delivery is unavailable, the system automatically offers takeaway. All confirmed bookings and orders are saved to Airtable. How to set up Download JSON flows from the Dropbox folder, copy Airtable base with template tables to your account. Get Airtable, OpenAI, Telegram Bot, Google Maps API credentials. Set up credentials and test. How to customize the workflow You can plug a VAPI assistant. Copy the prompt from the AI agent and paste it into VAPI system prompt section. Also add MCP tool and call it restaurant tool. You can adjust booking rules, table capacity logic, menu structure, restaurant location, delivery zones, pricing calculations, and message wording to match your restaurant’s operations.
by Cheng Siong Chin
How It Works The webhook receives incoming profiles and extracts relevant demographic, financial, and credential data. The workflow then queries the programs database to identify suitable options, while the AI generates personalized recommendations based on eligibility and preferences. A formal recommendation letter is created, followed by a drafted outreach email tailored to coordinators. Parsers extract structured data from the letters and emails, a Slack summary is prepared for internal visibility, and the final response is sent to the appropriate recipients. Setup Steps Configure AI agents by adding OpenAI credentials and setting prompts for the Program Matcher, Letter Writer, and Email Drafter. Connect the programs database (Airtable or PostgreSQL) and configure queries to retrieve matching program data. Set up the webhook by defining the trigger endpoint and payload structure for incoming profiles. Configure JSON parsers to extract relevant information from profiles, letters, and emails. Add the Slack webhook URL and define the summary format for generated communications. Prerequisites OpenAI API key Financial programs database Slack workspace with webhook User profile structure (income, GPA, demographics) Use Cases Universities automating 500+ annual applicant communications Scholarship foundations personalizing outreach at scale Customization Add multilingual support for international applicants Include PDF letter generation with signatures Benefits Reduces communication time from 30 to 2 minutes per applicant, ensures consistent professional quality
by Robert Breen
This workflow introduces beginners to one of the most fundamental concepts in n8n: looping over items. Using a simple use case—generating LinkedIn captions for content ideas—it demonstrates how to split a dataset into individual items, process them with AI, and collect the output for review or export. ✅ Key Features 🧪 Create Dummy Data**: Simulate a small dataset of content ideas. 🔁 Loop Over Items**: Process each row independently using the SplitInBatches node. 🧠 AI Caption Creation**: Automatically generate LinkedIn captions using OpenAI. 🧰 Tool Integration**: Enhance AI output with creativity-injection tools. 🧾 Final Output Set**: Collect the original idea and generated caption. 🧰 What You’ll Need ✅ An OpenAI API key ✅ The LangChain nodes enabled in your n8n instance ✅ Basic knowledge of how to trigger and run workflows in n8n 🔧 Step-by-Step Setup 1️⃣ Run Workflow Node**: Manual Trigger (Run Workflow) Purpose**: Manually start the workflow for testing or learning. 2️⃣ Create Random Data Node**: Create Random Data (Code) What it does**: Simulates incoming data with multiple content ideas. Code**: return [ { json: { row_number: 2, id: 1, Date: '2025-07-30', idea: 'n8n rises to the top', caption: '', complete: '' } }, { json: { row_number: 3, id: 2, Date: '2025-07-31', idea: 'n8n nodes', caption: '', complete: '' } }, { json: { row_number: 4, id: 3, Date: '2025-08-01', idea: 'n8n use cases for marketing', caption: '', complete: '' } } ]; 3️⃣ Loop Over Items Node**: Loop Over Items (SplitInBatches) Purpose**: Sends one record at a time to the next node. Why It Matters**: Loops in n8n are created using this node when you want to iterate over multiple items. 4️⃣ Create Captions with AI Node**: Create Captions (LangChain Agent) Prompt**: idea: {{ $json.idea }} System Message**: You are a helpful assistant creating captions for a LinkedIn post. Please create a LinkedIn caption for the idea. Model**: GPT-4o Mini or GPT-3.5 Credentials Required**: OpenAI Credential Go to: OpenAI API Keys Create a key and add it in n8n under credentials as “OpenAi account” 5️⃣ Inject Creativity (Optional) Node**: Tool: Inject Creativity (LangChain Tool) Purpose**: Demonstrates optional LangChain tools that can enhance or manipulate input/output. Why It’s Cool**: A great way to show chaining tools to AI agents. 6️⃣ Output Table Node**: Output Table (Set) Purpose**: Combines original ideas and generated captions into final structure. Fields**: idea: ={{ $('Create Random Data').item.json.idea }} output: ={{ $json.output }} 💡 Educational Value This workflow demonstrates: Creating dynamic inputs with the Code node Using SplitInBatches to simulate looping Sending dynamic prompts to an AI model Using Set to structure the output data Beginners will understand how item-level processing works in n8n and how powerful looping combined with AI can be. 📬 Need Help or Want to Customize This? Robert Breen Automation Consultant | AI Workflow Designer | n8n Expert 📧 robert@ynteractive.com 🌐 ynteractive.com 🔗 LinkedIn 🏷️ Tags n8n loops OpenAI LangChain workflow training beginner LinkedIn automation caption generator
by Valeriy Halahan
AI Portfolio Generator for Freelancers Automatically transform any website URL into a complete portfolio entry with professional screenshots and AI-generated Upwork project descriptions. 🎯 Perfect For Freelancers** building their Upwork/portfolio from past projects Agencies** documenting client work at scale Web developers** showcasing their websites professionally Anyone** who needs consistent, high-quality website screenshots ✨ What It Does Submit a URL via simple web form AI analyzes the website (structure, niche, audience, services) Smart screenshots capture hero, fullpage, individual sections, and mobile views AI writes compelling Upwork portfolio description with title, role, and skills Auto-saves everything to Google Drive + Sheets + sends Telegram notification 🔥 Key Features JavaScript Rendering** — Works with React, Vue, Next.js, and any SPA (via Firecrawl) Intelligent Section Detection** — AI identifies real content sections, not utility elements Multiple Screenshot Types** — Hero (1920×1080), fullpage, custom sections, mobile (375×812) Retina Quality** — 2x device scale factor for crisp images Smart Error Handling** — Retries failed screenshots, filters invalid results Rate Limit Protection** — Built-in delays to respect API limits Complete Logging** — Every run logged to Google Sheets with all metadata 📸 Screenshots Captured | Type | Resolution | Description | |------|------------|-------------| | Hero | 1920×1080 @2x | Above-the-fold view | | Fullpage | 1920×auto @2x | Entire scrollable page | | Sections | 1920×1080 @2x | Each detected content section | | Mobile | 375×812 @2x | iPhone-style mobile view | 🤖 AI-Generated Upwork Content Project Title** (max 50 chars) Your Role** (e.g., "Full-Stack Developer", "Lead Designer") Project Description** (goals, solution, impact — max 600 chars) Skills** (5 relevant technical skills) 🔧 Services Used | Service | Purpose | Free Tier | |---------|---------|-----------| | Firecrawl | JavaScript rendering | ✅ 500 pages/month | | ScreenshotOne | Screenshot API | ✅ 100 screenshots/month | | OpenAI | GPT-4o-mini analysis | Pay-as-you-go | | Google Drive | Image storage | ✅ 15GB free | | Google Sheets | Results logging | ✅ Free | | Telegram | Notifications | ✅ Free | 📋 Setup Checklist ✅ Import workflow ✅ Add Firecrawl API key ✅ Add ScreenshotOne API key ✅ Connect OpenAI credentials ✅ Connect Google Drive (+ set your folder) ✅ Connect Google Sheets (+ set your spreadsheet) ✅ Set up Telegram bot + chat ID ✅ Activate & share the form URL! 💡 Pro Tips Test with simple sites first** before complex SPAs Increase delay** in Wait node if hitting rate limits Change AI model** to gpt-4o for better analysis quality All instructions included** as Sticky Notes inside the workflow! 📊 Output Example After processing example.com: 📁 5 PNG screenshots in Google Drive 📊 Full analysis row in Google Sheets 📱 Telegram message with all links and AI-generated Upwork content Built for freelancers, by a freelancer. Stop wasting hours on manual portfolio creation — let AI do the heavy lifting! 🚀 #portfolio, #screenshots, #upwork, #freelancer, #ai, #gpt, #automation, #firecrawl, #screenshotone, #google-drive, #google-sheets, #telegram, #website-analysis, #form-trigger
by Miki Arai
This workflow automates the daily content creation process by monitoring trends, generating drafts for multiple platforms using AI, and requiring human approval before saving. It acts as an autonomous "AI Content Factory" that turns raw news into polished content for SEO Blogs, Instagram, and TikTok/Reels. How it works Trend Monitoring: Fetches the latest trend data via RSS (e.g., Google News or Google Trends). AI Filtering: An AI Agent acts as an "Editor-in-Chief," selecting only the most viral-worthy topics relevant to your niche. Multi-Format Generation: Three specialized AI Agents (using gpt-4o-mini for cost efficiency) run in parallel to generate: An SEO-optimized Blog post structure. An Instagram Carousel plan (5 slides). A Short Video Script (TikTok/Reels). Human-in-the-Loop: Sends a formatted message with interactive buttons to Slack. The workflow waits for your decision. Final Storage: If approved, the content is automatically appended to Google Sheets. Who is this for Social Media Managers & Content Creators Marketing Agencies managing multiple accounts Anyone wanting to automate "research to draft" without losing quality control. Requirements n8n:** Version 1.19.0+ (requires AI Agent nodes). OpenAI:** API Key (works great with low-cost gpt-4o-mini). Slack:** A workspace to receive notifications. Google Sheets:** To store the approved content. How to set up Configure Credentials: Set up your OpenAI, Slack, and Google Sheets credentials. Slack App: Create a Slack App, enable "Interactivity," and set the Request URL to your n8n Production Webhook URL. Add the chat:write scope and install it to your workspace. Google Sheet: Create a sheet with columns for Blog, Instagram, and Script (row 1 as headers). RSS Feed: Change the RSS node URL to your preferred topic source.
by Feras Dabour
Video Generation with Telegram Bot and Gemini API – Auto-Post to TikTok, Instagram & Facebook This n8n workflow turns your Telegram messenger into a full video content pipeline: you send a text or voice idea to a Telegram bot, collaborate with an AI on the script and caption, let Gemini generate the video, and then automatically publish it to TikTok, Instagram and Facebook – all with status tracking and Telegram confirmations. What You Need to Get Started This workflow connects several external services. You’ll need: Telegram Bot API Key** Create a bot via Telegram’s BotFather and copy the bot token. This is used by the Listen for incoming events and other Telegram nodes. OpenAI API Key** Required for: Speech to Text (OpenAI Whisper) – to transcribe voice notes. The OpenAI Chat Model used inside the AI Agent. Google Gemini / Vertex (via n8n Gemini Node)** Used by the Generate a video node (model: veo-3.0-fast-generate-001) to create the video. Google Drive** The generated video is temporarily stored in a Google Drive folder via Upload video and later downloaded again for uploading to Blotato. Blotato API Key* Social media publishing layer: Uploads the video as media. Creates posts for TikTok, Instagram and Facebook. Exposes a status endpoint the workflow uses for polling. Google Sheets Access** (optional but included) Used by Save Prompt & Post-Text to log your prompts and captions. Once these credentials are configured in n8n, the workflow runs end-to-end from Telegram idea to multi-platform publishing. How the Workflow Operates – Step by Step 1. Input & Initial Processing (Telegram + Voice Handling) This phase listens to your messages and normalizes them into a single text input for the AI. | Node Name | Role in Workflow | | ------------------------------ | ------------------------------------------------------------------------------------------------------- | | Listen for incoming events | Telegram Trigger node that starts the workflow whenever your bot receives a message (text or voice). | | Voice or Text | Set node that structures the incoming payload and prepares a unified text field for downstream nodes. | | A Voice? | IF node that checks whether the incoming message is a voice note or plain text. | | Get Voice File | If voice is detected, this Telegram node downloads the audio file from Telegram. | | Speech to Text | Uses OpenAI Whisper to convert the voice note into a text transcript. | If you send text**: The workflow skips the voice download/transcription and goes directly to the AI agent with your original text. If you send a voice note**: The workflow downloads the file, runs it through Whisper in Speech to Text, and passes the resulting transcript onward. The output of this stage is always a clean text string representing your idea. 2. AI Core & Approval Loop (Script + Caption via AI) Here the AI designs the video prompt (for Gemini) and the social media caption (for all platforms), then iterates with you until you approve. | Node Name | Role in Workflow | | -------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | AI Agent | Central logic agent. Takes your idea text and applies the system prompt to create a video prompt and social media caption. Handles revisions based on your feedback. | | OpenAI Chat Model | The LLM backing the agent (OpenAI Chat model). | | Window Buffer Memory | Memory buffer that stores recent turns, so the agent can keep context across your “make it shorter / more fun / more technical” requests. | | Send questions or proposal to user | Telegram node that sends the AI’s suggested prompt + caption back to you for review. | | Approved from user? | IF node that checks whether the agent’s output is the “approved” JSON (meaning you said “ok” / “approved”) or just a normal suggestion. | Video Prompt Assistant System Prompt (Internal Instructions) The AI Agent is configured with a system message like: > You are a video prompt assistant for Telegram. > > 1. Analyze the user’s message and create a video prompt. > 2. Create relevant social media text with hashtags. > 3. Present both to the user and ask for feedback. > 4. If the user requests changes, refine and present again. > 5. Only when the user says “approved” or “ok”, output a final JSON: > { "videoPrompt": "...", "socialMediaText": "..." } Key behavior: Before approval**: The agent always responds with human-readable suggestions (prompt + caption) and a follow-up question asking what to change. After approval**: The agent returns only JSON (no Markdown, no explanation) with: videoPrompt – to be sent to Gemini. socialMediaText – to be used as a caption on all platforms. JSON Parsing | Node Name | Role in Workflow | | ------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Parse AI Output | Code node that extracts videoPrompt and socialMediaText from the agent’s output. It is tolerant of different formats (e.g. JSON wrapped in markdown) and throws errors if required fields are missing. | If the AI output is approved JSON, this node returns two clean fields: videoPrompt socialMediaText These are used in all subsequent steps. 3. User Feedback & Logging Right after parsing the final JSON, the workflow informs you and logs the content. | Node Name | Role in Workflow | | -------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Inform user about processing | Telegram node that tells you: “Okay. Your video is being prepared now. I’ll let you know as soon as it’s online.” | | Save Prompt & Post-Text | Google Sheets node that appends a new row containing the videoPrompt and socialMediaText to a sheet (e.g., for tracking which prompts/captions you used). | This gives you both visibility (confirmation message) and historical tracking of your content ideas. 4. Video Generation with Gemini Now the actual video is created using Google Gemini’s video model. | Node Name | Role in Workflow | | -------------------- | -------------------------------------------------------------------------------------------------------------------------------- | | Generate a video | Gemini node (model models/veo-3.0-fast-generate-001) that uses videoPrompt to generate a vertical video (aspect ratio 9:16). | The videoPrompt from the AI agent is passed directly into this node. The resulting binary output is a generated short-form video suitable for TikTok, Reels and Stories. 5. Staging the Video in Google Drive To make the video accessible for Blotato, the workflow uses Google Drive as a simple file staging area. | Node Name | Role in Workflow | | ------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Upload video | Uploads the generated video binary to a specific folder in Google Drive (n8n_videos). The file name is taken from the binary metadata or defaults to video.mp4. | | Download Video from Drive1 | Immediately downloads the uploaded video by file ID, this time as binary data suitable for passing into [Blotato]. | Using Drive ensures that the file is properly hosted and addressable when uploading to [Blotato]’s media API. 6. Uploading to [Blotato]and Creating Posts First, the video is sent to [Blotato] as a media asset. Then three separate posts are created for TikTok, Instagram, and Facebook. Media Upload | Node Name | Role in Workflow | | ----------------- | ------------------------------------------------------------------------------------------------------------------------- | | Upload media1 | [Blotato] media node. Uploads the binary video as a media asset and returns a public url used by all post creation nodes. | Platform-Specific Post Creation From the uploaded media, the workflow fans out into three branches: | Node Name | Platform | Role in Workflow | | ------------------------ | ------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | | Create TikTok post | TikTok | Creates a TikTok post using the media URL and socialMediaText as the caption. Also sets the flag that the video is AI-generated. | | Create post1 | Instagram | Creates an Instagram (or related) post linked to the [Blotato] account (e.g., aimaginate_xx), using the same socialMediaText and media URL. | | Create Facebook post | Facebook Page | Creates a Facebook post on your specified page, again using the shared caption and media URL. | At this point, all three platforms have an initial “post submission” created via [Blotato]. Next, the workflow tracks their publishing status. 7. Status Monitoring & Retry Loops Each platform has its own mini-loop that polls [Blotato]) until the post is either published or failed. TikTok Status Loop | Node Name | Role in Workflow | | -------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------ | | Wait | Initial 5-second (or configured) pause after creating the TikTok post. | | Check Post Status | Blotato “get” operation that fetches the current status (published, in-progress, etc.) of the TikTok post by postSubmissionId. | | Published to TikTok? | IF node that checks if status === "published". | | Confirm publishing to Tiktok | Telegram node that notifies you when the TikTok post is live (often including a link or at least a confirmation text). | | In Progress? | IF node that checks if status === "in-progress". | | Give Blotat other 5s :) | Wait node that sleeps a bit before checking again. Feeds back into Published to TikTok? to create a polling loop. | | Send TikTok Error Message | Telegram node that informs you if the status is neither published nor in progress (i.e., a failure). | Instagram Status Loop | Node Name | Role in Workflow | | ----------------------------------- | ------------------------------------------------------------------------------------ | | Wait1 | Wait node after Create post1, giving Blotato time to process the Instagram post. | | Get post1 | Blotato “get” operation to read status of the Instagram post. | | Published to Instagram? | IF node checking if status === "published". | | Confirm publishing to Instagram | Telegram message with confirmation that your Instagram post is live. | | In Progress?1 | IF node checking if status === "in-progress". | | Give Blotat more time | Wait node that loops back to Published to Instagram? for another status check. | | Send Instagram Error Message | Telegram notification if the Instagram post fails. | Facebook Status Loop | Node Name | Role in Workflow | | ---------------------------------- | -------------------------------------------------------------------------------- | | Wait2 | Wait node after Create Facebook post (longer pause, e.g. 30 seconds). | | Get Facebook post | Blotato “get” operation to fetch Facebook post status. | | Published to Facebook? | IF node testing for status === "published". | | Confirm publishing to Facebook | Telegram notification that the Facebook post is online. | | In Progress?2 | IF node checking if the Facebook post is still in progress. | | Give Blotat other 5s :)2 | Wait node that loops back into Published to Facebook? for repeated checks. | | Send Facebook Error Message | Telegram notification if the Facebook post fails or ends in an unexpected state. | This structure ensures that each platform is monitored independently, with clear success or error messages delivered right into your Telegram chat. 🛠️ Personalizing Your Video Content Bot The real power of this workflow is how easy it is to adapt it to your own style, platforms, and preferences. 1. Tweak the AI Prompt & Behavior Where:* Inside the *AI Agent* node, in the *System Message (systemMessage) of the options. What you can change:** The tone (funny, educational, corporate, storytelling, etc.). The level of detail in the video prompt (camera moves, style, characters, environment). The caption structure (hook, value, CTA, hashtag strategy). Whether the agent should produce multiple variants or just one. You can also extend it, e.g.: Ask for multi-slide carousel prompts instead of a single video. Force language (e.g., always English, always German). Add platform-specific hints (e.g., stronger hooks for TikTok). 2. Change Video Model or Aspect Ratio Where:* *Generate a video** node. Options:** Swap the model (within the Gemini node) if you want higher quality or different behavior. Adjust the aspectRatio from 9:16 to 16:9 or 1:1 depending on your target platform. 3. Modify Which Platforms You Post To Where:** Blotato nodes: Create TikTok post Create post1 (Instagram) Create Facebook post You can: Disable or delete branches for platforms you don’t use. Add new accounts or platforms supported by Blotato. Use different captions per platform (e.g. shorter for TikTok, more detailed for Facebook) by adding extra AI formatting steps. 4. Adjust Wait Times and Retry Logic Where:** Wait and IF nodes: Wait, Wait1, Wait2, Give Blotat other 5s :), Give Blotat more time, Give Blotat other 5s :)2 What:** Increase or decrease retry intervals. Limit the number of loops (e.g. by adding a counter) if needed. Customize error messages in the Telegram nodes. 5. Extend Logging & Analytics Where:* *Save Prompt & Post-Text** (Google Sheets). Ideas:** Add more columns (timestamp, platform flags, target audience, campaign name). Write back publish status and final URLs after success. Use this sheet as a content inventory or analytics base. In short, this workflow gives you a full AI-powered video pipeline: Idea (text/voice) via Telegram Drafting & approval of video prompt + caption via OpenAI agent Video generation with Gemini (veo) Staging in Google Drive Auto-posting and status monitoring across TikTok, Instagram & Facebook via Blotato All communication and confirmations returned directly to Telegram And everything is fully editable so you can adapt it precisely to your personal brand and content strategy.
by Tihomir Mateev
Stop Paying for the Same Answer Twice Your LLM is answering the same questions over and over. "What's the weather?" "How's the weather today?" "Tell me about the weather." Same answer, three API calls, triple the cost. This workflow fixes that. What Does It Do? Semantic caching with superpowers. When someone asks a question, it checks if you've answered something similar before. Not exact matches—semantic similarity. If it finds a match, boom, instant cached response. No LLM call, no cost, no waiting. First time: "What's your refund policy?" → Calls LLM, caches answer Next time: "How do refunds work?" → Instant cached response (it knows these are the same!) Result: Faster responses + way lower API bills The Flow Question comes in through the chat interface Vector search checks Redis for semantically similar past questions Smart decision: Cache hit? Return instantly. Cache miss? Ask the LLM. New answers get cached automatically for next time Conversation memory keeps context across the whole chat It's like having a really smart memo pad that understands meaning, not just exact words. Quick Start You'll need: OpenAI API key (for the chat model) huggingface API key (for embeddings) Redis 8.x (for vector magic) Get it running: Drop in your credentials Hit the chat interface Watch your API costs drop as the cache fills up That's it. No complex setup, no configuration hell. Tune It Your Way The distanceThreshold in the "Analyze results from store" node is your control knob: Lower (0.2)**: Strict matching, fewer false positives, more LLM calls Higher (0.5)**: Loose matching, more cache hits, occasional weird matches Default (0.3)**: Sweet spot for most use cases Play with it. Find what works for your questions. Hack It Up Some ideas to get you started: Add TTL**: Make cached answers expire after a day/week/month Category filters**: Different caches for different topics Confidence scores**: Show users when they got a cached vs fresh answer Analytics dashboard**: Track cache hit rates and cost savings Multi-language**: Cache works across languages (embeddings are multilingual!) Custom embeddings**: Swap OpenAI for local models or other providers Real Talk 💡 When it shines: Customer support (same questions, different words) Documentation chatbots (limited knowledge base) FAQ systems (obvious use case) Internal tools (repetitive queries) When to skip it: Real-time data queries (stock prices, weather, etc.) Highly personalized responses Questions that need fresh context every time Pro tip: Start with a higher threshold (0.4-0.5) and tighten it as you see what gets cached. Better to cache too much at first than miss obvious matches. Built with n8n, Redis, Huggingface and OpenAI. Open source, self-hosted, completely under your control.
by suzuki
Who is this for? This template is perfect for: AI art enthusiasts** who want to stay updated on trending AI-generated artwork Content curators** looking to automate art discovery Japanese-speaking users** who want translated captions Social media managers** tracking AI art trends across platforms What this workflow does This workflow automatically collects viral AI art posts from Instagram and delivers them to your Telegram with Japanese translations. It runs daily and filters only high-engagement posts to ensure quality content. Key Features: 📸 Collects from 4 AI art hashtags (#AIart, #midjourney, #stablediffusion, #aiartwork) 🔥 Filters viral posts only (100+ likes threshold) 🇯🇵 Auto-translates captions to Japanese via DeepL ⚠️ Sends error alerts to Telegram if something goes wrong ⏱️ Built-in rate limiting to avoid API blocks How it works Schedule Trigger - Runs daily at 18:00 Instagram Scraping - Apify collects posts from multiple AI art hashtags Viral Filter - Only posts with 100+ likes and valid captions pass through Translation - DeepL translates captions from English to Japanese Image Download - Fetches the post image Telegram Delivery - Sends photo with translated caption, likes count, and source link Rate Limiting - 3-second delay between posts to avoid API limits Setup Requirements Apify account** - Sign up at apify.com for Instagram scraping DeepL API key** - Get free API access at deepl.com/pro-api Telegram Bot** - Create via @BotFather and get your Chat ID How to set up Import this workflow into n8n Set up credentials: Connect your Apify account Add your DeepL API key Configure Telegram Bot token Replace YOUR_TELEGRAM_CHAT_ID with your actual Chat ID in both Telegram nodes (Optional) Adjust the viral threshold in the Filter node (Optional) Modify hashtags in the Apify node Activate the workflow How to customize Change hashtags:** Edit the directUrls array in the Apify node Adjust viral threshold:** Change the 100 value in the Filter node Change schedule:** Modify the trigger time in the Schedule Trigger node Change language:** Update the translateTo parameter in the DeepL node Modify caption format:** Edit the caption template in the Telegram node
by khaled
What Problem Does It Solve? HR managers waste hours manually logging attendance, calculating work hours, and tracking salary advances in spreadsheets. Onboarding new staff often involves messy paperwork or scattered chat messages. Salary calculations are prone to errors when manually tallying absence, overtime, and penalties. This workflow solves these by: -- Allowing employees to check in/out and request loans via a simple Telegram chat. -- Automatically calculating work hours and applying penalties for early departure. -- Registering new employees through an interactive AI chat. -- Generating instant financial reports including net salary, deductions, and overtime. How to Configure It Google Sheets Setup -- Create a Google Sheet with two tabs: one for "Employee Data" (Columns: ID, Name, Role, Branch, Salary) and one for "Logs" (Attendance history). -- Connect your Google Sheets OAuth2 credentials in n8n and select this sheet in all related nodes. Telegram Setup -- Create a new bot via BotFather and connect your Telegram credentials. -- (Optional) Set the "Admin Chat ID" in the Daily Report node to receive absentee lists. AI Setup -- Add your OpenAI API key (used for intent classification and conversational agents). -- The included prompts are currently in Egyptian Arabic — you can translate them to English or your local language in the "System Message" of the Agent nodes. Timezone -- Adjust the timezone in the "Context" section of the AI Agent nodes to match your company's location (currently set to Africa/Cairo). How It Works Telegram Trigger catches every message sent to the HR Bot. AI Classifier analyzes the text to determine intent: -- New Employee: Triggers a conversation to collect Name, ID, Salary, and Branch -> Validates data -> Adds to "Employee Data" sheet. -- Attendance (Check-in): Logs the timestamp immediately. -- Departure (Check-out): Looks up arrival time, calculates total hours worked. If under 8 hours, it flags "Early Departure" and logs it with a penalty note. -- Financial Request: Logs salary advances (loans) directly to the sheet. -- Report Request: An AI Analyst calculates net salary (Basic + Overtime - Absence - Advances) and replies with a detailed breakdown. Daily Schedule: -- Every day at 1:00 PM, the workflow compares today's attendance logs against the full employee list. -- It generates a list of absentees and sends a summary report to the HR Manager. Customization Ideas Change the Logic: Edit the JavaScript node to change the "8-hour work day" rule to match your company policy. Multi-Platform: Swap the Telegram Trigger for WhatsApp or Slack to match your team's communication tool. PDF Payslips: Add a node to generate a PDF payslip based on the AI's financial report and email it to the employee. Face Recognition: Integrate an image analysis node if you want employees to send a selfie for attendance verification. For more info Contact Me