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 n8n Team
This workflow demonstrates how to export SQL to XML and present the data nicely formatted using an XSL Template. The upper part of the workflow starts with a webhook. Then it gets several random records from the SQL table and converts them into an XML string. Then a final XML file is created that contains a link to the XML Stylesheet file. The lower part of the workflow contains a helper Webhook that reads an XSL Template from the GitHub gist and serves it back via the Respond to Webhook node. This is required to comply with the CORS rules of modern browsers. These rules dictate that both XML data and a stylesheet file should come from the same domain.
by n8n Team
This workflow automatically imports data from a CSV file located at a specific URL and then updates the Google Sheets document with the provided data. Below is a step-by-step description of what this workflow does: The workflow is started manually using the "When you click 'Execute Workflow'" node. The CSV file is then uploaded from the specified URL "https://opendata.ecdc.europa.eu/covid19/testing/csv/data.csv" using the "Upload CSV" node. The "Import CSV" node accepts the uploaded CSV file and converts it into JSON formatted data. The "Add Unique Field" node generates a unique key by combining the 'country_code' and 'year_week' fields from the JSON data, which will be further used in the Google Sheets document. The 'Keep only DACH in 2023' node filters the data to keep only records where 'country_code' is either 'DE', 'AT', or 'CH' and 'year_week' starts with '2023'. Google's API has limitations on the speed of read and write operations, so only a subset of the data is taken. The filtered data is loaded into the specified Google Sheets document via the 'Load to Spreadsheet' node. The operation is set to 'appendOrUpdate' and the document ID and sheet name are specified. Also, the previously generated 'unique_key' key is set as the key to match the columns.
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 Yaron Been
Description This workflow automatically searches multiple flight booking websites to find the cheapest flights for your desired routes. It leverages web scraping to compare prices across platforms, helping you save money on air travel. Overview This workflow automatically searches multiple flight booking websites to find the cheapest flights for your desired routes. It uses Bright Data to scrape flight prices and can notify you when prices drop below your target threshold. Tools Used n8n:** The automation platform that orchestrates the workflow. Bright Data:** For scraping flight prices from booking websites. Notification Services:** Email, SMS, or other messaging platforms. How to Install Import the Workflow: Download the .json file and import it into your n8n instance. Configure Bright Data: Add your Bright Data credentials to the Bright Data node. Set Up Notifications: Configure your preferred notification method. Customize: Set your routes, date ranges, and price thresholds. Use Cases Frequent Travelers:** Find the best deals for your regular routes. Travel Agencies:** Monitor flight prices for client bookings. Budget Travelers:** Get notified when flights to your dream destination become affordable. Connect with Me YouTube:** https://www.youtube.com/@YaronBeen/videos LinkedIn:** https://www.linkedin.com/in/yaronbeen/ Get Bright Data:** https://get.brightdata.com/1tndi4600b25 (Using this link supports my free workflows with a small commission) #n8n #automation #travel #flights #brightdata #dealalerts #webscraping #flightdeals #cheapflights #travelhacks #budgettravel #travelplanning #airfare #flightprices #travelautomation #n8nworkflow #workflow #nocode #traveltech #flightbooking #savemoney #traveltools #flightcomparison #bestflightdeals #travelsmarter #automatedtravel
by LukaszB
n8n Workflow Backup to Google Drive β Automated Export of All Your Workflows This workflow is designed to automatically create backups of all your workflows in n8n and store them as individual .json files in Google Drive. It's a fully automated system that helps developers, agencies, or automation teams ensure their automation logic is always safe, versioned, and ready to restore or share. What is this for? If youβre building and managing multiple automations inside n8n, losing a workflow due to accidental deletion or misconfiguration can cost you hours of work. This template solves that by exporting all your workflows into separate files and storing them in a dated Google Drive folder. It helps with disaster recovery, version tracking, and team collaboration β without any manual exporting. How this works: -Once triggered (manually or via a schedule), the workflow performs the following steps: -Creates a new folder in your Google Drive, named with todayβs date (e.g. βWorkflow Backups Monday 16-05-2025β). -Connects to your n8n instance using the internal API and retrieves a list of all existing workflows. -Iterates over each workflow, converts it into a .json file using the built-in file conversion node. -Uploads each individual .json file to the newly created folder in Google Drive. -Optionally, the workflow finds and deletes old backup folders to keep your Google Drive clean and avoid clutter. You get a clean, timestamped folder with all your flows β ready to restore, send, or store securely. You can trigger it manually or schedule it (e.g., to run weekly on Monday mornings). How to set it up: Import the provided workflow JSON into your n8n instance. Set up your credentials: -Replace the placeholder βGoogle demoβ with your actual Google Drive OAuth2 credentials in all Google Drive nodes. -Replace the placeholder βn8n demoβ with your n8n API credentials so the workflow can fetch your flows. -Go to the node βCreate new folderβ and replace the folder ID with your own destination folder in Google Drive where backups should be stored. -(Optional) Enable the βSchedule Triggerβ to run the backup automatically once a week or on your preferred interval. Youβre ready to go β test it with the Manual Trigger first and check your Google Drive for results.
by Mutasem
Use case This workflow automatically turns any RSS feed into a newsletter. It send an email every time a new post is published to an RSS feed in the last hour. I have been using this personally to follow Derek Sivers and Anil Dash, who don't have newsletters. Check them out π How to setup Add your email and email creds Add the RSS feed URLs you want to follow How to adjust this template Add the feeds you want to follow. It does not have to be just email. Why not get a telegram message? Or Slack message? Ah the power of n8n π
by Akhil Varma Gadiraju
Bulk Contact Deletion from HubSpot via Uploaded Excel / CSV File This workflow allows you to automate the deletion of HubSpot contacts based on email addresses provided in an uploaded Excel (.xlsx) file. It's ideal for bulk-cleaning outdated or invalid contact data. β Prerequisites Before using this workflow, ensure you have the following: A valid HubSpot App Token with permissions to search and delete contacts. An Excel (.xlsx) file with a column labeled emails containing the contact emails to be deleted. n8n self-hosted or cloud environment with: Webhook node enabled and accessible. HubSpot node credentials configured. Basic familiarity with n8n node configuration for custom adjustments (optional). πSample Document Download π§ n8n Workflow: Delete HubSpot Contacts from an Uploaded Excel File This n8n workflow allows you to upload an Excel file containing contact email addresses. It will check each one in HubSpot and delete the contact if it exists. π Workflow Overview π₯ 1. Trigger via Webhook (POST) The workflow starts when a .xlsx file is uploaded via an HTTP POST request to the webhook. This Excel file should contain a column with contact email addresses. π 2. Extract Data from Excel The uploaded file is parsed, and its rows are converted into structured JSON items, making each email address available for further processing. π§Ή 3. Normalize Data The data is cleaned and normalized β for example, mapping column headers (e.g., emails) into a standard email field, ensuring consistent downstream logic. π 4. Loop Through Contacts Each row (contact) is processed individually using batch looping. This allows for fine-grained error handling and sequential processing. π 5. Search for Contact in HubSpot For each contact, a search query is made in HubSpot based on the email address. The workflow only fetches the first result (if any). π§ͺ 6. Check if Contact Exists An IF condition checks whether the contact was found (i.e., if a HubSpot contact ID exists): β Yes β proceed to delete the contact. β No β skip deletion and continue to the next. ποΈ 7. Delete Contact If a contact exists, it is deleted from HubSpot using its internal contact ID. π οΈ 8. Optional Placeholder for Post-Processing A placeholder node named βReplace Meβ is included for any custom logic you may want to add after the deletion step, such as: Logging Notifications Writing to external storage β Use Cases Bulk delete old or bounced email addresses from HubSpot. Clean up contacts based on external suppression lists. Automate regular CRM hygiene processes. π‘ Suggested Enhancements βοΈ Log results to Google Sheets or a database π¬ Send completion report via email or Slack π Add retry logic for temporary API failures π Validate email format before making requests π Requirements n8n (self-hosted or cloud) HubSpot App Token (set up in n8n credentials) Excel file (.xlsx) with a column for email π¦ Files No external files are required. All logic is contained within the n8n workflow. π Getting Started Deploy the workflow in n8n. Copy the webhook URL and use it in your app or API client (like Postman). Upload an Excel file containing contact emails via POST request. Watch as it searches and deletes matches in HubSpot.
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 Aitor | 1Node
This n8n workflow template automates the process of managing meeting guests booked through Cal.com. It captures attendee information, logs it in a Google Sheet, and subscribes new guests to your Beehiiv newsletter, while also notifying you in Telegram. How it Works This workflow is designed to streamline your post-booking process. When a new meeting is booked via Cal.com, the workflow automatically triggers. It extracts the attendee details, adds a new row with the guest's information to a designated Google Sheet, and then adds the guest as a subscriber to your Beehiiv newsletter. Finally, it sends a notification to a specified Telegram channel, keeping you informed of new subscribers. Features Automated Data Entry:** Automatically log meeting guest details into Google Sheets. Newsletter Growth:** Effortlessly add new meeting guests to your Beehiiv subscriber list. Real-time Notifications:** Get instant alerts in Telegram for new subscribers. Seamless Integration:** Connects Cal.com, Google Sheets, Beehiiv, and Telegram. Set Up To use this workflow, you will need the following: Cal.com:** Set up a Cal.com account and configure a webhook to trigger the workflow on new bookings. You will need the webhook URL provided by the first node in this workflow. Google Cloud:** A Google Cloud account with access to Google Sheets. You will need to specify the Sheet and the range where data should be added. Beehiiv:** A Beehiiv account. You will need your Beehiiv API key and the publication ID of your newsletter. Telegram Account:** A Telegram account and a channel where you want to receive notifications. You will need your Telegram Bot Token and the chat ID of the channel. Configure each node** in the workflow with your respective API keys, IDs, and sheet details as required. The "Define your parameters" box in the workflow provides guidance on finding your Telegram chat ID and Beehiiv API key/publication ID. Additional Enhancements This workflow can be extended and customized further: Conditional Logic:** Add filters to only subscribe guests based on certain criteria (e.g., specific meeting types). Data Enrichment:** Integrate with other services to enrich guest data before adding to Google Sheets or Beehiiv. CRM Integration:** Connect to a CRM to create or update contact records for new guests. Custom Notifications:** Customize the content and format of the Telegram notification. Need Help? If you need assistance setting up this workflow, encounter any issues, or would like to explore setting up similar automation workflows tailored to your company's specific needs, please contact us at 1 Node.
by Emmanuel Bernard
π Do you want to master AI automation, so you can save time and build cool stuff? Iβve created a welcoming Skool community for non-technical yet resourceful learners. ππ» Join the AI Atelier ππ» Keeping your YouTube video descriptions updated and consistent across your channel can be a daunting task. Manually editing each video is not only time-consuming but also prone to errors. π Blog post πΊ Youtube Video This workflow streamlines this process, allowing you to maintain a shared section in all your video descriptions and effortlessly update them all at once. By incorporating a unique identifier, you can automate updates across your entire channel, keeping your content fresh and relevant with minimal effort. How it Works Define Your Unique Delimiter:** Choose your unique delimiter (e.g., "---n8ninja---"). It will be visible, so select something appropriate for your audience. Automate Updates:** Anything below the delimiter can be automatically updated by this workflow. Configure Text Updates:** Set the text you wish to add to every video description in the configuration node. Getting Started Integrate Google (YouTube) Credentials:** Securely add your credentials to enable API access. Set Up the Configuration Node:** Define your delimiter and the text for the shared section you wish to append to your video descriptions. Prepare Your Videos:** Add the chosen delimiter to all videos you want to update automatically. Execute the Workflow:** Run the workflow whenever you wish to batch update the descriptions of your videos. Created by the n8ninja β¨ follow on X πΊ follow on YT
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.