by Eduard
This tutorial demonstrates the creation of the HTML report via Markdown node. The main idea is to prepare a very long gext variable via the Function Node and then convert it to the HTML file. The resulting report can be downloaded from the workflow canvas directly or send via email as an attachment.
by Eduard
This workflow illustrates how HTML reports can be created using Markdown Node. An example data consists of a Time Sheet table for 2 persons. Based on this table a markdown document is generated using Function Node. After that a final HTML report is created and is saved as binary file. This file can be either downloaded directly from the workflow canvas or sent as an email attachement.
by Airtop
About The Post to X Automation Seamlessly automate posting to X using Airtop and Make. How to Automate Posting to X with Airtop Consistently engaging your audience on X (formerly Twitter) can be a challenge, particularly when done manually. Developers and automation engineers often struggle with repetitive tasks like scheduling tweets, maintaining consistent posting cycles, and integrating content from various sources or AI-generated feeds. Manually managing content updates increases fatigue, human error, and decreases scalability. This n8n automation, powered by Airtop, simplifies automated content publishing onto X. Whether you're sharing daily updates, integrating dynamically generated AI content, or streamlining your marketing content pipeline, Airtop’s automation helps eliminate manual labor and reduces potential execution errors. Who is this Automation for? Social Media Managers scheduling recurring or automated posts on X Content Marketers integrating AI-generated content into their publishing process Developers implementing automated social media pipelines Automation Engineers minimizing errors and manual posting efforts Key Benefits Real-time, authenticated API postings via X Reliable structured workflows minimize manual errors Seamless integration with AI content pipelines Use Cases Automatically publish scheduled daily content updates Seamlessly post AI-generated insights, news summaries or industry updates Distribute alerts and event announcements reliably at set intervals Maintain active audience engagement by automating regular, high-frequency posts How the Post to X Automation Works This Airtop automation works by using your Airtop Profile signed-in into X via Airtop. Once authenticated securely with your X credentials, n8n handles the structured data flow, which can come from manual inputs, AI-generated sources, databases, or RSS feeds. Airtop then securely publishes the posts, providing reliable scheduled updates directly on X, removing manual oversight and streamlining your social media workflows. What You’ll Need An Airtop API key Your X (Twitter) account An Airtop Profile signed into X Setting Up the Automation Connect your Airtop account using your free Airtop API key Create an Airtop Profile and connect it to your X account Activate and schedule your scenario to automate regular posting Customize the Automation Customize your posting workflow extensively using Airtop's built-in node in n8n: Integrate diverse sources like RSS feeds and AI tools to dynamically customize automated posts Schedule precise posting intervals or diversify times for maximum audience engagement Set conditional logic to automate content posting based on predefined triggers and events Utilize Airtop’s structured data flows to manage categories, hashtags, or mentions in your posts Automation Best Practices Consistently update security credentials for uninterrupted access Clearly structure your workflow to simplify troubleshooting and logic updates Monitor posting frequency to ensure optimal audience reach and engagement Regularly review content sources to maintain quality control of automated postings Happy Automating!
by iamvaar
This n8n workflow automatically detects high‑spending hotel guests after checkout and emails them a personalized, one‑time reward offer. 🔧 What it does Watches Salesforce Guest__c custom object for checkout updates. Pulls guest spend data on optional paid amenities: Room Service Minibar Laundry Late Checkout Extra Bed Airport Transfer Calculates total spend to identify VIP guests (≥ $50). Uses AI to: Spot unused services. Randomly pick one unused service. Generate a realistic, short promo like: "Free late checkout on your next stay" Parses AI output into JSON. Sends a polished HTML email to the guest with their personalized offer. 📦 Key nodes Salesforce Trigger → monitors new checkouts. Salesforce → fetches detailed spend data. Function → sums up total amenity spend. IF → filters for VIP guests. LangChain LLM + Google Vertex AI → drafts the offer text. Structured Output Parser → cleans AI output. Brevo → delivers branded email. 📊 Example output > Subject: John, We Have Something Special for Your Next Stay > Offer in email: Enjoy a complimentary minibar selection on your next stay. ✨ Why it matters Rewarding guests who already spend boosts loyalty and repeat bookings — without generic discounts. The offer feels personal, relevant, and exclusive.
by Yulia
This n8n workflow is designed for working with the WhatsApp Business platform. It allows to send custom replies via WhatsApp in response to incoming user messages. 💡 Take a look at the step-by-step tutorial on how to create a WhatsApp bot. The workflow consists of two parts: The first Verify webhook sends back verification challenge string. You will need this part during the setup process on the Meta for Developers portal: Select your App Go to WhatsApp Configuration Click on the Edit button in the Webhook session Enter your production webhook URL, provide Verify token (can be any text string) Remember to activate the n8n workflow! Finally press "Verify and save" Once the webhook is verified, the Respond webhook receives various POST requests from Meta regarding WhatsApp messages (user messages and status notifications). The workflow checks whether the incoming JSON contains a user message. If this is the case, it sends the text message back to the user. This is a custom message, not a WhatsApp Business template.
by Aitor | 1Node
Turn Gumroad buyers into newsletter subscribers on Beehiiv, log to Google Sheets and get notified on Telegram Requirements Gumroad account** Gumroad application* + *API key** Product listed** on Gumroad Beehiiv account** Publication created** on Beehiiv Beehiiv API key** Google Sheets access** (with API credentials) Telegram Bot** created + Bot Token Telegram Channel** created and Bot added as admin Set Up 1. Trigger on a New Gumroad Sale Create a new application in Gumroad (Settings > Advanced). Copy your API key (access token). Paste it into the Gumroad Sale Trigger node. 2. Connect to Beehiiv Newsletter Create a publication inside Beehiiv. Generate and copy your Beehiiv API key. Use it to list publications and post a new subscription. 3. Load Into CRM (Google Sheets) Set up your Google Sheets API credentials Append the subscriber's data into your CRM 4. Send a Telegram Message Create a Telegram Bot and get your Bot Token. Add the Bot to your Telegram Channel and make it an admin. In the Telegram Send Message node: Use your Bot Token. Set your Channel Username or Chat ID. Customize the message content (e.g., "New Sale from {{customerEmail}} 🎉"). Further Optimizations Add more data to Beehiiv**: Include optional fields like first name, last name, custom tags, etc., when posting the subscription. Customize your Telegram message**: Personalize the message with product name, sale amount, or customer name. Enhance CRM data**: Add additional sale details into Google Sheets, like product ID, purchase timestamp, or affiliate code if available. Error Handling**: Add an error workflow to retry failed Beehiiv or Google Sheets updates automatically or log the error messages in your team chat in Slack or Microsoft Teams. ✅ That's it! Every time a new sale happens, the customer is added to your Beehiiv newsletter, saved in your CRM, and you receive an instant notification on Telegram! Get in touch with us Feel free to contact us at 1 Node. Get instant access to a library of free resources we created.
by FORK SOFTWARE TECHNOLOGIES INC.
Description This n8n workflow template allows users to check if a Tron wallet address is blacklisted on the USDT contract via a Telegram bot. When a user sends the command {walletAddress} through the Telegram bot, the workflow queries the Tronscan API to determine if the provided wallet address is blacklisted. The result is then sent back to the user via the Telegram bot. Detailed Description Workflow Overview This workflow is designed to interact with users through a Telegram bot and check if a given Tron wallet address is blacklisted on the USDT contract. The workflow consists of four main nodes: Telegram Trigger Node: Listens for messages from the Telegram bot. HTTP Request Node: Sends a GET request to the Tronscan API to check the blacklist status of the provided wallet address. Function Node: Processes the API response and formats the message to be sent back to the user. Telegram Send Message Node: Sends the formatted message back to the user via the Telegram bot. Nodes Configuration 1.Telegram Trigger Node Event: Message Update Types: Message Command: /sorgu Description: This node listens for the {walletAddress} command followed by a wallet address from the user. 2.HTTP Request Node Method: GET URL: https://apilist.tronscanapi.com/api/stableCoin/blackList?blackAddress={{ $json.message.text }} Response Format: JSON Description: This node sends a GET request to the Tronscan API using the wallet address provided by the user. 3.Code Node Check Api Response: let message; if (response.total && response.total > 0) { message = 🚨🛑 This Wallet is Blacklisted! 🛑🚨: ${response.data[0].blackAddress}; } else { message = ✅💚 This Wallet is NOT Blacklisted! 💚✅.; } return [ { json: { text: message, }, }, ]; Description:** This node processes the API response to determine if the wallet address is blacklisted and formats the message to be sent back to the user. 4.Telegram Send Message Node Resource: Message Operation: Send Chat ID: ={{$json["chat_id"]}} Text: ={{$json["text"]}} Description: This node sends the formatted message back to the user via the Telegram bot. How to Use Set Up Telegram Bot: Create a Telegram bot and obtain the API token. Configure the bot to listen for the {walletAddress} command. Import Workflow: Import this workflow into your n8n instance. Configure Credentials: Add your Telegram API credentials to the Telegram Trigger and Telegram Send Message nodes. Run Workflow: Start the workflow. Users can now send the {walletAddress} command to the Telegram bot to check if a Tron wallet address is blacklisted. Example Usage User Telegram Command: {TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t} API Request: https://apilist.tronscanapi.com/api/stableCoin/blackList?blackAddress=TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t API Response: "total": 1, "data": [ { "blackAddress": "TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t", "tokenName": "USDT", "num": "367583344429", "time": 1593184959, "transHash": "af4bc4d793f82ca5ba500cf13cf93ca3e7a56fccc2aabf8b09e55fc756500ea8", "contractAddress": "TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t" } ] } Bot Response: 🚨🛑 This Wallet is Blacklisted! 🛑🚨: TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t > This workflow provides a simple and efficient way to check the blacklist status of Tron wallet addresses via a Telegram bot, making it easy for users to stay informed about the status of their wallets.
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 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 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 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 `