by Zacharia Kimotho
This workflow is aimed at generating keywords for SEO and articles To get started, you need to use the workflow as it is. You just call the webhook URL with a query parameter as q={{ $keywords}} For example, you can call it using ?q=keyword research This will give you a list of keywords back as an array. This system can be used by SEO pros, content marketers and also social media marketers to generate relevant keywords for their user needs
by Davide
The Agent Decisioner is a dynamic, AI-powered routing system that automatically selects the most appropriate large language model (LLM) to respond to a user's query based on the query’s content and purpose. This workflow ensures dynamic, optimized AI responses by intelligently routing queries to the best-suited model. Advantages 🔁 Automatic Model Routing:** Automatically selects the best model for the job, improving efficiency and relevance of responses. 🎯 Optimized Use of Resources:** Avoids overuse of expensive models like GPT-4 by routing simpler queries to lightweight models. 📚 Model-Aware Reasoning:** Uses detailed metadata about model capabilities (e.g., reasoning, coding, web search) for intelligent selection. 📥 Modular and Extendable:** Easy to integrate with other tools or expand by adding more models or custom decision logic. 👨💻 Ideal for RAG and Multi-Agent Systems:** Can serve as the brain behind more complex agent frameworks or Retrieval-Augmented Generation pipelines. How It Works Chat Trigger: The workflow starts when a user sends a message, triggering the Routing Agent. Model Selection: The AI Agent analyzes the query and selects the best-suited model from the available options (e.g., Claude 3.7 Sonnet for coding, Perplexity/Sonar for web searches, GPT-4o Mini for reasoning). Structured Output: The agent returns a JSON response with the user’s prompt and the chosen model. Execution: The selected model processes the query and generates a response, ensuring optimal performance for the task. Set Up Steps Configure Nodes: Chat Trigger: Set up the webhook to receive user messages. Routing Agent (AI Agent): Define the system message with model strengths and JSON output rules. OpenRouter Chat Model: Connect to OpenRouter for model access. Structured Output Parser: Ensure it validates the JSON response format (prompt + model). Execution Agent (AI Agent1): Configure it to forward the prompt to the selected model. Connect Nodes: Link the Chat Trigger to the Routing Agent. Connect the OpenRouter Chat Model and Output Parser to the Routing Agent. Route the parsed JSON to the Execution Agent, which uses the chosen model via OpenRouter Chat Model1. Credentials: Ensure OpenRouter API credentials are correctly set for both chat model nodes. Test & Deploy: Activate the workflow and test with sample queries to verify model selection logic. Adjust the routing rules if needed for better accuracy. Need help customizing? Contact me for consulting and support or add me on Linkedin.
by Akhil Varma Gadiraju
Automated Daily Outlook Calendar Meeting Digest Overall Goal This workflow automatically runs at a scheduled time (daily at 8 AM by default), calculates the current day's date range, fetches all calendar events from a specified Microsoft Outlook account for that day, formats these events into a user-friendly HTML email, and then sends this digest to a designated email address. How it Works (Step-by-Step Breakdown): Node: Schedule Trigger (Schedule Trigger Node) Type:** n8n-nodes-base.scheduleTrigger Purpose:** Automatically starts the workflow at a predefined time. Configuration:** Rule > Interval > Trigger At Hour: 8 (Triggers every day at 8:00 AM according to the n8n server's timezone) Output:** Triggers the workflow execution at the scheduled time. Node: Code (Code Node) Type:** n8n-nodes-base.code Purpose:** Dynamically calculates the start and end timestamps for "today," based on when the workflow is triggered. Configuration (JS Code):** Gets the current date and time (workflow runtime). Sets today to beginning of current day (00:00:00). Sets tomorrow to beginning of next day (00:00:00). Converts these to ISO string format (e.g., 2023-10-27T00:00:00Z). Output:** JSON object with today and tomorrow ISO date strings. Node: Microsoft Outlook (Microsoft Outlook Node) Type:** n8n-nodes-base.microsoftOutlook Purpose:** Fetch calendar events from Outlook within the calculated date range. Configuration:** Resource: Event Filters (Custom): start/dateTime ge '{{$json.today}}' and start/dateTime lt '{{$json.tomorrow}}' (OData filter to fetch events starting on or after today and before tomorrow, i.e., all today's events.) Output:** List of event objects from Outlook. Node: Edit Fields (Set Node) Type:** n8n-nodes-base.set Purpose:** Transform and simplify the event data structure from Outlook. Configuration:** Maps fields from Outlook event to new field names: id subject description (from bodyPreview) meeting_start meeting_end attendees meeting_organizer meeting_organizer_email meeting_link Output:** List of JSON objects with simplified meeting details. Node: Generate HTML (Code Node) Type:** n8n-nodes-base.code Purpose:** Generate a single HTML email body summarizing all meetings and create the email subject line. Configuration (JS Code):** Processes all meeting items from "Edit Fields" node. Defines generateMeetingReminderEmail function to format each meeting into an HTML "card." Escapes HTML special characters, formats times, attendees, etc. Concatenates all cards into a full HTML document. Generates subject line (e.g., "🗓️ Your Meetings Today – Friday, Oct 27"). Output:** JSON object with: { "subject": "email subject string", "html": "generated HTML content string" } Node: Send Email (Email Send Node) Type:** n8n-nodes-base.emailSend Purpose:** Send the generated HTML digest email to the designated recipient. Configuration:** From Email: test@gmail.com To Email: akhilgadiraju@gmail.com Subject: {{ $json.subject }} (dynamic from Generate HTML node) HTML: {{ $json.html }} (dynamic from Generate HTML node) Output:** Email sending status. Sticky Notes Update Time:** Near "Schedule Trigger" node; configure trigger time as needed. Update Email Details:** Near "Send Email" node; change sender and receiver email addresses. How to Customize It Schedule (Schedule Trigger node):** Modify the trigger hour, minutes, or days of week to change when the workflow runs. Date Range (Code node):** Adjust JS to change date range (e.g., next business day, upcoming week). Outlook Calendar (Microsoft Outlook node):** Specify Calendar ID or refine OData filters for event selection. Event Details (Edit Fields node):** Add/remove/modify event fields extracted. Email Appearance and Content (Generate HTML node):** Change CSS styling, meeting details, or subject line logic. No Meetings Scenario:** Use an "If" node after "Edit Fields" to handle no-meeting days (e.g., send "No meetings today!" email or skip email). Email Recipients (Send Email node):** Update "From" and "To" emails; multiple recipients separated by commas. Error Handling Use "Error Trigger" nodes to catch and handle failures (Outlook API, SMTP errors). Send alerts or log errors accordingly. Use Cases Automated Daily Personal Meeting Briefing:** Get daily email summaries of your meetings. Automated Team Meeting Digest:** Send daily team calendar digest emails. Proactive Daily Planning:** Automatically stay informed of your day’s schedule. Required Credentials Add these credentials in your n8n instance under Credentials: Microsoft Outlook (OAuth2 API):** Used by: "Microsoft Outlook" node Credential Name in Workflow: Outlook (ID: JcYqVJwcwZIhB8oy) Requires OAuth2 with Calendars.Read permission. SMTP:** Used by: "Send Email" node Credential Name in Workflow: SMTP account (ID: vCexcphurglwGBfk) Requires SMTP server details (host, port, username, password). Ensure these credentials are configured correctly with required permissions. Activate the workflow for scheduled execution. Made with ❤️ using n8n by Akhil.
by Matheus Weckwerth
Flow Start: The flow starts upon receiving an HTTP GET call. Webhook: Receives the HTTP GET call and triggers the flow. Database: Connects to the database (Customer Datastore) to retrieve all necessary information (getAllPeople). Data Processing: Variable Insertion: The retrieved data is inserted into a variable. Variable Aggregation: The variables are aggregated and prepared for use in FlutterFlow. Webhook Response: Sends the response back through the Webhook with the processed data ready for use in FlutterFlow.
by Praveena
What is Elderwatch Elder Watch is a simple system that checks daily vitals — like heart rate, oxygen, and walking symmetry — using data from an iPhone or Apple Watch. If something looks off — say oxygen drops or heart rate spikes — it flags that as “attention required.” And depending on that status, it can either: Email a daily report to a caregiver Or if there’s an alert — trigger a phone call via Twilio Why do we need this Elder Watch can help older people living alone for children or care givers to keey an eye on without obsessively checking apps. It’s useful for clinics that run home-care programs. Requirements Self hosted or cloud N8N Apple health vis iphone/watch Twilio VOIP phone number (to place a call) Workflows Core workflow for getting health data, processing and making a phone call. Twilio workflow to invoke Calls API to place an outbound voice call. twilio workflow { "name": "Twilio Bridge Caller copy", "nodes": [ { "parameters": { "httpMethod": "POST", "path": "twilio-call", "responseMode": "responseNode", "options": {} }, "type": "n8n-nodes-base.webhook", "typeVersion": 2, "position": [ 0, 0 ], "id": "ca3e6c69-3e7f-4d28-b699-4789a6fa2a6d", "name": "Webhook", "webhookId": "eb3d63df-800c-401d-931a-c6fba7d834ae" }, { "parameters": { "respondWith": "text", "responseBody": "={{ $json.body }}", "options": { "responseCode": 200, "responseHeaders": { "entries": [ { "name": "Content-Type", "value": "text/xml" } ] } } }, "type": "n8n-nodes-base.respondToWebhook", "typeVersion": 1.1, "position": [ 580, 0 ], "id": "6587b7e2-ace8-4e2b-9f4b-ed028a363c25", "name": "Respond to Webhook" }, { "parameters": { "jsCode": "const summary = $input.first().json.query.summary || 'No summary, check mail for critical health info';\n\nreturn [\n {\n json: {\n body: <Response>\n <Say voice=\"alice\">${summary}</Say>\n</Response>\n }\n }\n];\n" }, "type": "n8n-nodes-base.code", "typeVersion": 2, "position": [ 340, 0 ], "id": "0d4abf87-daf3-4533-8811-64ae61265f5d", "name": "Voice Twilio response" } ], "pinData": { "Webhook": [ { "json": { "headers": { "host": "n8n.domain.com", "user-agent": "curl/8.7.1", "content-length": "0", "accept": "/", "accept-encoding": "gzip, br" }, "params": {}, "query": { "lead": " 44711111111111" }, "body": {}, "webhookUrl": "https://n8n.domain.com/webhook/twilio-call", "executionMode": "production" } } ] }, "connections": { "Webhook": { "main": [ [ { "node": "Voice Twilio response", "type": "main", "index": 0 } ] ] }, "Voice Twilio response": { "main": [ [ { "node": "Respond to Webhook", "type": "main", "index": 0 } ] ] } }, "active": true, "settings": { "executionOrder": "v1" }, "versionId": "b58c5a12-75be-4b1d-b144-8c7251468021", "meta": { "instanceId": "8dc0e8a0878d0086b2f46ef04bb00ae07186c936d82d0f0a67563e9652996d33" }, "id": "RHaKqf8Wqt7fIuGH", "tags": [] } Samples Resources https://www.youtube.com/watch?v=HYk5_jtMlgc Questions/Support Contact me on info@pankstr.com.
by Automate With Marc
This n8n workflow template uses community nodes and is only compatible with the self-hosted version of n8n. 📈 StockPulse: AI-Picked Daily News for Your Portfolio Stay ahead of the market with this automated, AI-powered stock market news briefing delivered straight to your inbox — no code required. Watch Step-by-step Video Tutorial Here: https://www.youtube.com/watch?v=iZvPej9eLYE&t=201s ⚙️ What it does: This workflow runs every morning and: Triggers a scheduled prompt to a Langchain AI Agent (OpenAI) Uses the Tavily Web Search API to fetch fresh financial news relevant to your watchlist or portfolio Summarizes the top stories, highlighting: 🔍 Key headlines 💡 Investment opportunities ⚠️ Risks and macro trends 📊 Suggested trades Sends a clean, readable email via Gmail to your preferred address 🔧 Built with: 🧠 Langchain AI Agent (OpenAI GPT-4o) 🔍 Tavily Search Tool 📬 Gmail Node for Email Delivery ⏰ Daily Cron Trigger (customizable) 💼 Who it’s for: Investors and traders who want to save time on news gathering Financial creators looking for curated, actionable insights Non-technical users interested in automating stock news monitoring Anyone who wants to combine AI + automation + market data 🟢 Customize easily: Edit your stock list or news focus inside the Agent prompt 📨 Email ready: Just plug in your Gmail credentials and you’re good to go ⏱️ 10-minute setup — no coding required!
by ConvertAPI
Who is this for? For developers and organizations that need to protect PDF files with the password. What problem is this workflow solving? PDF file protection problem. What this workflow does Downloads the PDF file from the web. Protects PDF file with the password. Stores the PDF file in the local file system. How to customize this workflow to your needs Open the HTTP Request node. Adjust the URL parameter (all endpoints can be found here). Add your secret to the Query Auth account parameter. Please create a ConvertAPI account to get an authentication secret. Change the password in the parameter UserPassword Optionally, additional Body Parameters can be added for the converter.
by Davide
This workflow integrates Flowise Multi-Agent Chatflows into a custom-branded n8n chatbot, enabling real-time interaction between users and AI agents powered by large language models (LLMs). Key Advantages: ✅ Easy Integration with Flowise: Uses a low-code HTTP node to send user questions to Flowise's API (/api/v1/prediction/FLOWISE_ID) and receive intelligent responses. Supports multi-agent chatflows, allowing for complex, dynamic interactions. 🎨 Customizable Chatbot UI: Includes pre-built JavaScript for embedding the n8n chatbot into any website. Provides customization options such as welcome messages, branding, placeholder text, chat modes (e.g., popup or embedded), and language support. 🔐 Secure & Configurable: Authorization via Bearer token headers for Flowise API access. Clearly marked notes in the workflow for setting environment variables like FLOWISE_URL and FLOW_ID. How It Works Chat Trigger: The workflow starts with the When chat message received node, which acts as a webhook to receive incoming chat messages from users. HTTP Request to Flowise: The received message is forwarded to the Flowise node, which sends a POST request to a Flowise API endpoint (https://FLOWISEURL/api/v1/prediction/FLOWISE_ID). The request includes the user's input as a JSON payload ({"question": "{{ $json.chatInput }}"}) and uses HTTP header authentication (e.g., Authorization: Bearer FLOWSIE_API). Response Handling: The response from Flowise is passed to the Edit Fields node, which maps the output ($json.text) for further processing or display. Set Up Steps Configure Flowise Integration: Replace FLOWISEURL and FLOWISE_ID in the HTTP Request node with your Flowise instance URL and flow ID. Ensure the Authorization header is set correctly in the credentials (e.g., Bearer FLOWSIE_API). Embed n8n Chatbot: Use the provided JavaScript snippet in the sticky notes to embed the n8n chatbot on your website. Replace YOUR_PRODUCTION_WEBHOOK_URL with the webhook URL generated by the When chat message received node. Customize the chatbot's appearance and behavior (e.g., welcome messages, language, UI elements) using the createChat configuration options. Optional Branding: Adjust the sticky note examples to include branding details, such as custom messages, colors, or metadata for the chatbot. Activate Workflow: Toggle the workflow to "Active" in n8n and test the chat functionality end-to-end. Ideal Use Cases: Embedding branded AI assistants into websites. Connecting Flowise-powered agents with customer support chatbots. Creating dynamic, smart conversational flows with LLMs via n8n automation. Need help customizing? Contact me for consulting and support or add me on Linkedin.
by Yang
📌 Who is this for? This workflow is perfect for social media managers, content creators, digital marketers, and copywriters who want to save time and stay relevant by automatically generating fresh caption ideas based on trending search behavior. 💡 What problem is this workflow solving? Manually coming up with engaging social media content is time-consuming and often hit-or-miss. This workflow leverages Google autocomplete to identify what users are searching for, then uses AI to convert those suggestions into short, engaging captions for use on platforms like Instagram, LinkedIn, or Twitter. ⚙️ What this workflow does This automation runs daily at noon and transforms trending search topics into ready-to-use captions: Run Every Day at 12 PM A schedule trigger that activates the workflow once per day. Get Search Keywords from Google Sheet Pulls a list of base search phrases from a Google Sheet which serve as the starting point for getting trending autocomplete terms. Fetch Autocomplete Suggestions (Dumpling AI) Calls Dumpling AI’s get-autocomplete endpoint using the base phrase to return Google autocomplete suggestions. API Reference → Format Suggestions into Array Formats the list of returned suggestions into an array format that can be looped through. Loop Through Each Autocomplete Suggestion Splits the array into individual suggestions to process each one separately. Generate Caption from Suggestion (GPT-4o) Sends each suggestion to GPT-4o with a detailed system prompt to create a short, human-sounding, engaging caption under 280 characters. Save Keyword & Generated Caption to Google Sheet Saves both the original search suggestion and the generated caption to another tab in Google Sheets for content scheduling or review. This workflow combines real-time search trend data with the power of AI to keep your social media feed fresh, relevant, and consistent — all without lifting a finger.
by Le Thua Phu
Overview This n8n workflow automates the process of crawling a website's sitemap to extract URLs, which is particularly useful for SEO analysis, website auditing, or content monitoring. By leveraging n8n's nodes, the workflow fetches the sitemap from a specified URL, processes the XML data, and extracts individual URLs, which can then be converted into a downloadable file or integrated with tools like Google Sheets. How It Works The workflow operates in a sequential manner, utilizing a series of nodes to fetch, parse, and process sitemap data: Trigger: Initiates when the user clicks "Test workflow" (Manual Trigger node). Set URL: Defines the base domain (e.g., https://phu.io.vn/) for the sitemap (Set URL node). Crawl Sitemap: Fetches the main sitemap file (sitemap.xml) from the specified domain using an HTTP request (Crawl sitemap node). Parse XML: Converts the sitemap XML into a JSON format for easier processing (XML node). Split Sitemap: Extracts individual sitemap entries (e.g., <sitemap> tags) from the parsed data (Split Out node). Crawl Sub-Sitemap: Fetches each sub-sitemap URL listed in the main sitemap (Crawl sitemap 2 node). Parse Sub-Sitemap XML: Converts the sub-sitemap XML into JSON (XML 2 node). Split URLs: Extracts individual URLs (e.g., <url> tags) from the sub-sitemap (Split Out 2 node). Convert to File: Saves the extracted URLs into a file for download or further use (Convert to File node). This workflow supports both single sitemap files and sitemap indexes that reference multiple sub-sitemaps, ensuring comprehensive URL extraction. How to Use To implement this workflow in n8n, follow these steps: Set Up n8n: Ensure you have an active n8n instance (Cloud, npm, or self-hosted). Refer to the n8n documentation for setup instructions. Import Workflow: Copy the JSON from the provided Extract Website URLs from Sitemap.XML for SEO Analysis.json file and import it into your n8n instance via the workflow editor. Configure the Domain: In the Set URL node, update the Domain parameter with the target website's base URL (e.g., https://example.com/). Alternatively, in the Crawl sitemap node, directly paste the full sitemap URL if known (e.g., https://example.com/sitemap.xml). Test the Workflow: Click "Test workflow" to execute the Manual Trigger node. Verify that the workflow fetches the sitemap and processes the URLs correctly. Download or Integrate: The Convert to File node generates a file containing the extracted URLs. Optionally, replace this node with a Google Sheets node to append URLs to a spreadsheet. Refer to the Google Sheets node documentation for setup. Save and Activate: Save the workflow and activate it for production use if needed, using a trigger like a schedule or webhook (see Trigger Node). Requirements n8n Instance**: An active n8n instance (version 1.0 or later recommended) on n8n Cloud, npm, or self-hosted (Docker). See Choose your n8n for details. Technical Knowledge**: Basic understanding of n8n's editor UI and node configuration. Familiarity with XML sitemaps is helpful but not mandatory. Permissions**: For self-hosted setups, ensure the n8n process has network access to fetch the sitemap URL. For Docker deployments, verify permissions as outlined in the n8n v1.0 migration guide. Optional**: If integrating with Google Sheets, valid Google Sheets credentials are required (see Credentials). Timeout Configuration**: The HTTP Request nodes (Crawl sitemap and Crawl sitemap 2) have a 10-second timeout. Adjust the timeout parameter in the node settings if dealing with slow-responding servers. FAQ Q: What happens if the sitemap is large or contains many sub-sitemaps? A: The workflow handles sitemap indexes by splitting and processing each sub-sitemap individually. For very large sitemaps, ensure your n8n instance has sufficient resources (memory and CPU) to avoid performance issues. See Scaling n8n for optimization tips. Q: Can I use this workflow with a specific sitemap URL instead of a domain? A: Yes, in the Crawl sitemap node, replace the url parameter ({{ $json.Domain }}sitemap.xml) with the direct sitemap URL (e.g., https://example.com/sitemap.xml). Update the node’s notes for clarity. Q: Why am I getting a timeout error? A: The HTTP Request nodes have a default timeout of 10 seconds. If the target server is slow, increase the timeout value in the options parameter of the Crawl sitemap or Crawl sitemap 2 nodes. Q: How can I save the URLs to Google Sheets instead of a file? A: Replace the Convert to File node with a Google Sheets node. Configure it with your Google Sheets credentials and map the loc field from the Split Out 2 node to the desired spreadsheet column. Refer to the Google Sheets node documentation. Q: Is this workflow compatible with older n8n versions? A: The workflow uses nodes compatible with n8n version 1.0 and later. For older versions, check for deprecated features (e.g., MySQL support) in the n8n v1.0 migration guide. Q: Can I automate this workflow to run periodically? A: Yes, replace the Manual Trigger node with a Schedule Trigger node to run the workflow at set intervals. See Trigger Nodes for configuration details. For further assistance, consult the n8n Community Forum or submit an issue on the n8n GitHub repository. Need help customizing? Contact me for consulting and support or add me on Facebook or email.
by Max Mitcham
Want to check out all my flows, follow me on: https://maxmitcham.substack.com/ https://www.linkedin.com/in/max-mitcham/ Email Manager - Intelligent Gmail Classification This automation flow is designed to automatically monitor incoming Gmail messages, analyze their content and context using AI, and intelligently classify them with appropriate labels for better email organization and prioritization. ⚙️ How It Works (Step-by-Step): 📧 Gmail Monitoring (Trigger) Continuously monitors your Gmail inbox: Polls for new emails every minute Captures all incoming messages automatically Triggers workflow for each new email received 📖 Email Content Extraction Retrieves complete email details: Full email body and headers Sender information and recipient lists Subject line and metadata Existing Gmail labels and categories Email threading information (replies/forwards) 🔍 Email History Analysis AI agent checks relationship context: Searches for previous emails from the same sender Checks sent folder for prior outbound correspondence Determines if this is a first-time contact (cold email) Analyzes conversation thread history 🤖 Intelligent Classification Agent Advanced AI categorization using: Claude Sonnet 4 for sophisticated email analysis Context-aware classification based on email history Content analysis for intent and urgency detection Header analysis for automated vs. human-sent emails 🏷️ Smart Label Assignment Automatically applies appropriate Gmail labels: To Respond: Requires direct action/reply FYI: For awareness, no action needed Notification: Service updates, policy changes Marketing: Promotional content and sales pitches Meeting Update: Calendar-related communications Comment: Document/task feedback 📋 Structured Processing Ensures consistent labeling: Uses structured output parsing for reliability Returns specific Label ID for Gmail integration Applies label automatically to the email Maintains classification accuracy 🛠️ Tools Used: n8n: Workflow automation platform Gmail API: Email monitoring and label management Anthropic Claude: Advanced email content analysis Gmail Tools: Email history checking and search Structured Output Parser: Consistent AI responses 📦 Key Features: Real-time email monitoring and classification Context-aware analysis using email history Intelligent cold vs. warm email detection Multiple classification categories for organization Automatic Gmail label application Header analysis for automated email detection Thread-aware conversation tracking 🚀 Ideal Use Cases: Busy executives managing high email volumes Sales professionals prioritizing prospect communications Support teams organizing customer inquiries Marketing teams filtering promotional content Anyone wanting automated email organization Teams needing consistent email prioritization `
by Samir Saci
Tags*: Sustainability, Supply Chain, AI Agent, CO2 Emissions, Carbon Interface API, Logistics, Automation Context Hi! I’m Samir — a Supply Chain Engineer and Data Scientist based in Paris, and founder of LogiGreen Consulting. I help logistics teams reduce their environmental footprint by combining AI automation and carbon estimation APIs. This workflow is part of our green logistics initiative, allowing businesses to track the CO₂ emissions of last-mile or regional shipments. > Automate carbon tracking for shipping operations with n8n! 📬 For business inquiries, feel free to connect with me on LinkedIn Who is this template for? This workflow is designed for logistics coordinators, transportation planners, or sustainability officers who want to estimate and record emissions for B2B shipments. Let’s imagine your carrier sends a shipment confirmation email after a pickup is scheduled: An AI Agent reads the email and extracts structured data: addresses, distance, cargo weight, and delivery time. The Carbon Interface API is then called to calculate CO₂ emissions based on weight and distance, and the results are stored in a Google Sheet. How does it work? This workflow automates the process of tracking CO₂ emissions for scheduled shipments: 📨 Gmail Trigger captures shipment confirmation emails 🧠 AI Agent parses the shipment info (pickup, delivery, weight, distance) 🚚 Carbon Interface API estimates CO₂ emissions 📊 Google Sheets is used to store shipment metadata and carbon results Steps: 💌 Trigger on new shipment confirmation email 🧠 Extract structured shipment info with AI Agent 📋 Store metadata in Google Sheets ⚙️ Call Carbon Interface API with weight and distance 📥 Append estimated CO₂ emissions to the shipment row What do I need to get started? You’ll need: A Gmail account to receive shipment confirmation emails A Google Sheet to track shipment data and CO₂ A free Carbon Interface API key OpenAI access for using the AI Agent parser A few sample emails from your logistics provider to test Next Steps 🗒️ Use the sticky notes in the n8n canvas to: Add your Gmail and Carbon Interface credentials Try with a sample shipment confirmation email Check your Google Sheet to verify emissions and timestamps This template was built using n8n v1.93.0 Submitted: June 7, 2025