by Dave Bernier
This n8n workflow template uses community nodes and is only compatible with the self-hosted version of n8n. This template aims to ease the process of deploying workflows from github. It has a companion repository that developers might find useful{. See below for more details How it works Automatically import and deploy n8n workflows from your GitHub repository to your production n8n instance using a secured webhook-based approach. This template enables teams to maintain version control of their workflows while ensuring seamless deployment through a CI/CD pipeline. Receives webhook notifications from GitHub when changes are pushed to your repository Lists all files in the repository and filters for .json workflow files Downloads each workflow file and saves it locally Imports all workflows into n8n using the CLI import command Cleans up temporary files after successful import To trigger the deployment, send a POST request to your webhook with the set up credentials (basic auth) with the following body: { "owner": "GITHUB_REPO_OWNER_NAME", "repository": "GITHUB_REPOSITORY_NAME" } Set up steps Once importing this template in n8n : Setup the webhook basic auth credentials Setup the github credentials Activate the workflow ! Companion repository There is a companion repository located at https://github.com/dynamicNerdsSolutions/n8n-git-flow-template that has a Github action already setup to work with this workflow. It provides a complete development environment with: Local n8n instance via Docker Automated workflow export and commit scripts Version control integration CI/CD pipeline setup This setup allows teams to maintain a clean separation between development and production environments while ensuring reliable workflow deployment.
by Agentick AI
This n8n workflow automatically scrapes the latest posts from a specified Reddit subreddit every day at 9 AM and sends a neatly formatted HTML email summary to your inbox. It highlights new community posts, including post details like title, author, flair, upvotes, comments, and a brief preview — making it ideal for content curators, community managers, or Reddit enthusiasts who want daily updates. How It Works Trigger: The schedule node runs the workflow once every 24 hours at 9:00 AM. Reddit Scrape: A request is made to the desired subreddit (defined in the HTTP Request node) to pull post data. Filter & Format: JavaScript code filters posts created in the last 24 hours and transforms the data into structured summaries. Email Composition: A dynamic HTML email is generated summarizing the post details. If no new posts are found, a fallback message is displayed. Email Delivery: Gmail node sends the email with subject, content, and timestamp. Use Cases ✅ Stay informed about the latest subreddit activity. ✅ Automate daily newsletters for Reddit topics. ✅ Monitor niche communities for engagement trends. Requirements Reddit subreddit link (set in the HTTP Request node). Gmail account with OAuth2 credentials set up in n8n. User-Agent string customized for your Reddit scraping. Adjust schedule as per your preferred timezone. Google Sheet Setup (Not required for this workflow) No sheet integration is involved here. Customizing the Workflow You can personalize this workflow by: Replacing the User-Agent value with a meaningful identifier to avoid Reddit rate-limiting. Updating the subreddit URL in the HTTP Request node. Changing the Gmail recipient address in the Send Gmail node. Tweaking the HTML email styling in the Prepare Email Content node. Adjusting schedule time/frequency in the Trigger node.
by Jacob @ vwork Digital
This n8n template allows you to send emails with a custom alias from your Gmail account Since the native Gmail node has some limitations regarding use of email aliases, this template allows you to set up your own internal endpoint/sub-workflow to send emails as an email alias . How it works This workflow uses a Code node and the Gmail API via an HTTP node to format the email content and send using an alias on your Gmail account. Setup instructions You must have added the email address as an alias you wish to send as in your Gmail account, guide on how to do so here. You must have created a Gmail credential in N8N, guide on how to do so here. Use your Gmail OAuth Credential in the HTTP node. Use this template as an API endpoint or a sub-workflow, and send this payload to it via POST: { "senderName": "SENDER NAME HERE", "fromEmail": "FROM EMAIL HERE", "replyTo": "REPLY TO EMAIL HERE", "toEmail": "jacob@vwork.digital", "subject": "SUBJECT LINE HERE", "htmlBody": "HTML BODY HERE - MUST BE JSON STRINGIFIED", "file_urls": [ "FILE URLS FOR ATTACHMENTS HERE" ] } Notes Only the following are required fields: fromEmail toEmail subject htmlBody Customizing this workflow You can easily convert this to a sub-workflow by swapping out the Webhook trigger for a "When executed by another workflow" trigger
by Eduard
This n8n workflow demonstrates how to automate customer interactions and appointment management via WhatsApp Business bot. After submitting a Google Form, the user receives a notification via WhatsApp. These notifications are sent via a template message. In case user sends a message to the bot, the text and user data is stored in Google Sheets. To reply back to the user, fill in the ReplyText column and change the Status to 'Ready'. In a few seconds n8n will fetch the unsent replies and deliver them one by one via WhatsApp Business node. Customize this workflow to fit your specific needs, connect different online services and enhance your customer communication! 🎉 Setup Instructions To get this workflow up and running, you'll need to: 👇 Create a WhatsApp template message on the Meta Business portal. Obtain an Access Token and WhatsApp Business Account ID from the Meta Developers Portal. This is needed for the WhatsApp Business Node to send messages. Set up a WhatsApp Trigger node with App ID and App Secret from the Meta Developers Portal. Right after that copy the WhatsApp Trigger URL and add it as a Callback URL in the Meta Developers Portal. This trigger is needed to receive incoming messages and their status updates. Connect your Google Sheets account for data storage and management. Check out the documentation page. ⚠️ Important Notes WhatsApp allows automatic custom text messages only within 24 hours of the last user message. Outside with time frame only approved template messages can be sent. The workflow uses a Google Sheet to manage form submissions, incoming messages and prepare responses. You can replace these nodes and connect the WhatsApp bot with other systems.
by AdrianWang
How it works This workflow automates the conversion of various document formats (such as PDF, Word, and PPT) into Markdown. It connects to the MinerU API service, which leverages OCR, formula, and table recognition to produce high-quality output. Users can initiate the process by simply uploading a document through an n8n chat interface. Set up steps Ensure you have a local n8n instance running. Set up and run the MinerU MCP (MinerU Computing Platform) server locally. Import this workflow into your n8n instance. Configure your AI model credentials (e.g., for OpenAI, add your API Key and Base URL). Click the "Write Files from Disk" node and edit the file path to your desired local save location. Click the "MCP Client" node and input your MinerU MCP server address (e.g., http://localhost:8000/sse). Click the "Open Chat" button to upload a file, send a message, and test the workflow.
by n8n Team
This workflow creates a Slack thread when a new ticket is created in Zendesk. Subsequent comments on the ticket in Zendesk are added as replies to the thread in Slack. Prerequisites Zendesk account and Zendesk credentials. Slack account and Slack credentials. Slack channel to create threads in. How it works The workflow listens for new tickets in Zendesk. When a new ticket is created, the workflow creates a new thread/message in Slack. The Slack thread ID is then saved in one of the ticket's fields called "Slack thread ID". The next time a comment is added to the ticket, the workflow retrieves the Slack thread ID from the ticket's field and adds the comment to the thread/message in Slack as a reply. Setup This workflow requires that you set up a webhook in Zendesk. To do so, follow the steps below: In the workflow, open the On new Zendesk ticket node and copy the webhook URL. In Zendesk, navigate to Admin Center > Apps and integrations > Webhooks > Actions > Create Webhook. Add all the required details which can be retrieved from the On new Zendesk ticket node. The webhook URL gets added to the “Endpoint URL” field, and the “Request method” should match what is shown in n8n. Save the webhook. In Zendesk, navigate to Admin Center > Objects and rules > Business rules > Triggers > Add trigger. Give trigger a name such as “New tickets”. Under “Conditions” in “Meet ALL of the following conditions”, add “Status is New”. Under “Actions”, select “Notify active webhook” and select the webhook you created previously. In the JSON body, add the following: { "id": "{{ticket.id}}", "comment": "{{ticket.latest_comment_html}}" } Save the Zendesk trigger. You will also need to set up a field in Zendesk to store the Slack thread ID. To do so, follow the steps below: In Zendesk, navigate to Admin Center > Objects and rules > Tickets > Fields > Add field. Use the text field option and give the field a name such as “Slack thread ID”. Save the field. In n8n, open the Update ticket node and select the field you created in Zendesk.
by Manu
How it works Weekly triggered Fetches all previous executions of a given workflow Filter for failures and aggregate them into a single report Sends them to a given Telegram chat. Set up steps Create a new N8N api token in the settings panel. Add new N8N credentials in the credentials panel. Add new Telegram credentials in the credentials panel. Select N8N credentials and select the workflow ID in the "Get all previous executions" node. Select Telegram credentials and enter the chat-id in the "Telegram" node.
by Aitor | 1Node
Turn Gumroad buyers into loyal email subscribers and keep your CRM up‑to‑date. When someone makes a purchase on your Gumroad store, this n8n workflow instantly adds that customer to the right MailerLite group (so your nurture sequence starts on time) and writes the sale details into your Google Sheets CRM. You’ll never copy‑and‑paste orders again, and every buyer begins receiving your follow‑up emails the moment they purchase. Requirements A Gumroad account with a product listed A MailerLite account. A MailerLite group of subscribers created Enabled APIs and credentials for Google Sheets, MailerLite and Gumroad How it works Listen for a new sale on Gumroad** The Gumroad trigger watches your account 24/7 and fires as soon as a sale is completed. Create (or update) the subscriber in MailerLite** Their name and email are added to MailerLite. If they already exist, the workflow simply updates their profile. Assign the subscriber to your Gumroad group** Grouping lets your MailerLite automation send the right onboarding or upsell sequence without manual tagging. Log the purchase in Google Sheets** The buyer’s contact details, product, price, and date are appended as a new row in your CRM sheet. Set‑up steps Create an application in Gumroad. Copy the access token, you’ll paste it into the Gumroad trigger node. Grab your MailerLite API key MailerLite dashboard → Integrations → API. Paste it into the two MailerLite nodes. Prepare a Google Sheets spreadsheet Add column headers like Name, Email, Product, Price, Date. Open the template in n8n Cloud or Desktop In the Gumroad node, paste your token. In the MailerLite nodes, paste your API keys and replace the group id. In the Google Sheets node, replace the credentials, pick your spreadsheet and worksheet. 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 Sarfaraz Muhammad Sajib
📬 Scheduled RSS News Digest Emails with Gmail Automatically send beautifully formatted news digests from any RSS feed (e.g., Prothom Alo) directly to your Gmail inbox on a schedule using this n8n workflow. Ideal for news curators, bloggers, media professionals, or anyone who wants a daily/weekly news summary in their email. ✅ Prerequisites Before using this workflow, ensure you have the following: An active Gmail account with OAuth2 credentials set up in n8n. A public RSS feed URL (e.g., https://prothomalo.com/feed). An instance of n8n running (self-hosted or via n8n cloud). Basic familiarity with how n8n workflows function. ⚙️ Setup Instructions 1. Schedule Trigger Triggers the workflow at your chosen interval (e.g., daily at 8 AM). You can configure this under the interval section of the Schedule Trigger node. 2. HTTP Request – Get RSS from Prothom Alo Fetches the latest RSS feed from your preferred news source. Set the URL field to your desired RSS feed, such as https://prothomalo.com/feed. 3. Convert XML to JSON Uses the XML node to parse the fetched XML into JSON format for further processing. 4. Code Node – Generate HTML News Preview Transforms the parsed JSON into a styled HTML template. Includes dynamic data like the article title, summary, author, category, and a “Read More” button. The date is formatted to bn-BD locale for regional display. 5. Gmail Node – Send a message Sends the generated HTML as an email. Requires Gmail OAuth2 credentials to be configured. Set the recipient address. Use the generated HTML inside the message field. Make sure to use Gmail OAuth2 credentials (you can set this under "Credentials"). 🛠 Customization Options RSS Feed Source**: Replace https://prothomalo.com/feed with any RSS/Atom feed of your choice. Email Design**: Modify the embedded HTML/CSS in the Gmail node and code block to reflect your brand/theme. Language & Locale**: Adjust the date and formatting based on your preferred locale (e.g., en-US, bn-BD, etc.). Email Frequency**: Set your schedule to send digests hourly, daily, or weekly. 🧹 Flow Overview Schedule Trigger → HTTP Request → XML → Code (HTML Builder) → Gmail Send 💡 Use Cases Daily Newsletters** Team Updates from Blogs** Industry Trends Monitoring** Client Briefings with Custom Feeds** This automated workflow ensures timely delivery of curated news in a mobile-responsive, branded HTML format. No manual copy-pasting — just scheduled insights, beautifully delivered.
by n8n Team
This workflow automatically syncs Shopify orders with your Zendesk contacts. Using this workflow, the Shopify email ID, phone number ID and order information will be added or updated to Zendesk contacts. Prerequisites Shopify account and Shopify credentials Zendesk account and Zendesk credentials How it works Shopify Trigger starts the workflow whenever a customer`s data is updated. Zendesk Node then searches the contact by email address. Set node keeps only the UserId and email of the contact. Merge by Key node combines the Shopify and Zendesk data. If node splits the workflow conditionally, check if the contact already exists or not. If the user exists, Zendesk node updates its contact data. If the user does not exist, Zendesk node creates a new contact.
by WeblineIndia
This workflow contains community nodes that are only compatible with the self-hosted version of n8n. This workflow automates summarizing YouTube videos by accepting a YouTube URL via a form, fetching the video transcript using Apify, and then generating a concise summary with OpenAI GPT. Setup Instructions Prerequisites: Apify account with access to the YouTube Transcript actor. OpenAI API key (for GPT-4o-mini model). n8n instance with the Apify and OpenAI credentials configured. Configuration Steps Apify Setup: Configure Apify API credentials in the Apify node. Ensure the YouTube Transcript actor ID (1s7eXiaukVuOr4Ueg) is correct. OpenAI Setup: Add your OpenAI API key in the OpenAI Chat Model node. Confirm model selection is set to gpt-4o-mini. Customization Modify form field to accept additional inputs if needed. Adjust Apify actor input JSON in the Payload node for extra metadata extraction. Customize the summarization options to tweak summary length or style. Change OpenAI prompt or model parameters in the OpenAI Chat Model node for different output quality or tone. Steps 1. On Form Submission Node:** Form Trigger Purpose:** Collect the YouTube video URL from the user via a web form. 2. Prepare Payload Node:** Set Purpose:** Format the YouTube URL and options into the JSON payload for Apify input. 3. Fetch Transcript Node:** Apify Purpose:** Run the YouTube Transcript actor to retrieve video captions and metadata. 4. Extract Captions Purpose:** Isolate the captions field from the Apify response for processing. 5. Summarize Transcript Purpose:** Generate a concise summary of the video captions.
by Hostinger
This n8n workflow template is designed to help system administrators and DevOps professionals monitor key resource usage metrics — CPU, RAM, and Disk — on a VPS (Virtual Private Server). The workflow automatically checks these resources every 15 minutes and sends an email alert if any resource usage exceeds the 80% threshold. This proactive monitoring helps maintain optimal server performance and prevents resource-related downtimes. Who This Workflow Is For • System Administrators managing Linux-based servers who need to ensure their systems are running smoothly without manual monitoring. • DevOps Professionals who manage multiple environments and need automated tools to alert them to potential issues before they affect operations. • IT Support Teams who require an easy way to keep tabs on server health across an organization’s infrastructure. How It Works Schedule Trigger: The workflow is triggered every 15 minutes by a Cron node. Resource Checks: Separate SSH Command nodes are configured to execute specific commands that check the current usage of RAM, Disk, and CPU. Data Aggregation: The results from each check are merged using a Merge node, which combines the data into a single payload for analysis. Threshold Analysis: A Function node evaluates whether any resource’s usage exceeds the predefined 80% threshold. Alerts: If any metric exceeds the threshold, an email alert is sent through an Email node, ensuring that administrators can react promptly to potential issues. Setup Steps Configure SSH Nodes: Update each SSH node with the appropriate credentials and target server details where the resource checks will be performed. Set Thresholds: If different sensitivity levels are required, review and adjust the resource usage thresholds within the Function node. Email Configuration: Enter the correct email addresses in the Email node for where alerts should be sent. Ensure that your email-sending credentials and server details are correctly configured.