by Ryosuke Mori
Generate a complete Business Model Canvas from a guided interview form. AI analyzes responses and creates a professional infographic image of all 9 canvas elements. ※ The form is hosted by n8n, so end users only interact with a simple web form. All AI processing happens behind the scenes. Who is this template for? This template is designed for: Business consultants and coaches** who want to offer BMC generation as a workshop tool Educators and trainers** teaching business model concepts Startup accelerators and incubators** supporting entrepreneurs Anyone running n8n** who wants to provide a self-service BMC generator End User Experience Users who access the form URL: No account registration required No software installation needed Simply answer the guided questions and receive a generated Business Model Canvas Works on any device with a web browser AI analyzes and enriches the responses to generate all 9 BMC elements: Customer Segments Value Propositions Channels Customer Relationships Revenue Streams Key Resources Key Activities Key Partners Cost Structure Validates input quality to ensure meaningful business content (rejects gibberish or unrelated answers) Generates a professional infographic image of the complete Business Model Canvas How it works Transform your business idea into a professional Business Model Canvas infographic. User fills out a form with business idea details (value proposition, customers, channels, etc.) AI node structures the responses into the 9 Business Model Canvas elements Gemini generates a professional infographic image from the structured canvas The form is split into 4 sections: core value, customer touchpoints, delivery methods, and financials. Step-by-step: On form submission - User completes Phase 1 (Core business concept) Form2 - Phase 2 questions (Customer touchpoints) Form3 - Phase 3 questions (Internal resources) Form4 - Phase 4 questions (Revenue and costs) Format Interview Responses - Aggregates all form data into structured format AI Canvas Generator - AI agent analyzes responses and generates the 9 BMC elements Validate Canvas Output - Checks if AI output is valid or contains error If_is_error - Routes to error page or continues to image generation Generate an image - Creates professional infographic using Gemini Completed - Displays the generated Business Model Canvas image Setup steps Required Credentials 1. LLM for AI Canvas Generator (Customizable) This template uses AWS Bedrock (Claude) by default, but you can replace it with any LLM provider supported by n8n: | Provider | Node to Use | |----------|-------------| | AWS Bedrock (default) | AWS Bedrock Chat Model | | OpenAI | OpenAI Chat Model | | Anthropic API | Anthropic Chat Model | | Azure OpenAI | Azure OpenAI Chat Model | | Google Vertex AI | Google Vertex AI Chat Model | | Ollama (self-hosted) | Ollama Chat Model | Simply disconnect the default "AWS Bedrock Chat Model" node and connect your preferred LLM node to the "AI Canvas Generator" agent. 2. Google Gemini API (for image generation) Google AI Studio API Key Model: gemini-3-pro-image-preview (or current image generation model) > Note: Image generation currently requires Gemini. If you don't need the infographic output, you can remove the image generation step and display the text-based BMC instead. Configuration Steps Import the workflow into n8n Configure AWS Bedrock credentials in the "AWS Bedrock Chat Model" node Configure Google Gemini API credentials in the "Generate an image" node (Optional) Customize form questions to match your needs Activate the workflow Share the Production URL with users Customization Options Form Questions**: Edit the form nodes to add/modify interview questions AI Prompt**: Modify the system message in "AI Canvas Generator" to change how the AI interprets responses Image Style**: Adjust the prompt in "Generate an image" to change the visual style Error Messages**: Customize error messages in the validation logic Nodes Used | Node | Purpose | |------|---------| | Form Trigger | Collects Phase 1 responses | | Form (x3) | Collects Phases 2-4 responses | | Code (x2) | Formats data and validates output | | AI Agent | Generates Business Model Canvas text | | AWS Bedrock Chat Model | LLM for AI Agent | | Google Gemini | Generates infographic image | | IF | Routes based on validation result | | Form (Completion) | Displays final result or error | Example Use Case Scenario: A business consultant runs a startup workshop Participants access the form URL on their devices They answer guided questions about their business idea (5-10 minutes) AI processes their responses and generates a complete BMC Participants receive a professional infographic they can use in pitch decks Notes Processing time: Approximately 30-60 seconds (depends on AI response time) The workflow validates inputs to prevent processing of test/gibberish data Image generation requires a Gemini model with image output capability Form responses are not stored – each submission is processed independently
by Oneclick AI Squad
Simplify event planning with this automated n8n workflow. Triggered by incoming requests, it fetches speaker and audience data from Google Sheets, analyzes profiles and preferences, and generates optimized session recommendations. The workflow delivers formatted voice responses and updates tracking data, ensuring organizers receive real-time, tailored suggestions. 🎙️📊 Key Features Real-time analysis of speaker and audience data for personalized recommendations. Generates optimized session lineups based on profiles and preferences. Delivers responses via voice agent for a seamless experience. Logs maintain a detailed recommendation history in Google Sheets. Workflow Process The Webhook Trigger node initiates the workflow upon receiving voice agent or external system requests. Parse Voice Request** processes incoming voice data into actionable parameters. Fetch Database** retrieves speaker ratings, past sessions, and audience ratings from Google Sheets. Calculate & Analyze** combines voice request data with speaker profiles and audience insights for comprehensive matching. AI Optimization Engine** analyzes speaker-audience fit and recommends optimal session lineups. Format Recommendations** structures the recommendations for voice agent response. Voice Agent Response** returns formatted recommendations to the user with natural language summary and structured data. Update Tracking Sheet** saves recommendation history and analytics to Google Sheets. If errors occur, the Check for Errors node branches to: Format Error Response prepares an error message. Send Error Response delivers the error notification. Setup Instructions Import the workflow into n8n and configure Google Sheets OAuth2 for data access. Set up the Webhook Trigger with your voice agent or external system's API credentials. Configure the AI Optimization Engine node with a suitable language model (e.g., Anthropic Chat Model). Test the workflow by sending sample voice requests and verifying recommendations. Adjust analysis parameters as needed for specific event requirements. Prerequisites Google Sheets OAuth2 credentials Voice agent API or integration service AI/LLM service for optimization (e.g., Anthropic) Structured speaker and audience data in a Google Sheet Google Sheet Structure: Create a sheet with columns: Speaker Name Rating Past Sessions Audience Rating Preferences Updated At Modification Options Customize the Calculate & Analyze node to include additional matching criteria (e.g., topic expertise). Adjust the AI Optimization Engine to prioritize specific session formats or durations. Modify voice response templates in the Voice Agent Response node with branded phrasing. Integrate with event management tools (e.g., Eventbrite) for live data feeds. Set custom error handling rules in the Check for Errors node. Discover more workflows – Get in touch with us
by Jason Foster
Gets Google Calendar events for the day (12 hours from execution time), and filters out in-person meetings, Signal meetings, and meetings canceled by Calendly ("transparent").
by Romain Jouhannet
HubSpot → Linear Customers Sync Keeps your Linear Customers list automatically in sync with HubSpot CRM data, using Snowflake as the data warehouse source. Runs on a daily schedule and handles both creates and updates — only touching records where ARR or seat count has actually changed. No unnecessary API calls. How it works A Schedule Trigger fires daily at a configurable time Snowflake is queried to retrieve all customer accounts with aggregated ARR and seat count from your CRM (e.g. Hubspot) product table All existing Linear Customers are fetched via cursor-based pagination (250 records/page) A matching step compares records using HubSpot COMPANY_ID as the Linear externalId, with a domain-based fallback for re-keyed accounts Unmatched companies are created as new Linear Customers Changed records (ARR or seats) are updated in Linear A Slack notification is sent for every sync action Setup Add your Snowflake credential and adapt the SQL query to your schema Connect your Linear API credential (requires Customer read + write permissions) Set up a Slack Bot credential and update the target channel in the Slack node Adjust the Schedule Trigger to your preferred sync time Notes The Limit Snowflake (Testing) node is disabled by default — enable it during testing to cap the number of Snowflake rows processed Matching uses externalIds (HubSpot company ID) first, then falls back to domains Only records with changed revenue or size values trigger a Linear update
by Marsel Bait
🧠 How it works This workflow lets users extract full YouTube video transcripts directly from Slack using n8n and AssemblyAI. When a user submits a YouTube link via a Slack slash command, the workflow validates the video duration and converts the video into an audio file. The audio is then sent to AssemblyAI for transcription. Once the transcription is complete, the workflow cleans and formats the transcript for readability and posts the full text back to Slack asynchronously. ⚙️ Features • Triggers from a Slack slash command with a YouTube link • Validates video length before processing (maximum 10 minutes) • Converts YouTube videos to MP3 for transcription • Polls transcription status until completion • Cleans and reformats the transcript for easy reading • Posts the full transcript back to Slack without blocking the command 💡 Use cases & expected outcomes • YouTube lectures or tutorials → Get a full transcript in Slack for reference or note-taking • Podcast or interview videos → Extract spoken content as text for quoting or analysis • Product demos or walkthroughs → Review video content quickly without rewatching 💡 Perfect for • Teams that need quick access to YouTube transcripts inside Slack • Researchers, content creators, and note-takers • Developers learning how to connect Slack, external APIs, and async workflows in n8n
by Davide
This workflow implements a Retrieval-Augmented Generation (RAG) system that integrates Google Drive and Qdrant. This setup creates a powerful, self-updating knowledge base that provides accurate, context-aware answers to user queries. Key Advantages Automated Knowledge Base Updates** No manual intervention is required—documents in Google Drive are automatically synchronized with Qdrant. Efficient Search and Retrieval** Vector embeddings enable fast and precise retrieval of relevant information. Scalable and Flexible** Works with multiple documents and supports continuous growth of your dataset. Seamless AI Integration** Combines OpenAI embeddings for vectorization and Google Gemini for high-quality natural language answers. Metadata-Enhanced Storage** Each document stores metadata (file ID and name), making it easy to manage and track document versions. End-to-End RAG Pipeline** From document ingestion to AI-powered Q\&A, everything is handled inside one n8n workflow. How It Works This workflow implements a Retrieval-Augmented Generation (RAG) system that automatically processes, stores, and retrieves document information for AI-powered question answering. Here’s how it functions: Document Processing & Vectorization: The system monitors a specified Google Drive folder for new or updated files. When a file is added or modified, it is downloaded and split into manageable chunks using a Recursive Character Text Splitter. Each chunk is converted into vector embeddings using OpenAI's embedding model. These vectors, along with metadata (file ID, file name), are stored in a Qdrant vector database. Automatic Updates: The workflow includes a mechanism to delete old vectors associated with an updated file before inserting the new ones, ensuring the knowledge base remains current. Query Handling & Response Generation: When a user sends a chat message (via a chat trigger), the system: Retrieves the most relevant document chunks from Qdrant based on the query's semantic similarity. Uses a Google Gemini language model to generate a context-aware answer grounded in the retrieved documents. This provides accurate, source-based responses instead of relying solely on the AI's internal knowledge. Initial Setup & Maintenance: The workflow can be triggered manually to create the Qdrant collection or clear all existing data. It processes all existing files in the Drive folder during initial setup, populating the vector store. Set Up Steps To configure this workflow, follow these steps: STEP 1: Create Qdrant Collection Replace QDRANTURL in the "Create collection" and "Clear collection" nodes with your Qdrant instance URL (e.g., http://your-qdrant-host:6333). Replace COLLECTION with your desired collection name. Ensure the Qdrant API credentials are correctly set in the respective HTTP Request nodes. STEP 2: Configure Google Drive Access Set up OAuth credentials for Google Drive to allow the workflow to: Read files from a specific folder . Download files for processing. Update the Folder ID in the "Search files" and "Update?" trigger nodes to point to your target Google Drive folder. STEP 3: Set Up AI Models Configure the OpenAI API credentials in the Embeddings nodes for generating text embeddings. Configure the Google Gemini (PaLM) API credentials in the Google Gemini Chat Model node for generating answers. STEP 4: Configure Metadata The system automatically attaches metadata (file_id, file_name) to each document chunk. This is set in the Default Data Loader nodes. This metadata is crucial for identifying the source of information and for the update mechanism. STEP 5: Test the RAG System The workflow includes a chat trigger ("When chat message received") for testing. Send a query to test the retrieval and answer generation process. Need help customizing? Contact me for consulting and support or add me on Linkedin.
by jun shou
🔧 How It Works **This n8n workflow leverages an agentic AI solution, where multiple AI agents collaborate to process and generate tailored job application assets. ✅ Features Agent-based AI Coordination: Utilizes multiple AI agents working in sequence to analyze the job description and generate results. Outputs: A customized cover letter An optimized resume (CV) A list of interview preparation questions Automated Delivery: The final outputs are created as Google Docs and stored in your connected Google Drive folder. 🧾 Input Requirement Simply provide a LinkedIn job URL as the input. Example: https://www.linkedin.com/jobs/view/4184156975 ⚙️ Setup Instructions To deploy and run this workflow, you'll need to configure the following credentials: Google Cloud Platform (GCP) Enable the Google Drive API Set up OAuth credentials for n8n integration OpenAI API Key Needed for generating the content (cover letter, CV, and questions) BrightData (formerly Luminati) Used to scrape and extract job details from the LinkedIn job link ⚠️ Setup requires moderate technical familiarity with APIs and OAuth. A step-by-step configuration guide is recommended for beginners.
by Easy8.ai
Auto-Routing Nicereply Feedback to Microsoft Teams by Team and Sentiment Automatically collect client feedback from Nicereply, analyze sentiment, and send it to the right Microsoft Teams channels — smartly split by team, tone, and comment presence. About this Workflow This workflow pulls customer satisfaction feedback from Nicereply, filters out irrelevant or test entries, and evaluates each item based on the team it belongs to and the sentiment of the response (Great, OK, Bad). It automatically routes the feedback to Microsoft Teams — either as a summary in a channel or a direct message — depending on the team's role and whether a comment is included. Perfect for support, delivery, consulting, and documentation teams that want to stay in the loop with customer sentiment. It ensures that positive feedback reaches the teams who earned it, and that negative feedback is escalated quickly to leads or management. Use Cases Send daily customer feedback directly to the responsible teams in MS Teams Automatically escalate negative responses to leads or managers Avoid clutter by filtering out unimportant or test entries Keep internal teams motivated by sharing only the most relevant praise How it works Schedule Trigger Starts the workflow on a set schedule (e.g., daily at 7:00 AM) Get Feedback Pulls customer feedback from Nicereply using survey ID Split Out Processes each feedback entry separately Edit Feedbacks Renames or adjusts fields for easier filtering and readability Change Survey ID Maps internal survey identifiers for accurate team routing (Survey ID can be found in Nicereply: Settings > Surveys > [Survey] > ID) Filter Excludes old responses Code Node Tag unknown clients Change Happiness Value Converts score into “Great”, “OK”, or “Bad” for routing logic Without Comment Checks if feedback includes a text comment or not Send Feedback Without Comment Routes simple feedback (no comment) to MS Teams based on team + score Send Feedback With Comment Routes full feedback with comment to MS Teams for closer review Feedback Routing Logic Each team receives only what’s most relevant: Support, Docs, Consulting* get only *Great** feedback to boost morale Team Leads* receive *OK and Bad** feedback so they can follow up Management* is only alerted to *Bad** feedback for critical response These rules can be freely customized. For example, you may want Support to receive all responses, or Management only when multiple Bad entries are received. The structure is modular and easily adjustable. How to Use Import the workflow Load the .json file into your Easy Redmine automation workspace Set up connections Nicereply API key or integration setup Microsoft Teams integration (chat and/or channel posting) Insert your Survey ID(s) You’ll find these in the Nicereply admin panel under Survey settings Customize team logic Adjust survey-to-team mappings and message routing as needed Edit Teams message templates Modify message text or formatting based on internal tone or content policies Test with real data Run manually and verify correct delivery to MS Teams Deploy and schedule Let it run on its own to automate the feedback cycle Requirements Nicereply account with active surveys Microsoft Teams account with permissions to post to channels or send chats Optional Enhancements Add AI to summarize long comments Store feedback history in external DB Trigger follow-up tasks or alerts for repeated Bad scores Localize messages for multilingual feedback systems Integrate additional tools like Slack, Easy Redmine, etc. Tips for a Clean Setup Keep team routing logic in one place for easy updates Rename all nodes clearly to reflect their function (e.g., Change Happiness Value) Add logging or alerting in case of failed delivery or empty feedback pull Use environment variables for tokens and survey IDs where possible
by Axiomlab.dev
HubSpot Lead Refinement 🚀 How it works Triggers: HubSpot Trigger: Fires when contacts are created/updated. Manual Trigger: Run on demand for testing or batch checks. Get Recently Created/Updated Contacts: Pulls fresh contacts from HubSpot. Edit Fields (Set): Maps key fields (First Name, Last Name, Email) for the Agent. AI Agent: First reads your Google Doc (via the Google Docs tool) to learn the research steps and output format. Then uses SerpAPI (Google engine) to locate the contact’s likely LinkedIn profile and produce a concise result. Code – Remove Think Part: Cleans the model output (removes hidden “think” blocks / formatting) so only the final answer remains. HubSpot Update: Writes the cleaned LinkedIn URL to the contact (via email match). 🔑 Required Credentials: HubSpot App Token (Private App) — for Get/Update contact nodes. HubSpot Developer OAuth (optional) — if you use the HubSpot * Trigger node for event-based runs. Google Service Account — for the Google Docs tool (share your * playbook doc with this service account). OpenRouter — for the OpenRouter Chat Model used by the AI Agent. SerpAPI — for targeted Google searches from within the Agent. 🛠️ Setup Instructions HubSpot Create a Private App and copy the Access Token. Add or confirm the contact property linkedinUrl (Text). Plug the token into the HubSpot nodes. If using HubSpot Trigger, connect your Developer OAuth app and subscribe to contact create/update events. Google Docs (Living Instructions) ➡️ Sample configuration doc file Copy the sample doc file and modify to your need. Share the doc with your Google Service Account (Viewer is fine). In the Read Google Docs node, paste the Document URL. OpenRouter & SerpAPI Add your OpenRouter key to the OpenRouter Chat Model credential. Add your SerpAPI key to the SerpAPI tool node. (Optional) In your Google Doc or Agent prompt, set sensible defaults for SerpAPI (engine=google, hl=en, gl=us, num=5, max 1–2 searches). ✨ What you get Auto-enriched contacts with a LinkedIn URL and profile insights (clean, validated output). A research process you can change anytime by editing the Google Doc—no workflow changes needed. Tight, low-noise searches via SerpAPI to keep costs down. And that’s it—publish and let the Agent enrich new leads automatically while you refine the rules in your doc. It allows handing off to a team who wouldn't necessarily tweak the automation nodes.
by Iternal Technologies
Blockify® Technical Manual Data Optimization Workflow Blockify Optimizes Data for Technical Manual RAG and Agents - Giving Structure to Unstructured Data for ~78X Accuracy, when pairing Blockify Ingest and Blockify Distill Learn more at https://iternal.ai/blockify Get Free Demo API Access here: https://console.blockify.ai/signup Read the Technical Whitepaper here: https://iternal.ai/blockify-results See example Accuracy Comparison here: https://iternal.ai/case-studies/medical-accuracy/ Blockify is a data optimization tool that takes messy, unstructured text, like hundreds of sales‑meeting transcripts or long proposals, and intelligently optimizes the data into small, easy‑to‑understand "IdeaBlocks." Each IdeaBlock is just a couple of sentences in length that capture one clear idea, plus a built‑in contextualized question and answer. With this approach, Blockify improves accuracy of LLMs (Large Language Models) by an average aggregate 78X, while shrinking the original mountain of text to about 2.5% of its size while keeping (and even improving) the important information. When Blockify's IdeaBlocks are compared with the usual method of breaking text into equal‑sized chunks, the results are dramatic. Answers pulled from the distilled IdeaBlocks are roughly 40X more accurate, and user searches return the right information about 52% more accurate. In short, Blockify lets you store less data, spend less on computing, and still get better answers- turning huge documents into a concise, high‑quality knowledge base that anyone can search quickly. Blockify works by processing chunks of text to create structured data from an unstructured data source. Blockify® replaces the traditional "dump‑and‑chunk" approach with an end‑to‑end pipeline that cleans and organizes content before it ever hits a vector store. Admins first define who should see what, then the system ingests any file type—Word, PDF, slides, images—inside public cloud, private cloud, or on‑prem. A context‑aware splitter finds natural breaks, and a series of specially developed Blockify LLM model turns each segment into a draft IdeaBlock. GenAI systems fed with this curated data return sharper answers, hallucinate far less, and comply with security policies out of the box. The result: higher trust, lower operating cost, and a clear path to enterprise‑scale RAG without the cleanup headaches that stall most AI rollouts.
by Jitesh Dugar
Transform your morning routine with an automated personal assistant that delivers everything you need to know directly to WhatsApp. This workflow aggregates live data from multiple sources and uses OpenAI to greet you with a context-aware, motivational message based on your specific day. 🎯 What This Workflow Does This template creates a highly personalized "Daily Digest" that saves you from checking multiple apps every morning: ⚡ Dual Entry Points The briefing can be automated to fire every morning at 7 AM via a Schedule Trigger, or it can be requested on-demand by texting the word brief to your WATI number. 🌤️ Real-time Environment Data Fetches current weather conditions (temperature, humidity, and wind speed) for your specific city using the OpenWeatherMap API. 📰 Custom News Feed Pulls the top 3 headlines based on your personal interests (e.g., technology, business) via NewsAPI. 📅 Agenda Integration Syncs with Google Calendar and Google Tasks to list your upcoming meetings and high-priority to-do items for the day. 🤖 AI-Powered Greetings OpenAI (GPT-4o) analyzes your weather and schedule to write a unique, 15-word opener that sets the tone for your day. ✨ Key Features Self-Service Subscription:** Users can join or leave the service themselves by texting subscribe or stop. Subscriber-Specific Config:** Supports multiple users, each with their own city and news interest preferences. Intelligent Assembly:** A central Code Node formats all data into a clean, emoji-rich WhatsApp card for easy reading. Reliability Fallbacks:** Designed with error-handling to ensure the briefing still sends even if one data source (like weather) is temporarily unavailable. 💼 Perfect For Busy Professionals:** Getting a snapshot of your day before your first coffee. Remote Workers:** Staying connected to global news and local weather. Productivity Enthusiasts:** Consolidating multiple task and calendar apps into one interface. Community Groups:** Providing a daily value-add service to WhatsApp group members. 🔧 What You'll Need Required Integrations WATI:** For WhatsApp messaging and command triggers. Google OAuth2:** For Calendar and Tasks access. OpenAI API:** For generating the daily personalized opener. Configuration Steps API Keys: Obtain free keys for OpenWeatherMap and NewsAPI. Subscriber List: Update the Load User Config node with your phone number and city. Credentials: Connect your Google and OpenAI accounts in n8n. Ready to wake up to a better morning? Import this template and connect your accounts to start receiving your daily briefings!
by Jitesh Dugar
Accelerate your real estate marketing by moving from "photo capture" to "published listing" in seconds. This workflow automates the entire listing process by hosting property photos via UploadToURL, using GPT-4o Vision to write professional MLS descriptions, and parallel-publishing the results to WordPress and Airtable. 🎯 What This Workflow Does Turns on-site property photos into fully-enriched digital listings: 📝 Captures Property Media - Receives a photo (binary or URL) and basic address metadata via Webhook. ☁️ Instant CDN Hosting - UploadToURL converts the photo into a permanent, high-speed CDN link for your website. 👁️ Intelligent Property Analysis - GPT-4o Vision analyzes the image to detect room type, condition scores (1–10), professional feature tags, and lighting quality. ✍️ Automated Copywriting - Generates a 2-3 sentence, MLS-compliant description using professional real estate terminology. ⚡ Parallel Publishing - Simultaneously creates a draft post in WordPress (using Gutenberg blocks) and a new record in your Airtable MLS database. 📲 Instant Agent Confirmation - Sends a Telegram message to the agent with live links to the WordPress draft and Airtable record for immediate review. ✨ Key Features UploadToURL Integration**: Native community node hosting ensures your property photos are web-ready instantly without manual resizing or cloud storage management. Vision-Powered Insights**: AI automatically detects "premium finishes" or "renovation age," providing pricing signals without manual entry. Parallel Execution**: Uses a split-branch logic to publish to multiple platforms at once, significantly reducing total execution time. Unified Response**: A Merge node assembles the final IDs and URLs from all platforms into a single, clean JSON response. Audit-Ready MLS**: Every Airtable record is timestamped and includes the original high-res CDN link for external syndication. 💼 Perfect For Real Estate Agencies**: Managing high-volume listings across multiple agents and neighborhoods. Property Managers**: Quickly documenting unit conditions and updates for internal tracking. Independent Realtors**: Automating their personal website and CRM directly from their smartphone while on-site. Property Photographers**: Delivering "ready-to-publish" assets to clients with AI-generated metadata already attached. 🔧 What You'll Need Required Integrations UploadToURL** - To host property photos and provide CDN links. n8n Community Node** - n8n-nodes-uploadtourl must be installed. OpenAI API** - GPT-4o Vision for professional image analysis and copywriting. WordPress** - Basic Auth or Application Password to create draft posts. Airtable** - Personal Access Token to manage your MLS database. Optional Integrations Telegram** - To receive real-time notifications with links to your new listings. 🚀 Quick Start Import Template - Copy the JSON and import it into your n8n canvas. Install Node - Ensure the UploadToURL community node is installed. Set Credentials - Link your UploadToURL, OpenAI, WordPress, Airtable, and Telegram accounts. Define Variables - Update n8n variables: WP_BASE_URL, AIRTABLE_BASE_ID, and TELEGRAM_CHAT_ID. Prepare Airtable - Ensure your table has columns for Listing ID, Address, Price, and MLS Description. Deploy - Activate the workflow and start publishing properties instantly from the field. 🎨 Customization Options Watermarking**: Insert a node to add your agency logo to photos before they are uploaded to the CDN. Zillow/MLS Sync**: Add a branch to push the AI-generated data to external listing services via API. Virtual Staging**: Route photos through an AI staging service before hosting them on UploadToURL. Price Formatting**: Update the code node to support different currencies or regional price display formats. 📈 Expected Results Save 20-30 minutes per listing** by eliminating manual uploading, writing, and platform syncing. Improved SEO**: Every property photo includes AI-generated Alt-Text and descriptive filenames. Better Accuracy**: AI consistently captures features (like "crown molding" or "natural light") that agents might miss in a rush. Zero Friction**: Agents can go from taking a photo to having a draft live on the website before they leave the property. 🏆 Use Cases Rapid Market Entry A team of agents can document an entire apartment complex in one afternoon, with every room automatically categorized and described in WordPress by the time they get back to the office. Internal Quality Audits Property managers use the condition score (1–10) generated by the AI to prioritize maintenance and renovations across a portfolio. Social Media Teasers The AI-generated "Marketing Blurb" can be used to instantly trigger a second workflow that posts a property "sneak peek" to Instagram or LinkedIn. 💡 Pro Tips Structured Filenames**: The workflow automatically renames files to {listingId}_{address}.jpg for better organization and SEO. Draft Status**: Listings are created as "Drafts" in WordPress by default, allowing for a quick "Human-in-the-loop" review before going live. Lighting Analysis**: Use the AI-detected "Lighting Quality" field to identify photos that might need professional retouching. Ready to automate your real estate pipeline? Import this template and connect UploadToURL to start publishing professional listings faster. Questions about the Airtable schema? The workflow includes detailed sticky notes explaining the exact field types required for the MLS record sync.