Dynamically run SuiteQL queries in NetSuite via HTTP webhook in n8n
Dynamically Run SuiteQL Queries in NetSuite via HTTP Webhook in n8n > Important: This template uses a NetSuite community node, so it only works on self-hosted n8n. Cloud-based n8n instances currently do not support community nodes. Summary This workflow template allows you to dynamically run SuiteQL queries in NetSuite by sending an HTTP request to an n8n Webhook node. Once triggered, the workflow uses token-based authentication to execute your SuiteQL query and returns the results as JSON. This makes it easy to integrate real-time NetSuite data into dashboards, reporting tools, or other applications. Who Is This For? Developers & Integrators: Easily embed NetSuite data retrieval into custom apps or internal tools. Enterprises & Consultants: Integrate dynamic reporting or data enrichment from NetSuite without manual exports. System Administrators: Automate routine queries and reduce manual intervention. Use Cases & Benefits Dynamic Data Access Send any SuiteQL query on demand instead of hardcoding queries or manually running reports. Seamless Integration Quickly pull NetSuite data into front-end systems (like Excel dashboards, custom web apps, or internal tools) by calling the webhook endpoint. Simplified Reporting Automate data extraction and formatting, reducing the need for manual exports and improving efficiency. How It Works Trigger: An HTTP request to the webhook node initiates the workflow. Input Processing: The workflow reads the SuiteQL query from the incoming request parameter (suiteql). Query Execution: The NetSuite node uses your token-based authentication credentials to run the SuiteQL query. Response: Results are returned as JSON in the HTTP response, ready for further processing or immediate consumption. Prerequisites & Setup NetSuite Community Node This workflow requires the NetSuite community node. Make sure your self-hosted n8n instance supports community nodes. NetSuite Token-Based Authentication Enable TBA in NetSuite. Obtain the required consumer key, consumer secret, token ID, and token secret. n8n Webhook Copy the auto-generated webhook URL (e.g. http://<your-n8n-domain>/webhook/unique-id) from the Webhook node. Usage Send an HTTP GET or POST request to the webhook with your SuiteQL query. For example: sh curl "http://<your-n8n-domain>/webhook/unique-id?suiteql=SELECT%20*%20FROM%20account%20LIMIT%2010" The workflow will execute the query and return JSON data. Customization Change the Query: Simply adjust the suiteql parameter in your HTTP request to run different SuiteQL statements. Data Transformation: Insert nodes (e.g., Function, Set, or Format) to modify or reformat the data before returning it. Extend Integration: Chain additional nodes to push the retrieved data to other services (Google Sheets, Slack, custom dashboards, etc.). Additional Notes Remember that this template is only compatible with self-hosted n8n because it uses a community node. - [netsuite community node](https://www.npmjs.com/package/n8n-nodes-netsuite ) If you have questions, suggestions, or need support, contact us at support@dataants.org. ---
Gmail customer support auto-responder with Ollama LLM and Pinecone RAG
Gmail Customer Support Auto-Responder with Ollama LLM and Pinecone RAG Built by Setidure Technologies Automate intelligent, friendly replies to customer queries using AI, vector search, and Gmail — all without human effort. --- Overview This is a ready-to-deploy smart customer support automation template for businesses that want to reply to emails instantly and accurately with the warmth of a human agent. It uses Gmail, LangChain agents, Ollama-hosted LLMs, and Pinecone vector search to craft contextual, brand-aligned replies at scale. > Note: This template uses community nodes and requires a self-hosted n8n instance. --- What the Workflow Does Triggers on Incoming Emails Uses Gmail Trigger node to listen for new messages Activates every minute to ensure fast responses Classifies Email Intent A LangChain Text Classifier detects whether the email is a Customer Support query Non-relevant emails are skipped Generates AI Response An AI Agent powered by Ollama generates the email reply Follows a predefined tone: "Mr. Aashit Sharma from Setidure Technologies" Written in a warm, human tone with natural phrasing Retrieves FAQ-Based Knowledge Connects to Pinecone vector database for real-time FAQ retrieval Enhances responses with specific, accurate product or policy information Labels Email in Gmail Automatically tags emails with labels like Handled or Auto-Replied for easy tracking Sends Email Reply Sends the generated response back to the customer Includes personal sign-off and clean formatting --- Tech Stack Used Gmail Trigger & Send Nodes LangChain AI Agent & Classifier Ollama LLMs (e.g., phi4, llama3) Pinecone Vector Store Custom Prompts for Brand Persona Local Embeddings using Ollama --- Key Features Fully automated — no human action needed Local LLMs ensure data privacy Real-time answers powered by vector search Brand-personality aligned tone Organized inbox with Gmail labels --- Best For Startups scaling support with limited staff SaaS companies or e-commerce businesses Privacy-conscious enterprises using local LLMs Teams building branded auto-communication workflows --- Customization Tips Modify AI prompt to reflect your brand's voice and tone Expand classifier for more email categories Replace Gmail output with Slack, Notion, or your CRM Update Pinecone FAQ index to match evolving support content ---
Process contact form submissions with validation and MongoDB storage
This n8n workflow securely processes contact form submissions by validating user input, formatting the data, and storing it in a MongoDB database. The flow ensures data consistency, prevents unsafe entries, and provides a confirmation response back to the user. Workflow Form Submission Node Purpose: Serves as the workflow’s entry point. Functionality: Captures user input from the contact form, which typically includes: name last name email phone number Code Node (Validation Layer) Purpose: Ensures that collected data is valid and secure. Validations performed: Removes suspicious characters to mitigate risks like SQL injection or script injection. Validates the phone_number field format (numeric, correct length, etc.). If any field fails validation, the entry is marked as “isnotvalid” to block it from database insertion. Edit Fields Node (Data Formatting) Purpose: Normalizes data before database insertion. Transformations applied: Converts field names to snakecase (*firstname, lastname, phonenumber*). Standardizes field naming convention for consistency in MongoDB storage. MongoDB Node (Insert Documents) Purpose: Persists validated data in MongoDB Atlas. Process: Inserts documents into the target collection with the cleaned and formatted fields. Connection is established securely using a MongoDB Atlas connection string (URI). 🔧 How to Set Up MongoDB Atlas Connection URL a. Create a Cluster b. Log in to MongoDB Atlas and create a new cluster. c. Configure Database Access: Add a database user with a secure username and password, Assign appropriate roles (e.g., Atlas Admin for full access or Read/Write for limited). d. Obtain Connection String (URI) From Atlas, go to Clusters → Connect → Drivers. Copy the provided connection string, which looks like: mongodb+srv://<username>:<password>@cluster0.abcd123.mongodb.net/myDatabase?retryWrites=true&w=majority Configure in n8n In the MongoDB node, paste the URI. Replace <username>, <password>, and myDatabase with your actual credentials and database name. Test the connection to ensure it is successful. Form Ending Node Purpose: Provides closure to the workflow. Functionality: Sends a confirmation response back to the user, indicating that their contact details were successfully submitted and stored. ✅ Result: With this workflow, all contact form submissions are safely validated, normalized, and stored in MongoDB Atlas, ensuring both data integrity and security basic.
Automate B2B SaaS renewal risk management with CRM, support & usage data
Description This workflow is designed for B2B/SaaS teams who want to secure renewals before it’s too late. It runs every day, identifies all accounts whose licenses are up for renewal in J–30, enriches them with CRM, product usage and support data, computes an internal churn risk level, and then triggers the appropriate playbook: HIGH risk → full escalation (tasks, alerts, emails) MEDIUM risk → proactive follow-up by Customer Success LOW risk → light renewal touchpoint / monitoring Everything is logged into a database table so that you can build dashboards, run analysis, or plug additional automations on top. --- How it works Daily detection (J–30 renewals) A scheduled trigger runs every morning and queries your database (Postgres / Supabase) to fetch all active subscriptions expiring in 30 days. Each row includes the account identifier, name, renewal date and basic commercial data. Data enrichment across tools For each account, the workflow calls several business systems to collect context: HubSpot → engagement history Salesforce → account profile and segment Pipedrive → deal activities and associated products Analytics API → product feature usage and activity trends Zendesk → recent support tickets and potential friction signals All of this is merged into a single, unified item. Churn scoring & routing An internal scoring step evaluates the risk for each account based on multiple signals (engagement, usage, support, timing). The workflow then categorizes each account into one of three risk levels: HIGH – strong churn signals → needs immediate attention MEDIUM – some warning signs → needs proactive follow-up LOW – looks healthy → light renewal reminder A Switch node routes each account to the relevant playbook. Automated playbooks 🔴 HIGH risk Create a Trello card on a dedicated “High-Risk Renewals” board/list Create a Jira ticket for the CS / AM team Send a Slack alert in a designated channel Send a detailed email to the CSM and/or account manager 🟠 MEDIUM risk Create a Trello card in a “Renewals – Follow-up” list Send a contextual email to the CSM to recommend a proactive check-in 🟢 LOW risk Send a soft renewal email / internal note to keep the account on the radar Logging & daily reporting For every processed account, the workflow prepares a structured log record (account, renewal date, risk level, basic context). A Postgres node is used to insert the data into a churn_logs table. At the end of each run, all processed accounts are aggregated and a daily summary email is sent (for example to the Customer Success leadership team), listing the renewals and their risk levels. --- Requirements Database A table named churn_logs (or equivalent) to store workflow decisions and history. Example fields: accountid, accountname, enddate, riskScore, riskLevel, playbook, trellolink, jira_link, timestamp. External APIs HubSpot (engagement data) Salesforce (account profile) Pipedrive (deals & products) Zendesk (support tickets) Optional: product analytics API for usage metrics Communication & task tools Gmail (emails to CSM / AM / summary recipients) Slack (alert channel for high-risk cases) Trello (task creation for CS follow-up) Jira (escalation tickets for high-risk renewals) Configuration variables Thresholds are configured in the Init config & thresholds node: daysbeforerenewal churnthresholdhigh churnthresholdmedium These parameters let you adapt the detection window and risk sensitivity to your own business rules. --- Typical use cases Customer Success teams who want a daily churn watchlist without exporting spreadsheets. RevOps teams looking to standardize renewal playbooks across tools. SaaS companies who need to prioritize renewals based on real risk signals rather than gut feeling. Product-led organizations that want to combine usage data + CRM + support into one automated process. Tutorial video Watch the Youtube Tutorial video About me : I’m Yassin a Project & Product Manager Scaling tech products with data-driven project management. 📬 Feel free to connect with me on Linkedin