Build a GLPI knowledge base RAG pipeline with Google Gemini and PostgreSQL
Description This workflow automates the creation of a Retrieval-Augmented Generation (RAG) pipeline using content from the GLPI Knowledge Base. It retrieves and processes FAQ articles directly via the GLPI API, cleans and vectorizes the content using pgvector in PostgreSQL, and prepares the data for use by LLM-powered AI agents. What Problem Does This Solve? Manually building a RAG pipeline from a GLPI knowledge base requires integrating multiple tools, cleaning data, and managing embeddings—tasks that are often complex and repetitive. This subworkflow simplifies the entire process by automating data retrieval, transformation, and vector storage, allowing you to focus on building intelligent support agents or chatbots powered by your internal documentation. Features Connects to GLPI via API to fetch FAQ articles Cleans and normalizes content for better embedding quality Generates vector embeddings using Google Gemini (or another model) Stores embeddings in a PostgreSQL database with pgvector Fully modular: easily integrate with any RAG-ready LLM pipeline Prerequisites Before using this subworkflow, make sure you have: A GLPI instance installed on a Linux server with API access enabled A PostgreSQL database with the pgvector extension installed An OpenAI API key (or alternative embedding provider) n8n instance (self-hosted or cloud) Suggested Usage This subworkflow is intended to be part of a larger AI pipeline. Attach it to a scheduled workflow (e.g. daily sync) or use it in response to updates in your GLPI base. Ideal for internal support bots, IT documentation assistants, and help desk AI agents that rely on up-to-date knowledge.
Track and score contact engagement with Zoho CRM, PDL, News & Reddit
Zoho CRM – Social Media Engagement Tracker This workflow automatically monitors new or updated Contacts in Zoho CRM, enriches them using People Data Labs, checks public visibility across News + Reddit, calculates an engagement score and updates Zoho CRM fields accordingly. When a Contact shows high online engagement, the workflow automatically opens a Deal and logs a note to help sales teams act quickly. 🚀 Quick Implementation Import this workflow JSON into n8n. Add Zoho OAuth2 credentials & set webhook URL. Add People Data Labs API Key & GNews API Key. Ensure CRM custom fields exist-SocialProfiles,EngagementScore,MentionsCounts,SocialStatus Update a Contact in Zoho → watch automation fire! 🔍 What It Does This automation transforms a simple Zoho CRM instance into a proactive intelligence system that detects which contacts are gaining public attention online. When a Contact is created or updated in Zoho CRM, n8n automatically retrieves verified profile data such as LinkedIn, Twitter, Facebook and GitHub using People Data Labs — eliminating manual research and spreadsheet maintenance. Next, the workflow checks whether the contact is appearing in global News platforms (via GNews) or being discussed on Reddit. It analyzes the volume and context of these public mentions to estimate how relevant, visible or influential the person may be online. Each discovered activity contributes to a calculated Engagement Score. That score and all enrichment details are written back to Zoho CRM, helping sales and marketing teams instantly identify high-potential contacts. When the score exceeds a defined threshold, the workflow even creates a Deal automatically — meaning your CRM will notify your team of hot prospects before someone else reaches them. This safeguards missed opportunities, speeds outreach and improves your entire pipeline efficiency. 🎯 Who’s It For B2B sales teams & SDRs. CRM admins improving data quality. Marketing analysts tracking brand mentions. Growth teams targeting public-facing prospects. Lead scoring, enrichment & prioritization automation. 🧩 Requirements | Tool | Purpose | |------|---------| | n8n | Workflow automation | | Zoho CRM | Contact data and CRM updates | | PDL API Key | Social profiles enrichment | | GNews API Key | Public news mention search | | Internet Access | API communication | Zoho CRM must contain these custom Contact fields: Social_Profiles Engagement_Score Mentions_Counts Social_Status ⚙️ How It Works — Setup & Configuration Steps 1️⃣ Install and Import Open n8n → Import from File Import this workflow JSON 2️⃣ Configure Authentication Assign Zoho OAuth2 credentials to all Zoho nodes Add PDL API Key in header x-api-key Add GNews API Key in query param apikey 3️⃣ Configure Zoho CRM Webhook Zoho CRM → Developer Space → Webhooks Module: Contacts URL: https://YOUR-N8N-URL/webhook/zoho-crm-new-contact Method: POST Trigger: Create + Update Test by modifying a Contact. 4️⃣ Validate CRM Field Mappings Ensure custom fields exist and allow updates 🛠 Customize Nodes | Node | Customization Options | |------|----------------------| | Engagement Scoring | Adjust weights for likes/comments/news | | IF High Engagement | Change threshold (default ≥ 200) | | Deal Creation | Customize Deal name, stage, pipeline | | Social Profiles | Add more sites: TikTok, Instagram, etc. | | Notes | Include full mention breakdown | ➕ Add-Ons / Optional Improvements | Feature | Benefit | |--------|---------| | Slack notifications | Real-time alerts for hot contacts | | Google Sheets logging | Trend reports across engagements | | Weekly re-scans | Detect new mentions automatically | | UTM tracking | Monitor marketing effectiveness | | AI sentiment scoring | Prioritize positive vs negative mentions | 💡 Use Case Examples Automatic lead prioritization for outbound sales. Identify influencers or public figures inside CRM. Detect PR opportunities from sudden news mentions. Track competitor engagement through contacts. Increase CRM intelligence without manual data entry. (And many more real-world CRM automation use cases) 🧯 Troubleshooting Guide | Issue | Reason | Solution | |------|--------|----------| | No workflow execution | Webhook not triggered | Check Zoho webhook config | | No social profiles | Contact lacks digital footprint | Test with a known public profile | | Deal not created | Score below limit | Reduce score threshold | | HTTP 401 errors | Invalid API credentials | Re-connect Zoho / update keys | | Reddit search empty | Rate limiting or mismatch | Retry + adjust keyword logic | 🤝 Need Help? This workflow is built by n8n automation developers at WeblineIndia. We can help you: Deploy this workflow into production, Integrate more CRMs & intelligence providers, Add reporting dashboards & alerts, Build custom scoring and automation logic, And so much more.
Random Process Scheduler
Random Process Scheduler Turn predictable automations into human-like activity with random scheduling across easily customisable time slots. Perfect for content publishing with organic scheduling patterns, social media automation, API systems that need to avoid rate limiting, or any automation requiring randomised timing control across multiple periods. All times are configured in local timezone with automatic UTC conversion for technical operations. Features easy slot management with chronological ordering, gap support, and 24-hour window scheduling. How to use Set schedulerExecutionTime in Init node (match it to Schedule Trigger cron) Define time slots with start/end hours and probability values (see below) Configure Execute sub-process with your own workflow ID Configure SMTP credentials, local time zone and optionally project paths Step by Step Configuration Two variables to set in the Init node's "Custom Configuration" section: When the scheduler runs daily: javascript const schedulerExecutionTime = 1; // 1am (24h clock; must match Schedule Trigger node) Your execution slots: javascript const subprocessTimeSlots = { morning: { start: 6, end: 12, probability: 0.85 }, afternoon: { start: 12, end: 18, probability: 0.85 }, evening: { start: 18, end: 24, probability: 0.5 } }; That's it. Three slots, three probabilities. Add or remove slots, adjust times - it just works. Real-world example with gaps: javascript const subprocessTimeSlots = { night: { start: 0, end: 2, probability: 0.1 }, // Optional late activity morning: { start: 6, end: 10, probability: 0.85 }, // Gap from 2-6am (no execution) noon: { start: 12, end: 14, probability: 0.85 }, // Gap from 10am-12pm afternoon: { start: 16, end: 18, probability: 0.85 }, // Gap from 2-4pm evening: { start: 20, end: 24, probability: 0.5 } // Gap from 6-8pm }; Configure Execute sub-process with your workflow ID Your sub-workflow MUST start with a Wait node and be configured with {{ $json.executions.relativeDelaySeconds }} as “Wait Amount”. Additional Configuration SMTP credential Time zone (Init node): const LOCALTIMEZONE = $env.GENERICTIMEZONE || 'Europe/Paris'; by default Project paths (Init node): // ⚠️ Your email here • const N8NADMINEMAIL = $env.N8NADMINEMAIL || 'yourmail@world.com'; // ⚠️ Your projects’ ROOT folder on your mapped server here • const N8NPROJECTSDIR = $env.N8NPROJECTSDIR || '/files/n8n-projects-data'; // ⚠️ Your project’s folder name here for logging • const PROJECTFOLDERNAME = "RPS"; Requirements n8n instance running in Docker with file system access Volume mapping for persistent storage (e.g., /local-files:/files) De-activate Read/Write nodes & Email sends if you do not want to use logging features (file system access optional) SMTP server for notifications n8n API credentials for error handling Target sub-workflow with Wait node to handle relativeDelaySeconds IMPORTANT: Your sub-workflow MUST start with a Wait node and be configured with {{ $json.executions.relativeDelaySeconds }} as “Wait Amount”. How it works 24-Hour Window Algorithm: Schedules executions from current time until next scheduler run, handling timezone conversions and cross-midnight scenarios Automatic Validation: Checks for overlaps, invalid time ranges, and probability values on every run Chronological Processing: Processes slots in order regardless of how you define them Inclusive/Exclusive Boundaries: 6-12 slot runs from 6:00:00 to 11:59:59 (start inclusive, end exclusive) Chained Execution: Each subprocess receives a relativeDelaySeconds value for sequential execution with calculated intervals Comprehensive Monitoring: Tracks planned vs actual execution times with delay calculations and detailed logging Configuration Rules No Overlap: Slots cannot overlap (6-10 and 9-12 is invalid) Valid Ranges: Start 0-23, end 0-24, start < end Valid Probability: 0 to 1 (0.85 = 85% chance) Gaps Allowed: Skip hours completely (e.g., no execution 2-6am) Emoji Support: Use "night", "morning", "noon", "evening" keywords in slot names for visual logs Use Cases: Content publishing with organic scheduling patterns Social media automation with human-like posting intervals API systems avoiding rate limits through unpredictable timing Business hours automation with precise timing control