Back to Catalog

Templates by Marth

Automate monthly finance reports with Google Sheets, GPT-4 analysis and Gmail

How It Works โš™๏ธ This workflow is designed to streamline your monthly financial reporting, turning raw transaction data into actionable insights automatically. Here's a step-by-step breakdown of its operation: Trigger (Cron Node): โฐ The workflow kicks off automatically on a pre-defined schedule, typically the 1st day of every month, ensuring timely report generation without manual intervention. Get Finance Transactions (Google Sheets): ๐Ÿ“Š The first functional node connects to your designated Google Sheet. It reads all the transaction data from the specified range (e.g., 'FinanceSummary!A:E'), acting as the primary data input for the report. Filter Previous Month Transactions (Function): ๐Ÿงน Once the data is retrieved, this custom JavaScript function meticulously filters out only those transactions that occurred in the complete previous month. This ensures your report is always focused on the most relevant, recently concluded period. Generate AI Financial Insights (OpenAI): ๐Ÿง  The filtered transaction data is then passed to OpenAI's GPT-4 model. Here, the AI acts as your personal finance assistant, analyzing the data to: Calculate the total income. Calculate the total expense. Generate 3 concise, key financial insights in bullet points, helping you quickly grasp the financial health and trends. Send Monthly Finance Report Email (Gmail): ๐Ÿ“ง Finally, all the processed information comes together. This node constructs a comprehensive email, embedding: A table summarizing all the previous month's transactions. The valuable AI-generated total income, total expense, and key insights. The email is then automatically sent to your designated finance recipients, delivering the report directly to their inbox. Set Up Steps ๐Ÿš€ Follow these steps carefully to get your "Finance Monthly Report with AI Insight" workflow up and running: 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 provided workflow JSON code. Configure Credentials: Google Sheets Node ("1. Get Finance Transactions"): Click on this node. Under 'Authentication', select your existing Google Sheets OAuth2 credential or click 'Create New' to set one up. Important: Replace <YOURGOOGLESHEETIDHERE> in the 'Sheet ID' field with the actual ID of your Google Sheet. OpenAI Node ("3. Generate AI Financial Insights"): Click on this node. Under 'Authentication', select your existing OpenAI API Key credential or create a new one if you haven't already. Gmail Node ("4. Send Monthly Finance Report Email"): Click on this node. Under 'Authentication', select your existing Gmail OAuth2 credential or create a new one. Customize Email Details: Gmail Node ("4. Send Monthly Finance Report Email"): Replace <YOUR_SENDER_EMAIL_HERE> with the email address you want the report to be sent from*. Replace <YOUR_RECIPIENT_EMAIL_HERE> with the email address(es) you want the report to be sent to* (multiple emails can be separated by commas). You can also adjust the 'Subject' if needed. Add & Configure Cron Trigger: Click the '+' icon at the very beginning of the workflow (where it says "first step..."). Search for "Cron" and select the 'Cron' node. Connect: Drag a connection from the Cron node to "1. Get Finance Transactions (Google Sheets)". Schedule: Configure the Cron node to your desired monthly schedule. For example: Set 'Mode' to 'Every Month'. Set 'On Day of Month' to '1' (to run on the first day of each month). Set 'At Time' to a specific time (e.g., '09:00' for 9 AM). Review and Activate: Thoroughly review all node configurations to ensure all placeholders are replaced 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 automated monthly finance report is now live! Troubleshooting Tip: If the workflow fails, check the 'Executions' tab in n8n for detailed error messages. Common issues include incorrect sheet IDs, invalid API keys, or data format mismatches in your Google

MarthBy Marth
3063

Automate event scheduling from emails with Gmail & Google Calendar keywords

This workflow contains community nodes that are only compatible with the self-hosted version of n8n. โš™ How It Works This workflow operates as an automated personal assistant for your calendar. It listens to your Gmail inbox for new emails. When an email arrives, it checks the subject and body for keywords like "Meeting" or "Appointment." If a match is found, the workflow extracts key details from the email and automatically creates a new event on your Google Calendar, eliminating the need for manual data entry. --- Setup Steps Follow these steps to get the workflow running in your n8n instance. Prerequisites You'll need a working n8n instance and access to both your Gmail and Google Calendar accounts. Workflow Import Import the workflow's JSON file into your n8n instance. All the necessary nodes will appear on your canvas. Configure Credentials Click on the Gmail Trigger node and Google Calendar node. You will see a red error icon indicating that credentials are not set. Click on it. Click "Create new credential" and follow the instructions to connect your Gmail and Google Calendar accounts. Customize the If Node This node determines which emails will trigger a calendar event. Click on the If node. Review the Value 2 field under the conditions. This is where you specify the keywords that should trigger an event. You can add more keywords by clicking "Add Condition" and using the OR operator (e.g., add call, interview, or demo). Customize the Code Node This node extracts the event details from your email. The current code is a basic example using regular expressions to find a date and time. Click on the Code node. Review the code. You may need to adjust the regular expressions if your emails have a different format for dates and times. The node will output a JSON object containing the title, date, and time that will be used to create your calendar event. Configure the Google Calendar Node This is the final node that creates the event. Click on the Google Calendar node. In the Calendar ID field, enter the ID of the specific calendar you want the events to be created on. You can find this in your Google Calendar settings. Activate the Workflow Once all credentials and node configurations are complete, click "Save" at the top of the canvas. Finally, toggle the workflow to "Active". The workflow is now live and will automatically schedule events for you.

MarthBy Marth
1135

AI-driven competitor & market intelligence with GPT 4 & Apify

Automated AI-Driven Competitor & Market Intelligence System Problem Solved: Small and Medium-sized IT companies often struggle to stay ahead in a rapidly evolving market. Manually tracking competitor moves, pricing changes, product updates, and emerging market trends is time-consuming, inconsistent, and often too slow for agile sales strategies. This leads to missed sales opportunities, ineffective pitches, and a reactive rather than proactive market approach. Solution Overview: This n8n workflow automates the continuous collection and AI-powered analysis of competitor data and market trends. By leveraging web scraping, RSS feeds, and advanced AI models, it transforms raw data into actionable insights for your sales and marketing teams. The system generates structured reports, notifies relevant stakeholders, and stores intelligence in your database, empowering your team with real-time, strategic information. For Whom: This high-value workflow is perfect for: IT Solution Providers & SaaS Companies: To maintain a competitive edge and tailor sales pitches based on competitor weaknesses and market opportunities. Sales & Marketing Leaders: To gain comprehensive, automated market intelligence without extensive manual research. Product Development Teams: To identify market gaps and validate new feature development based on competitive landscapes and customer sentiment. Business Strategists: To inform strategic planning with data-driven insights into industry trends and competitive threats. How It Works (Scope of the Workflow) โš™๏ธ This system establishes a powerful, automated pipeline for market and competitor intelligence: Scheduled Data Collection: The workflow runs automatically at predefined intervals (e.g., weekly), initiating data retrieval from various online sources. Diverse Information Gathering: It pulls data from competitor websites (pricing, features, blogs via web scraping services), industry news and blogs (via RSS feeds), and potentially other sources. Intelligent Data Preparation: Collected data is aggregated, cleaned, and pre-processed using custom code to ensure it's in an optimal format for AI analysis, removing noise and extracting relevant text. AI-Powered Analysis: An advanced AI model (like OpenAI's GPT-4o) performs in-depth analysis on the cleaned data. It identifies competitor strengths, weaknesses, new offerings, pricing changes, customer sentiment from reviews, emerging market trends, and suggests specific opportunities and threats for your company. Automated Report Generation: The AI's structured insights are automatically populated into a professional Google Docs report using a predefined template, making the intelligence easily digestible for your team. Team Notification: Stakeholders (sales leads, marketing managers) receive automated notifications via Slack (or email), alerting them to the new report and key insights. Strategic Data Storage & Utilization: All analyzed insights are stored in a central database (e.g., PostgreSQL). This builds a historical record for long-term trend analysis and can optionally trigger sub-workflows to generate personalized sales talking points directly relevant to ongoing deals or specific prospects. --- Setup Steps ๐Ÿ› ๏ธ (Building the Workflow) To implement this sophisticated workflow in your n8n instance, follow these detailed steps: Prepare Your Digital Assets & Accounts: Google Sheet (Optional, if using for CRM data): For simpler CRM, create a sheet with CompetitorName, LastAnalyzedDate, Strengths, Weaknesses, Opportunities, Threats, SalesTalkingPoints. API Keys & Credentials: OpenAI API Key: Essential for the AI analysis. Web Scraping Service API Key: For services like Apify, Crawlbase, or similar (e.g., Bright Data, ScraperAPI). Database Access: Credentials for your PostgreSQL/MySQL database. Ensure you've created necessary tables (competitorprofiles, markettrends) with appropriate columns. Google Docs Credential: To link n8n to your Google Drive for report generation. Create a template Google Doc with placeholders (e.g., {{competitorName}}, {{strengths}}). Slack Credential: For sending team notifications to specific channels. CRM API Key (Optional): If directly integrating with HubSpot, Salesforce, or custom CRM via API. Identify Data Sources for Intelligence: Compile a list of competitor website URLs you want to monitor (e.g., pricing pages, blog sections, news). Identify relevant online review platforms (e.g., G2, Capterra) for competitor products. Gather RSS Feed URLs from key industry news sources, tech blogs, and competitor's own blogs. Define keywords for general market trends or competitor mentions, if using tools that provide RSS feeds (like Google Alerts). Build the n8n Workflow (10 Key Nodes): Start a new workflow in n8n and add the following nodes, configuring their parameters and connections carefully: Cron (Scheduled Analysis Trigger): Set this to trigger daily or weekly at a specific time (e.g., Every Week, At Hour: 0, At Minute: 0). HTTP Request (Fetch Competitor Web Data): Configure this to call your chosen web scraping service's API. Set Method to POST, URL to the service's API endpoint, and build the JSON/Raw Body with the startUrls (competitor websites, review sites) for scraping, including your API Key in Authentication (e.g., Header Auth). RSS Feed (Fetch News & Blog RSS): Add the URLs of competitor blogs and industry news RSS feeds. Merge (Combine Data Sources): Connect inputs from both Fetch Competitor Web Data and Fetch News & Blog RSS. Use Merge By Position. Code (Pre-process Data for AI): Write JavaScript code to iterate through merged items, extract relevant text content, perform basic cleaning (e.g., HTML stripping), and limit text length for AI input. Output should be an array of objects with content, title, url, and source. OpenAI (AI Analysis & Competitor Insights): Select your OpenAI credential. Set Resource to Chat Completion and Model to gpt-4o. In Messages, create a System message defining AI's role and a User message containing the dynamic prompt (referencing {{ $json.map(item => ... ).join('\\n\\n') }} for content, title, url, source) and requesting a structured JSON output for analysis. Set Output to Raw Data. Google Docs (Generate Market Intelligence Report): Select your Google Docs credential. Set Operation to Create document from template. Provide your Template Document ID and map the Values from the parsed AI output (using JSON.parse($json.choices[0].message.content).PropertyName) to your template placeholders. Slack (Sales & Marketing Team Notification): Select your Slack credential. Set Chat ID to your team's Slack channel ID. Compose the Text message, referencing the report link ({{ $json.documentUrl }}) and key AI insights (e.g., {{ JSON.parse($json.choices[0].message.content).Competitor_Name }}). PostgreSQL (Store Insights to Database): Select your PostgreSQL credential. Set Operation to Execute Query. Write an INSERT ... ON CONFLICT DO UPDATE SQL query to store the AI insights into your competitorprofiles or markettrends table, mapping values from the parsed AI output. OpenAI (Generate Personalized Sales Talking Points - Optional Branch): This node can be part of the main workflow or a separate, manually triggered workflow. Configure it similarly to the main AI node, but with a prompt tailored to generate sales talking points based on a specific sales context and the stored insights. Final Testing & Activation: Run a Test: Before going live, manually trigger the workflow from the first node. Carefully review the data at each stage to ensure correct processing and output. Verify that reports are generated, notifications are sent, and data is stored correctly. Activate Workflow: Once testing is complete and successful, activate the workflow in n8n. This system will empower your IT company's sales team with invaluable, data-driven intelligence, enabling them to close more deals and stay ahead in the market.

MarthBy Marth
910

Create & publish YouTube Shorts on historical what-ifs with GPT-4o & Blotato

Workflow Description: Automated YouTube Short Viral History (Blotato + GPT-4.1) This workflow is a powerful, self-sustaining end-to-end content automation pipeline designed to feed your YouTube Shorts channel with consistent, high-quality, and highly engaging videos focused on "What if history..." scenarios. This solution completely eliminates manual intervention across the creative, production, and publishing stages. It expertly links the creative power of a GPT-4o AI Agent with the video rendering capabilities of the Blotato API, all orchestrated by n8n. How It Works The automation runs through a five-step, scheduled process: Trigger and Idea Generation: The Schedule Trigger starts the workflow (default is 10:00 AM daily). The AI Agent (GPT-4o) acts as a copywriter/researcher, automatically brainstorming a random "What if history..." topic, researching relevant facts, and formulating a viral, hook-driven 60-second video script, along with a title and caption. Visual Production Request: The formatted script is sent to the Blotato API via the Create Video node. Blotato begins rendering the text-to-video short based on the pre-set style parameters (cinematic style, specific voice ID, and AI models). Status Check and Wait: The Wait node pauses the workflow, and the Get Video node continually checks the Blotato system until the video rendering status is confirmed as done. Media Upload: The completed video file is uploaded to the Blotato media library using an HTTP Request node, preparing it for publishing. Automated Publishing: The final YT Post node (another HTTP Request to the Blotato API) automatically publishes the video to your linked YouTube channel, using the video URL and the AI-generated title and short caption. Set Up Steps To activate and personalize this powerful content pipeline in n8n, follow these steps: OpenAI Credential: Ensure your OpenAI API key credential is created and connected to the Brainstorm Idea node (Language Model). The workflow uses GPT-4o by default. Blotato API Key: Obtain your Blotato API Key. Open the Prepare Video node and manually insert your Blotato API Key into the blotatoapikey field. YouTube Account ID: Find the Account ID (or Channel ID) for the YouTube channel you want to post to. Open the Prepare for Publish node and manually insert your YouTube Account ID into the youtube_id field. Customize Video Style (Optional): If desired, adjust the visual aesthetic by modifying parameters in the Prepare Video node, such as: voiceId: To change the video narrator. style: To change the visual theme (e.g., from cinematic to documentary). texttoimagemodel and imagetovideomodel: To change the underlying AI generation models. Activate Workflow: Save the workflow and toggle the main switch to Active. The first video will be created and published on the next scheduled run.

MarthBy Marth
777

Monitor CISA critical vulnerability alerts with RSS feed & Slack notifications

--- How It Works: The 5-Node Monitoring Flow This concise workflow efficiently captures, filters, and delivers crucial cybersecurity-related mentions. Monitor: Cybersecurity Keywords (X/Twitter Trigger) This is the entry point of your workflow. It actively searches X (formerly Twitter) for tweets containing the specific keywords you define. Function: Continuously polls X for tweets that match your specified queries (e.g., your company name, "Log4j," "CVE-2024-XXXX," "ransomware"). Process: As soon as a matching tweet is found, it triggers the workflow to begin processing that information. Format Notification (Code Node) This node prepares the raw tweet data, transforming it into a clean, actionable message for your alerts. Function: Extracts key details from the raw tweet and structures them into a clear, concise message. Process: It pulls out the tweet's text, the user's handle (@screen_name), and the direct URL to the tweet. These pieces are then combined into a user-friendly notificationMessage. You can also include basic filtering logic here if needed. Valid Mention? (If Node) This node acts as a quick filter to help reduce noise and prevent irrelevant alerts from reaching your team. Function: Serves as a simple conditional check to validate the mention's relevance. Process: It evaluates the notificationMessage against specific criteria (e.g., ensuring it doesn't contain common spam words like "bot"). If the mention passes this basic validation, the workflow continues. Otherwise, it quietly ends for that particular tweet. Send Notification (Slack Node) This is the delivery mechanism for your alerts, ensuring your team receives instant, visible notifications. Function: Delivers the formatted alert message directly to your designated communication channel. Process: The notificationMessage is sent straight to your specified Slack channel (e.g., cyber-alerts or security-ops). End Workflow (No-Op Node) This node simply marks the successful completion of the workflow's execution path. Function: Indicates the end of the workflow's process for a given trigger. --- How to Set Up Implementing this simple cybersecurity monitor in your n8n instance is quick and straightforward. Prepare Your Credentials Before building the workflow, ensure all necessary accounts are set up and their respective credentials are ready for n8n. X (Twitter) API: You'll need an X (Twitter) developer account to create an application and obtain your Consumer Key/Secret and Access Token/Secret. Use these to set up your Twitter credential in n8n. Slack API: Set up your Slack credential in n8n. You'll also need the Channel ID of the Slack channel where you want your security alerts to be posted (e.g., security-alerts or it-ops). Import the Workflow JSON Get the workflow structure into your n8n instance. Import: In your n8n instance, go to the "Workflows" section. Click the "New" or "+" icon, then select "Import from JSON." Paste the provided JSON code (from the previous response) into the import dialog and import the workflow. Configure the Nodes Customize the imported workflow to fit your specific monitoring needs. Monitor: Cybersecurity Keywords (X/Twitter): Click on this node. Select your newly created Twitter Credential. CRITICAL: Modify the "Query" parameter to include your specific brand names, relevant CVEs, or general cybersecurity terms. For example: "YourCompany" OR "CVE-2024-1234" OR "phishing alert". Use OR to combine multiple terms. Send Notification (Slack): Click on this node. Select your Slack Credential. Replace "YOURSLACKCHANNEL_ID" with the actual Channel ID you noted earlier for your security alerts. (Optional: You can adjust the "Valid Mention?" node's condition if you find specific patterns of false positives in your search results that you want to filter out.)* Test and Activate Verify that your workflow is working correctly before setting it live. Manual Test: Click the "Test Workflow" button (usually in the top right corner of the n8n editor). This will execute the workflow once. Verify Output: Check your specified Slack channel to confirm that any detected mentions are sent as notifications in the correct format. If no matching tweets are found, you won't see a notification, which is expected. Activate: Once you're satisfied with the test results, toggle the "Active" switch (usually in the top right corner of the n8n editor) to ON. Your workflow will then automatically monitor X (Twitter) at the specified polling interval. ---

MarthBy Marth
748

Track real estate market pain points with Apify, GPT-4o and Telegram alerts

How it works This workflow runs on a daily schedule. It starts by scraping real estate-related queries from Google using Apify. The organic search results are parsed and summarized into a single text block. That text is then sent to an AI model (GPT-4o) which extracts the top 3 pain points faced by real estate agents based on current online sentiment. The workflow compares today's insights with yesterday's data stored in Airtable to detect recurring or new pain points. Finally, it sends a summary notification via Telegram and stores the current day's insights into Airtable for trend tracking. How to set up Clone or import the workflow into your n8n instance. Get an Apify API token and insert it into the HTTP Request node. Create an Airtable base with a table containing two fields: "Date" (text) and "Summary" (long text). Copy the Base ID and Table ID into the Airtable nodes. Connect your Telegram bot and replace the chat ID in the Telegram node. Set up OpenAI credentials with GPT-4o or GPT-4o-mini for the LLM node. Run once manually to test, then activate the schedule trigger to run daily. (Optional) Extend the flow to generate cold outreach emails based on pain points, or sync to Notion/CRM.

MarthBy Marth
726

Monitor cybersecurity brand mentions on X and send alerts to Slack

--- How It Works: The 5-Node Monitoring Flow This concise workflow efficiently captures, filters, and delivers crucial cybersecurity-related mentions. Monitor: Cybersecurity Keywords (X/Twitter Trigger) This is the entry point of your workflow. It actively searches X (formerly Twitter) for tweets containing the specific keywords you define. Function: Continuously polls X for tweets that match your specified queries (e.g., your company name, "Log4j," "CVE-2024-XXXX," "ransomware"). Process: As soon as a matching tweet is found, it triggers the workflow to begin processing that information. Format Notification (Code Node) This node prepares the raw tweet data, transforming it into a clean, actionable message for your alerts. Function: Extracts key details from the raw tweet and structures them into a clear, concise message. Process: It pulls out the tweet's text, the user's handle (@screen_name), and the direct URL to the tweet. These pieces are then combined into a user-friendly notificationMessage. You can also include basic filtering logic here if needed. Valid Mention? (If Node) This node acts as a quick filter to help reduce noise and prevent irrelevant alerts from reaching your team. Function: Serves as a simple conditional check to validate the mention's relevance. Process: It evaluates the notificationMessage against specific criteria (e.g., ensuring it doesn't contain common spam words like "bot"). If the mention passes this basic validation, the workflow continues. Otherwise, it quietly ends for that particular tweet. Send Notification (Slack Node) This is the delivery mechanism for your alerts, ensuring your team receives instant, visible notifications. Function: Delivers the formatted alert message directly to your designated communication channel. Process: The notificationMessage is sent straight to your specified Slack channel (e.g., cyber-alerts or security-ops). End Workflow (No-Op Node) This node simply marks the successful completion of the workflow's execution path. Function: Indicates the end of the workflow's process for a given trigger. --- How to Set Up Implementing this simple cybersecurity monitor in your n8n instance is quick and straightforward. Prepare Your Credentials Before building the workflow, ensure all necessary accounts are set up and their respective credentials are ready for n8n. X (Twitter) API: You'll need an X (Twitter) developer account to create an application and obtain your Consumer Key/Secret and Access Token/Secret. Use these to set up your Twitter credential in n8n. Slack API: Set up your Slack credential in n8n. You'll also need the Channel ID of the Slack channel where you want your security alerts to be posted (e.g., security-alerts or it-ops). Import the Workflow JSON Get the workflow structure into your n8n instance. Import: In your n8n instance, go to the "Workflows" section. Click the "New" or "+" icon, then select "Import from JSON." Paste the provided JSON code (from the previous response) into the import dialog and import the workflow. Configure the Nodes Customize the imported workflow to fit your specific monitoring needs. Monitor: Cybersecurity Keywords (X/Twitter): Click on this node. Select your newly created Twitter Credential. CRITICAL: Modify the "Query" parameter to include your specific brand names, relevant CVEs, or general cybersecurity terms. For example: "YourCompany" OR "CVE-2024-1234" OR "phishing alert". Use OR to combine multiple terms. Send Notification (Slack): Click on this node. Select your Slack Credential. Replace "YOURSLACKCHANNEL_ID" with the actual Channel ID you noted earlier for your security alerts. (Optional: You can adjust the "Valid Mention?" node's condition if you find specific patterns of false positives in your search results that you want to filter out.)* Test and Activate Verify that your workflow is working correctly before setting it live. Manual Test: Click the "Test Workflow" button (usually in the top right corner of the n8n editor). This will execute the workflow once. Verify Output: Check your specified Slack channel to confirm that any detected mentions are sent as notifications in the correct format. If no matching tweets are found, you won't see a notification, which is expected. Activate: Once you're satisfied with the test results, toggle the "Active" switch (usually in the top right corner of the editor) to ON. Your workflow will now automatically monitor X (Twitter) at the specified polling interval. ---

MarthBy Marth
681

Revive expired real estate listings with OpenAI and Gmail follow-ups

How it works This automation helps revive expired property listings by: Reading listing data from a Google Sheet that tracks all properties. Filtering listings where the last_activity date is older than 30 days. Generating a personalized email using OpenAI (GPT-4) to re-engage the owner. Sending the email to the property owner using Gmail or SMTP. (Optional): Updating the listing's status to followed_up in the Sheet once the email is sent. This workflow ensures no opportunity is missed by proactively reactivating cold leads. Set Up Steps Prepare your Google Sheet Create a Google Sheet with these columns: title, ownername, email, propertytype, location, last_activity Fill in sample data for testing. Connect Google Sheets in n8n Add a Google Sheets node. Use the "Read Rows" operation to load the listing data. Filter listings inactive for 30+ days Use a Set node to convert last_activity to a Date. Add an IF node or Code node to check if the listing is older than 30 days. Generate email content with OpenAI Add an OpenAI node. Use dynamic input (e.g. owner name, property type) to create a follow-up message. Send the email Add a Gmail node or SMTP node to send the email to the property owner. (Optional) Update status Use a Google Sheets "Update Row" node to change the listing's status to followed_up. Test the full workflow Manually trigger the workflow or schedule it to run daily/weekly.

MarthBy Marth
600

Automate real estate property tours with Google Calendar, Slack & Calendly

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 'YOURCALENDLYBASELINKFOR_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 YOURGMAILCREDENTIAL_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 YOURGOOGLECALENDARCREDENTIALID with the actual ID or name of your credential. Calendar ID: Replace YOURAGENTCALENDAR_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 YOURAGENTSLACKCHANNELIDORNAME 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 YOURTIMEZONELIKEAsia/Jakarta with your actual timezone (e.g., America/NewYork, 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!

MarthBy Marth
596

Automated invoice follow-ups with smart response tones via Google Sheets & email

๐Ÿ” How It Works This AI Agent checks your invoice database (Google Sheets) daily and looks for unpaid invoices that are past their due date. It calculates how many days each invoice is overdue (Days Past Due / DPD), then automatically crafts a follow-up message with an appropriate tone: 1โ€“7 days overdue: Friendly reminder 8โ€“14 days overdue: Slightly firm nudge 15+ days overdue: Final warning tone After generating the message, it sends the follow-up via email to the client and logs the interaction. You can extend this to send WhatsApp messages, Slack alerts, or update a CRM. โš™๏ธ Set Up Steps Connect Google Sheets : Replace YOURSHEETID in the workflow with the actual Sheet ID Make sure your sheet has these columns: clientname, email, invoicenumber, due_date, status Adjust Cron Trigger By default, it runs daily โ€” you can change the frequency in the โ€œDaily Triggerโ€ node. Configure Email Node Set your email sender (Gmail, SMTP, or Mailgun) in the โ€œSend Emailโ€ node. Customize Messages (Optional) Modify tone and content in the โ€œGenerate Messageโ€ node based on your brand style. Run & Monitor Activate the workflow Monitor activity in Google Sheets or add a logging step (Notion, Slack, etc.)

MarthBy Marth
539

Monitor domains & IPs on AbuseIPDB blacklist with Slack alerts

โš™ How It Works The automated blacklist monitor is designed to be a proactive, not reactive, tool. Here is the high-level process: Scheduled Checks: At regular intervals (e.g., every 30 minutes or every hour), a monitoring script or service sends a request to a list of predefined DNS blacklists (DNSBLs) and real-time blackhole lists (RBLs). Lookup Queries: For each check, the system performs a lookup query for our specified domains and IP addresses against the various blacklists. It essentially asks, "Is our-ip-address.com on your list?" Status Evaluation: The blacklist service responds with a status: either the asset is clean or it is listed. Alerting Mechanism: If a new listing is detected, the system immediately triggers a notification. This alert contains key information like the asset that was blacklisted (domain or IP), the specific blacklist it was found on (e.g., Spamhaus), and the time of detection. Status Logging: The status of each asset (clean or listed) is logged in a central dashboard. This allows us to track the history of an IP or domain, see when a listing occurred, and when it was resolved. --- Setup Steps Follow these steps to set up the automated blacklist monitor. Select a Service: Choose a reliable blacklist monitoring service. Services like MXToolBox, HetrixTools, or Uptime Robot (with custom checks) are popular options. Create an Account: Sign up and create an account for your organization on the chosen platform. Add Monitored Assets: Navigate to the "Monitors" or "Assets" section within the service's dashboard. Add all of the following: Your primary domain names (e.g., yourcompany.com). All outbound mail server IP addresses. Any other publicly facing IP addresses associated with your business. Configure Notification Channels: Set up how and where you want to receive alerts. The best practice is to configure multiple channels for redundancy: Email: Send alerts to a group alias like security@yourcompany.com or it-alerts@yourcompany.com. Chat/IM: Integrate with a communication tool like Slack or Microsoft Teams and create a dedicated channel (e.g., blacklist-alerts). Ticketing System: Configure the service to automatically open a ticket in your help desk software (e.g., Jira, ServiceNow) when a new listing is found. Set Up Check Frequency: Configure how often you want the system to perform checks. A frequency of every 15 to 30 minutes is a good starting point for a high-priority service like email. Create a Runbook: A runbook is a document that outlines the steps to take when an alert is received. Create and share a runbook with your team that includes: Confirmation: How to verify the listing. Investigation: Initial steps to find the root cause (e.g., checking mail logs for spam). Delisting: How to submit a delisting request to the specific blacklist provider. Initial Testing: Once everything is configured, perform a manual check to ensure the system is working and that all notification channels are active. You can often do this with a "test check" button within the monitoring service's dashboard.

MarthBy Marth
489

Automate client project onboarding with Google Drive, Gmail, and Slack notifications

โš™๏ธ How it works Workflow starts from a manual trigger or form submission with project details. It extracts key input data like client name, email, project type, deadline, and brand folder (optional). A Google Drive folder is automatically created inside a designated parent folder. The shareable link of the newly created folder is generated. A personalized email is composed and sent to the client using Gmail, including project details and folder link. ๐Ÿ› ๏ธ Set up steps Google Drive Setup: Connect your Google Drive credentials in n8n. Set the parent folder ID where all project folders should be created. Gmail Setup: Connect a Gmail account with proper access. Customize the subject and message template in the Gmail node. Input Data Preparation: Ensure the following input fields are provided: client_name contact_email project_type deadline branddrivefolder (optional) Test & Deploy: Use mock data or a test trigger to validate the workflow. Once confirmed, deploy it with the actual trigger (e.g. webhook, form submission).

MarthBy Marth
357