by Jitesh Dugar
Customer Support Ticket Documentation Automation Automatically transform resolved support tickets into professional, AI-powered PDF documentation with complete tracking and team notifications. Overview This workflow automates the entire process of documenting resolved support tickets — from receiving ticket data to generating professional PDF case studies, storing them in Google Drive, tracking in spreadsheets, and notifying your team. Powered by AI, it creates consistent, high-quality documentation that can be reused for knowledge base articles, training materials, and compliance records. What This Workflow Does Receives resolved support tickets via webhook from your support platform Extracts and normalizes ticket data (works with Zendesk, Freshdesk, and custom formats) Generates AI-powered summaries using OpenAI GPT-4, creating structured case studies with: Problem description Troubleshooting steps taken Final resolution Key takeaways and prevention tips Creates professional PDF documents with branded HTML templates Uploads PDFs to organized Google Drive folders Tracks all tickets in a Google Sheets database for reporting and analytics Sends Slack notifications to your team with links to completed documentation Handles errors gracefully with automatic alerts when issues occur Key Features Fully Automated:** Zero manual intervention after setup AI-Powered Documentation:** Intelligent summaries that extract insights from raw ticket data Professional Output:** Branded, print-ready PDFs with modern styling Multi-Platform Support:** Works with any support tool that can send webhooks Centralized Tracking:** All tickets logged in Google Sheets for easy reporting Error Handling:** Built-in failure detection with Slack alerts Customizable:** Easy to brand with your company colors, logo, and styling Scalable:** Handles hundreds of tickets per day Use Cases Knowledge Base Building:** Automatically create searchable documentation from real support cases Team Training:** Build a library of resolved issues for onboarding new support agents Compliance & Audit:** Maintain complete records of all customer interactions Performance Analytics:** Track resolution times, common issues, and agent performance Customer Success:** Share professional case studies with stakeholders Process Improvement:** Identify recurring issues and optimize workflows Prerequisites Required Services & Accounts n8n** (self-hosted or cloud) OpenAI Account** with API access PDFMunk Account** (for HTML → PDF conversion) Google Workspace** (for Drive & Sheets) Slack Workspace** (optional but recommended) Support Platform** that can send webhooks (Zendesk, Freshdesk, Intercom, etc.) Required Credentials OpenAI API Key PDFMunk API Key Google Drive OAuth2 credentials Google Sheets OAuth2 credentials Slack Bot Token (OAuth2) Setup Instructions 1. Import the Workflow Copy the workflow JSON. In n8n, click “Import from File” or “Import from Clipboard.” Paste and import. 2. Configure Credentials OpenAI API Get API key from OpenAI Add in n8n: Credentials → OpenAI API → Paste key PDFMunk API Sign up at pdfmunk.com Copy API key → Add in Credentials → HtmlcsstopdfApi Google Drive OAuth2 Create project at Google Cloud Console Enable Drive API Create OAuth 2.0 credentials Add in n8n: Credentials → Google Drive OAuth2 → Connect Google Sheets OAuth2 Enable Google Sheets API in the same project Add in n8n: Credentials → Google Sheets OAuth2 → Connect Slack OAuth2 Create app at Slack API Add scopes: chat:write, chat:write.public Install to workspace Add bot token in Credentials → Slack OAuth2 API 3. Configure Node Settings Google Drive Folder ID Create a folder in Drive for PDFs Copy folder ID from the URL → https://drive.google.com/drive/folders/FOLDER_ID_HERE Paste in the “Upload to Google Drive” node Google Sheets Configuration Create a new sheet titled “Support Ticket Documentation Log.” Add these headers in Row 1: | Ticket ID | Subject | Customer Name | Customer Email | Agent Name | Priority | Category | Resolved Date | Resolution Time | PDF Link | Document Generated | Status | | --------- | ------- | ------------- | -------------- | ---------- | -------- | -------- | ------------- | --------------- | -------- | ------------------ | ------ | Copy Sheet ID from URL → https://docs.google.com/spreadsheets/d/SHEET_ID_HERE/edit Paste it in the “Update Google Sheets” node configuration. Slack Channel ID Right-click your Slack channel → View Channel Details Copy the Channel ID Update it in: “Send Slack Notification” node “Error – PDF Failed” node “Error – Upload Failed” node 4. Configure Webhook in Support Tool Activate the workflow in n8n Copy the Webhook URL from the “Webhook – Receive Ticket” node In Zendesk/Freshdesk: Trigger: “Ticket Status = Resolved” Method: POST Paste the n8n webhook URL Send ticket data as JSON 5. Test the Workflow Click “Execute Workflow” manually Send a test webhook Verify each step completes successfully Check: Generated PDF in Google Drive Row entry in Google Sheets Slack notification delivery How It Works Webhook Trigger → Receives resolved ticket Data Extraction → Normalizes ticket fields AI Summarization (OpenAI) → Generates structured summary HTML Formatting → Styles and adds branding PDF Conversion (PDFMunk) → Converts HTML → PDF Google Drive Upload → Saves and returns shareable link Sheets Logging → Appends ticket info + PDF link Slack Notification → Notifies team with summary Error Handling → Detects and reports failures Result → Clean, documented ticket case study in minutes Customization Branding Update company name, logo URL, and color scheme in the “Format HTML” node. Default color: #4CAF50 → Replace with your brand color. AI Prompt Customization Modify “AI Summarization (OpenAI)” node to add: Industry-specific terms Additional sections or insights Different summary tone or length Notification Customization Add @mentions or emojis in Slack messages for better visibility. Data Flow Webhook → Extract Data → AI Summary → Format HTML → Convert to PDF ↓ Download PDF → Upload to Drive → Log in Sheets → Notify Team ↓ Error Handling (if any) Expected Output PDF Document Includes: Branded header with company name/logo Resolution time badge Ticket metadata (ID, priority, customer, agent, etc.) Full AI-generated case study Professional footer with timestamp Google Sheets Entry: All ticket info Resolution metrics Direct PDF link Status = “Generated” Slack Notification: Summary of ticket Clickable PDF link Timestamp Performance Processing Time:** 10–20 seconds/ticket Capacity:** 100+ tickets/day PDF Size:** 50–300 KB Troubleshooting Webhook not triggering → Check webhook URL, trigger conditions, and public access. PDF generation fails → Verify HTML syntax and PDFMunk API key. Google Drive upload fails → Re-authenticate credentials or check folder permissions. Slack notification missing → Ensure bot token, scopes, and channel ID are valid. Data extraction errors → Adjust field mappings or inspect payload format. Best Practices Test before production rollout Monitor first-week error logs Organize Drive by date/priority Validate Sheets columns Use a dedicated Slack channel Archive old PDFs regularly Review AI summaries weekly Document configuration changes Security Notes All credentials stored securely in n8n PDF links are restricted by Drive sharing settings Webhooks use HTTPS for secure data transfer No sensitive info logged in error messages Future Enhancements Multi-language summaries Integration with Confluence or Notion Customer satisfaction feedback link ML-based issue categorization Analytics dashboard Weekly email digests Public knowledge base generation Support Resources n8n Documentation n8n Community OpenAI API Docs PDFMunk Support Google Drive API Slack API Docs License This workflow template is provided as-is for use with n8n under the MIT License.
by Ficky
This workflow contains community nodes that are only compatible with the self-hosted version of n8n. 🎉 n8n Workflow: Meetup Registration & Giveaway Picker This n8n workflow is designed to handle both participant registration and giveaway winner selection, fully integrated with a frontend experience. 📋 Participant Registration Flow This part of the workflow automates the registration process for meetup attendees. 🔄 Steps: 📝 Participant Form (Webhook Trigger) Triggered when a user submits the form. Captures fields like nama_lengkap, email, whatsapp, discord_username, and more. 🛠️ Data Mapping Maps raw form inputs into a structured format. Supports trimming, validation, and transformation as needed. 💾 Save to Database Performs an upsert operation to store participant info in PostgreSQL. Prevents duplicate entries based on unique ID (e.g., WhatsApp or email). ✅ Confirmation Screen Returns a success message or thank-you page after registration is complete. 🎁 Giveaway App This section serve frontend app to display and select random winners. 🔄 Steps: 🌐 Webhook GET (Giveaway App) Exposes a public endpoint that delivers a ready-to-use HTML app. Can be opened in a browser or projected during the event. 📥 Fetch Participants Executes a SQL query to retrieve all participant records from the database. 🧮 Format Participant Data Redacts personal details (e.g., masks WhatsApp numbers). Encodes the id using Base64 for privacy and uniqueness. 📤 Render Giveaway App Returns an HTML-based Single Page Application with the participant list included. Allows the host to click a button to pick random winners live. ✅ Use Case Highlights Streamlined participant collection and storage using n8n workflows Secure data handling with redaction and ID encoding Frontend integration for a fun, interactive giveaway experience Reusable for other community events, workshops, or internal team draws
by Matt F.
AI Customer-Support Assistant that auto-maps any business site, answers WhatsApp in real time, and lets you earn or save thousands by replacing pricey SaaS chat tools. ⚡ What the workflow does Live “AI employee”* - the bot crawls pages on demand (products, policies, FAQs) so you *never** upload documents or fine-tune a model. No-code setup** - Drop in API keys, paste your domain, publish the webhook—ready in \~15 min. Chat memory** - each conversation turn is written to Supabase/Postgres and automatically replayed into the next prompt, letting the assistant remember context so follow-up questions feel natural and coherent even across long sessions. WhatsApp ready** - Free-form replies inside the 24-hour service window, automatically switches to a template when required (recommended by Meta). 🚀 Why you’ll love it | Benefit | Impact | | ------------------------- | --------------------------------------------------------------------- | | Zero content training | Point the AI Agent at any domain → go live. | | Save or earn money | Replace pricey SaaS chat tools or sell white-label bots to clients. | | Channel-agnostic | Ships with WhatsApp; swap one node for Telegram, Slack, or web chat. | | Flexible voice | Adjust tone & language by editing one prompt line. | 🧰 Prerequisites (all free-tier friendly) OpenAI key Meta WhatsApp Cloud API number + permanent token (easy setup) Supabase (or Postgres) URL for chat memory (easy setup) 🛠 5-step setup Import the template into n8n. Add credentials for OpenAI, WhatsApp, and Supabase. Enter your root domain in the root\_url variable. Point Meta’s Webhook to the n8n URL. Hit Execute Trigger and send “Hi” from WhatsApp—watch the bot answer with live data. 🔄 Easy to extend Voice & language** – change wording in the System Prompt. Escalation** – add an “If fallback” branch → Zendesk, email, live agents. Extra channels** – duplicate the reply node for Telegram or Slack. Commerce API hooks** – plug in Shopify, Woo, Stripe for order status or payments. 💡 Monetization ideas Replace costly SaaS seats.* Deploy the bot on your own server and *stop paying \$300–\$500 every month for third-party “AI support” platforms. Sell it as a service.* Spin up a branded instance for local shops, clinics, or e-commerce stores and *charge each client \$300–\$500 per month**—setup time is under 15 minutes. Upsell premium coverage (24/7 human hand-off) once the bot handles routine questions. Embed product links in answers and earn affiliate or upsell revenue automatically. Spin it up, connect a domain and a phone number, and you—or your customers—get enterprise-grade support without code, training, or ongoing licence fees.
by Tom
This is the workflow powering the n8n demo shown at StrapiConf 2022. The workflow searches matching Tweets every 30 minutes using the Interval node and listens to Form submissions using the Webhook node. Sentiment analysis is handled by Google using the Google Cloud Natural Language node before the result is stored in Strapi using the Strapi node. (These were originally two separate workflows that have been combined into one to simplify sharing.)
by ParquetReader
📄 Convert Parquet, Feather, ORC & Avro Files with ParquetReader This workflow allows you to upload and inspect Parquet, Feather, ORC, or Avro files via the ParquetReader API. It instantly returns a structured JSON preview of your data — including rows, schema, and metadata — without needing to write any custom code. ✅ Perfect For Validating schema and structure before syncing or transformation Previewing raw columnar files on the fly Automating QA, ETL, or CI/CD workflows Converting Parquet, Avro, Feather, or ORC to JSON ⚙️ Use Cases Catch schema mismatches before pipeline runs Automate column audits in incoming data files Enrich metadata catalogs with real-time schema detection Integrate file validation into automated workflows 🚀 How to Use This Workflow 📥 Trigger via File Upload You can trigger this flow by sending a POST request with a file using curl, Postman, or from another n8n flow. 🔧 Example (via curl): curl -X POST http://localhost:5678/webhook-test/convert \ -F "file=@converted.parquet" > Replace converted.parquet with your local file path. You can also send Avro, ORC or Feather files. 🔁 Reuse from Other Flows You can reuse this flow by calling the webhook from another n8n workflow using an HTTP Request node. Make sure to send the file as form-data with the field name file. 🔍 What This Flow Does: Receives the uploaded file via webhook (file) Sends it to https://api.parquetreader.com/parquet as multipart/form-data (field name: file) Receives parsed data (rows), schema, and metadata in JSON format 🧪 Example JSON Response from this flow { "data": [ { "full_name": "Pamela Cabrera", "email": "bobbyharrison@example.net", "age": "24", "active": "True", "latitude": "-36.1577385", "longitude": "63.014954", "company": "Carter, Shaw and Parks", "country": "Honduras" } ], "meta_data": { "created_by": "pyarrow", "num_columns": 21, "num_rows": 10, "serialized_size": 7598, "format_version": "0.12" }, "schema": [ { "column_name": "full_name", "column_type": "string" }, { "column_name": "email", "column_type": "string" }, { "column_name": "age", "column_type": "int64" }, { "column_name": "active", "column_type": "bool" }, { "column_name": "latitude", "column_type": "double" }, { "column_name": "longitude", "column_type": "double" }, { "column_name": "company", "column_type": "string" }, { "column_name": "country", "column_type": "string" } ] } 🔐 API Info Authentication: None required Supported formats: .parquet, .avro, .orc, .feather Free usage: No signup needed; API is currently open to the public Limits: Usage and file size limits may apply in the future (TBD)
by Davide
This workflow integrates a chatbot frontend with a backend powered by Langflow, a visual low-code AI development tool. The flow is triggered whenever a chat message is received via the n8n chatbot widget embedded on a website. It then sends the message to a Langflow flow for processing and returns the generated response to the user. How It Works Chat Trigger: The workflow starts with a webhook trigger (When chat message received) that listens for incoming chat messages from the n8n Chat interface. Langflow Integration: The chat input is sent to a Langflow instance via an HTTP request (Langflow node). The request includes the user's message and expects a response from the Langflow flow. Response Processing: The output from Langflow is extracted and formatted using the Edit Fields node, ensuring the chatbot displays the response correctly. Customization: Sticky notes provide instructions for embedding the n8n Chat widget on a website and customizing its appearance, including welcome messages, language settings, and branding. Set Up Steps Configure Langflow Connection: Replace LANGFLOW_URL and FLOW_ID in the HTTP request node with your Langflow instance details. Ensure the API headers (e.g., Content-Type: application/json) and authentication (if required) are correctly set. Deploy n8n Chat: Add the provided CDN script to your website, replacing YOUR_PRODUCTION_WEBHOOK_URL with the webhook URL generated by the When chat message received node. Customize the chatbot’s UI (e.g., title, placeholder text, initial messages) using the JavaScript snippet in the sticky notes. Activate Workflow: Toggle the workflow to "Active" in n8n. Test the chatbot by sending a message and verifying the Langflow response is processed and displayed correctly. Advantages ✅ Seamless Langflow Integration It allows n8n to communicate directly with a Langflow flow via API, enabling AI responses using custom-designed Langflow logic. ✅ No-Code Chatbot Deployment With just a script snippet, the chatbot widget can be embedded into any website. Minimal coding is required to launch a fully functioning AI chatbot. ✅ Customizable UI/UX The included embed code offers full control over the chatbot's appearance, language, welcome message, input placeholder, and branding—ideal for white-label or customer-facing deployments. ✅ Modular and Extensible Because it's built in n8n, this chatbot can be easily extended with other services like CRMs, email alerts, or databases, without leaving the platform. ✅ Real-Time AI Interactions Thanks to Langflow's API and chat response support, users get immediate and dynamic AI-driven replies. Need help customizing? Contact me for consulting and support or add me on Linkedin.
by lin@davoy.tech
Are you looking to create a counseling chatbot that provides emotional support and mental health guidance through the LINE messaging platform ? This guide will walk you through connecting LINE with powerful AI language models like GPT-4 to build a chatbot that supports users in navigating their emotions, offering 24/7 conversational therapy and accessible mental health resources . By leveraging LINE's webhook integration and Azure OpenAI , this template allows you to design a chatbot that is both empathetic and efficient, ensuring users receive timely and professional responses. Whether you're a developer, counselor, or business owner, this guide will help you create a customizable counseling chatbot tailored to your audience's needs. Who Is This Template For? Developers who want to integrate AI-powered chatbots into the LINE platform for mental health applications. Counselors & Therapists looking to expand their reach and provide automated emotional support to clients outside of traditional sessions. Businesses & Organizations focused on improving mental health accessibility and offering innovative solutions to their users. Educators & Nonprofits seeking tools to provide free or low-cost counseling services to underserved communities. How this work? Line Webhook to receive new message Send loading animation in Line Check if the input is text or not Send the text as prompt in chat model (GPT 4o) Reply the message to user (you'll need 'edit field' to format it before reply) Pre-Requisites You have access to the LINE Developers Console. An Azure OpenAI account with necessary credentials. Set-up To receive messages from LINE, configure your webhook: Set up a webhook in LINE Developer Console. Copy the Webhook URL from the Line Chatbot node and paste it into the LINE Console. Ensure to remove any 'test' part when moving to production. The loading animation reassures users that the system is processing their request. Authorize using header authorization Message Handling Use the Check Message Type IsText? node to verify if the incoming message is text. If the message type is text, proceed with ChatGPT processing; otherwise, send a reply indicating non-text inputs are not supported. AI Agent Configuration Define the system message within the AI Agent node to guide the conversation based on desired interaction principles. Connect the Azure OpenAI Chat Model to the AI Agent. Formatting Responses Ensure responses are properly formatted before sending them back to the user. Reply Message Use the ReplyMessage - Line node to send the formatted response. Ensure proper header authorization using Bearer tokens.
by Angel Menendez
Video Demo: Click here to see a video of this workflow in action. Summary Description: The "IT Department Q&A Workflow" is designed to streamline and automate the process of handling IT-related inquiries from employees through Slack. When an employee sends a direct message (DM) to the IT department's Slack channel, the workflow is triggered. The initial step involves the "Receive DMs" node, which listens for new messages. Upon receiving a message, the workflow verifies the webhook by responding to Slack's challenge request, ensuring that the communication channel is active and secure. Once the webhook is verified, the workflow checks if the message sender is a bot using the "Check if Bot" node. If the sender is identified as a bot, the workflow terminates the process to avoid unnecessary actions. If the sender is a human, the workflow sends an acknowledgment message back to the user, confirming that their query is being processed. This is achieved through the "Send Initial Message" node, which posts a simple message like "On it!" to the user's Slack channel. The core functionality of the workflow is powered by the "AI Agent" node, which utilizes the OpenAI GPT-4 model to interpret and respond to the user's query. This AI-driven node processes the text of the received message, generating an appropriate response based on the context and information available. To maintain conversation context, the "Window Buffer Memory" node stores the last five messages from each user, ensuring that the AI agent can provide coherent and contextually relevant answers. Additionally, the workflow includes a custom Knowledge Base (KB) tool (see that tool template here) that integrates with the AI agent, allowing it to search the company's internal KB for relevant information. After generating the response, the workflow cleans up the initial acknowledgment message using the "Delete Initial Message" node to keep the conversation thread clean. Finally, the generated response is sent back to the user via the "Send Message" node, providing them with the information or assistance they requested. This workflow effectively automates the IT support process, reducing response times and improving efficiency. To quickly deploy the Knowledge Ninja app in Slack, use the app manifest below and don't forget to replace the two sample urls: { "display_information": { "name": "Knowledge Ninja", "description": "IT Department Q&A Workflow", "background_color": "#005e5e" }, "features": { "bot_user": { "display_name": "IT Ops AI SlackBot Workflow", "always_online": true } }, "oauth_config": { "redirect_urls": [ "Replace everything inside the double quotes with your slack redirect oauth url, for example: https://n8n.domain.com/rest/oauth2-credential/callback" ], "scopes": { "user": [ "search:read" ], "bot": [ "chat:write", "chat:write.customize", "groups:history", "groups:read", "groups:write", "groups:write.invites", "groups:write.topic", "im:history", "im:read", "im:write", "mpim:history", "mpim:read", "mpim:write", "mpim:write.topic", "usergroups:read", "usergroups:write", "users:write", "channels:history" ] } }, "settings": { "event_subscriptions": { "request_url": "Replace everything inside the double quotes with your workflow webhook url, for example: https://n8n.domain.com/webhook/99db3e73-57d8-4107-ab02-5b7e713894ad", "bot_events": [ "message.im" ] }, "org_deploy_enabled": false, "socket_mode_enabled": false, "token_rotation_enabled": false } }
by Fady Bekkar
This automation allows you to track feature requests in Notion, create GitHub issues automatically, and notify your team via email based on issue status. It's ideal for technical and functional teams who collaborate on project delivery using Notion and GitHub. 🔹 SECTION 1: Detect and Sort Issues from Notion Combining: Schedule Trigger + Notion Database + Field Mapping + Status Routing ⏰ 1. Schedule Trigger 🔧 Node Type: Schedule Trigger (you can use a webhook trigger if you are on Notion paid plan) 💬 Description: Triggers the workflow every X minutes to check for new or updated Notion database pages. 📑 2. Get Many Database Pages (Notion) 🔧 Node Type: Notion → Get All Database Pages 📋 What it does: Fetches all rows (pages) from a Notion database that represents tasks or feature requests. ✏️ 3. Sort Issues Fields 🔧 Node Type: Set 📋 Goal: Restructures or cleans data fields such as Title, Status, Labels, and Repository. 🔀 4. Switch: Issue Status Decision 🔧 Node Type: Switch 🎯 What it does: Separates logic based on the Status of the Notion item: If status is "To develop" → proceed to create issue Else → send notification to the team 🔹 SECTION 2: GitHub Issue Creation (IF "To develop") Combining: GitHub Node + Notion Update 🐙 5. Create an Issue (GitHub) 🔧 Node Type: GitHub → Create Issue ⚙️ What it does: Creates a new issue on the GitHub repo defined in the Notion row. 📥 Inputs: Uses dynamic fields: Title, Description, Labels, Repository. 🧩 6. Set Status and Issue URL (Notion Update) 🔧 Node Type: Notion → Update Database Page 🧠 Role: Updates the status of the issue in Notion to In progress and stores the created GitHub Issue URL. 🔹 SECTION 3: Notify Team on Already In-Progress Items (IF NOT "To develop") Combining: Notion Users + Filtering + Email Grouping + Gmail 👥 7. Get Many Users (Notion Users) 🔧 Node Type: Notion → Get All Users 📥 What it does: Retrieves the list of team members (to be notified). 🧠 8. Map Notion Users 🔧 Node Type: Set 📋 Role: Maps and formats data for each user (e.g., Name, Email, Role). 🧹 9. Exclude Bot 🔧 Node Type: Switch 🚫 What it does: Excludes automation/bot users (e.g., notifications@noreply). 🧮 10. Group Recipients 🔧 Node Type: Aggregate 🎯 Goal: Collects all user emails into a single array to send one email to all recipients. 📬 11. Send a Message (Gmail) 🔧 Node Type: Gmail → Send Email
by n8n Team
The workflow is an automated process designed for incident management and tracking, specifically by integrating Splunk alerts with a Jira ticketing system using n8n. The initial step in the workflow is a Webhook Trigger, which is set up to receive POST requests with data from Splunk to initiate the workflow. Once the workflow is triggered, the "Set Host Name" node cleans up the hostname received from Splunk, ensuring that it is alphanumeric for consistency and security purposes. Subsequently, the "Search Ticket" node interacts with Jira through a Jira Query Language (JQL) request to locate any existing issues that match the sanitized hostname. The workflow splits at the "IF Ticket Not Exists" node, which checks for the presence of a key indicating a matching issue. If an issue exists, the workflow proceeds to add a comment to the identified issue, and if not, it creates a new Jira issue. At the false path, the "Add Ticket Comment" node appends a new comment to the existing Jira issue, encapsulating details from the Splunk alert, such as the timestamp and the alert description.
by Vitali
Template Description This n8n workflow is designed to manage Fastmail masked email addresses using the Fastmail API. The workflow provides the following functionalities: Retrieve all masked emails: Fetches all masked email addresses associated with the Fastmail account. Create masked email: Allows creating a new masked email with a specified state (pending, enabled, etc.). Update masked email state: Updates the state of a masked email such as enabling, disabling, or deleting it. Generate HTML template: Constructs an HTML table to display the masked emails in a user-friendly format. Steps to Make it Work Webhook Node: This node listens for incoming requests to manage masked emails. Needs Basic Authentication credentials to secure the endpoint. Session Node: Sends a request to obtain session information from Fastmail's API. Requires an HTTP Header Auth credential with your Fastmail API token. Switch Node: Routes the workflow based on the state of the incoming masked email request (pending, enabled, disabled, deleted). HTTP Request Nodes: These nodes handle various Fastmail API calls for masked emails (get, set, update, delete). All HTTP Request nodes require an HTTP Header Auth credential attached, using the Fastmail API token. Set Node: Gathers the retrieved masked email list into an array for further processing. HTML Node: Generates an HTML template to render the masked email addresses in a table format. Respond to Webhook Node: Sends back the HTML table to the client in response to the webhook request. Needed Credentials Fastmail Masked E-Mail Addresses: An API token from Fastmail's API. Each HTTP call to Fastmail requires this credential for authentication. Note Ensure that you correctly configure authentication for the API calls and webhook security. Use your actual Fastmail API credentials with the correct scope. The workflow assumes that the Fastmail API is correctly configured and accessible from your n8n instance. Update URLs and credentials IDs according to your n8n configuration.
by siyad
This n8n workflow automates the process of monitoring inventory levels for Shopify products, ensuring timely updates and efficient stock management. It is designed to alert users when inventory levels are low or out of stock, integrating with Shopify's webhook system and providing notifications through Discord (can be changed to any messaging platform) with product images and details. Workflow Overview Webhook Node (Shopify Listener): This node is set up to listen for Shopify's inventory level webhook. It triggers the workflow whenever there is an update in the inventory levels. The webhook is configured in Shopify settings, where the n8n URL is specified to receive inventory level updates. Function Node (Inventory Check): This node processes the data received from the Shopify webhook. It extracts the available inventory and the inventory item ID, and determines whether the inventory is low (less than 4 items) or out of stock. Condition Nodes (Inventory Level Check): Two condition nodes follow the function node. One checks if the inventory is low (low_inventory equals true), and the other checks if the inventory is out of stock (out_of_stock equals true). GraphQL Node (Product Details Retrieval): Connected to the condition nodes, this node fetches detailed information about the product using Shopify's GraphQL API. It retrieves the product variant, title, current inventory quantity, and the first product image. HTTP Node (Discord Notification): The final node in the workflow sends a notification to Discord. It includes an embed with the product title, a warning message ("This product is running out of stock!"), the remaining inventory quantity, product variant details, and the product image. The notification ensures that relevant stakeholders are immediately informed about critical inventory levels.