by Olivier
This template syncs prospects from ProspectPro into HubSpot. It checks if a company already exists in HubSpot (by ProspectPro ID or domain), then updates the record or creates a new one. Sync results are logged back in ProspectPro with tags to prevent duplicates and mark errors, ensuring reliable and repeatable integrations. ✨ Features Automatically sync ProspectPro prospects to HubSpot companies Smart search logic: match by ProspectPro ID first, then by domain Creates new HubSpot companies when no match is found Updates existing HubSpot companies with latest ProspectPro data Logs sync results back into ProspectPro with tags (HubspotSynced, HubspotSyncFailed) Extendable and modular: use as a trigger workflow or callable sub-flow ⚙ Requirements n8n instance or cloud workspace Install the ProspectPro Verified Community Node ProspectPro account & API credentials (14-day free trial) HubSpot account with OAuth2 app and API credentials 🔧 Setup Instructions Import the template and set your credentials (ProspectPro, HubSpot). Connect to a trigger (e.g., ProspectPro "New website visitor") or call as a sub-workflow. Add a propery to Hubspot for the ProspectPro ID if you don't already have one Adjust sync logic in the "Continue?"-node and HubSpot fields to match your setup. Optional: extend error handling, add Slack/CRM notifications, or sync back HubSpot data into ProspectPro. 🔐 Security Notes Prevents re-processing of failed syncs using the HubspotSyncFailed tag Error branches included for failed updates/creates Manual resolution required if sync errors persist 🧪 Testing Run with a ProspectPro ID of a company with a known domain Check HubSpot for creation or update of the company record Verify updated tags (HubspotSynced / HubspotSyncFailed) in ProspectPro 📌 About ProspectPro ProspectPro is a B2B Prospecting Platform for Dutch SMEs. It helps sales teams identify prospects, track website visitors, and streamline sales without a full CRM. Website: https://www.prospectpro.nl Platform: https://mijn.prospectpro.nl API docs: https://www.docs.bedrijfsdata.nl Support: https://www.prospectpro.nl/klantenservice Support hours: Monday–Friday, 09:00–17:00 CET 📌 About HubSpot HubSpot is a leading CRM platform offering marketing, sales, and customer service tools. It helps companies manage contacts, automate workflows, and grow their customer base. Website: https://www.hubspot.com Developer Docs: https://developers.hubspot.com
by iamvaar
This workflow automates the process of handling bug reports submitted through a form, from checking for duplicates on GitHub to logging the report and sending a notification. 1. A Bug is Reported 🐛 Trigger:* The entire process kicks off when a user submits a bug report through a *JotForm**. This form collects the user's name, email, and a description of the bug. 2. The AI Agent Gets to Work 🤖 Action:* The submitted bug description is sent to an *AI Agent** powered by Google Gemini. Intelligence:** The agent has a clear set of instructions: Check for Duplicates: It first connects to a specific GitHub repository (iamvaar-dev/pomodoro-timer) and checks if an issue matching the bug description already exists. Create a New Issue: If it's a new bug (not found on GitHub), the agent automatically creates a new issue in the repository. Report Back: The agent then neatly packages its findings into a structured JSON format, noting the issue's details and whether it was already present on GitHub. 3. Log Everything in Google Sheets 📝 Action:* The information from the JotForm submission and the AI Agent's analysis is sent to a *Google Sheet**. Purpose:** This step creates a clean log of all submitted bugs, including who submitted them and whether a new GitHub issue was created for them. 4. Prepare a Smart Notification 📣 Action:* A small piece of *JavaScript code** runs to create a custom notification message. Logic:** The message is dynamic: If the bug was already on GitHub, the message will say something like, "An issue was submitted, but it's already reported. No action is needed." ✅ If the bug was new, the message will be more urgent, like, "A new bug was reported and an issue has been created on GitHub. Please review it." ❗ 5. Send the Alert via Telegram 📲 Final Step:* The custom message created in the previous step is sent to a specific *Telegram chat** using a bot. This instantly notifies the relevant people about the new bug report and what action (if any) is required.
by Peyton Leveillee
Created by: Peyton Leveillee Last updated: October 2025 🧠 TL;DR Marketing companies charge hundreds or even thousands per month for automated “Google Business Pulse” reports that show visibility, reviews, and engagement trends. Now you can do it for free — right inside n8n. This workflow pulls Google Business data, compares weekly and 12-week trends, runs it through an LLM for insight summaries, and sends out Slack updates and weekly email reports — automatically. 🔥 Name: Google Pulse Pro Your AI marketing analyst that runs 24/7 — no subscription, no fluff. 🧩 Categories Business Intelligence Marketing Automation AI Summarization Multichannel Reporting 💬 Overview Google Pulse Pro automates weekly Google Business reporting for multiple companies or locations. It combines data collection, trend analysis, and AI commentary into a fully automated system — delivering updates through Slack and email. Perfect for agencies or businesses that want client-ready, insight-driven updates without paying for SaaS dashboards. ⚙️ Good to Know Uses OpenAI Chat Models for summarization and insights Integrates Google Business API, Google Sheets, Slack, and Email (Gmail or SMTP) Compares this week vs last week and 12-week averages Outputs LLM-generated summaries formatted for Slack Blocks and email templates 100% no-code friendly — ready to deploy instantly 🧠 How It Works Read Companies (Google Sheets) Loads company info, Google Business IDs, Slack channels, and recipient emails. Pull Google Business Data Queries the Google Business API for impressions, actions, CTR, and reviews across: This week Last week 12-week average Summarize & Compare Code nodes calculate trends and append results back to Google Sheets. AI Summaries (OpenAI) Three separate LLMs generate insight lines: Impressions one-liner → Visibility & engagement shifts Reviews one-liner → Sentiment & reputation trends Overall one-liner → Combined marketing summary Format & Distribute All one-liners merge per company. Recipients are attached, and messages are formatted for output. Send Reports Slack: Beautifully formatted updates via Slack Blocks Email: Branded Weekly Google Business Pulse summaries 📈 Example Output Slack Message: Weekly Google Reviews & Impressions Brad’s Service Center Sept 22–28, 2025 • Impressions down 41% vs last week • CTR 3pp lower than 12-week avg • 2 new reviews, 100% positive sentiment Email Pulse: 🧾 Requirements Google Business API credential** (OAuth2) Google Sheets credential** (OAuth2) Slack credential** (OAuth2) — chat:write, users:read, channels:read Gmail or SMTP credential** (for email pulse delivery) OpenAI credential** (for summaries) ✏️ Customizing Add other KPIs (Google Ads, GA4, POS data) Adjust scheduling cadence (daily, bi-weekly, monthly) Send reports to Notion, Airtable, or HubSpot Update Slack + email branding for your agency 💡 Use Cases Agencies automating client reporting Multi-location businesses monitoring reputation Service centers tracking performance trends Anyone tired of paying for “Google Business Pulse” dashboards 🎯 Why It Matters Most marketing firms hide behind “AI dashboards” to sell visibility reports. Google Pulse Pro gives you that same power — automated, AI-enhanced, and free. Unchain your reporting. Impress clients. And keep your marketing dollars where they belong — in your business.
by Oneclick AI Squad
This n8n workflow helps users easily discover nearby residential construction projects by automatically scraping and analyzing property listings from 99acres and other real estate platforms. Users can send an email with their location preferences and receive a curated list of available properties with detailed information, including pricing, area, possession dates, and construction status. Good to know The workflow focuses specifically on residential construction projects and active developments Property data is scraped in real-time to ensure the most current information Results are automatically formatted and structured for easy reading The system handles multiple property formats and data variations from different sources Fallback mechanisms ensure reliable data extraction even when website structures change How it works Trigger: New Email** - Detects incoming emails with property search requests and extracts location preferences from email content Extract Area & City** - Parses the email body to identify target areas (e.g., Gota, Ahmedabad) and falls back to city-level search if specific area is not mentioned Scrape Construction Projects** - Performs web scraping on 99acres and other property websites based on the extracted area and city information Parse Project Listings** - Cleans and formats the scraped HTML data into structured project entries with standardized fields Format Project Details** - Transforms all parsed projects into a consistent email-ready list format with bullet points and organized information Send Results to User** - Delivers a professionally formatted email with the complete list of matching construction projects to the original requester Email Format Examples Input Email Format To: properties@yourcompany.com Subject: Property Search Request Hi, I am interested in buying a flat. Can you please send me the list of available properties in Gota, Ahmedabad? Output Email Example Subject: 🏘️ Property Search Results: 4 Projects Found in Gota, Ahmedabad 🏘️ Available Construction Projects in Gota, Ahmedabad Search Area: Gota, Ahmedabad Total Projects: 4 Search Date: August 4, 2025 📋 PROJECT LISTINGS: 🔷 Project 1 🏠 Name: Vivaan Oliver offers 🏢 BHK: 3 BHK 💰 Price: N/A 📐 Area: 851.0 Sq.Ft 🗓️ Possession: August 2025 📊 Status: under construction 📍 Location: Thaltej, Ahmedabad West 🕒 Scraped Date: 2025-08-04 🔷 Project 2 🏠 Name: Vivaan Oliver offers 🏢 BHK: 3 BHK 💰 Price: Price on Request 📐 Area: 891 Sq Ft 🗓️ Possession: N/A 📊 Status: Under Construction 📍 Location: Thaltej, Ahmedabad West 🕒 Scraped Date: 2025-08-04 🔷 Project 3 🏠 Name: It offers an exclusive range of 🏢 BHK: 3 BHK 💰 Price: N/A 📐 Area: 250 Sq.Ft 🗓️ Possession: 0 2250 📊 Status: Under Construction 📍 Location: Thaltej, Ahmedabad West 🕒 Scraped Date: 2025-08-04 🔷 Project 4 🏠 Name: N/A 🏢 BHK: 2 BHK 💰 Price: N/A 📐 Area: N/A 🗓️ Possession: N/A 📊 Status: N/A 📍 Location: Thaltej, Ahmedabad West 💡 Next Steps: • Contact builders directly for detailed pricing and floor plans • Schedule site visits to shortlisted properties • Verify possession timelines and construction progress • Compare amenities and location advantages 📞 For more information or specific requirements, reply to this email. How to use Setup Instructions Import the workflow into your n8n instance Configure Email Credentials: Set up email trigger for incoming property requests Set up SMTP credentials for sending property listings Configure Web Scraping: Ensure proper headers and user agents for 99acres access Set up fallback mechanisms for different property websites Test the workflow with sample property search emails Sending Property Search Requests Send an email to your configured property search address Include location details in natural language (e.g., "Gota, Ahmedabad") Optionally specify preferences like BHK, budget, or amenities Receive detailed property listings within minutes Requirements n8n instance** (cloud or self-hosted) with web scraping capabilities Email account** with IMAP/SMTP access for automated communication Reliable internet connection** for real-time property data scraping Valid target websites** (99acres, MagicBricks, etc.) access Troubleshooting No properties found**: Verify area spelling and check if the location has active listings Scraping errors**: Update user agents and headers if websites block requests Duplicate results**: Implement better deduplication logic based on property names and locations Email parsing issues**: Test with various email formats and improve regex patterns Website structure changes**: Implement fallback parsers and regular monitoring of scraping success rates
by Rakin Jakaria
Who this is for This workflow is for freelancers, job seekers, or service providers who want to automatically apply to businesses by scraping their website information, extracting contact details, and sending personalized job application emails with AI-powered content — all from one form submission. What this workflow does This workflow starts every time someone submits the Job Applier Form. It then: Scrapes the target business website** to gather company information and contact details. Converts HTML content** to readable markdown format for better AI processing. Extracts email addresses* and creates a company summary using *GPT-5 AI**. Validates email addresses** to ensure they contain proper formatting (@ symbol check). Accesses your experience data* from a connected *Google Sheet** with your skills and portfolio. Generates personalized application emails* (subject + body) using *GPT-5** based on the job position and company info. Sends the application email* automatically via *Gmail** with your name as sender. Provides confirmation** through a completion form showing the AI's response. Setup To set this workflow up: Form Trigger – Customize the job application form fields (Target Business Website, Applying As dropdown with positions like Video Editor, SEO Expert, etc.). OpenAI GPT-5 – Add your OpenAI API credentials for both AI models used in the workflow. Google Sheets – Connect your sheet containing your working experience data, skills, and portfolio information. Gmail Account – Link your Gmail account for sending application emails automatically. Experience Data – Update the Google Sheet with your relevant skills, experience, and achievements for each job type. Sender Name – Modify the sender name in Gmail settings (currently set to "Jamal Mia"). How to customize this workflow to your needs Add more job positions to the dropdown menu (currently includes Video Editor, SEO Expert, Full-Stack Developer, Social Media Manager). Modify the AI prompt to reflect your unique value proposition and application style. Enhance email validation with additional checks like domain verification or email format patterns. Add follow-up scheduling to automatically send reminder emails after a certain period. Include attachment functionality to automatically attach your resume or portfolio to applications. Switch to different email providers or add multiple sender accounts for variety.
by Wolf Bishop
A reliable, no-frills web scraper that extracts content directly from websites using their sitemaps. Perfect for content audits, migrations, and research when you need straightforward HTML extraction without external dependencies. How It Works This streamlined workflow takes a practical approach to web scraping by leveraging XML sitemaps and direct HTTP requests. Here's how it delivers consistent results: Direct Sitemap Processing: The workflow starts by fetching your target website's XML sitemap and parsing it to extract all available page URLs. This eliminates guesswork and ensures comprehensive coverage of the site's content structure. Robust HTTP Scraping: Each page is scraped using direct HTTP requests with realistic browser headers that mimic legitimate web traffic. The scraper includes comprehensive error handling and timeout protection to handle various website configurations gracefully. Intelligent Content Extraction: The workflow uses sophisticated JavaScript parsing to extract meaningful content from raw HTML. It automatically identifies page titles through multiple methods (title tags, Open Graph metadata, H1 headers) and converts HTML structure into readable text format. Framework Detection: Built-in detection identifies whether sites use WordPress, Divi themes, or heavy JavaScript frameworks. This helps explain content extraction quality and provides valuable insights about the site's technical architecture. Rich Metadata Collection: Each scraped page includes detailed metadata like word count, HTML size, response codes, and technical indicators. This data is formatted into comprehensive markdown files with YAML frontmatter for easy analysis and organization. Respectful Rate Limiting: The workflow includes a 3-second delay between page requests to respect server resources and avoid overwhelming target websites. The processing is sequential and controlled to maintain ethical scraping practices. Detailed Success Reporting: Every scraped page generates a report showing extraction success, potential issues (like JavaScript dependencies), and technical details about the site's structure and framework. Setup Steps Configure Google Drive Integration Connect your Google Drive account in the "Save to Google Drive" node Replace YOUR_GOOGLE_DRIVE_CREDENTIAL_ID with your actual Google Drive credential ID Create a dedicated folder for your scraped content in Google Drive Copy the folder ID from the Google Drive URL (the long string after /folders/) Replace YOUR_GOOGLE_DRIVE_FOLDER_ID_HERE with your actual folder ID in both the folderId field and cachedResultUrl Update YOUR_FOLDER_NAME_HERE with your folder's actual name Set Your Target Website In the "Set Sitemap URL" node, replace https://yourwebsitehere.com/page-sitemap.xml with your target website's sitemap URL Common sitemap locations include /sitemap.xml, /page-sitemap.xml, or /sitemap_index.xml Tip: Not sure where your sitemap is? Use a free online tool like https://seomator.com/sitemap-finder Verify the sitemap URL loads correctly in your browser before running the workflow Update Workflow IDs (Automatic) When you import this workflow, n8n will automatically generate new IDs for YOUR_WORKFLOW_ID_HERE, YOUR_VERSION_ID_HERE, YOUR_INSTANCE_ID_HERE, and YOUR_WEBHOOK_ID_HERE No manual changes needed for these placeholders Adjust Processing Limits (Optional) The "Limit URLs (Optional)" node is currently disabled for full site scraping Enable this node and set a smaller number (like 5-10) for initial testing For large websites, consider running in batches to manage processing time and storage Customize Rate Limiting (Optional) The "Wait Between Pages" node is set to 3 seconds by default Increase the delay for more respectful scraping of busy sites Decrease only if you have permission and the target site can handle faster requests Test Your Configuration Enable the "Limit URLs (Optional)" node and set it to 3-5 pages for testing Click "Test workflow" to verify the setup works correctly Check your Google Drive folder to confirm files are being created with proper content Review the generated markdown files to assess content extraction quality Run Full Extraction Disable the "Limit URLs (Optional)" node for complete site scraping Execute the workflow and monitor the execution log for any errors Large websites may take considerable time to process completely (plan for several hours for sites with hundreds of pages) Review Results Each generated file includes technical metadata to help you assess extraction quality Look for indicators like "Limited Content" warnings for JavaScript-heavy pages Files include word counts and framework detection to help you understand the site's structure Framework Compatibility: This scraper is specifically designed to work well with WordPress sites, Divi themes, and many JavaScript-heavy frameworks. The intelligent content extraction handles dynamic content effectively and provides detailed feedback about framework detection. While some single-page applications (SPAs) that render entirely through JavaScript may have limited content extraction, most modern websites including those built with popular CMS platforms will work excellently with this scraper. Important Notes: Always ensure you have permission to scrape your target website and respect their robots.txt guidelines. The workflow includes respectful delays and error handling, but monitor your usage to maintain ethical scraping practices.RetryClaude can make mistakes. Please double-check responses.
by Rosh Ragel
What It Does This workflow reads Gmail threads labeled Invoice Needed, extracts invoice and client details using an AI agent, and creates a draft invoice in QuickBooks Online. It then downloads the invoice as a PDF and drafts a reply email with the invoice attached — all automatically. Perfect for freelancers, agencies, or small businesses looking to streamline client billing from email. Prerequisites To use this workflow, you’ll need: A Gmail OAuth2 credential A QuickBooks OAuth2 credential An OpenAI credential (for AI-powered data extraction) How to Label Threads In Gmail, apply the label Invoice Needed to any email thread that contains details for an invoice request. The workflow will process only those threads. How It Works Trigger: The workflow runs on a schedule (e.g., every hour) Fetch Emails: Gmail node pulls all threads with the Invoice Needed label Group Messages: Emails in each thread are grouped together AI Extraction: An OpenAI-powered agent extracts client info, billing address, invoice amount, and description Add a New Client: This node will attempt to create a new client in QuickBooks Find Existing Client If the client already exists, this node will find the client's id Create Invoice: An invoice is created based on the extracted details Download PDF: The invoice is saved as a PDF Draft Reply: A Gmail draft is created with a template message and the invoice attached Remove Label: The processed thread is untagged to avoid duplicates Example Use Cases Automatically generate invoices from client emails Use AI to extract invoice data without manual input Ensure consistent and timely billing Create a paper trail with attached PDFs in replies Free up your inbox by processing and clearing labeled threads How to Use Set your schedule (e.g., every hour or more often if needed) Select a product in the Create A New Invoice node Ask the client to provide invoice details if needed (company name, billing address) Add the Invoice Needed label to threads manually, via a Gmail filter or via another workflow Review and send the drafted replies in Gmail Optionally, add your branding or custom template to the email message Optimization Instructions: For larger companies with frequent invoice requests, consider shortening the interval between workflow runs. This helps prevent the system from processing too many labeled threads at once, ensuring smoother performance and faster response times. Customization Options Add line multiple items based on the product or service purchased instead of a single invoice row Add conditional logic to skip certain threads Auto-send emails instead of saving drafts (after testing) Use custom prompts to extract additional fields Why It's Useful This workflow eliminates the manual labor of crafting invoices from scratch by automating the entire process—from email to invoice. It reduces the need to switch between multiple apps, since you no longer have to open QuickBooks Online to create an invoice. By streamlining your billing workflow, it saves time, minimizes errors, and lets you stay focused on your actual work while still keeping full control over outgoing communications.
by Marth
Okay, here are the "How It Works" and "Setup Steps" for your "Automated Social Media Content Distribution System," presented clearly in Markdown. How It Works (Workflow Stages) ⚙️ This system transforms manual, repetitive tasks into a smooth, automated content distribution pipeline: Content Submission & Trigger: You add a new row to your designated Google Sheet with all the content details (Title, URL, Short_Description, Image_URL, Hashtags, and boolean flags for which platforms to post to). The Google Sheets Trigger node immediately detects this new entry, initiating the workflow. Content Preparation: The Set node takes the raw data from your Google Sheet and formats it into a cohesive text string (social_media_text_core) that is suitable for posting across different social media platforms. Conditional Social Media Posting: A series of If nodes (Check Facebook Post, Check Twitter Post, Check LinkedIn Post) sequentially check your preferences (based on the Post_to_Facebook, Post_to_Twitter, Post_to_LinkedIn columns in your sheet). If a platform is marked TRUE, the corresponding social media node (Facebook, Twitter, LinkedIn) is activated to publish your content. If FALSE, that platform is skipped, and the workflow moves to the next check. Status Update & Notification: After attempting to post to all selected platforms, the Google Sheets (Update) node updates the Publication_Status column of your original row to "Published." This prevents re-posting and provides a clear record. Finally, the Slack (Notification) node sends an alert to your chosen Slack channel, confirming that the content has been successfully distributed. Setup Steps 🛠️ (Build It Yourself!) Follow these detailed steps to build and implement this workflow in your n8n instance: Prepare Your Google Sheet: Create a new Google Sheet (e.g., named "Social Media Posts"). Set up the following exact column headers in the first row: Title, URL, Short_Description, Image_URL, Hashtags, Post_to_Facebook, Post_to_Twitter, Post_to_LinkedIn, Publication_Status Fill in a test row with some sample data, ensuring TRUE/FALSE values for the posting flags. Gather Your API Keys & Credentials: Google Sheets Credential: You'll need an OAuth2 credential for Google Sheets in n8n to allow read/write access to your sheet. Facebook Credential: An OAuth2 credential for Facebook with permissions to post to your selected Page. Twitter Credential: A Twitter API credential (API Key, API Secret, Access Token, Access Token Secret) from your Twitter Developer App. LinkedIn Credential: An OAuth2 credential for LinkedIn with permissions to share updates to your profile or organization page. Slack Credential: A Slack API token (Bot User OAuth Token) for sending messages to your channel. Build the n8n Workflow Manually (10 Nodes): Start a new workflow in n8n. Drag and drop each of the following nodes onto the canvas and connect them as described below: Google Sheets Trigger Name: Google Sheets Trigger Parameters: Authentication: Select your Google Sheets credential. Spreadsheet ID: [Copy the ID from your Google Sheet's URL] Sheet Name: [Your Sheet Name, e.g., 'Sheet1' or 'Content'] Watch For: Rows Events: Added Connections: Output to Set Content Parameters. Set Name: Set Content Parameters Parameters: Values to Set: Add a new value: Type: String Name: social_media_text_core Value: ={{ $json.Title }} - {{ $json.Short_Description }}\nRead more: {{ $json.URL }}\n{{ $json.Hashtags }} Connections: Output to Check Facebook Post. If Name: Check Facebook Post Parameters: Value 1: ={{ $json.Post_to_Facebook }} Operation: is true Connections: True output to Post Facebook Message. False output to Check Twitter Post. Facebook Name: Post Facebook Message Parameters: Authentication: Select your Facebook credential. Page ID: [YOUR_FACEBOOK_PAGE_ID] Message: ={{ $json.social_media_text_core }} Link: ={{ $json.URL }} Picture: ={{ $json.Image_URL }} Options: Published (checked) Connections: Output to Check Twitter Post. If Name: Check Twitter Post Parameters: Value 1: ={{ $json.Post_to_Twitter }} Operation: is true Connections: True output to Create Tweet. False output to Check LinkedIn Post. Twitter Name: Create Tweet Parameters: Authentication: Select your Twitter credential. Tweet: ={{ $json.social_media_text_core }} Image URL: ={{ $json.Image_URL }} Connections: Output to Check LinkedIn Post. If Name: Check LinkedIn Post Parameters: Value 1: ={{ $json.Post_to_LinkedIn }} Operation: is true Connections: True output to Share LinkedIn Update. False output to Update Publication Status. LinkedIn Name: Share LinkedIn Update Parameters: Authentication: Select your LinkedIn credential. Resource: Share Update Type: Organization or Personal (Choose as appropriate) Organization ID: [YOUR_LINKEDIN_ORG_ID] (If Organization type selected) Content: ={{ $json.social_media_text_core }} Content URL: ={{ $json.URL }} Image URL: ={{ $json.Image_URL }} Connections: Output to Update Publication Status. Google Sheets Name: Update Publication Status Parameters: Authentication: Select your Google Sheets credential. Spreadsheet ID: [YOUR_GOOGLE_SHEET_CONTENT_ID] Sheet Name: [Your Sheet Name, e.g., 'Sheet1' or 'Content'] Operation: Update Row Key Column: URL Key Value: ={{ $json.URL }} Values: Add a new value: Column: Publication_Status Value: Published Connections: Receives connections from both Share LinkedIn Update and the False branch of Check LinkedIn Post. Slack Name: Send Slack Notification Parameters: Authentication: Select your Slack credential. Chat ID: [YOUR_SLACK_CHANNEL_ID] Text: New content "{{ $json.Title }}" successfully published to social media! 🎉 Check: {{ $json.URL }} Connections: Output to Update Publication Status. Final Steps & Activation: Test the Workflow: Before activating, manually add a new row to your Google Sheet or use n8n's "Execute Workflow" button (if available for triggers). Observe the flow through each node to ensure it behaves as expected and posts to your social media accounts. Activate Workflow: Once you are confident it's working correctly, turn the workflow "Active" in the top right corner of your n8n canvas.
by Jimmy Gay
Automate your B2B prospecting by finding local businesses and sending AI-personalized outreach emails to qualified contacts. What This Workflow Does This workflow acts as a powerful AI Sales Assistant, automating your entire B2B lead generation process for local businesses. It saves you countless hours of manual research and outreach by intelligently finding prospects, enriching their data, and drafting personalized emails tailored to their specific business. Stop prospecting manually and start scaling your outreach efforts effectively. How It Works The process is designed to be both smart and efficient: Find Businesses: It starts by searching for local businesses based on your criteria (e.g., "engineering in London"). Qualify & Enrich: It filters out businesses without a website. For the valid ones, it scrapes the website's title and description to understand what they do. Identify Contacts: Using Hunter.io, it finds professional email contacts associated with the company and verifies their validity to ensure high-quality leads. Generate AI-Personalized Emails: For each valid contact, it uses OpenAI to write a unique, short, and professional outreach email. The AI uses the scraped website information to create a personalized hook, showing you've done your research. Send & Organize: The final email is sent automatically via your Gmail account. If a business has no website, a follow-up task is created in your Google Tasks for manual review. Key Benefits Save Time: Automate a time-consuming prospecting process from start to finish. Increase Reply Rates: Engage prospects with personalized emails, not generic templates. Scale Your Outreach: Generate and contact dozens of qualified leads effortlessly. Stay Organized: Never lose a lead, thanks to the integrated task management for manual follow-ups.
by Jitesh Dugar
Who’s it for This template is designed for anyone who wants to use Telegram as a personal AI assistant hub. If you often juggle tasks, emails, calendars, and expenses across multiple tools, this workflow consolidates everything into one seamless AI-powered agent. What it does Jarvis listens to your Telegram messages (text or audio) and processes them with OpenAI. Based on your request, it can: ✅ Manage tasks (create, complete, or delete) 📅 Handle calendar events (schedule, reschedule, or check availability) 📧 Send, draft, or fetch emails with Gmail 👥 Retrieve Google Contacts 💵 Log and track expenses All responses are returned directly to Telegram, giving you a unified command center. How to set up Clone this template into your n8n workspace. Connect your accounts (Telegram, Gmail, Google Calendar, Contacts, etc.). Add your OpenAI API key in the Credentials section. Test by sending a Telegram message like “Create a meeting tomorrow at 3pm” or “Add expense $50 for lunch.” or "Draft a reply with a project proposal to that email from Steve" Requirements n8n instance (cloud or self-hosted) Telegram Bot API credentials Gmail, Google Calendar, and Google Contacts credentials (optional, if using those features) OpenAI API key ElevenLabs API Key (optional, if you need audio note support) How to customize Swap Gmail with another email provider by replacing the Gmail MCP node. Add additional MCP integrations (e.g., Notion, Slack, CRM tools). Adjust memory length to control how much context Jarvis remembers. With this template, you can transform Telegram into your all-in-one AI assistant, simplifying workflows and saving hours every week.
by Ritesh
Automated Incident and Request Management in ServiceNow Who’s it for This workflow is designed for IT teams, service desk agents, and operations managers who use ServiceNow. It reduces manual effort by automatically classifying chat messages as Incidents or Requests, creating/updating them in ServiceNow, and summarizing ticket updates. What it does Receives incoming chat messages. Classifies the message as one of: Incident (something broken, unavailable, or a complaint) Request (access, provisioning, product/order related) Follow-ups (incident or request update checks) Update action (user wants to add info to an existing ticket) Everything else (knowledge search / general query). Creates Incidents in ServiceNow via the ServiceNow node. Creates Requests in ServiceNow using the Service Catalog API. Updates existing Incidents with new work notes when the user provides an update. Pulls existing incident/request work notes for summaries. Optionally uses SerpAPI for general queries (if enabled). Returns a concise summary back to the user through the webhook. Requirements ServiceNow account** with API access (Basic Auth) OpenAI API key** (used by the classifier and summarizer) SerpAPI key* *(optional – for general web lookups) Credentials needed You will need to set up the following credentials in n8n: ServiceNow Basic Auth (username, password, instance URL). OpenAI API (API key). SerpAPI (optional – only if you want web search enabled). How to set up Import the workflow JSON into your n8n instance. Create the credentials mentioned above and assign them to the corresponding nodes: Create an incident → ServiceNow Basic Auth HTTP Request1 (for Service Catalog requests) → ServiceNow Basic Auth OpenAI Chat Model / OpenAI Chat Model1 / OpenAI Chat Model2 / OpenAI Chat Model3 → OpenAI API SerpAPI node (optional) → SerpAPI key Adjust the ServiceNow instance URL in the HTTP Request node to match your environment. Deploy the workflow. Send a test chat message to trigger the workflow. How to customize Update the classification rules in the Text Classifier node if your organization uses different definitions for incidents vs. requests. Edit the summary prompt in the Summarization Chain to include or exclude specific fields. Add additional notification nodes (Slack, Teams, or Email) if you want updates pushed to other channels. Notes & Limitations This workflow creates general requests in ServiceNow using the catalog API. For production, update the Service Catalog item ID to match your environment. “Everything else” category uses SerpAPI. If not configured, those queries will not return results. This workflow requires OpenAI GPT-4.1 mini (or another supported model) for classification and summarization.
by WeblineIndia
📊 Generate Weekly Energy Consumption Reports with API, Email and Google Drive This workflow automates the process of retrieving energy consumption data, formatting it into a CSV report, and distributing it every week via email and Google Drive. ⚡ Quick Implementation Steps: Import the workflow into your n8n instance. Configure your API, email details and Google Drive folder. (Optional) Adjust the CRON schedule if you need a different time or frequency. Activate workflow—automated weekly reports begin immediately. 🎯 Who’s It For Energy providers, sustainability departments, facility managers, renewable energy operators. 🛠 Requirements n8n instance Energy Consumption API access Google Drive account Email SMTP access ⚙️ How It Works Workflow triggers every Monday at 8 AM, fetches consumption data, emails CSV report and saves a copy to Google Drive. 🔄 Workflow Steps 1. Schedule Weekly (Mon 8:00 AM) Type: Cron Node Runs every Monday at 8:00 AM. Triggers the workflow execution automatically. 2. Fetch Energy Data Type: HTTP Request Node Makes a GET request to: https://api.energidataservice.dk/dataset/ConsumptionDE35Hour (sample API) The API returns JSON data with hourly electricity consumption in Denmark. Sample Response Structure: { "records": [ { "HourDK": "2025-08-25T01:00:00", "MunicipalityNo": _, "MunicipalityName": "Copenhagen", "ConsumptionkWh": 12345.67 } ] } 3. Normalize Records Type: Code Node Extracts the records array from the API response and maps each entry into separate JSON items for easier handling downstream. Code used: const itemlist = $input.first().json.records; return itemlist.map(r => ({ json: r })); 4. Convert to File Type: Convert to File Node Converts the array of JSON records into a CSV file. The CSV is stored in a binary field called data. 5. Send Email Weekly Report Type: Email Send Node Sends the generated CSV file as an attachment. Parameters: fromEmail: Sender email address (configure in node). toEmail: Recipient email address. subject: "Weekly Energy Consumption Report". attachments: =data (binary data from the previous node). 6. Report File Upload to Google Drive Type: Google Drive Node Uploads the CSV file to your Google Drive root folder. Filename pattern: energy_report_{{ $now.format('yyyy_MM_dd_HH_ii_ss') }} Requires valid Google Drive OAuth2 credentials. ✨ How To Customize Change report frequency, email template, data format (CSV/Excel) or add-ons. ➕ Add-ons Integration with analytics tools (Power BI, Tableau) Additional reporting formats (Excel, PDF) Slack notifications 🚦 Use Case Examples Automated weekly/monthly reporting for compliance Historical consumption tracking Operational analytics and forecasting 🔍 Troubleshooting Guide | Issue | Cause | Solution | |-------|-------|----------| | Data not fetched | API endpoint incorrect | Verify URL | | Email delivery issues | SMTP configuration incorrect | Verify SMTP | | Drive save fails | Permissions/Drive ID incorrect | Check Drive permissions | 📞 Need Assistance? Contact WeblineIndia for additional customization and support, we're happy to help.