by Niranjan G
Slack Bot n8n Integration Hub - Workflow Submission 🚀 Showcase: Endless Possibilities with n8n Integration This repository demonstrates a powerful Slack Bot Socket App that seamlessly integrates with n8n for automation workflows. This is just a showcase of what's possible when combining Slack's interactive capabilities with n8n's automation power - the possibilities are truly endless! 📋 Project Overview Repository: slack-n8n-integration-hub Status: ✅ Committed and Ready for Submission This project showcases how to create seamless interactions between Slack users and n8n workflows, demonstrating: Real-time Data Submission** from Slack to n8n workflows Interactive Approval/Rejection** workflows triggered from Slack Secure Webhook Communication** with optional Basic Authentication Dynamic Modal Interactions** with immediate feedback Error Handling and User Experience** optimization 🎯 Key Features Demonstrated 1. Data Input Integration Users can submit custom data directly from Slack Data is instantly sent to n8n workflows for processing Real-time feedback and confirmation messages 2. Approval Workflow Automation Interactive approve/reject buttons in Slack modals Decisions trigger different n8n workflow paths Automated decision logging and processing 3. Enhanced User Experience Modal closes automatically after actions Submit button positioned below input for better UX Comprehensive error handling and user feedback 4. Security & Authentication Optional HTTP Basic Auth for webhook security Environment-based configuration management Secure credential handling 🔧 Technical Implementation Slack Bot Features: Socket Mode for real-time communication Custom slash commands (/automation) Interactive modals with dynamic content Button actions and form submissions n8n Integration: Webhook triggers for data reception Structured payload formats Authentication support Error handling and response management Workflow Payload Examples: Data Submission: { "type": "data_submission", "data": "User input data here", "user": { "id": "U1234567890", "name": "username" }, "timestamp": "2024-01-01T12:00:00.000Z", "source": "slack_bot" } Approval Action: { "type": "approval_action", "action": "approve", "user": { "id": "U1234567890", "name": "username" }, "timestamp": "2024-01-01T12:00:00.000Z", "source": "slack_bot" } 🌟 Why This Matters for n8n Community This project demonstrates how n8n can be the backbone for: Human-in-the-loop** automation workflows Interactive approval** processes Real-time data collection** from team communication tools Seamless integration** between chat platforms and automation Scalable workflow triggers** from multiple sources 🚀 Endless Possibilities This is just the beginning! With this foundation, you can build: IT Service Desk** automation with Slack approvals Content Publishing** workflows with team reviews Data Collection** and processing pipelines Incident Management** with automated escalations Project Management** with status updates and approvals Customer Support** ticket routing and responses DevOps Deployments** with approval gates Financial Approvals** with audit trails HR Processes** with automated workflows Marketing Campaigns** with content approvals 📁 Repository Structure slack-n8n-integration-hub/ ├── app.js # Main Slack Bot application ├── package.json # Dependencies and scripts ├── .env.example # Environment configuration template ├── README.md # Complete setup documentation ├── CONTRIBUTING.md # Contribution guidelines ├── Slack_Bot_n8n_Integration_Hub.json # n8n workflow export ├── n8n-workflow-examples.json # Additional workflow examples └── test-webhook.js # Webhook testing utilities 🎉 Ready for n8n Community This workflow is: ✅ Fully Tested and working ✅ Well Documented with setup instructions ✅ Open Source and ready for community use ✅ Extensible for various use cases ✅ Production Ready with error handling 🔗 Get Started Clone the repository: git clone https://github.com/iam-niranjan/slack-n8n-integration-hub.git Follow the setup guide in the main README.md Import the n8n workflows from the JSON files Customize for your use case and explore the possibilities! This showcase demonstrates that with n8n and Slack integration, the automation possibilities are truly endless! 🚀 Ready to submit to n8n community for sharing and collaboration.
by AmirHossein MnasouriZade
📦 Send Telegram Notifications for New WooCommerce Orders This workflow automatically sends a Telegram notification when an order status in WooCommerce changes to "Processing." Perfect for online store owners who want instant updates on order fulfillment. ⚙️ Set Up Telegram Alerts for WooCommerce Orders Configure WooCommerce Webhook to trigger on order updates. Create a Telegram Bot and obtain the API token. Set Up Telegram Credentials in n8n. Configure the Telegram Node with your chat ID. Activate and Test the workflow by placing a new order. ##💡 Notes You can customize the message format in the 🖋️ Design Message Template node to include additional order details. Contact me on [Telegram]: https://t.me/amir676080 Message structure includes the following details 🆔 Order Number: 11234 👦🏻 Customer Name: John Doe 💵 Amount: 299.99 USD 📅 Order Date: ➖ 25th November 2024 at 14:42 🏙 City: New York 📞 Phone: +1 555-1234 ✍🏻 Order Note: Fast delivery requested 📦 Ordered Products: 🔹 Wireless Earbuds (2 items) 📝 Type: Premium Sound Edition Contact me on [Telegram]: https://t.me/amir676080
by TheUnknownEntity
I'm currently trialing a 4 day work week for all staff at my company, and one of the major impacts on productivity is interruptions. As such, I opted to use N8N to create a workflow to monitor my Google Calendar and when an event starts, to update my Slack status with an emote and the title of the calendar task. Additionally I opted to include to change the colour of Philips Hue lamp located in my living room where my wife is currently working so she know's if she can interrupt me or not. My calendar is built on the theory behind the Diary Detox system and as such the Slack Status reflect the colours involved. This was achieved using the emote aliases for the relevant colour circles. The Philips Hue lamp status is changed via the local API with Home Assistant. This is a very similiar process to controlling it with something like the Streamdeck, but the workflow calls the Webhook instead of the Streamdeck. This process can be found in lots of Youtube videos such as this. This gives my wife a very quick and easy way to know if she can interrupt me in my office (when the lights are Green or Blue) or when I'm busy (Red). Please Note: The above images are not intended to be an incentive to create your own Squid Games. Additionally, when integrating Slack with N8N, there are 2 x APIs which can be used. Typically the Bot User OAuth Token is used, however in order for your Status to be updated, the User OAuth Token must be used with the users.profile:read and users.profile:write permissions enabled. For clarity, I have removed the Webhooks from the Workflow as this would allow any person to control my lights. These can be inserted in the HTTP Request nodes. Each node responds to a different automation within the Home Assistant infrastructure. Acknowledgement: I would also credit Jon (Discord) aka 8668 (Workflows) for writing the Function node which turns the ColorID into a named variable.
by OneClick IT Consultancy P Limited
Travel Agent that Auto Response on Mail In this guide, we’ll break down how to set up an AI-powered auto-reply system that works while you sleep. Ready to 10X your efficiency? Let’s dive in! What’s the Goal? AI-driven auto-responses for Email. Instant replies to FAQs, order confirmations, and support queries. 24/7 availability - no more “We’ll get back to you soon” delays. Seamless integration with existing business tools. By the end, you’ll have a self-running communication assistant that never takes a coffee break. Why Does It Matter? Why automate replies? Because time = money and manual typing is so 2010. Here’s why this workflow is a game changer: Zero Human Error: AI doesn’t get tired or make typos. Lightning-Fast Replies: Customers get instant answers, improving satisfaction. 24/7 Availability: No more “Out of Office” replies. Focus on High-Value Work: Free your team from mundane tasks. Think of it as hiring a super efficient virtual assistant - minus the salary. How It Works Here’s the step by step magic behind the automation Step 1: Trigger the Workflow Detect new messages from WhatsApp, Email, or Slack. Use n8n’s webhook or API integration to capture incoming queries. Step 2: Process the Message with AI Send the message to an AI model (like OpenAI GPT-4 or Gemini). Generate a context-aware, human-like response. Step 3: Send the Automated Reply Route the AI-generated response back to the original platform. Ensure personalization (e.g., “Hi [Name], thanks for reaching out!”). Step 4: Log & Optimize Store interactions in a database (Airtable, Google Sheets). Continuously improve AI responses based on past data. How to use the workflow? Importing a workflow in n8n is a straightforward process that allows you to use pre-built or shared workflows to save time. Below is a step-by-step guide to importing a workflow in n8n, based on the official documentation and community resources. Steps to Import a Workflow in n8n 1. Obtain the Workflow JSON Source the Workflow:** Workflows are typically shared as JSON files or code snippets. You might receive them from: The n8n community (e.g., n8n.io workflows page). A colleague or tutorial (e.g., a .json file or copied JSON code). Exported from another n8n instance (see export instructions below if needed). Format:** Ensure you have the workflow in JSON format, either as a file (e.g., workflow.json) or as text copied to your clipboard. 2. Access the n8n Workflow Editor Log in to n8n:** Open your n8n instance (via n8n Cloud or your self-hosted instance). Navigate to the Workflows tab in the n8n dashboard. Open a New Workflow:** Click Add Workflow to create a blank workflow, or open an existing workflow if you want to merge the imported workflow. 3. Import the Workflow Option 1: Import via JSON Code (Clipboard): In the n8n editor, click the three dots (⋯) in the top-right corner to open the menu. Select Import from Clipboard. Paste the JSON code of the workflow into the provided text box. Click Import to load the workflow into the editor. Option 2: Import via JSON File: In the n8n editor, click the three dots (⋯) in the top-right corner. Select Import from File. Choose the .json file from your computer. Click Open to import the workflow.
by Baptiste Fort
🎯 Workflow Goal Still manually checking form responses in your inbox? What if every submission landed neatly in Airtable — and you got a clean Slack message instantly? That’s exactly what this workflow does. No code, no delay — just a smooth automation to keep your team in the loop: Tally → Airtable → Slack Build an automated flow that: receives Tally form submissions, cleans up the data into usable fields, stores the results in Airtable, and automatically notifies a Slack channel. Step 1 – Connect Tally to n8n What we’re setting up A Webhook node in POST mode. Technical Add a Webhook node. Set it to POST. Copy the generated URL. In Tally → Integrations → Webhooks → paste this URL. Submit a test response on your form to capture a sample structure. Step 2 – Clean the data After connecting Tally, you now receive raw data inside a fields[] array. Let’s convert that into something clean and structured. Goal Extract key info like Full Name, Email, Phone, etc. into simple keys. What we’re doing Add a Set node to remap and clean the fields. Technical Add a Set node right after the Webhook. Add new values (String type) manually: Name: Full Name → Value: {{$json"fields"["value"]}} Name: Email → Value: {{$json"fields"["value"]}} Name: Phone → Value: {{$json"fields"["value"]}} (Adapt the indexes based on your form structure.) Use the data preview in the Webhook node to check the correct order. Output You now get clean data like: { "Full Name": "Jane Doe", "Email": "jane@example.com", "Phone": "+123456789" } Step 3 – Send to Airtable ✅ Once the data is cleaned, let’s store it in Airtable automatically. Goal Create one new Airtable row for each form submission. What we’re setting up An Airtable – Create Record node. Technical Add an Airtable node. Authenticate or connect your API token. Choose the base and table. Map the fields: Name: {{$json["Full Name"]}} Email: {{$json["Email"]}} Phone: {{$json["Phone"]}} Output Each submission creates a clean new row in your Airtable table. Step 4 – Add a delay ⌛ After saving to Airtable, it’s a good idea to insert a short pause — this prevents actions like Slack messages from stacking too fast. Goal Wait a few seconds before sending a Slack notification. What we’re setting up A Wait node for X seconds. ✅ Technical Add a Wait node. Choose Wait for X minutes. Step 5 – Send a message to Slack 💬 Now that the record is stored, let’s send a Slack message to notify your team. Goal Automatically alert your team in Slack when someone fills the form. What we’re setting up A Slack – Send Message node. Technical Add a Slack node. Connect your account. Choose the target channel, like #leads. Use this message format: New lead received! Name: {{$json["Full Name"]}} Email: {{$json["Email"]}} Phone: {{$json["Phone"]}} Output Your Slack team is notified instantly, with all lead info in one clean message. Workflow Complete Your automation now looks like this: Tally → Clean → Airtable → Wait → Slack Every submission turns into clean data, gets saved in Airtable, and alerts your team on Slack — fully automated, no extra work.
by Tom
This workflow builds a valid RSS feed (which is an XML feed under the hood) for ARD Audiothek podcasts. This allows you to subscribe to such podcasts using your favourite podcatcher without using the ARD Audiothek app. The example builds a feed for Kalk & Welk, but the workflow can be easily adjusted by providing another podcast URL on the Get overview page HTTP Request node. To subscribe to the feed, active your n8n workflow and then use the Production URL from the intitial Feed Webhook node in your podcatcher. I've tested the resulting feed using Pocket Casts... ...and Miniflux: When using Miniflux, you can add your feed via this page to your account. Make sure you select Private when doing so to avoid sharing your n8n instance with the world. The resulting feed passes the W3C Feed Validation Service: The workflow can also be used as a foundation to free other podcasts from propriertary big media platforms, though not all of them will be as simple to deal with as the ARD Audiothek.
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 Sarfaraz Muhammad Sajib
This workflow allows interactive conversation with the content of an XML file using OpenAI and LangChain. It fetches an XML feed from a specified URL, parses the XML, and enables an AI agent to respond to user queries based on the XML's structure and data. What It Does: Triggered via webhook or manual execution. Sets and fetches an external XML feed URL. Parses the XML into a readable format. Connects OpenAI GPT via LangChain for intelligent chat. AI agent answers questions like extracting nodes, attributes, or structure from the XML.
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 Ron
This sample workflow allows you to forward alerts from TheHive 5 to SIGNL4 in order to send reliable alerts to your team. There are two nodes for testing the TheHive connection ("TheHive Read Alerts" and "TheHive Create Alert"). The node "TheHive Webhook Request" will receive requests for new alerts from TheHive. You need to configure the webhook and the notifications in TheHive accordingly. The node "SIGNL4 Send Alert" sends the alert to SIGNL4 and the node "SIGNL4 Resolve Alert" will close the alert in SIGNL4 in case it has been closed in TheHive.
by Dataki
This workflow demonstrates how to enrich data from a list of companies in a spreadsheet. While this workflow is production-ready if all steps are followed, adding error handling would enhance its robustness. Important notes Check legal regulations**: This workflow involves scraping, so make sure to check the legal regulations around scraping in your country before getting started. Better safe than sorry! Mind those tokens**: OpenAI tokens can add up fast, so keep an eye on usage unless you want a surprising bill that could knock your socks off! 💸 Main Workflow Node 1 - Webhook This node triggers the workflow via a webhook call. You can replace it with any other trigger of your choice, such as form submission, a new row added in Google Sheets, or a manual trigger. Node 2 - Get Rows from Google Sheet This node retrieves the list of companies from your spreadsheet. here is the Google Sheet Template you can use. The columns in this Google Sheet are: Company**: The name of the company Website**: The website URL of the company These two fields are required at this step. Business Area**: The business area deduced by OpenAI from the scraped data Offer**: The offer deduced by OpenAI from the scraped data Value Proposition**: The value proposition deduced by OpenAI from the scraped data Business Model**: The business model deduced by OpenAI from the scraped data ICP**: The Ideal Customer Profile deduced by OpenAI from the scraped data Additional Information**: Information related to the scraped data, including: Information Sufficiency: Description: Indicates if the information was sufficient to provide a full analysis. Options: "Sufficient" or "Insufficient" Insufficient Details: Description: If labeled "Insufficient," specifies what information was missing or needed to complete the analysis. Mismatched Content: Description: Indicates whether the page content aligns with that of a typical company page. Suggested Actions: Description: Provides recommendations if the page content is insufficient or mismatched, such as verifying the URL or searching for alternative sources. Node 3 - Loop Over Items This node ensures that, in subsequent steps, the website in "extra workflow input" corresponds to the row being processed. You can delete this node, but you'll need to ensure that the "query" sent to the scraping workflow corresponds to the website of the specific company being scraped (rather than just the first row). Node 4 - AI Agent This AI agent is configured with a prompt to extract data from the content it receives. The node has three sub-nodes: OpenAI Chat Model: The model used is currently gpt4-o-mini. Call n8n Workflow: This sub-node calls the workflow to use ScrapingBee and retrieves the scraped data. Structured Output Parser: This parser structures the output for clarity and ease of use, and then adds rows to the Google Sheet. Node 5 - Update Company Row in Google Sheet This node updates the specific company's row in Google Sheets with the enriched data. Scraper Agent Workflow Node 1 - Tool Called from Agent This is the trigger for when the AI Agent calls the Scraper. A query is sent with: Company name Website (the URL of the website) Node 2 - Set Company URL This node renames a field, which may seem trivial but is useful for performing transformations on data received from the AI Agent. Node 3 - ScrapingBee: Scrape Company's Website This node scrapes data from the URL provided using ScrapingBee. You can use any scraper of your choice, but ScrapingBee is recommended, as it allows you to configure scraper behavior directly. Once configured, copy the provided "curl" command and import it into n8n. Node 4 - HTML to Markdown This node converts the scraped HTML data to Markdown, which is then sent to OpenAI. The Markdown format generally uses fewer tokens than HTML. Improving the Workflow It's always a pleasure to share workflows, but creators sometimes want to keep some magic to themselves ✨. Here are some ways you can enhance this workflow: Handle potential errors Configure the scraper tool to scrape other pages on the website. Although this will cost more tokens, it can be useful (e.g., scraping "Pricing" or "About Us" pages in addition to the homepage). Instead of Google Sheets, connect directly to your CRM to enrich company data. Trigger the workflow from form submissions on your website and send the scraped data about the lead to a Slack or Teams channel.
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