by Abdullah Alshiekh
Header 1Smart Weekly Job Discovery Powered by Decodo This workflow automates the entire search process: every week, it uses Decodo’s reliable scraping engine to scan the web for fresh opportunities in your region and industry — no manual searching, no endless scrolling. Decodo handles the heavy lifting behind the scenes: it gathers search results, opens each job link, and extracts clean, readable text from pages that are normally full of scripts and formatting noise. The workflow always receives structured, usable information ready for AI analysis. Intelligent Matching — Not Just Scraping Once the jobs are collected, the system analyzes the candidate’s CV and compares it to each posting. It evaluates: Skill alignment Experience relevance Domain match Seniority level Then it generates a Match Percentage for each role, filtering out weak options and keeping only meaningful opportunities. A Weekly Report That Feels Human Every week, the workflow sends a polished report straight to your inbox: A quick overview of the candidate’s strengths Best-fit roles sorted by match score Clear reasons why each job fits Posted dates and direct links Insights on skills and market trends It reads like a personalized career briefing — generated automatically. How to Configure It Decodo Setup Add your Decodo API credentials to n8n. The Google Search + Scraper nodes rely on Decodo’s Web Scraping API. Make sure your plan supports scraping LinkedIn/Indeed pages. AI Setup Add your Google Gemini API key. The workflow uses two Gemini models: one for summarizing, one for job-matching. You can switch to OpenAI or Claude if you prefer. CV Input Add your CV text into the workflow (or connect Google Drive/Sheets for auto-loading). The Job Matcher Agent will use this text to compute match percentages. Email Setup Add your Gmail credentials and choose where the final report should be sent. Flexible and Easy to Customize Change the search region. Target different industries. Store all job data in Notion or Google Sheets. With Decodo’s scraping pipeline at the core, the whole process stays consistent, fast, and dependable. If you need any help Get in Touch
by OwenLee
🤯 Problem of Traditional Bookkeeping 🔀 Context switch kills the habit: Because bookkeeping lives outside the apps you use every day, you postpone it → forget to log. 🧱 High input friction: You’re forced to fill rigid fields (amount/category/date/notes…), which is slow and discouraging for quick capture. 🎙️💸 Weak or pricey natural-language options: A few tools support voice/chat, but they’re often expensive, and the experience is hit-or-miss. 🔒📦 Limited data ownership: Records live on third-party servers, so privacy and control are diluted. 📲 How This Workflow Fixes It 💬 Put the capture back where you already are: Log expenses directly inside Telegram (or other channels) in a familiar chat—no new app to learn. ⚡ Ultra-low-friction, unstructured input: Send text, a voice note, or a receipt photo—the flow extracts amount · item · date, supports multiple languages and relative dates, and can split multiple expenses from one message. 🗂️📝 Your data, your sheet: Final records are written to your own Google Sheet (columnar fields or a JSON column). You keep full control. 🔗 Demo Google Sheet: click me 👥 Who Is This For 😤 Anyone fed up with traditional bookkeeping but curious about an AI-assisted, chat-based way to log expenses. 🤖 People who tried AI bookkeeping apps but found them pricey, inflexible, or clunky. 💵 Bookkeeping beginners who want frictionless capture first, simple review and categorize later. 🧩 How It Works 💬 Captures expenses from Telegram (text, voice note, or receipt photo). 🔎 Normalizes inputs into raw text (uses Gemini to transcribe voice and extract text from images). 🧠 Parses amount · item · date with an LLM expense parser. 📊 Appends tidy rows to Google Sheets. 🔔 Sends a Telegram confirmation summarizing exactly what was recorded. 🛠️ How to Set Up 1) 🔑 Connect credentials (once) TELEGRAM_BOT_TOKEN LLM_API_KEY GOOGLE_SHEETS_OAUTH 2) 🚀 Quick Start Setup:* Create a Google Sheet to store *Log Expense** data and configure it in n8n. Telegram:* Fill in and verify the *Telegram chatId**. Remember enable the workflow!* 🧰 How to Customize the Workflow 📝 Other user interaction channels: Add Gmail, Slack, or a website Webhook to accept email/command/form submissions that map into the same parser. 🌍 Currency: Extract and store currency in its own column (e.g., MYR, USD); keep amount numeric only (no symbols). 🔎 Higher-accuracy OCR / STT to reduce errors 📩 Help Contact: owenlzyxg@gmail.com
by Cheng Siong Chin
Introduction Automate peer review assignment and grading with AI-powered evaluation. Designed for educators managing collaborative assessments efficiently. How It Works Webhook receives assignments, distributes them, AI generates review rubrics, emails reviewers, collects responses, calculates scores, stores results, emails reports, updates dashboards, and posts analytics to Slack. Workflow Template Webhook → Store Assignment → Distribute → Generate Review Rubric → Notify Slack → Email Reviewers → Prepare Response → Calculate Score → Store Results → Check Status → Generate Report → Email Report → Update Dashboard → Analytics → Post to Slack → Respond to Webhook Workflow Steps Receive & Store: Webhook captures assignments, stores data. Distribute & Generate: Assigns peer reviewers, AI creates rubrics. Notify & Email: Alerts via Slack, sends review requests. Collect & Score: Gathers responses, calculates peer scores. Report & Update: Generates reports, emails results, updates dashboard. Analyze & Alert: Posts analytics to Slack, confirms completion. Setup Instructions Webhook & Storage: Configure endpoint, set up database. AI Configuration: Add OpenAI key, customize rubric prompts. Communication: Connect Gmail, Slack credentials. Dashboard: Link analytics platform, configure metrics. Prerequisites OpenAI API key Gmail account Slack workspace Database or storage system Dashboard tool Use Cases University peer review assignments Corporate training evaluations Research paper assessments Customization Multi-round review cycles Custom scoring algorithms LMS integration (Canvas, Moodle) Benefits Eliminates manual distribution Ensures consistent evaluation Provides instant feedback and analytics
by Jose Castillo
Track your daily mood in one tap and receive automated AI summaries of your emotional trends every week and month. Perfect for self-reflection, wellness tracking, or personal analytics. This workflow logs moods sent through a webhook (/mood) into Data Tables, analyzes them weekly and monthly with OpenAI (GPT-4o), and emails you clear summaries and actionable recommendations via Gmail. ⚙️ How It Works Webhook – Mood → Collects new entries (🙂, 😐, or 😩) plus an optional note. Set Mood Data → Adds date, hour, and note fields automatically. Insert Mood Row → Stores each record in a Data Table. Weekly Schedule (Sunday 20:00) → Aggregates the last 7 days and sends a summarized report. Monthly Schedule (Day 1 at 08:00) → Aggregates the last 30 days for a deeper AI analysis. OpenAI Analysis → Generates insights, patterns, and 3 actionable recommendations. Gmail → Sends the full report (chart + AI text) to your inbox. 📊 Example Auto-Email Weekly Mood Summary (last 7 days) 🙂 5 ██████████ 😐 2 ████ 😩 0 Average: 1.7 (Positive 🙂) AI Insights: You’re trending upward this week — notes show that exercise days improved mood. Try keeping short walks mid-week to stabilize energy. 🧩 Requirements n8n Data Tables enabled OpenAI credential (GPT-4o or GPT-4 Turbo) Gmail OAuth2 credential to send summaries 🔧 Setup Instructions Connect your credentials: Add your own OpenAI and Gmail OAuth2 credentials. Set your Data Table ID: Open the Insert Mood Row node and enter your own Data Table ID. Without this, new moods won’t be stored. Replace the email placeholder: In the Gmail nodes, replace your.email@example.com with your actual address. Deploy and run: Send a test POST request to /mood (e.g. { "mood": "🙂", "note": "productive day" }) to log your first entry. ⚠️ Before activating the workflow, ensure you have configured the Data Table ID in the “Insert Mood Row” node. 🧠 AI Analysis Interprets mood patterns using GPT-4o. Highlights trends, potential triggers, and suggests 3 specific actions. Runs automatically every week and month. 🔒 Security No personal data is exposed outside your n8n instance. Always remove or anonymize credential references before sharing publicly. 💡 Ideal For Personal mood journaling and AI feedback Therapists tracking client progress Productivity or self-quantification projects 🗒️ Sticky Notes Guide 🟡 Mood Logging Webhook POST /mood receives mood + optional note. ⚠️ Configure your own Data Table ID in the “Insert Mood Row” node before running. 🟢 Weekly Summary Runs every Sunday 20:00 → aggregates last 7 days → generates AI insights + emails report. 🔵 Monthly Summary Runs on Day 1 at 08:00 → aggregates last 30 days → creates monthly reflection. 🟣 AI Analysis Uses OpenAI GPT-4o to interpret trends and recommend actions. 🟠 Email Delivery Sends formatted summaries to your inbox automatically.
by go-surfe
🚀 What this template does Automatically finds and enriches key contacts in a deal’s buying group by combining the company domain from the HubSpot deal with the buying group criteria you define (departments, seniorities, countries, job titles). It then pushes these contacts into HubSpot and emails your team a clean summary with direct HubSpot links—so no decision-maker falls through the cracks. Before starting, make sure you have: Buying Group Criteria Excel – Contains two sheets: Buying group reference values (reference list) Your Buying Group Criterias (where you define your filters) You’ll import the Excel file into Google Sheets during setup. ❓ What Problem Does This Solve? When a new opportunity/deal is created, sales teams often miss adjacent decision-makers (e.g., VP Sales, Head of Marketing). This template searches for those people, enriches their contact data, adds/updates them in HubSpot, and notifies your team with a one-glance table. 🧰 Prerequisites: To use this template, you’ll need: A self-hosted or cloud instance of n8n A Surfe API Key (Bearer token for People Search & Bulk Enrich) A Google Sheets account (OAuth2 or service account) with access to your criteria sheet A HubSpot developer account (for the HubSpot Deal Trigger) A HubSpot normal account (where there is your deals, contacts, companies) A Gmail account to send the enrichment summary email The workflow JSON file (included with this tutorial) Buying Group Criteria Excel (included with this tutorial) 📌 Your input (Google Sheets) This workflow uses a Google Sheet with two tabs: Buying group reference values – A read-only reference list of all available options for the departments and seniorities columns. You’ll use this list to choose your search filters. Your Buying Group Criterias – The sheet where you define the actual filters used in the workflow. ⚠️ Before you start: Import the provided Excel file into your Google Sheets account so both tabs appear exactly as in the template. How to fill it the tab “Your Buying Group Criterias”: departments (Column A) → Select one or more values from the reference tab. Only rows containing a value will be used in the search. seniorities (Column B) → Select one or more values from the reference tab. Only rows containing a value will be used in the search. countries (Column C) → Enter any ISO Alpha-2 country codes (e.g., fr, gb, de). This is a free-text filter. jobTitles (Column D) → Enter any job title keywords you want to search for (e.g., CTO, Head of Marketing). This is also a free-text filter. The workflow will read the filled cells from each column, clean duplicates, and pass them to the Surfe People Search API. ⚙️ Setup Instructions 4.1 🔐 Create Your Credentials in n8n 4.1.1 📊 Google Sheets OAuth2 API Go to n8n → Credentials Create new credentials: Type: Google Sheets OAuth2 API Here a pop-up will open where you can login to your Google account from where you will read the Google Sheets When it’s done you should see this on n8n 4.1.2 📧 Gmail OAuth2 API Go to n8n → Credentials Create new credentials: Type: Gmail OAuth2 API A pop-up window will appear where you can log in with your Google account that is linked to Gmail Make sure you grant email send permissions when prompted 4.1.3 🚀 Surfe API In your Surfe dashboard → Use Surfe Api → copy your API key Go to n8n → Credentials → Create Credential Choose Credential Type: Bearer Auth Name it something like SURFE API Key Paste your API key into the Bearer Token Save 4.1.4 🎯 HubSpot OAuth2 API Go to n8n → Credentials → Create Credential → HubSpot Oauth2 API Here make sure to select your normal hubspot account where your companies, deals and contacts are and not the hubspot-developers-xxx.com Done ✅ 4.1.5 🔓 HubSpot Private App Token Go to HubSpot → Settings → Integrations → Private Apps Create an app with scopes: crm.objects.contacts.read crm.objects.contacts.write crm.schemas.contacts.read Save the App token Go to n8n → Credentials → Create Credential → HubSpot App Token Paste your App Token 4.1.6 🎯 HubSpot Developer Api: In order to Use the HubSpot Trigger node, you need to setup HubSpot Developer Api To configure this credential, you'll need a HubSpot developer account and: A Client ID: Generated once you create a public app. A Client Secret: Generated once you create a public app. A Developer API Key: Generated from your Developer Apps dashboard. An App ID: Generated once you create a public app. To create the public app and set up the credential: Log into your HubSpot app developer account. Select Apps from the main navigation bar. Select Get HubSpot API key. You may need to select the option to Show key. Copy the key and enter it in n8n as the Developer API Key. Still on the HubSpot Apps page, select Create app. On the App Info tab, add an App name, Description, Logo, and any support contact info you want to provide. Anyone encountering the app would see these. Open the Auth tab. Copy the App ID and enter it in n8n. Copy the Client ID and enter it in n8n. Copy the Client Secret and enter it in n8n. In the Scopes section, select Add new scope. Add all the scopes listed in Required scopes for HubSpot Trigger node to your app. Select Update. Copy the n8n OAuth Redirect URL and enter it as the Redirect URL in your HubSpot app. Select Create app to finish creating the HubSpot app. Refer to the HubSpot Public Apps documentation for more detailed instructions. You should see this on n8n at the end. ✅ You are now all set for the credentials 4.2 📥 Import and Configure the N8N Workflow Import the provided JSON workflow into N8N Create a New Blank Workflow click the … on the top left Import from File 4.2.1 🔗 Link Nodes to Your Credentials In the workflow, link your newly created credentials to each node of this list : Google Sheets -> Credentials to connect with → Google Sheets Account Gmail Node Credentials to connect with → Gmail account HubSpot: Create or Update →Credentials to connect with → Huspot App Token Account HubSpot Get Company →Credentials to connect with → Huspot App Token Account HubSpot get deal →Credentials to connect with → Huspot App Token Account HubSpot Trigger →Credentials to connect with → Huspot Developer account HTTP Node GET deal associated companies from HUBSPOT → Credential Type → Hubspot OAuth2 API Surfe HTTP nodes: Authentication → Generic Credential Type Generic Auth Type → Bearer Auth Bearer Auth → Select the credentials you created before Surfe HTTP nodes 4.2.2 🔧 Additional Setup for the node Google Sheets READ CRITERIAS: Paste the url of your google sheets in Document → By URL Select the sheet Your Buying Group Criterias 🔄 How This N8N Workflow Works A new deal is created in HubSpot, which triggers the workflow. The workflow retrieves the company domain linked to that deal. It reads the buying group criteria from your Google Sheet (departments, seniorities, countries, job titles). These criteria are combined with the company domain to create a search payload for Surfe’s People Search API (limited to 200 people per run). Matching contacts are then sent to Surfe’s Bulk Enrichment API to retrieve emails, phone numbers, and other details. n8n polls Surfe until the enrichment job is complete. Enriched contact data is extracted and filtered so that only contacts with at least one valid email or phone number remain. These contacts are created or updated in HubSpot. Finally, a Gmail summary email is sent to your team with a clean table of the new or updated contacts and direct links to view them in HubSpot. 🧩 Use Cases Net-new deal created → instantly surface the rest of the buying group and enrich contacts. 🛠 Customization Ideas 🔁 Add retry logic for failed Surfe enrichment jobs 📤 Log enriched contacts into a Google Sheet or Airtable for auditing 📊 Extend the flow to generate a basic summary report of enriched vs rejected contacts ⏳ Trigger the enrichment not only on deal creation but also at a specific deal stage change 📧 Send the summary email to multiple recipients or a team mailing list ✅ Summary This template automates buying-group discovery and enrichment off a new HubSpot deal, writes enriched contacts back to HubSpot, and emails a neat table to your team—so reps focus on outreach, not admin. Import it, connect credentials, point at your criteria sheet, and Let Surfe do the rest.
by Mirai
This n8n template automates targeted lead discovery, AI-driven data structuring, and personalized cold-email sending at controlled intervals. It’s ideal for sales teams, founders, and agencies that want to scale outreach without losing personalization. Good to know Can run on an interval (e.g., every 10 minutes) to fetch and process new leads. Requires API keys for OpenAI (content + parsing) and Apify (lead discovery). Emails are sent one-by-one with delays (the Wait node) to reduce spam risk. Lead data is written to Google Sheets—we recommend separate sheets for leads with and without emails. Works with Gmail, Outlook, or your own SMTP—just plug in your credentials. How it works Form Trigger (START) A form collects: Job Title, Company Size, Keywords, Location. Apollo URL Generator (GPT) The model turns the form fields into a precise Apollo search URL. Run Apify (Actor) Apify fetches contacts/companies that match your preferences for downstream processing. Limit Caps how many records are prepared per run (e.g., max 5). Parse Lead Data (GPT) Extracts key fields (full name, email, title, LinkedIn, company, company links). Synthesizes a short 2–3 sentence sales-ready summary for each lead. Sorting (If) Splits leads into with email vs. without email. With email → main sheet + email pathway Without email → a separate sheet for later enrichment Email Magic (GPT) Uses the parsed data to personalize your fixed email template for each lead (keeps structure/intent, swaps in the right details). Sending Emails (Loop + Wait + Sender) Loop Over sends messages individually. Wait inserts a pause between sends (fully configurable). Delivery via Gmail or SMTP (custom domain / Outlook). Confirmation After the loop finishes, a Gmail node sends a “campaign complete” confirmation. How to use Enable the workflow and open the start form. Enter preferences: job title, company size, keywords, location. Add credentials: OpenAI (for parsing + email generation) Apify (Bearer token in Run Apify) Google (Sheets + optionally Gmail) SMTP/Outlook (if not using Gmail) Set limits (the Limit node) and send interval (the Wait node). Choose sheets for leads with/without email. Run—the workflow will fetch leads, prepare emails, and send them with spacing. Requirements OpenAI API key Apify API token (access to the chosen Actor) Google Sheets for storage Gmail or SMTP/Outlook credentials for sending An operational n8n instance Customising this workflow Email template: Edit the text in “Creating a email” while preserving placeholders. Segmentation: Add more conditions (role, industry, country) and route to different templates/sheets. Follow-ups: Add a second loop that reads statuses and sends timed reminders. Data enrichment: Insert additional APIs before “Parse Lead Data.” Anti-spam: Increase Wait duration, rotate senders, vary subject lines. Reporting: Add a “send status” sheet and an error log. Security & compliance tips Store API keys in n8n Credentials, not plain-text nodes. Respect GDPR/opt-out—track source and first-contact date in your sheet. Start with a small batch, validate deliverability, then scale up. In short Automated lead capture → AI cleaning + summary → personalized emails → spaced sending → completion notice. Scalable, customizable, and ready to plug into your preferred sender and template.
by Oneclick AI Squad
This automated n8n workflow enables an AI-powered movie recommendation system on WhatsApp. Users send messages like "I want to watch a horror movie" or "Where can I watch the Jumanji movie?" The workflow uses AI to interpret the request, searches relevant APIs (e.g., TMDb, JustWatch), and replies with movie recommendations or streaming platform availability via WhatsApp. Fundamental Aspects WhatsApp Webhook Trigger**: Initiates the workflow when a WhatsApp message is received. Analyze WhatsApp Message**: Uses AI (e.g., Ollama Model) to interpret the user's intent and extract request type. Check Request Type**: Determines if the request is for a movie genre or a specific movie title. Check Where Request**: Identifies if the request includes a "where to watch" query. Extract Movie Title**: Extracts the movie title from the message if specified. Extract Genre**: Identifies the movie genre from the message if specified. Search Specific Movie Title**: Queries an API (e.g., TMDb) for details about a specific movie. Search Movies by Genre**: Queries an API (e.g., TMDb) for movies matching the genre. Get Streaming Availability**: Queries an API (e.g., JustWatch) for streaming platforms. Format Streaming Response**: Prepares the response with streaming platform details. Format Genre Recommendations**: Prepares the response with genre-based movie recommendations. Prepare WhatsApp Message**: Formats the final response for WhatsApp. Send WhatsApp Response**: Sends the recommendation or streaming info back to the user via WhatsApp. Setup Instructions Import the Workflow into n8n: Download the workflow JSON and import it via the n8n interface. Configure API Credentials: Set up WhatsApp Business API credentials with a valid phone number and token. Configure TMDb API key (e.g., https://api.themoviedb.org). Configure JustWatch API key (e.g., https://api.watchmode.com). Set up AI model credentials (e.g., Ollama Model). Run the Workflow: Activate the webhook trigger and test with a WhatsApp message. Verify Responses: Check WhatsApp for accurate movie recommendations or streaming info. Adjust Parameters: Fine-tune API endpoints or AI model as needed. Features AI Interpretation**: Uses AI to analyze user intents (genre or movie title). API Integration**: Searches TMDb for movie details and JustWatch for streaming availability. Real-Time Responses**: Sends instant replies via WhatsApp. Custom Recommendations**: Provides genre-based or specific movie recommendations. Technical Dependencies WhatsApp Business API**: For receiving and sending messages. TMDb API**: For movie details and genre searches. JustWatch API**: For streaming availability. Ollama Model**: For AI-based message analysis. n8n**: For workflow automation and integration. Customization Possibilities Add More APIs**: Integrate additional movie databases (e.g., IMDb). Enhance AI**: Train the Ollama Model for better intent recognition. Support More Languages**: Add multilingual support for WhatsApp responses. Add Email Alerts**: Include email notifications for admin monitoring. Customize Responses**: Adjust the format of recommendations or streaming info.
by Automate With Marc
Automatic Personalized Sales Follow-Up with GPT-5, Pinecone, and Tavily Research Description Never let a lead go cold. This workflow automatically sends personalized follow-up emails to every inbound inquiry. It combines GPT-5, Pinecone Vector DB, and Tavily Research to craft responses that align with your brand’s best practices, tone, and the latest product updates. With embedded research tools, every response is both timely and relevant—helping your sales team convert more leads without manual effort. 👉 Watch step-by-step builds of workflows like these on: www.youtube.com/@automatewithmarc How It Works Form Trigger – Captures inbound lead details (name, company, email, and message). AI Sales Agent (GPT-5) – Researches the lead’s business and problem statement, referencing Pinecone for your brand guidelines and product updates. Uses Tavily research for real-time enrichment. Structured Output Parser – Ensures the subject line and email body are formatted cleanly in JSON. Send Follow-Up Email (Gmail Node) – Delivers a polished, ready-to-go follow-up directly to the lead. Simple Memory – Maintains context across follow-ups for more natural conversations. Why Sales Teams Will Love It ⏱ Faster responses — every lead gets an immediate, high-quality reply. 📝 On-brand every time — Pinecone ensures tone matches your playbook. 🌍 Research-driven — Tavily enriches responses with fresh, relevant context. 📈 Higher conversions — timely, personalized outreach drives more meetings. 🤖 Hands-off automation — sales reps focus on closing, not chasing. Setup Instructions Form Trigger Configure your inbound form to capture lead details (name, email, company, message). Connect it to this workflow. Pinecone Setup Create a Pinecone index and embed your brand guidelines, sales playbook, and product updates. Update the Pinecone Vector Store node with your index name. Tavily Setup Add your Tavily API key to the Tavily Research node. OpenAI Setup Add your OpenAI API key to the GPT-5 Chat Model node. Adjust the system prompt inside the AI Agent to reflect your company’s style and tone. Gmail Node Connect your Gmail account to the Send Follow-Up Email node. Update sender details if you want the emails to come from a shared inbox or a rep’s personal account. Customization Tone of Voice – Modify the system prompt inside the AI Agent to be more professional, casual, or industry-specific. Scheduling Links – Replace the default Calendly link with your own booking tool. Form Fields – Add or remove fields depending on the information you collect (e.g., budget, role, region). Requirements Gmail account (for sending follow-up emails) OpenAI API key (GPT-5) Pinecone account (for storing/retrieving guidelines + updates) Tavily API key (for online research enrichment)
by Trung Tran
Chat-Based AWS IAM Policy Generator with OpenAI Agent > Chat-driven workflow that lets IT and DevOps teams generate custom AWS IAM policies via AI, automatically apply them to AWS, and send an email notification with policy details. 👤 Who’s it for This workflow is designed for: Cloud Engineers / DevOps* who need to quickly generate and apply *custom IAM policies** in AWS. IT Support / Security teams* who want to create IAM policies through a *chat-based interface** without manually writing JSON. Teams that want automatic notifications (via email) once new policies are created. ⚙️ How it works / What it does Trigger → Workflow starts when a chat message is received. IAM Policy Creator Agent → Uses OpenAI to: Interpret user requirements (e.g., service, actions, region). Generate a valid IAM policy JSON following AWS best practices. IAM Policy HTTP Request → Sends the generated policy to AWS IAM CreatePolicy API. Email Notification → Once AWS responds with a CreatePolicyResponse, an email is sent with policy details (name, ARN, ID, timestamps, etc.) using n8n mapping. Result: The user can chat with the AI agent, create a policy, and receive an email confirmation with full details. 🛠 How to set up Chat Trigger Node Configure the When chat message received node to connect your preferred chat channel (Slack, MS Teams, Telegram, etc.). IAM Policy Creator Agent Add OpenAI Chat Model as the LLM. Use a system prompt that enforces AWS IAM JSON best practices (least privilege, correct JSON structure). Connect Memory (Simple Memory) and Structured Output Parser to ensure consistent JSON output. IAM Policy HTTP Request Set method: POST URL: https://iam.amazonaws.com/ Add authentication using AWS Signature v4 (Access Key + Secret Key). Body: Action=CreatePolicy PolicyName={{ $json.CreatePolicyResponse.CreatePolicyResult.Policy.PolicyName }} PolicyDocument={{ $json.policyDocument }} Version=2010-05-08 Email for tracking 📋 Requirements n8n instance (self-hosted or cloud). AWS IAM user/role with permission to iam:CreatePolicy. AWS Access Key + Secret Key (for SigV4 signing in HTTP request). OpenAI API key (for the Chat Model). Email server credentials (SMTP or provider integration). 🎨 How to customize the workflow Restrict services/actions** → Adjust the IAM Policy Creator Agent system prompt to limit what services/policies can be generated. Notification channels** → Replace the email node with Slack, MS Teams, or PagerDuty to alert other teams. Tagging policies** → Modify the HTTP request to include Tags when creating policies in AWS. Human-readable timestamps** → Add a Function or Set node to convert CreateDate and UpdateDate from Unix epoch to ISO datetime before sending emails. Approval step** → Insert a manual approval node before sending the policy to AWS for compliance workflows.
by Krishna Sharma
📄 AI-Powered Document Summarizer & Notifier This workflow monitors a Google Drive folder for new files (Google Docs or PDFs), extracts text, summarizes content with OpenAI, and sends results to Slack or Email. 🔧 How It Works Monitors a Google Drive folder for new files. Detects file type → Google Doc vs PDF. Extracts text (via Google Docs API or PDF extractor). Summarizes & analyzes content using OpenAI. Sends results to Slack and/or Email. 👤 Who Is This For? Business teams → Quick digests of reports, proposals, contracts. Educators / researchers → Summaries of long study materials. Founders / managers → Daily summaries without opening every file. Operations teams → Compliance and documentation tracking. 💡 Use Case / Problem Solved Reading long documents is time-consuming. Sharing key points across teams requires manual effort. Important context (sentiment, action items) is often missed. 👉 This workflow solves it by auto-summarizing documents and notifying teams instantly. ⚙️ What This Workflow Does Monitors Google Drive for new Google Docs or PDFs. Extracts text automatically. Uses OpenAI to generate: Title Summary Key Points Suggested Action Items Language detection Sentiment (positive, neutral, negative) Pushes output to Slack channel and/or Email inbox. 🛠️ Setup Instructions Prerequisites Google Drive (OAuth2) Google Docs (OAuth2) OpenAI API Key Slack (OAuth2) or Gmail (OAuth2) Steps to Configure Connect Google Drive Choose the folder you want to monitor. Set up file type routing Use an IF node to split Docs vs PDFs. For Google Docs Use Google Docs Get → extract text. For PDFs Use Google Drive Download → Extract PDF. Send text to OpenAI Connect to your OpenAI model. Customize the system prompt to generate title, summary, sentiment, etc. Notify Send output to Slack channel or Gmail. Save & activate your workflow. 📌 Notes Adjust OpenAI prompt to suit your context. For large PDFs, consider splitting into smaller chunks.
by koichi nagino
AI-Powered Invoice Processing from Gmail to Google Sheets with Slack Approval This workflow completely automates your invoice processing pipeline. It triggers when a new invoice email arrives in Gmail, uses AI to extract key data from the PDF attachment, logs it in a Google Sheet, and sends a request to Slack with simple links for one-click approval or rejection. Who's it for? This template is perfect for small business owners, finance teams, freelancers, and anyone looking to eliminate the manual work of processing invoices. It saves hours of data entry, reduces human error, and streamlines the approval process. How it works Trigger: The workflow starts when an email with a specific subject (e.g., "Invoice") arrives in Gmail. Extraction: It automatically downloads the first PDF attachment from the email and extracts all its text content. AI Processing: The extracted text is sent to an AI model, which intelligently identifies and pulls out key details: invoice number, issue date, company name, total amount, and due date. Logging: This structured data is appended as a new row in your Google Sheet. The status is automatically set to "pending". The full, raw text from the PDF is also saved for easy verification. Approval Request: A formatted message is sent to a designated Slack channel. This message includes the key invoice details and two unique links: one to approve and one to reject the invoice. Handle Response: When a user clicks either the "Approve" or "Reject" link, the corresponding Webhook in the workflow is triggered. Update Sheet: The workflow finds the correct row in the Google Sheet using the invoice number and updates its status to "approved" or "rejected". Confirmation: A final confirmation message is sent to the Slack channel, closing the loop and informing the team of the action taken. How to set up Credentials: Add your credentials for Gmail, OpenAI, Google Sheets, and Slack in the designated nodes. Gmail Trigger: In the "1. New Invoice Email Received" node, change the search query q from "incoice" to the keyword you use for invoice emails (e.g., "invoice"). Google Sheets: In the three Google Sheets nodes ("6. Log Invoice...", "9a. Update Status to Approved", and "9b. Update Status to Rejected"), enter your Google Sheet ID and the name of the sheet. Slack: In the three Slack nodes ("7. Send Approval Request...", "10a. Send Approval Confirmation", and "10b. Send Rejection Confirmation"), enter your Slack Channel ID. Webhook URLs: First, activate the workflow using the toggle in the top-right corner. Open the "Webhook (Approve)" node, go to the Production URL tab, and copy the URL. Paste this URL into the "7. Send Approval Request to Slack" node, replacing the https://YOUR_WEBHOOK_BASE_URL/webhook/approval part of the approval link. Repeat this process for the "Webhook (Reject)" node and the rejection link. Activate Workflow: Ensure the workflow is active for the Webhooks to work continuously. How to customize AI Prompt: You can modify the prompt in the "5. Extract Invoice Data with AI" node to extract different or additional fields to match your specific invoice formats. Slack Messages: Feel free to customize the text in all three Slack nodes to better fit your team's tone and communication style.
by WeblineIndia
Monthly Energy Generation Report (PostgreSQL → PDF → Email) This workflow automatically collects monthly energy generation data from a PostgreSQL database, converts it into a structured PDF report and emails it to stakeholders. It eliminates manual report creation and ensures timely delivery of performance summaries. Who’s it for Energy companies monitoring solar, wind or hydro generation Operations & maintenance (O\&M) teams needing monthly summaries Managers and executives who require periodic performance reports Data analysts who want automated reporting instead of manual exports How it works Monthly Trigger → Schedules the workflow to run once a month. Postgres Node → Fetches energy data from the energy_data table. Code Node (Transform Data) → Structures the raw records into JSON with metadata (date_range, records, note). HTTP Request (PDF.co API) → Converts structured data into a formatted PDF report. Gmail Node (Send Report) → Sends the PDF report (or link) via email to the configured recipient. How to set up Import the workflow JSON into n8n. Configure credentials: PostgreSQL connection (DB host, user, password, database, schema). Gmail OAuth2 credentials. PDF.co API key (for HTML → PDF conversion). Update: Database table (energy_data). Email recipients in the Gmail node. PDF template (if custom formatting is required). Activate workflow. Requirements n8n (self-hosted or cloud) PostgreSQL database with energy generation data PDF.co API account with valid API key Gmail account with OAuth2 access Internet access for API calls How to customize Change the SQL query in the Postgres node to filter specific plants or date ranges. Update the Code node to add extra fields (e.g., average power, anomalies). Modify the PDF.co request body to use a custom HTML template for branding. Replace Gmail with Outlook, SMTP, or Slack for distribution. Add-ons Add Slack/Teams node to notify teams when reports are sent. Store PDFs in Google Drive or S3 for archival. Add a dashboard (e.g., Grafana or Superset) that references the same DB for real-time view. Integrate with Jira to auto-create tasks for underperformance alerts. Use Case Examples Solar company emailing monthly reports to plant owners. Wind farm operator generating regulatory compliance reports. O&M teams automating KPI summaries for executives. Consulting firms monitoring multiple clients’ energy production. Common Troubleshooting | Issue | Possible Cause | Solution | | ------------------------------ | -------------------------------------- | ------------------------------------------------------- | | Workflow does not trigger | Cron not set correctly | Verify Schedule Trigger node interval is monthly | | No data returned from Postgres | Wrong schema/table or DB creds | Check DB connection and table name | | PDF not generated | Invalid/missing PDF.co API key | Generate a new key in PDF.co dashboard | | Email not sent | Gmail OAuth expired or wrong recipient | Reconnect Gmail credentials and confirm recipient email | | PDF output malformed | Incorrect JSON → HTML conversion | Check Code node formatting and PDF.co request body | Need Help? Our n8n workflow automation experts at WeblineIndia can help you: Set up the PostgreSQL connection securely, Customize the PDF layout with your company branding, Add more delivery channels (Slack, Teams, S3), Extend reporting logic (KPIs, charts, anomaly detection), And so much more.