by kreonovo
What this does: This automation will dynamically create channels on your Discord server for each of your Webflow forms then send formatted form submissions as messages in those channels. This is useful for Webflow will only notify a single email of a form submission. By using this workflow you can enhance your Webflow form management by receiving them in Discord. This is great if you need to notify multiple team members or communities of your form submissions. Usage guide Full written and video guide Simply create credentials for Webflow and Discord and connect them to the nodes. The video guide demonstrates a realworld usecase using a Webflow template and breaks down each node in detail about how it works.
by Nskha
Overview This workflow automates the process of notifying users about new emails via Telegram and temporarily hosting the email content on a secret HTML page. It is ideal for users who need immediate notifications and a secure, temporary web view of their email content. Use Cases Immediate notification of new emails in Telegram with the ability to preview the email content in a secure, temporary HTML format. Automation for users who need to keep track of their emails without constantly checking their email client. Useful for teams or individuals who require instant updates on critical emails and prefer a quick preview through a web interface. My Personal Use Case: Secure Subscription Sharing From time to time, I find myself wanting to share my paid subscriptions with friends, but giving out OTP codes manually or sharing my email isn't a good idea due to security concerns. I attempted to use the IMAP node to integrate with Telegram secret channel for this purpose but encountered numerous problems, such as difficulties in scraping content from emails. Additionally, the Telegram API sometimes rejects certain special characters found within email contents. After facing these challenges, I discovered that rendering emails as HTML pages and sharing them directly is the most effective solution. This approach bypasses the issues with character limitations and content scraping, providing a seamless way to share subscription benefits securely. Services/APIs Used | Service/API | Node Type | Description | |----------------------|-------------------------|------------------------------------------------------| | IMAP Email Server | Email Trigger (IMAP) | Triggers the workflow on receiving a new email. | | Telegram API | Telegram | Sends notifications and manages messages in Telegram.| | GitHub Gist API | HTTP Request (Github Gist) | Temporarily hosts email content on GitHub Gist. | | GitHub Gist API (Deletion) | HTTP Request (Github Gist ) | Deletes the temporary GitHub Gist after a specified time. | | Wait | Wait | Delays the workflow for a specified period. | Configuration Steps Email Trigger (IMAP): Configure your IMAP email credentials to enable the workflow to check for new emails. Telegram Nodes: Insert your Telegram bot's API credentials and your chat ID in both Telegram nodes to send and delete messages. Github Gist Nodes: Provide your GitHub API credentials to create and delete Gists. Ensure the GitHub token has the necessary permissions to create and delete Gists. Wait Node: Adjust the wait time according to your preference for how long the email content should be accessible via the HTML page. Screenshot Additional Notes Ensure all credentials are securely stored and have the minimum necessary permissions for the workflow to function. Test the workflow with non-sensitive emails to ensure it operates as expected before using it with critical email accounts. Consider the privacy and security implications of temporarily hosting email content on GitHub Gist. For any questions or issues, refer to the respective API documentation for each service used or consult the n8n community for support.
by Zacharia Kimotho
How to scrap emails from websites This workflow shows how to quickly build an Email scraping API using n8n. Email marketing is at the core of most marketing strategies, be it content marketing, sales, etc. As such, being able to find contacts in bulk for your business on a large scale is key. There are available tools available in the market that can do this, but most are premium; why not build a custom one with n8n? Usage The workflow gets the data from a website and performs an extraction based on the date around on the website Copy the webhook URL to your browser Add a query parameter eg ?Website=https://mailsafi.com . This should give you a URL like this {{$n8nhostingurl/webhook/ea568868-5770-4b2a-8893-700b344c995e?Website=https://mailsafi.com Click on the URL and wait for the extracted email to be displayed. This will return the email address on the website, or if there is no email, the response will be "workflow successfully executed." Make sure to use HTTP:// for your domains Otherwise, you may get an error.
by Yulia
This n8n workflow was developed to evaluate and categorize incoming leads based on certain criteria. The workflow is triggered by adding a new row in a Google Sheets document. The workflow uses the OpenAI node to process the lead information. The system query contains detailed qualification rules and the response format. The user message contains the data for the individual lead. The JSON response from the OpenAI node is then processed by the Edit Fields node to extract the response. This response is merged together with the original lead data by the Merge node. Finally, the Google Sheets node updates the original lead entry in the Google Sheets document with the qualification result ("qualified" or "not qualified") in a separate column. This allows for easy tracking and sorting of the qualified leads.
by Zacharia Kimotho
This workflow helps marketers verify and update data using EffiBotics Email Verifier API. Copy and create a list with emails as on this one https://docs.google.com/spreadsheets/d/1rzuojNGTaBvaUEON6cakQRDva3ueGg5kNu9v12aaSP4/edit#gid=0 The trigger checks for any updates in the number of rows that are present in a sheet and updates the verified emails on Google sheets Once you update a new cell, the new data is read, and the email is checked for its validity before. The results are then updated in real-time on the sheet. Happy Emailing!
by Marcel Claus-Ahrens
This workflow downloads all files from a specific folder in a S3 Bucket and compresses them so you can download it via n8n or do further processings. Fill in your Credentials and Settings in the Nodes marked with "*". Might serve well as Blueprint or as manual Download for S3 Folders. Since I found it rather tricky to compress all binary files into one zip file I figured might it be an interesting Template. Hint: This is the expression to get every binary key to compress them dynamically. (used in the "Compress"-Node) Enjoy the Workflow! ❤️ https://let-the-work-flow.com Workflow Automation & Development
by Alex Kim
n8n Workflow: Exponential Backoff for Google APIs Overview This n8n workflow implements an Exponential Backoff mechanism to handle retries when interacting with Google APIs. It ensures that failed API requests are retried with increasing delays, up to a specified maximum retry count. This approach helps mitigate transient errors (e.g., rate limits or temporary network issues) while maintaining workflow efficiency. Key Features: Exponential Backoff Logic**: Dynamically increases wait time between retries based on the retry count. Error Handling**: Stops the workflow and raises an error after a specified number of retries. Dynamic Waiting**: Waits for a calculated duration before each retry. Scalable Design**: Modular nodes for easy debugging and customization. Workflow Details Nodes in the Workflow: Trigger (When clicking "Test Workflow"): Manually starts the workflow for testing. Loop Over Items: Iterates over multiple input items to process Google API requests row by row. Google API Node (Example: Update Sheet): Sends a request to a Google API endpoint (e.g., updating a row in Google Sheets). On success: Moves to the next item in the loop. On error: Passes the error to the Exponential Backoff node. Exponential Backoff: Calculates the delay for the next retry based on the retry count. Logic: const retryCount = $json["retryCount"] || 0; const maxRetries = 5; const initialDelay = 1; // in seconds if (retryCount < maxRetries) { const currentDelayInSeconds = initialDelay * Math.pow(2, retryCount); return { json: { retryCount: retryCount + 1, waitTimeInSeconds: currentDelayInSeconds, status: 'retrying', } }; } else { return { json: { error: 'Max retries exceeded', retryCount: retryCount, status: 'failed' } }; } Wait: Dynamically waits for the waitTimeInSeconds value calculated in the Exponential Backoff node. Configuration: Resume: After Time Interval Wait Amount: {{ $json["waitTimeInSeconds"] }} Unit: Seconds Check Max Retries: Evaluates whether the retry count has exceeded the maximum limit. Routes the workflow: True: Passes to the Stop and Error node. False: Loops back to the Google API node for retry. Stop and Error: Stops the workflow and logs the error when the maximum retry count is reached. Parameters Configurable Settings: Max Retries: Defined in the Exponential Backoff node (const maxRetries = 5). Adjust this value based on your requirements. Initial Delay: The starting wait time for retries, defined as 1 second. Google API Configuration: Ensure your Google API node is properly authenticated and configured with the desired endpoint and parameters. How to Use Import the Workflow: Copy the workflow JSON and import it into your n8n instance. Configure Google API Node: Set up the Google API node with your credentials and target API endpoint (e.g., Google Sheets, Gmail, etc.). Test the Workflow: Manually trigger the workflow and observe the retry behavior in case of errors. Monitor Logs: Use the console logs in the Exponential Backoff node to debug retry timings and status. Example Scenarios Scenario 1: Successful Execution The Google API processes all requests without errors. Workflow completes without triggering the retry logic. Scenario 2: Transient API Errors The Google API returns an error (e.g., 429 Too Many Requests). The workflow retries the request with increasing wait times. Scenario 3: Maximum Retries Exceeded The workflow reaches the maximum retry count (e.g., 5 retries). An error is raised, and the workflow stops. Considerations Jitter: This workflow does not implement jitter (randomized delay) since it's not required for low-volume use cases. If needed, jitter can be added to the exponential backoff calculation. Retry Storms: If multiple workflows run simultaneously, ensure your API quotas can handle potential retries. Error Handling Beyond Max Retries: Customize the Stop and Error node to notify stakeholders or log errors in a centralized system. Customization Options Adjust the maximum retry limit and delay calculation to suit your use case. Add additional logic to handle specific error codes differently. Extend the workflow to notify stakeholders when an error occurs (e.g., via Slack or email). Troubleshooting Retry Not Triggering**: Ensure the retryCount variable is passed correctly between nodes. Confirm that the error output from the Google API node flows to the Exponential Backoff node. Incorrect Wait Time**: Verify the Wait node is referencing the correct field for waitTimeInSeconds. Request for Feedback We are always looking to improve this workflow. If you have suggestions, improvements, or ideas for additional features, please feel free to share them. Your feedback helps us refine and enhance this solution!
by Sirhexalot
This n8n workflow allows you to update user roles in Zammad based on data from an Excel file. The workflow automates role assignments, ensuring efficient and consistent updates. Features Excel Integration**: Import user data from an Excel file containing emails and role assignments. Dynamic Updates**: Match Zammad users by email and update their roles. Error Handling**: Continue workflow execution even if some updates fail. Customizable Variables**: Configure Zammad API URL, API key, and Excel file URL. Usage Import the Workflow: Upload the provided .json file into your n8n instance. Set Variables: zammad_base_url: Your Zammad instance URL. excel_source_url: URL of the Excel file containing user data. Authentication for Zammad Create in the Node "Find Zammad User by email" and "Update User Roles" a Header Auth Authentication Name**: Authorization Value**: Bearer <put here your zammad api token> Run the Workflow: Execute the workflow to update user roles based on the Excel data. Issues and Suggestions For issues or suggestions, visit the GitHub Repository.
by Sirhexalot
This n8n workflow allows you to reset all user roles in Zammad to specified default roles. It ensures consistency in role management across your Zammad instance. Features Retrieve all active users from Zammad. Update each user's roles to predefined default role IDs. Exclude specific users by their IDs from the update process. Simple configuration for default roles and excluded users. Usage Import the Workflow: Upload the provided .json file into your n8n instance. Configure Variables: zammad_base_url: Your Zammad instance URL. zammad_api_key: Your Zammad API key. default_roles: List of default role IDs to apply to all users. exclude_zammad_users_by_id: List of user IDs to exclude from the update. Run the Workflow: Execute the workflow to update roles automatically. Issues and Suggestions For issues or suggestions, visit the GitHub Repository.
by Fernanda Silva
Workflow Description Your workflow is an intelligent chatbot, using ++OpenAI assistant++, integrated with a backend that supports WhatsApp Business, designed to handle various use cases such as sales and customer support. Below is a breakdown of its functionality and key components: Workflow Structure and Functionality Chat Input (Chat Trigger) The flow starts by receiving messages from customers via WhatsApp Business. Collects basic information, such as session_id, to organize interactions. Condition Check (If Node) Checks if additional customer data (e.g., name, age, dependents) is sent along with the message. If additional data is present, a customized prompt is generated, which includes this information. The prompt specifies that this data is for the assistant's awareness and doesn’t require a response. Data Preparation (Edit Fields Nodes) Formats customer data and the interaction details to be processed by the AI assistant. Compiles the customer data and their query into a single text block. AI Responses (OpenAI Nodes) The assistant’s prompt is carefully designed to guide the AI in providing accurate and relevant responses based on the customer’s query and data provided. Prompts describe the available functionalities, including which APIs to call and their specific purposes, helping to prevent “hallucinated” or irrelevant responses. Memory and Context (Postgres Chat Memory) Stores context and messages in continuous sessions using a database, ensuring the chatbot maintains conversation history. API Calls The workflow allows the use of APIs with any endpoints you choose, depending on your specific use case. This flexibility enables integration with various services tailored to your needs. The OpenAI assistant understands JSON structures, and you can define in the prompt how the responses should be formatted. This allows you to structure responses neatly for the client, ensuring clarity and professionalism. Make sure to describe the purpose of each endpoint in the assistant’s prompt to help guide the AI and prevent misinterpretation. Customer Response Delivery After processing and querying APIs, the generated response is sent to the backend and ultimately delivered to the customer through WhatsApp Business. Best Practices Implemented Preventing Hallucinations** Every API has a clear description in its prompt, ensuring the AI understands its intended use case. Versatile Functionality** The chatbot is modular and flexible, capable of handling both sales and general customer inquiries. Context Persistence** By utilizing persistent memory, the flow maintains continuous interaction context, which is crucial for longer conversations or follow-up queries. Additional Recommendations Include practical examples in the assistant’s prompt, such as frequently asked questions or decision-making flows based on API calls. Ensure all responses align with the customer’s objectives (e.g., making a purchase or resolving technical queries). Log interactions in detail for future analysis and workflow optimization. This workflow provides a solid foundation for a robust and multifunctional virtual assistant 🚀
by darrell_tw
Workflow Description This workflow automates the process of retrieving emails from a food delivery platform, extracting key order details, and sending notifications to a Slack channel. Additionally, the Slack message includes a Moze accounting app URL scheme link for quick expense tracking. Key Features Manual Trigger: Allows the workflow to be executed manually for immediate testing. Gmail Integration: Retrieves emails containing specific keywords in the subject line (e.g., "透過 Uber Eats 系統送出的訂單"). (You can adjust the keywords to fit your language.) Data Extraction: Parses the email content to extract key details such as: Order price Shop name Order date and time Slack Notification: Sends a notification to a specified Slack channel using a structured block format, including a link to record the expense in the Moze accounting app. Node Configurations 1. Manual Trigger Purpose**: Starts the workflow manually for testing or immediate execution. Configuration**: No setup needed. 2. Gmail Trigger Purpose**: Automatically polls Gmail for new emails matching specific subject keywords. Configuration**: Filters: q: subject:透過 Uber Eats 系統送出的訂單 (You can adjust the keywords to fit your language.) Polling Frequency: Every hour at 30 minutes past the hour. Credentials: Linked Gmail account. 3. Extract Price, Shop, Date, Time Purpose**: Extracts key information from the email content using regular expressions. Extracted Data**: price: Order price (e.g., $200). shop: Shop name (e.g., "店名"). date: Order date (e.g., 2024.01.01). time: Order time converted to 24-hour format (e.g., 14:30). 4. Slack Notification Purpose**: Sends a formatted message to a Slack channel with extracted order details. Message Content**: Text: Ubereat 訂餐資訊: 商家: {{ shop }} 金額: {{ price }} 日期: {{ date }} Moze App Link: Includes a clickable button in the Slack message with a pre-filled Moze app URL scheme: moze3://expense?amount={{ price }}&account=信用卡&subcategory=外送&store={{ shop }}&date={{ date }}&time={{ time }}&project=生活開銷 Channel: Slack channel ID associated with food delivery notifications. Additional Notes Customization**: Adjust the email subject filter (subject) to match other types of food delivery platforms or services. Error Handling**: Ensure regular expressions for data extraction match the email format. Test with sample emails before deployment. Moze URL Scheme Reference**: Learn more about Moze app URL schemes for customization by visiting the Moze Documentation. This workflow is ideal for automating expense tracking and centralizing notifications for food delivery orders, streamlining personal or team expense management. Image: UberEat Gmail with order information Slack text with button Click the button will call moze url scheme 工作流程描述 此工作流程自動化從外送平台獲取郵件,提取關鍵訂單詳細資訊,並將通知發送到指定的 Slack 頻道。此外,Slack 消息中包含一個 Moze 記帳 App URL Scheme 的連結,方便快速記帳。 主要功能 Manual Trigger:允許手動執行工作流程,方便測試。 Gmail Integration:從 Gmail 中提取包含特定關鍵字(例如:「透過 Uber Eats 系統送出的訂單」)的郵件。 資料提取:解析郵件內容,提取以下關鍵資訊: 訂單金額 商家名稱 訂單日期與時間 Slack 通知:將結構化的通知發送到指定的 Slack 頻道,並包含一個連結供用戶快速記帳。 節點設定 1. Manual Trigger 用途**:手動啟動工作流程以進行測試或即時執行。 設定**:無需額外設定。 2. Gmail Trigger 用途**:自動檢查 Gmail 中是否有符合特定主題關鍵字的新郵件。 設定**: 篩選條件: q: subject:透過 Uber Eats 系統送出的訂單 檢查頻率:每小時的 30 分。 憑證:已連結的 Gmail 帳號。 3. Extract Price, Shop, Date, Time 用途**:使用正則表達式從郵件內容中提取關鍵資訊。 提取的資料**: price:訂單金額(例如:$200)。 shop:商家名稱(例如:「店名」)。 date:訂單日期(例如:2024.01.01)。 time:訂單時間(24 小時制,例如:14:30)。 4. Slack 通知 用途**:將訂單詳細資訊以格式化消息發送到 Slack。 消息內容**: 文字: Ubereat 訂餐資訊: 商家: {{ shop }} 金額: {{ price }} 日期: {{ date }} Moze App 連結:Slack 消息中包含一個可點擊按鈕,預填 Moze App URL Scheme: moze3://expense?amount={{ price }}&account=信用卡&subcategory=外送&store={{ shop }}&date={{ date }}&time={{ time }}&project=生活開銷 頻道:與外送通知相關的 Slack 頻道。 補充說明 自訂化**:可調整郵件主題篩選條件(subject),以匹配其他外送平台或服務。 錯誤處理**:確保正則表達式匹配郵件格式。在部署前使用樣本郵件進行測試。 Moze URL Scheme 參考**:了解更多關於 Moze App URL Scheme 的客製化資訊,請參閱 Moze 官方文件。 此工作流程適合自動化費用記帳以及集中管理外送訂單通知,提升個人或團隊的費用管理效率。
by Yaron Been
Description This workflow automatically collects weather data from multiple sources and compiles it into comprehensive reports. It helps you make informed decisions based on accurate weather forecasts without manually checking multiple weather services. Overview This workflow automatically scrapes weather data from multiple sources and compiles it into a comprehensive report. It uses Bright Data to access weather websites and can be configured to send you regular weather updates for your locations of interest. Tools Used n8n:** The automation platform that orchestrates the workflow. Bright Data:** For scraping weather websites and forecast data without getting blocked. Notification Services:** Email, messaging apps, or other 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 how you want to receive weather reports. Customize: Add your locations of interest and reporting frequency. Use Cases Event Planners:** Get weather forecasts for upcoming outdoor events. Farmers:** Monitor weather conditions for agricultural planning. Travelers:** Check weather forecasts for destinations before trips. Connect with Me Website:** https://www.nofluff.online 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 #weather #weatherforecasts #brightdata #webscraping #weatherreports #weatheralerts #weatherdata #weathermonitoring #n8nworkflow #workflow #nocode #weatherautomation #weatherscraping #weathertracking #weathernotifications #weatherupdates #forecastdata #weatherplanning #weatherservice #outdoorevents #weatherapi #weatherinformation #climatedata #weathertech