by Wan Dinie
AI Content Generator with Auto Pexels Image Matching This n8n template demonstrates how to use AI to generate engaging content and automatically find matching royalty-free images based on the content context. Use cases are many: Try creating blog posts with hero images, generating social media content with visuals or drafting email newsletters with relevant photos. Good to know At time of writing, Pexels offers free API access with up to 200 requests per hour. See Pexels API for updated info. OpenAI API costs vary by model. GPT-4.1 mini is cheaper while normal GPT-4.1 and above offer deeper content generation but cost more per request. Using the floating JavaScript node can reduce token usage by processing content and keyword extraction in a single prompt. How it works We'll collect a content topic or idea via a manual form trigger. OpenAI generates initial content based on your input topic. The AI extracts suitable keywords from the generated content to find matching images. The keywords are sent to Pexels API, which searches for relevant royalty-free stock images. OpenAI creates the final polished content that complements the selected image. The result is displayed as a formatted HTML template combining content and image together. How to use The manual trigger node is used as an example, but feel free to replace this with other triggers such as webhook or even a form. You can batch-generate multiple pieces of content by looping through a list, but of course, the processing will take longer and cost more. Requirements OpenAI API key (get one at https://platform.openai.com) Pexels API key (get free access at https://www.pexels.com/api) Valid content topics or ideas to generate from Customizing this workflow Optimize token usage**: Connect the floating "Extract Content and Image Keyword" JavaScript node to process everything in one prompt and minimize API costs. If you use this option, update the expressions in the "Pexels Image Search" node and "Create Suitable Content Including Image" node to reference the extracted keywords from the JS node. Upgrade to GPT-4.1, GPT-5.1, or GPT-5.2 for more advanced and creative content generation. Change the HTML template output to other formats like Markdown, plain text, or JSON for different publishing platforms. For long term, store the results in a database like Supabase or Google Sheets if you are planning to reuse the contents.
by Amit Mehta
N8N Workflow: Printify Automation - Update Title and Description - AlexK1919 This workflow automates the process of getting products from Printify, generating new titles and descriptions using OpenAI, and updating those products. How it Works This workflow automatically retrieves a list of products from a Printify store, processes them to generate new titles and descriptions based on brand guidelines and custom instructions, and then updates the products on Printify with the new information. It also interacts with Google Sheets to track the status of the products being processed. The workflow can be triggered both manually or by an update in a Google Sheet. Use Cases E-commerce Automation**: Automating content updates for a Printify store. Marketing & SEO**: Generating SEO-friendly or seasonal content for products using AI. Product Management**: Batch-updating product titles and descriptions without manual effort. Setup Instructions Printify API Credentials: Set up httpHeaderAuth credentials for Printify to allow the workflow to get and update products. OpenAI API Credentials: Provide an API key for OpenAI in the openAiApi credentials. Google Sheets Credentials: The workflow requires two separate Google Sheets credentials: one for the trigger (googleSheetsTriggerOAuth2Api) and another for appending/updating data (googleSheetsOAuth2Api). Google Sheets Setup: You need a Google Sheet to store product information and track the status of the updates. The workflow is linked to a specific spreadsheet. Brand Guidelines: The Brand Guidelines + Custom Instructions node must be updated with your specific brand details and any custom instructions for the AI. Workflow Logic Trigger: The workflow can be triggered manually or by an update in a Google Sheet when the upload column is changed to "yes". Get Product Info: It fetches the shop ID and then a list of all products from Printify. Process Products: The product data is split, and the workflow loops through each product. AI Content Generation: For each product, the Generate Title and Desc node uses OpenAI to create a new title and description based on the original content, brand guidelines, and custom instructions. Google Sheets Update: The workflow appends the product information and a "Product Processing" status to a Google Sheet. It then updates the row with the newly generated title and description, and changes the status to "Option added". Printify Update: The Printify - Update Product node sends a PUT request to the Printify API to apply the new title and description to the product. Node Descriptions | Node Name | Description | |-----------|-------------| | When clicking 'Test workflow' | A manual trigger for testing the workflow. | | Google Sheets Trigger | An automated trigger that starts the workflow when the upload column in the Google Sheet is updated. | | Printify - Get Shops | Fetches the list of shops associated with the Printify account. | | Printify - Get Products | Retrieves all products from the specified Printify shop. | | Brand Guidelines + Custom Instructions | A Set node to store brand guidelines and custom instructions for the AI. | | Generate Title and Desc | An OpenAI node that generates a new title and description based on the provided inputs. | | GS - Add Product Option | Appends a new row to a Google Sheet to track the processing status of a product. | | Update Product Option | Updates an existing row in the Google Sheet with the new product information and status. | | Printify - Update Product | A PUT request to the Printify API to update a product with new information. | Customization Tips You can swap out the Printify API calls with similar services like Printful or Vistaprint. Modify the Brand Guidelines + Custom Instructions node to change the brand name, tone, or specific instructions for the AI. Change the number of options the workflow should generate by modifying the Number of Options node. You can change the OpenAI model used in the Generate Title and Desc node, for example, from gpt-4o-mini to another model. Suggested Sticky Notes for Workflow "Update your Brand Guidelines before running this workflow. You can also add custom instructions for the AI node." "You can swap out the API calls to similar services like Printful, Vistaprint, etc." "Set the Number of Options you'd like for the Title and Description" Required Files 1V1gcK6vyczRqdZC_Printify_Automation_-Update_Title_and_Description-_AlexK1919.json: The main n8n workflow export for this automation. The Google Sheets template for this workflow. Testing Tips Run the workflow with the manual trigger to see the flow from start to finish. Change the upload column in the Google Sheet to "yes" to test the automated trigger. Verify that the new titles and descriptions are correctly updated on Printify. Suggested Tags & Categories Printify OpenAI
by Yusei Miyakoshi
Who’s it for Teams that start their day in Slack and want a concise, automated summary of yesterday’s emails—ops leads, PMs, founders, and anyone handling busy inboxes without writing code. What it does / How it works Runs every morning at 08:00 (cron 0 0 8 * * ), fetches all emails received *yesterday, and routes the result: if none were found, it posts a polite “no emails” notice; if emails exist, it aggregates them and asks an AI agent to produce a structured digest, then formats and posts to your chosen Slack channel. The flow uses **Gmail → If → Aggregate (Item Lists) → AI Agent (OpenRouter model with structured output) → Code (Slack formatter) → Slack. A set of sticky notes on the canvas explains each step and required inputs. How to set up Connect Gmail (OAuth2) and keep the default date window (yesterday → today at 00:00). Connect Slack (OAuth2) and select your target channel. Add OpenRouter credentials and pick a compact model (e.g., gpt-4o-mini). Keep the provided structured-output schema and formatter code. Adjust the schedule/timezone if needed (the fallback message includes an Asia/Tokyo example). Paste this description into the yellow sticky note at the top of the canvas. Requirements Gmail & Slack accounts with appropriate scopes OpenRouter API key stored in Credentials (no hard-coded keys) n8n Cloud or self-host with LangChain agent nodes enabled How to customize the workflow Narrow Gmail results with label/search filters (e.g., from:, subject:). Change the digest sections or tone in the AI Agent system prompt. Swap the model for cost/quality needs and tweak temperature/max tokens. Localize dates/timezones in the formatter code and Slack messages. Branch the output to email, Google Docs, or Sheets for archival. Security & publishing tips Rename all nodes clearly, do not hardcode API keys, remove real channel IDs/emails before sharing, and group end-user variables in a Set (Fields) node. Keep the sticky notes—they’re mandatory for reviewers.
by Sergei Byvshev
Overview This is a sub-workflow that converts a free-form DevOps request posted in Mattermost into a properly formatted Jira task Requirements OpenRouter/OpenAI/Anthropic API key Google Gemini API key — for embeddings Jira API credentials — Cloud or Server. Mattermost API credentials — to post the reply back to the channel Qdrant instance Remote MCP servers (see MCP section) A sub-workflow that analyses attachments A parent workflow that triggers this one via "Execute Workflow" with a properly shaped payload How it works The workflow is triggered by Execute Workflow Trigger ReadIncidentContext logs the request and forwards the payload Call 'attachmentsAnalyzer invokes a vision sub-workflow with the file_ids SetVars sets workflow-level constants AI Agent builds the Jira payload. The system prompt Parse Agent Output safely parses the agent's output enriches the Jira description. Create an issue creates a Task in the configured project with the chosen label and component. Post a message replies in the original thread with a confirmation containing a clickable Jira link. How to use Index your infrastructure docs into Qdrant using Deploy the Mattermost MCP server and put its URL into the Mattermost MCP Client node Deploy / import the attachmentsAnalyzer sub-workflow Configure credentials in the workflow Edit SetVars Edit Create an issue — pick your own Jira project, issue type and component. Tune the system prompt in AI Agent — adjust the direction labels and the few-shot examples to match your team's taxonomy. Wire this workflow into your classifier ia an Execute Workflow node
by Cheng Siong Chin
How It Works This workflow automates end-to-end real estate investment analysis by aggregating data from multiple sources and applying AI-driven evaluation. It is designed for real estate investors, analysts, and portfolio managers seeking data-backed decisions without manual research overhead. The solution addresses the time-consuming challenge of collecting and analyzing fragmented real estate data—such as MLS listings, public records, demographic trends, and macroeconomic indicators—and transforms it into actionable insights using AI. Data is collected in parallel across four streams: MLS property data, public records, demographic information, and macroeconomic signals. These streams are consolidated into a unified dataset and processed by OpenAI GPT-4, using calculator tools and structured output parsing for quantitative analysis. Setup Steps Configure HTTP nodes with your MLS API, public records service Add OpenAI API key in Chat Model node credentials Connect Gmail account for acquisition team notifications Integrate Slack workspace and specify investor notification channel Set schedule trigger frequency in Schedule node for desired analysis cadence Prerequisites OpenAI API key, MLS data service access, public records API credentials Use Cases Real estate investment firms screening multiple markets simultaneously Customization Modify AI prompts to adjust investment criteria priorities, add custom financial metrics Benefits Reduces investment analysis time from hours to minutes, eliminates manual data aggregation errors
by Abi Odedeyi
Qualify and Call Back Inbound Leads with OpenAI, Bland AI, Airtable & SendGrid This n8n template demonstrates how to capture inbound leads from a form, qualify them with OpenAI, and route the hottest ones to a Bland AI voice agent that calls them back, books a meeting on Google Calendar, and confirms by email, all without a human touching the lead. Use cases are many: instant follow-up on paid-ad leads, voice qualification for high-ticket consulting inquiries, or replacing the "first response" SDR seat entirely! Good to know Each Bland AI call is billed per minute. The default max_duration in this template is 5 minutes; see Bland AI pricing for the current rate. OpenAI calls for qualification cost fractions of a cent per lead, but volume adds up; set a budget alert on your OpenAI account if you're running paid traffic. You can also use Claude. Outbound calling is regulated. Make sure you have consent on your form and check the rules for your country (TCPA in the US, PECR in the UK, etc.) before going live. How it works We capture the lead via a webhook; your form, quiz, or landing page posts the payload (name, email, phone, company, plus any qualification fields you collect). A code node normalises the payload, an IF node rejects anything missing required fields, and the lead is written to Airtable so you have a single source of truth. OpenAI is then used to qualify the lead. We give it the cleaned payload and ask it to return one of three next actions: nurture_email, priority_email, or ai_call. Low-intent leads get a SendGrid nurture email. Medium-intent leads get a priority email. High-intent leads continue down to the voice path. For the voice path, we pull free slots from Google Calendar, format them into a natural-speech sentence ("I have Tuesday at 2 or Thursday at 10…"), and POST to Bland AI with the script, the lead's number, and a callback URL. Bland AI calls the lead, runs the script, and posts the outcome back to the second webhook in this same workflow. If a slot was booked, we create the Google Calendar event, update the Airtable record, and send a SendGrid confirmation. If the call failed (no answer, declined, error), we update Airtable and send a priority follow-up email so a human can step in. How to use The webhook trigger is set up for a typical form payload, but feel free to swap it for a Typeform/Tally trigger, a Calendly cancellation, or any inbound source. Tune the prompt inside the AI Lead Qualification node to match your ICP; the routing logic only cares that the model returns one of the three action strings. Edit the voice script inside the Trigger AI Phone Call body to match your company name, agent name, and offer before going live. The Bland AI webhook field inside the request body must point to the production URL of the Call Outcome Webhook node in this same workflow so Bland can post back. Requirements OpenAI account for lead qualification Bland AI account for the outbound voice agent Airtable base with a Leads table SendGrid account for emails Google Calendar for availability and event creation Customising this workflow AI voice follow-up works for plenty of inbound flows beyond sales calls. Try it for booking demos, recovering abandoned checkout carts with a quick "is everything okay?" call, or as a re-engagement layer on stale leads in your CRM.
by Trung Tran
📄 Auto Extract Contacts from Business Cards to Sheet With GPT4o > This smart workflow extracts names, phone numbers, emails, and more from uploaded name card photos using AI, then logs them neatly into your Google Sheet. No typing. No mess. Just upload and go. 👤 Who’s it for Sales & Business Development Teams Recruiters & Talent Acquisition Specialists Event Teams collecting business cards Admins who manage contact databases manually ⚙️ How it works / What it does This workflow automates the extraction of contact details from uploaded name card (business card) images and stores them in a structured Google Sheet for easy tracking and follow-up. Workflow Steps: User uploads one or more name card images through a web form. The uploaded files are saved to a Google Drive folder for archiving. A smart AI agent (with OCR and GPT capabilities) scans each image and extracts relevant contact data into structured JSON format. Data is transformed, cleaned (e.g., removing + from phone numbers), and filtered. Valid contacts are appended to a Google Sheet for central tracking and future use. 🛠 How to set up Create a Form Allow file upload (JPG/PNG format). Label it as “Name Card Uploader” with a clear description. Upload to Google Drive Use the Google Drive node to store uploaded images. Configure Smart Agent Use GPT-4o or similar model with OCR capability. Apply a structured output parser to extract contact fields like name, phone, email, company, etc. Transform Data Use the Code node to clean and structure contact info. Strip out unwanted characters from phone numbers (e.g., +). Filter Invalid Records Remove entries with no meaningful contact data. Append to Google Sheets Use the Google Sheets node with "Append Sheet Row". Map fields to columns like Name, Phone, Email, etc. ✅ Requirements n8n workflow environment Google Drive integration (for file storage) Google Sheets integration (for storing contacts) GPT-4o or any image-capable LLM Clear name card images (PNG/JPG, readable text) (Optional) Slack/email integration for notifications 🧩 How to customize the workflow CRM Sync**: Connect to platforms like HubSpot, Salesforce, or Zoho. Validation Logic**: Ensure records contain key fields like name or email before writing. Uploader Info**: Attach submitter metadata to each contact record. Language Adaptation**: Adjust extracted field labels/output to target your preferred language. Batch Upload**: Handle multiple cards in a single image or multiple uploads in one go.
by Kirill Khatkevich
This workflow transforms raw Meta Ads data into actionable, expert-level insights. It acts as a virtual performance marketer, analyzing each creative's performance, comparing it against your historical benchmarks, and delivering clear recommendations on whether to scale, optimize, or stop the ad. By running parallel analyses with both OpenAI and Gemini, it provides a unique, dual-perspective evaluation. This template is the perfect sequel to our "Automation of Creative Testing" workflow but also works powerfully on its own. Use Case Manually sifting through ads manager reports is tedious, and identifying true winners from early data is challenging. This workflow solves these problems by automating the entire analysis pipeline. It's designed for performance marketing teams who need to: Make faster, data-driven decisions on which creatives to scale. Get objective, AI-powered second opinions on ad performance. Systematically evaluate creatives against consistent, pre-defined benchmarks. Maintain a central log in Google Sheets with both raw metrics and qualitative AI analysis. Save hours spent on manual data crunching and report generation. How it Works The workflow is structured into three logical stages: Configuration & Data Ingestion: A central ⚙️ Set parameters node holds all key variables: the data source (Meta or Sheets), campaign_id, and, most importantly, your historical performance benchmarks as a simple text block. An IF node directs the workflow to fetch data either directly from a Meta Ads campaign or from a specified Google Sheet (ideal for analyzing a curated list of ads). Data Processing & AI Analysis (Parallel Execution): After fetching raw performance data (spend, impressions, clicks, actions), the workflow splits into three parallel branches for maximum resilience: Branch 1 (Data Logging): Immediately writes or updates a row in Google Sheets with the raw metrics for the creative. This ensures no data is lost, even if the AI analysis fails. Branch 2 (OpenAI Analysis): Prepares a CSV string of the creative's data, sends it along with the benchmarks to an OpenAI model (e.g., GPT-4), and instructs it to return a structured JSON analysis. Branch 3 (Gemini Analysis): Performs the exact same process but using Google's Gemini model via a LangChain agent, providing a second, independent evaluation. Results Aggregation: The results from both AI models are received as structured JSON. Two final Google Sheets nodes take these results and update the original row (matching by AdID), adding the evaluation, significance, summary, and recommendation into separate columns. The final sheet contains a complete picture: raw data side-by-side with analyses from two different AIs. Setup Instructions Credentials: 1.1 Connect your Meta Ads account. 1.2 Connect your Google account (for Sheets). 1.3 Connect your OpenAI account. 1.4 Connect your Google Gemini (Palm) account. The ⚙️ Set parameters Node: This is the central control panel. Open this first Set node and customize it: source: Set to "Meta" to pull from a campaign or "sheets" to read from a Google Sheet. campaign_id: If source is "Meta", enter your Meta Campaign ID here. benchmarks_data: This is critical. Paste your own historical performance data here as a CSV-formatted text block. The template includes an example. For best results, use an export from Ads Manager of your top-performing creatives, including key metrics. Google Sheets Nodes: There are three Google Sheets nodes that write data. You need to configure all of them to point to the same spreadsheet and sheet. Ad metrics (for raw metrics): Select your spreadsheet and sheet. Ensure "Operation" is set to Append or Update. Ad data from OpenAI (for OpenAI results): Select the same spreadsheet/sheet. Set "Operation" to Update. Ad data from Gemini (for Gemini results): Select the same spreadsheet/sheet. Set "Operation" to Update. Make sure your sheet has columns for all the data fields, e.g., AdID, FileName, spend, impressions, evaluation, summary, recommendation, evaluation G, summary G, etc. Activate the Workflow: Set your desired frequency in the Schedule Trigger node. Save and activate the workflow. Further Ideas & Customization This powerful analysis engine can be extended even further: Add a "Decision" Node: After the AI analyses are logged, add a final step that compares their recommendations. If both AIs say "scale", automatically increase the ad's budget via the Meta Ads API. Create Summary Reports: Add a branch that, after all ads are processed, calculates an overall summary (e.g., "3 creatives recommended for scaling, 5 for stopping") and sends it to a Slack channel. Dynamic Benchmarks: Instead of pasting benchmarks into the Set node, create a step that reads them from a dedicated "Benchmarks" tab in your Google Sheet, making them even easier to update. Experiment with Prompts and Benchmarks: The quality of the AI analysis is highly dependent on the quality of your input. Don't be afraid to: -- Refine the prompts in the AI Agent and Message a model nodes to better match your specific business context and KPIs. -- Curate your benchmarks_data. Test different sets of benchmark data (e.g., "last 30 days top performers" vs. "all-time best") to see how it influences the AI's recommendations. Finding the right combination of prompt and data is key to unlocking the most effective insights.
by Arthur Dimeglio
What this workflow does Automatically: fetches fresh news, filters out aggregators/PR wires and duplicates, writes a human-sounding LinkedIn post with GPT, downloads the article image to verify it’s usable, publishes to LinkedIn (with or without media), and logs the posted titles in Firestore to avoid re-posting. Runs on a daily schedule (cron) and supports two post variants: • Case 1: article has a description → richer post • Case 2: no description → short, still human and casual ⸻ How it works (high level flow) • Schedule Trigger (0 10,12,19,21 * * *): runs at 10:00, 12:00, 19:00, 21:00 (server timezone). • Firestore (Get Previous News Titles): loads previously posted titles (document asma/x20) to de-dupe. • HTTP Request (API NEWS): calls newsapi.org with query “AI Startup” for example, last 24–48h window, searchIn=title, sorted by publishedAt. • Code: Select Articles: • excludes Biztoc and common aggregators/PR wires (Techmeme, TheFly, PRNewswire, GlobeNewswire, MarketWatch press-releases, Medium, Substack, Yahoo consent, etc.), • requires valid URL + image, • groups by topic (normalized title + domain) and picks the best representative, • sorts by recency and returns up to 10 unique articles. • IF (URL & De-dupe checks): ensures link present and not already posted (compares against Firestore titles). • IF (Description Checker): branches on presence of description. • LLM Agents (2 prompts): generate a casual, human LinkedIn post in English (no emojis/links/markdown, 2–3 hashtags). • Post setup: cleans the text, passes the image URL forward. • HTTP Request (Image Downloader): retrieves the image as a file to confirm the link works. • LinkedIn Publisher: • If image OK → posts with media. • Otherwise → posts text-only. • Time Checkers + Firestore Upserts: after a successful publish, writes the article’s title to Firestore (asma/x20 fields title10, title12, title19, title21) so it won’t be posted again at other times. ⸻ Credentials & prerequisites • NewsAPI.org: API key (free tier works to start; mind rate limits). • LinkedIn OAuth2: connected account with permission to create posts on your profile (uses “Person” target in the node). • Google Firebase (Firestore): Service Account with read/write to the asma collection. The workflow uses document ID x20. ⸻ Setup (5 minutes) Import the workflow and open it in n8n. In API NEWS, set your NewsAPI key in the query param apiKey. In Get Previous News Titles and Firebase Article Saver [1–8], attach your Google Service Account and confirm projectId, collection=asma. In LinkedIn Publisher [1–4], attach your LinkedIn OAuth credential and ensure the Person is your profile URN. (Optional) Adjust the cron in Hourly trigger (server timezone). (Optional) Change the search query (q=AI startup), language, or time window in API NEWS. Enable the workflow. ⸻ Customization tips • Search scope: edit q, language, from/to in API NEWS to cover your niche. • Aggregator policy: tweak the aggregatorDomains set in the Select Articles code node. • Post voice: modify the LLM prompt (keeps the “human, slightly messy” tone). • Hashtags: the prompt ends with 2–3 simple tags (#AI #Startups #Innovation) — change as you like. • Posting times: change the cron or the downstream time-checker logic to map specific titles → time slots. • No-image fallback: text-only path is already handled; replace with a placeholder image if you prefer always-with-media. ⸻ Notes & constraints • Timezone: Schedule Trigger uses the n8n server timezone; adjust if your LinkedIn audience is elsewhere. • De-dupe: this template stores last posted titles in one Firestore doc (asma/x20) under title10, title12, title19, title21. You can change the schema or keep a rolling history. • Filtering: items missing URL or image are skipped by design. Yahoo consent pages are also skipped. • LLM costs: posts are short; usage is modest, but keep an eye on your OpenAI billing. • NewsAPI limits: free plans throttle requests; consider caching or widening the time window if you hit limits. ⸻ Troubleshooting • Nothing posts: check NewsAPI quota/response, then see the URL checker and Description Checker branches. • Image errors: some sites block hotlinking; the image download step will fall back to text-only posting. • Duplicates appeared: verify Firestore upserts executed after posting and that your comparison uses the right fields. • Wrong hours: confirm your n8n instance timezone and the cron expression. ⸻ Why this template You get a robust “news → LinkedIn” autoposter that feels authentically human (no corporate vibes), avoids low-quality aggregators, prevents duplicates, and gracefully handles media — all with clean, modular nodes that are easy to tweak.
by Muhammad Farooq Iqbal
Google NanoBanana Model Image Editor for Consistent AI Influencer Creation with Kie AI Image Generation & Enhancement Workflow This n8n template demonstrates how to use Kie.ai's powerful image generation models to create and enhance images using AI, with automated story creation, image upscaling, and organized file management through Google Drive and Sheets. Use cases include: AI-powered content creation for social media, automated story visualization with consistent characters, marketing material generation, and high-quality image enhancement workflows. Good to know The workflow uses Kie.ai's google/nano-banana-edit model for image generation and nano-banana-upscale for 4x image enhancement Images are automatically organized in Google Drive with timestamped folders Progress is tracked in Google Sheets with status updates throughout the process The workflow includes face enhancement during upscaling for better portrait results All generated content is automatically saved and organized for easy access How it works Project Setup: Creates a timestamped folder structure in Google Drive and initializes a Google Sheet for tracking Story Generation: Uses OpenAI GPT-4 to create detailed prompts for image generation based on predefined templates Image Creation: Sends the AI-generated prompt along with 5 reference images to Kie.ai's nano-banana-edit model Status Monitoring: Polls the Kie.ai API to monitor task completion with automatic retry logic Image Enhancement: Upscales the generated image 4x using nano-banana-upscale with face enhancement File Management: Downloads, uploads, and organizes all generated content in the appropriate Google Drive folders Progress Tracking: Updates Google Sheets with status information and image URLs throughout the entire process Key Features Automated Story Creation**: AI-powered prompt generation for consistent, cinematic image creation Multi-Stage Processing**: Image generation followed by intelligent upscaling Smart Organization**: Automatic folder creation with timestamps and file management Progress Tracking**: Real-time status updates in Google Sheets Error Handling**: Built-in retry logic and failure state management Face Enhancement**: Specialized enhancement for portrait images during upscaling How to use Manual Trigger: The workflow starts with a manual trigger (easily replaceable with webhooks, forms, or scheduled triggers) Automatic Processing: Once triggered, the entire pipeline runs automatically Monitor Progress: Check the Google Sheet for real-time status updates Access Results: Find your generated and enhanced images in the organized Google Drive folders Requirements Kie.ai Account**: For AI image generation and upscaling services OpenAI API**: For intelligent prompt generation (GPT-4 mini) Google Drive**: For file storage and organization Google Sheets**: For progress tracking and status monitoring Customizing this workflow This workflow is highly adaptable for various use cases: Content Creation**: Modify prompts for different styles (fashion, product photography, architectural visualization) Batch Processing**: Add loops to process multiple prompts or reference images Social Media**: Integrate with social platforms for automatic posting E-commerce**: Adapt for product visualization and marketing materials Storytelling**: Create sequential images for visual narratives or storyboards The modular design makes it easy to add additional processing steps, change AI models, or integrate with other services as needed. Workflow Components Folder Management**: Dynamic folder creation with timestamp naming AI Integration**: OpenAI for prompts, Kie.ai for image processing File Processing**: Binary handling, URL management, and format conversion Status Tracking**: Multi-stage progress monitoring with Google Sheets Error Handling**: Comprehensive retry and failure management systems
by Rahul Joshi
Quick overview This workflow collects telehealth appointment details via an n8n Form, uses OpenAI (GPT-4o-mini) to score no-show risk, then sends Telegram reminders and confirmations and updates Google Calendar based on the patient’s response, with Slack alerts on workflow errors. How it works Receives a new appointment submission from an n8n Form with patient, appointment, and Telegram chat details. Sends the appointment data to OpenAI (GPT-4o-mini) to generate a 0–100 no-show risk score and explanation. Routes the flow based on the risk score, sending a single friendly Telegram reminder for low-risk patients. For high-risk patients, sends escalating Telegram reminders and a final message that waits for a confirmation or cancellation reply. If the patient cancels, creates a new “rescheduled” time slot in Google Calendar and sends the patient a Telegram reschedule acknowledgement. If the patient confirms, updates the existing Google Calendar event to note the confirmation and sends a Telegram confirmation message. If any step fails, posts an error notification to a Slack channel. Setup Add credentials for OpenAI (Chat), Telegram Bot, Google Calendar OAuth2, and Slack OAuth2 used for error notifications. Update the n8n Form path/fields as needed and ensure patients provide a valid Telegram Chat ID for messaging. Replace the placeholder Google Calendar ID (for example, "your-calendar@example.com") and ensure your events have the correct Event ID available to update when confirming. Review and adjust the high-risk threshold (default score ≥ 70) and the wait duration for patient replies to match your operational process. Set the Slack channel target for error alerts and verify your workspace allows the app to post messages.
by Jitesh Dugar
Automatically qualify inbound demo requests, scrape prospect websites, and send AI-personalized outreach emails—all on autopilot. What This Workflow Does This end-to-end lead automation workflow helps SaaS companies qualify and nurture inbound leads with zero manual work until human approval. Key Features ✅ Smart Email Filtering - Automatically flags personal emails (Gmail, Yahoo, etc.) and routes them to a polite regret message ✅ Website Intelligence - Scrapes prospect websites and extracts business context ✅ AI Analysis - Uses OpenAI to score ICP fit, identify pain points, and find personalization opportunities ✅ Personalized Outreach - AI drafts custom emails referencing specific details from their website ✅ Human-in-the-Loop - Approval gate before sending to ensure quality control ✅ Professional Branding - Even rejected leads get a thoughtful response Perfect For B2B SaaS companies with inbound lead forms Sales teams drowning in demo requests Businesses wanting to personalize at scale Anyone needing intelligent lead qualification What You'll Need Jotform account (or any form tool with webhooks) Create your form for free on Jotform using this link OpenAI API key Gmail account (or any email service) n8n instance (cloud or self-hosted) Workflow Sections 📧 Lead Intake & Qualification - Capture form submissions and filter personal emails 🕷️ Website Scraping - Extract company information from their domain ❌ Regret Flow - Send polite rejection to unqualified leads 🤖 AI Analysis - Analyze prospects and draft personalized emails 📨 Approved Outreach - Human review + send welcome email Customization Tips: Update the AI prompt with your company's ICP and value proposition Modify the personal email provider list based on your market Adjust the regret email template to match your brand voice Add Slack notifications for high-value leads Connect your CRM to log all activities Time Saved: ~15-20 minutes per lead Lead Response: Under 5 minutes (vs hours/days manually)