by Arlene Martin
*Use Case: * Analyze images with multiple subjects. In this use case I have a bookshelf and am extracting and verifying book titles/authors from a bookshelf photo. *How it works: * 1) Webhook receives an image url from a front end in which a user can upload a picture. In this use case, it is an image of a book shelf. 2) Edit Field (Set): Saves image in a consistent location so AI can find it. 3) Analyze Image: Image is analyzed. Extracts titles from the book spines 4) Code: Splits extracted subjects to single item to be able to validate each item separately. Books are individualized to their own entity 5) *HTTP Request *validates each subject. Queries Google Books to validate books in case only partial titles were found. 6) Edit Field (Set): Tidies the result. 7) Code: Aggregates and deduplicates Titles and authors are aggregate into a list 8) Respond to Webhook returns list to front end How to use: Use with a frontend that can capture images and receive back the result. For this use case Supabase was used to store images from which the image analyzer could reference.
by Cooper
Turn Crisp chats into Helpdocs Automatically create help articles from resolved Crisp chats. This n8n workflow listens for chat events, formats Q&A pairs, and uses an LLM to generate a PII‑safe helpdoc saved to a Data Table. Highlights 🧩 Trigger: Crisp Webhook when a chat is marked resolved. 🗂️ Store: Each message saved in a Data Table (crisp). 🧠 Generate: LLM turns Q&A into draft helpdoc. 💾 Save: Draft stored in another Data Table (crisphelp) for review. How it works Webhook receives message:send, message:received, and state:resolved events from Crisp. Data Table stores messages by session_id. On state:resolved, workflow fetches the full chat thread. Code node formats messages into Q: and A: pairs. LLM (OpenAI gpt-4.1-mini) creates a redacted helpdoc. Data Table crisphelp saves the generated doc with publish = false. Requirements Crisp workspace with webhook access (Settings → Advanced → Webhooks) n8n instance with Data Tables and OpenAI credentials Customize Swap the model in the LLM node. Add a Slack or Email node after store-doc to alert reviewers. Extend prompt rules to strengthen PII redaction. Tips Ensure Crisp webhook URL is public. Check IF condition: {{$json.body.data.content.namespace}} == "state:resolved". Use the publish flag to control auto‑publishing. Category: AI • Automation • Customer Support
by vinci-king-01
How it works This workflow automatically discovers and analyzes backlinks for any website, providing comprehensive SEO insights and competitive intelligence using AI-powered analysis. Key Steps Website Input - Accepts target URLs via webhook or manual input for backlink analysis. Backlink Discovery - Scrapes and crawls the web to find all backlinks pointing to the target website. AI-Powered Analysis - Uses GPT-4 to analyze backlink quality, relevance, and SEO impact. Data Processing & Categorization - Cleans, validates, and automatically categorizes backlinks by type, authority, and relevance. Database Storage - Saves processed backlink data to PostgreSQL database for ongoing analysis and reporting. API Response - Returns structured summary with backlink counts, domain authority scores, and SEO insights. Set up steps Setup time: 8-12 minutes Configure OpenAI credentials - Add your OpenAI API key for AI-powered backlink analysis. Set up PostgreSQL database - Connect your PostgreSQL database and create the required table structure. Configure webhook endpoint - The workflow provides a /analyze-backlinks endpoint for URL submissions. Customize analysis parameters - Modify the AI prompt to include your preferred SEO metrics and analysis criteria. Test the workflow - Submit a sample website URL to verify the backlink discovery and analysis process. Set up database table - Ensure your PostgreSQL database has a backlinks table with appropriate columns. Features Comprehensive backlink discovery**: Finds all backlinks pointing to target websites AI-powered analysis**: GPT-4 analyzes backlink quality, relevance, and SEO impact Automatic categorization**: Backlinks categorized by type (dofollow/nofollow), authority level, and relevance Data validation**: Cleans and validates backlink data with error handling Database storage**: PostgreSQL integration for data persistence and historical tracking API responses**: Clean JSON responses with backlink summaries and SEO insights Competitive intelligence**: Analyzes competitor backlink profiles and identifies link building opportunities Authority scoring**: Calculates domain authority and page authority metrics for each backlink
by Dean Gallop
Trigger & Topic Extraction The workflow starts manually or from a chat/Telegram/webhook input. A “topic extractor” node scans the incoming text and cleans it (handles /topic … commands). If no topic is detected, it defaults to a sample news headline. Style & Structure Setup A style guide node defines the blog’s tone: practical, medium–low formality, clear sections, clean HTML only. It also enforces do’s (citations, links, actionable steps) and don’ts (no clickbait, no low-quality sources). Research & Drafting A GPT node generates a 1,700–1,800 word article following the style guide. Sections include: What happened, Why it matters, Opportunities/risks, Action plan, FAQ. The draft is then polished for clarity and flow. Quality Control A word count guard checks that the article is at least 1,600 words. If too short, a GPT “expand draft” node deepens the Why it matters, Risks, and Action plan sections. Image Creation The final article’s title and content are used to generate an editorial-style image prompt. Leonardo AI creates a cinematic, text-free featured image suitable for Google News/Discover. The image is uploaded to WordPress, with proper ALT text generated by GPT. Publishing to WordPress The final post (title, content, featured image) is automatically published. Sources are extracted from the article, compiled into a “Sources” section with clickable links. Posts are categorized and published immediately.
by Shohani
Auto backup n8n workflows to GitLab with AI-generated documentation This n8n template automatically backs up your workflows to a GitLab repository whenever they're updated or activated, and generates README documentation using AI. This workflow can be aslo added as a sub-workflow to any existing workflow to enable backup functionality. Who's it for This template is perfect for n8n users who want to: Maintain version control of their workflows Create automatic backups in Git repositories Generate documentation for their workflows using AI Keep their workflow library organized and documented How it works The workflow monitors n8n for workflow updates and activations, then automatically saves the workflow JSON to GitLab and generates a README file using OpenAI: Trigger Detection: Uses n8n Trigger to detect when workflows are updated or activated Workflow Retrieval: Fetches the complete workflow data using the n8n API Repository Check: Lists existing files in GitLab to determine if the workflow already exists Smart File Management: Either creates a new file or updates an existing one based on the repository state AI Documentation: Generates a README.md file using OpenAI's GPT model to document the workflow GitLab Storage: Saves both the workflow JSON and README to organized folders in your GitLab repository Requirements GitLab account** with API access and a repository named "all_projects" n8n API credentials** for accessing workflow data OpenAI API key** for generating documentation GitLab personal access token** with repository write permissions How to set up Configure GitLab credentials: Add your GitLab API credentials in the GitLab nodes Set up n8n API: Configure your n8n API credentials for the workflow retrieval node Add OpenAI credentials: Set up your OpenAI API key in the "Message a model" node Update repository details: Modify the owner and repository name in GitLab nodes to match your setup Test the workflow: Save and activate the workflow to test the backup functionality How to customize the workflow Change repository structure**: Modify the file path expressions to organize workflows differently Customize commit messages**: Update the commit message templates in GitLab nodes Enhance AI documentation**: Modify the OpenAI prompt to generate different styles of documentation Add file filtering**: Include conditions to backup only specific workflows Extend triggers**: Add webhook or schedule triggers for different backup scenarios Multiple repositories**: Duplicate GitLab nodes to backup to multiple repositories simultaneously
by Nabin Bhandari
Appointment Reminder Agent automates phone call reminders for upcoming appointments by seamlessly connecting Google Calendar with Retell AI. This powerful workflow is designed to help businesses, clinics, and service providers ensure clients never miss their scheduled appointments—reducing no-shows and increasing efficiency. ##Use Cases Healthcare practitioners reminding patients of upcoming visits Salons, spas, and beauty services confirming bookings Consultants, therapists, and coaches sending appointment reminders Any service-based business wanting to reduce missed appointments ##Workflow Overview Trigger – A scheduler node runs every day at 9 AM (configurable) to start the workflow. Fetch Events – Pulls all events scheduled in the next 12 hours from Google Calendar. Extract Details – A Code node parses each event’s description for: Name Phone number (must be in E.164 format, e.g., +14155552671) Reason for appointment Start and end time Configure Retell – Uses credentials to set up: from_number (Retell-registered phone number) agent_id (Retell agent ID) Send Call – Calls Retell AI’s API to place a personalized reminder call to the client. ##Setup Instructions Add your Retell API key to n8n credentials (never hardcode it). Add your Google Calendar account to credentials. Set the from_number (Retell-registered number). Set the agent_id (Retell agent ID). Ensure all calendar event descriptions include required fields (Name, Phone number, Reason, Start & End times) in the specified format. Adjust the scheduler trigger time if needed. ##Requirements Retell AI account with API key Registered Retell phone number Google Calendar account Event descriptions formatted properly with all required details ##Customization Options Modify the trigger schedule (e.g., nightly, hourly, or webhook-based). Add logging or tracking (e.g., use Google Sheets or Airtable to log call attempts/results). Tailor the Retell agent script to suit different appointment types (e.g., “Consultation,” “Follow-up,” “Service Visit”). Expand with additional channels (e.g., SMS or email reminders before or after calls).
by Naveen Choudhary
Description This workflow automatically monitors and tracks SEC Form D filings (private placement offerings) by fetching data from the SEC EDGAR database every 10 minutes during business hours and saving new filings to Google Sheets for analysis and tracking. Who's it for Venture capitalists** tracking private funding rounds and market activity Investment analysts** researching private placement trends and opportunities Financial researchers** collecting data on private securities offerings Business development teams** identifying potential partnership or acquisition targets Compliance professionals** monitoring regulatory filings in their industry How it works The workflow connects to the SEC EDGAR RSS feed to fetch the latest Form D filings, parses the XML data, extracts key information including CIK numbers and filing links, filters out duplicates from previous runs, and automatically saves new filings to a Google Sheets document for easy analysis and tracking. What it does Automated scheduling - Runs every 10 minutes during business hours (6 AM - 9 PM, Monday-Friday) Fetches SEC data - Retrieves the 40 most recent Form D filings from SEC EDGAR RSS feed Parses filing data - Converts XML to structured data and extracts CIK numbers, titles, and links Filters duplicates - Only processes new filings that haven't been seen in previous executions Saves to sheets - Appends new filing data to Google Sheets with proper formatting Requirements Google Sheets API access** with OAuth2 credentials configured Google Sheets document** - Make a copy of this template sheet n8n instance** running continuously for scheduled execution How to set up Copy the template Google Sheet from the link above to your Google Drive Configure Google Sheets OAuth2 authentication in n8n credentials Update the Google Sheets document ID in the "Save to SEC Data Sheet" node to point to your copied sheet Customize the User-Agent header in the HTTP Request node with your contact information (required by SEC) Activate the workflow - The schedule trigger will start monitoring automatically Test manually by replacing the Schedule Trigger with a Manual Trigger for initial testing How to customize the workflow Schedule frequency**: Modify the cron expression in the Schedule Trigger (default: every 10 minutes) Business hours**: Adjust the time range (default: 6 AM - 9 PM EST) Working days**: Change from Monday-Friday to include weekends if needed Filing count**: Modify the SEC URL to fetch more than 40 filings (change count=40 parameter) Form types**: Update the URL to track different SEC forms (change type=D to other form types) Output format**: Customize the Google Sheets column mapping to include additional fields Notifications**: Add Slack, email, or webhook nodes to get alerts for new filings Output data includes CIK Number** - Central Index Key for the filing company Company Title** - Name of the company making the filing Form Type** - Type of SEC form (Form D for private placements) HTML Filing Link** - Link to view the filing in SEC EDGAR system TXT Filing Link** - Direct link to the raw text version of the filing Updated Date** - When the filing was submitted to SEC Key features Duplicate prevention** - Built-in deduplication ensures no filing is processed twice Business hours scheduling** - Respects SEC server load by running only during business hours SEC compliance** - Includes proper User-Agent header as required by SEC guidelines Automatic link generation** - Creates both HTML and TXT links for easy access to filings CIK extraction** - Automatically extracts company CIK numbers from filing titles Note: This workflow is designed for monitoring public SEC filings and complies with SEC EDGAR access guidelines. The User-Agent header must be updated with your contact information before use.
by inderjeet Bhambra
AI Security Pipeline - Prompt Injection Defense System using GPT-4O Protect your AI workflows from prompt injection attacks, XSS attempts, and malicious content with this multi-layer security sanitization system. > Important: The n8n workflow template uploader did not allow me to upload the complete system prompt for the Input Validation & Pattern Detection. Copy the complete System Prompt from here What it does This workflow acts as a security shield for AI-powered automations, preventing indirect prompt injection and other threats. It processes content through a multi-layered defense pipeline that detects malicious patterns, sanitizes markdown, validates URLs, and provides comprehensive security assessments. How it works Receives content via webhook endpoint Detects threats including prompt injections, XSS attempts, and data URI attacks Sanitizes markdown by removing HTML, dangerous protocols, and suspicious links Validates URLs blocking suspicious IP addresses, domains, and URL shorteners Returns security report with risk assessment and sanitized content Setup Import and activate the workflow Use the generated webhook URL: /webhook/security-sanitize Send POST requests with JSON: {"content": "your_text", "source": "identifier"} Use cases Secure AI chatbots and LLM integrations Process user-generated content before AI processing Protect RAG systems from data poisoning Sanitize external webhook payloads Ensure compliance with security standards Perfect for any organization using AI that needs to prevent prompt manipulation, data exfiltration, and injection attacks while maintaining audit trails for compliance.
by Calistus Christian
How it works • Webhook → urlscan.io → GPT-4o mini → Gmail • Payload example: { "url": "https://example.com" } • urlscan.io returns a Scan ID and raw JSON. • AI node classifies the scan as malicious / suspicious / benign, assigns a 1-10 risk score, and writes a two-sentence summary. • Gmail sends an alert that includes the URL, Scan ID, AI verdict, screenshot link, and full report link. Set-up steps (~5 min) • Create three credentials in n8n urlscan.io API key OpenAI API key (GPT-4o mini access) Gmail OAuth (or SMTP) • Replace those fields in the nodes, or reference env vars like {{ $env.OPENAI_API_KEY }}. • Switch the Webhook to Production → copy the live URL. • Test with: curl -X POST <your-webhook-url> \ -H "Content-Type: application/json" \ -d '{ "url": "https://example.com" }'
by Robert Breen
Ask natural-language questions about your Monday.com tasks (e.g., “Which tasks are overdue?”, “Show me all items stuck”, “Summarize what’s due this week”). The assistant fetches real data from your Monday.com board and answers based only on that. ⚙️ Setup Instructions 1️⃣ Set Up OpenAI Connection Go to OpenAI Platform Navigate to OpenAI Billing Add funds to your billing account Copy your API key into the OpenAI credentials in n8n 2️⃣ Connect Monday.com Node In Monday.com → go to your Admin → API Copy your Personal API Token Docs: Generate Monday API Token In n8n → Credentials → New → Monday.com API Paste your token and save. Open the Get many items node → choose your credential → select your Board ID and Group ID. 🧠 How it works Sample Chatbot**: webhook/chat trigger for your questions Get many items (Monday.com)**: pulls board/group tasks Set Fields → Combine → Convert to text**: formats task data OpenAI Chat Model + Memory**: lets you ask questions and keeps context across turns Chat with Monday.com**: generates the final AI answer 📬 Contact Need help customizing this for your own board structure? 📧 robert@ynteractive.com 🔗 Robert Breen 🌐 ynteractive.com
by Kaden Reese
Daily ETH Wallet Balance & Holdings Alerts Never miss a snapshot of your (or others) ETH wallet, this workflow polls your wallet on a schedule, fetches balances and current ETH prices, formats a concise summary, and posts it to Discord (or email/Slack/Telegram). Easy to customize to track multiple wallets, tokens, or alert on thresholds. How it works Schedule Trigger - Runs on your cadence (default: morning and evening). Query Blockchain - Calls Etherscan (or another API) to get wallet balances and token holdings. Process Balances - Calculates totals and converts values using CoinGecko price lookups. Format Summary - Creates a readable report (holdings, USD value, % change, etc.). Deliver Alert - Sends the snapshot to Discord (swap in Slack/Telegram/email/webhook as needed). Quick setup notes Add your Etherscan (or preferred) API key and CoinGecko key where indicated. Set the wallet address(es) in the code node(s) supports one or many. Adjust the schedule, number of snapshots, and message format to suit your needs. Use cases / variations Single-wallet daily snapshot** - Quick morning/evening balances. Multi-wallet portfolio digest** - Aggregate several addresses into one report. Token breakdown** - Show ERC-20 token amounts and fiat values. Price/threshold alerts** - Ping when ETH or a token crosses a set price or % change. On-demand reporting** - Trigger via webhook or command to pull a live snapshot. NFT & token inventory** - Report owned collections and token counts. Tax / bookkeeping exports** - Add CSV output for record-keeping. Why use this Hands-off monitoring** - automated snapshots replace manual checks. Customizable** - swap APIs, add wallets, or change channels in minutes. Actionable** - get the data you need (holdings, fiat value, alerts) where you already work.
by Marth
How It Works ⚙️ This workflow streamlines your property tour scheduling into two main automated flows: A. Property Tour Request & Automated Scheduling 0. Form Trigger (Property Tour Request): 🚀 The workflow initiates immediately when a prospective client fills out a property tour interest form on your website or a dedicated landing page. This serves as the initial data input point. 1. Extract Prospect Data (Function): 🧹 This node processes the incoming form data, intelligently extracting essential details such as the prospect's full name, email, phone number, and the specific property they are interested in. 2. Generate Scheduling Link (Function): 🔗 This node dynamically constructs a personalized scheduling link (e.g., from Calendly or another scheduling tool) that is pre-configured to show your agent's real-time availability. 3. Send Scheduling Link (Gmail/SMS): 📧 An automated email or SMS containing this personalized scheduling link is instantly dispatched to the prospect, allowing them to conveniently select a tour time that fits their schedule and aligns with the agent's availability. B. Tour Confirmation & Reminders 4. Webhook: Schedule Confirmation (Waiting for Confirmation): ⏳ The workflow patiently waits for a webhook signal from your scheduling tool (e.g., Calendly) confirming that the prospect has successfully selected and confirmed a tour slot. 5. Add Event to Agent's Calendar (Google Calendar): 🗓️ Upon confirmation, the property tour event is automatically added to the relevant agent's Google Calendar, complete with all prospect and property details, ensuring no appointments are missed. 6. Send Confirmation Notification (Slack to Agent): 📢 A detailed notification is sent to the agent's Slack channel or email, immediately informing them about the newly scheduled tour and providing all pertinent information at a glance. 7. Wait (For Tour Reminder): ⏱️ This node intelligently waits for a calculated period (e.g., 1 hour) before the scheduled tour time, ensuring the reminder is sent precisely when it's most impactful. 8. Send Tour Reminder (Gmail): 🔔 A personalized reminder email or SMS is automatically sent to the prospect a set time before the scheduled tour, significantly helping to reduce no-shows and ensure timely attendance. How to Set Up 🛠️ Follow these steps carefully to get your "Property Tour Scheduling Automation" workflow up and running in n8n: Import Workflow JSON: Open your n8n instance. Click on 'Workflows' in the left sidebar. Click the '+' button or 'New' to create a new workflow. Click the '...' (More Options) icon in the top right. Select 'Import from JSON' and paste the entire JSON code for this workflow. Configure 0. Form Trigger (Property Tour Request): Locate the '0. Form Trigger (Property Tour Request)' node. Activate the workflow. n8n will provide a unique 'Webhook URL'. Crucial Step: Integrate this 'Webhook URL' into your website's property tour request form (e.g., via Elementor Forms, Gravity Forms, or any other form platform). Ensure your form sends data in JSON format. Form Fields: Adjust the 'Form Fields' in this node (e.g., "Full Name", "Email", "Phone Number", "Interested Property ID", "Property Name (optional)") to precisely match the input fields of your actual form. If they don't match, update them here. Configure 1. Extract Prospect Data (Function): Locate the '1. Extract Prospect Data' node. Adjust Field Names: Review the functionCode within this node. You MUST adjust the variable assignments (e.g., formData['Full Name'], formData['Interested Property ID']) to accurately match the exact field names sent by your Form Trigger. Use n8n's 'Test Workflow' feature (after submitting a test form entry) to inspect the incoming items[0].json.body data structure and make precise adjustments. Configure 2. Generate Scheduling Link (Function): Locate the '2. Generate Scheduling Link' node. Set Base Scheduling URL: Inside the functionCode, replace 'YOUR_CALENDLY_BASE_LINK_FOR_AGENT' with the base URL of your Calendly or other scheduling tool link (e.g., https://calendly.com/your-agent-name). Adjust Parameters: If your scheduling tool supports URL parameters for pre-filling information (e.g., prospect name, email), adjust the code to include them (e.g., ?name=${encodeURIComponent(prospectData.clientName)}&email=${encodeURIComponent(prospectData.clientEmail)}). Configure 3. Send Scheduling Link (Gmail): Locate the '3. Send Scheduling Link (Gmail)' node. Credentials: Select your existing Gmail OAuth2 credential or click 'Create New' to set one up. You'll need to replace YOUR_GMAIL_CREDENTIAL_ID with the actual ID or name of your credential from your n8n credentials list. From Email: Replace your-agent-email@example.com with the desired sending email address for tour requests. The 'To Email', 'Subject', and 'HTML' body fields will be dynamically populated from the previous 'Function' node. (Optional: Switch to SMS): Delete this Gmail node and add a Twilio node. Configure its credentials, 'From Phone Number', 'To Phone Number' (from prospect data), and 'Message' (include the scheduling link). Configure 4. Webhook: Schedule Confirmation (Waiting for Confirmation): Locate the '4. Webhook: Schedule Confirmation (Waiting for Confirmation)' node. Activate the workflow. n8n will provide a unique 'Webhook URL'. Crucial Step: In your scheduling tool (e.g., Calendly), configure a webhook to send data to this n8n URL whenever an event is scheduled or confirmed. This is vital for the workflow to proceed after the prospect selects a time. Configure 5. Add Event to Agent's Calendar (Google Calendar): Locate the '5. Add Event to Agent's Calendar (Google Calendar)' node. Credentials: Select your existing Google Calendar OAuth2 credential or create a new one. Replace YOUR_GOOGLE_CALENDAR_CREDENTIAL_ID with the actual ID or name of your credential. Calendar ID: Replace YOUR_AGENT_CALENDAR_ID with the specific calendar ID of the agent where you want to add the event. Adjust Event Details: Ensure 'Event Name', 'Start Date & Time', 'End Date & Time', and 'Description' use the correct expressions to pull data from the incoming scheduling tool webhook (e.g., {{ $json.payload.event.start_time }}). Configure 6. Send Confirmation Notification (Slack to Agent): Locate the '6. Send Confirmation Notification (Slack to Agent)' node. Credentials: Ensure your Slack API credential is selected. Channel: Replace YOUR_AGENT_SLACK_CHANNEL_ID_OR_NAME with the exact ID or name of the Slack channel where agents receive tour scheduling notifications (e.g., #tour-bookings). (Optional: Switch to Email): Delete this Slack node and add a Gmail or SendGrid node. Configure its credentials, 'To Email' (agent's email), 'Subject', and 'HTML' body. Configure 7. Wait (For Tour Reminder): Locate the '7. Wait (For Tour Reminder)' node. Time Calculation: The node is set to wait until 1 hour before the scheduled tour start time ({{ $json.payload.event.start_time }}). Timezone: Replace YOUR_TIMEZONE_LIKE_Asia/Jakarta with your actual timezone (e.g., America/New_York, Europe/London). This is crucial for accurate timing. Configure 8. Send Tour Reminder (Gmail): Locate the '8. Send Tour Reminder (Gmail)' node. Credentials: Ensure your Gmail API credential is selected. From Email: Replace your-agent-email@example.com with the sending email address. (Optional: Switch to SMS): Delete this Gmail node and add a Twilio node, configuring it similarly to step 5 for SMS reminders. Review and Activate: Thoroughly review all node configurations. Ensure all placeholder values (like YOUR_...) are replaced with your actual information and settings are correct. Click the 'Save' button in the top right corner. Finally, toggle the 'Inactive' switch to 'Active' to enable your workflow. 🟢 Your "Property Tour Scheduling Automation" workflow is now live!