by Atha Ahsan Xavier Haris
Daily GitHub Trending AI Digest to Telegram This workflow generates a daily AI-powered GitHub Trending digest and sends it to Telegram using GitHub Trending, GitHub README data, and Google Gemini. It fetches trending repositories from GitHub, extracts the top repository links, retrieves each repository README through the GitHub API, builds a structured AI payload, asks Gemini to summarize the repositories, and delivers the result as a clean Telegram digest. It is useful for developers, builders, researchers, and tech enthusiasts who want to discover interesting open-source projects without manually browsing GitHub Trending every day. Common use cases: Send a daily GitHub Trending digest to your Telegram Discover useful open-source repositories automatically Monitor new developer tools, AI projects, frameworks, and libraries Build a personal open-source discovery assistant Learn how to combine web extraction, GitHub API data, LLM summarization, and Telegram in n8n How it works Starts from a Schedule Trigger, which you can customize Sets the number of repositories to include in the digest Fetches the GitHub Trending page Extracts trending repository links from the page Splits the repository links into individual items Builds GitHub repository URLs and GitHub README API URLs Limits the workflow to the configured number of repositories Fetches each repository README using the GitHub API Decodes README content from base64 Builds one structured AI payload containing all selected repositories Sends the payload to Google Gemini Parses Gemini’s response into structured JSON Formats the result into a Telegram message Sends the AI-generated digest to Telegram Setup steps Set the number of repositories in the Set Digest Config node Connect your Google Gemini credentials Connect your Telegram credentials Set your Telegram chat ID in the Telegram node Adjust the Schedule Trigger if you want a different run time Test the workflow manually Activate the workflow Notes This workflow uses GitHub Trending page data and GitHub public README API data. GitHub does not provide an official Trending API endpoint, so the workflow extracts repository links from the GitHub Trending page. The AI summaries are generated only from the provided repository URLs and README excerpts. If a README is missing or unclear, the summary quality may be limited. Need Help? Have questions or want to connect? Reach me on LinkedIn.
by explorium
Explorium Agent for Slack AI-powered Slack bot for business intelligence queries using Explorium API through MCP. Prerequisites Slack workspace with admin access Anthropic API key (You can replace with other LLM Chat) Explorium API Key 1. Create Slack App Create App Go to api.slack.com/apps Click Create New App → From scratch Give it name (e.g., "Explorium Agent") and select workspace Bot Permissions (OAuth & Permissions) Add these Bot Token Scopes: app_mentions:read channels:history channels:read chat:write emoji:read groups:history groups:read im:history im:read mpim:history mpim:read reactions:read users:read Enable Events Event Subscriptions → Enable Add Request URL (from n8n Slack Trigger node) Subscribe to bot events: app_mention message.channels message.groups message.im message.mpim reaction_added Install App Install App → Install to Workspace Copy Bot User OAuth Token (xoxb-...) 2. Configure n8n Import & Setup Import this JSON template Slack Trigger node: Add Slack credential with Bot Token Copy webhook URL Paste in Slack Event Subscriptions Request URL Anthropic Chat Model node: Add Anthropic API credential Model: claude-haiku-4-5-20251001 (You can replace it with other chat models) MCP Client node: Endpoint: https://mcp.explorium.ai/mcp Header Auth: Add Explorium API key Usage Examples @ExploriumAgent find tech companies in SF with 50-200 employees @ExploriumAgent show Microsoft's technology stack @ExploriumAgent get CMO contacts at healthcare companies `
by Swot.AI
Description This workflow lets you upload a PDF document and automatically analyze it with AI. It extracts the text, summarizes the content, flags key clauses or risks, and then delivers the results via Gmail while also storing them in Google Sheets for tracking. It’s designed for legal, compliance, or contract review use cases, but can be adapted for any document analysis scenario. Test it here: PDF Document Assistant 🔹 Instructions / Setup Webhook Input Upload a PDF document by sending it to the webhook URL. Extract from File The workflow extracts text from the uploaded PDF. Pre-processing (Code Node) Cleans and formats extracted text to remove unwanted line breaks or artifacts. Basic LLM Chain (OpenAI) Summarizes or restructures document content using OpenAI. Adjust the prompt inside to fit your analysis needs (summary, risk flags, clause extraction). Post-processing (Code Node) Further structures the AI output into a clean format (JSON, HTML, or plain text). AI Agent (OpenAI) Runs deeper analysis, answers questions, and extracts insights. Gmail Sends the results to a recipient. Configure Gmail credentials and set your recipient address. Google Sheets Appends results to a Google Sheet for record-keeping or audits. Respond to Webhook Sends a quick acknowledgment back to confirm the document was received. 🔹 Credentials Needed OpenAI API key (for Chat Model + Agent) Gmail account (OAuth2) Google Sheets account (OAuth2) 🔹 Example Use Case Upload a contract PDF → workflow extracts clauses → AI flags risky terms → Gmail sends formatted summary → results stored in Google Sheets.
by Feras Dabour
AI LinkedIn Content Bot with Approval Loop This n8n workflow transforms your Telegram messenger into a personal assistant for creating and publishing LinkedIn posts. You can simply send an idea as a text or voice message, collaboratively edit the AI's suggestion in a chat, and then publish the finished post directly to LinkedIn just by saying "Okay." What You'll Need to Get Started Before you can use this workflow, you'll need a few prerequisites set up. This workflow connects three different services, so you will need API credentials for each: Telegram Bot API Key: You can get this by talking to the "BotFather" on Telegram. It will guide you through creating your new bot and provide you with the API token. New Chat with Telegram BotFather OpenAI API Key: This is required for the "Speech to Text" and "AI Agent" nodes. You'll need an account with OpenAI to generate this key. [OpenAI API Platform](https://platform.openai.com ) Blotato API Key: This service is used to publish the final post to LinkedIn. You'll need a Blotato account and to connect your LinkedIn profile there to get the key. [Blotato platform for social media publishing] Once you have these keys, you can add them to the corresponding credentials in your n8n instance. How the Workflow Operates, Step-by-Step Here is a detailed breakdown of how the workflow processes your request and handles the publishing. 1\. Input & Initial Processing This phase captures your idea and converts it into usable text. | Node Name | Role in Workflow | | :--- | :--- | | Start: Telegram Message | This Telegram Trigger node initiates the entire process upon receiving any message from you in the bot. | | Prepare Input | Consolidates the message content, ensuring the AI receives only one clean text input. | | Check: ist it a Voice? | Checks the incoming message for text. If text is empty, it proceeds to voice handling. | | Get Voice File | If a voice note is detected, this node downloads the raw audio file from Telegram. | | Speech to Text | This node uses the OpenAI Whisper API to convert the downloaded audio file into a text string. | 2\. AI Core & Iteration Loop This is the central dialogue system where the AI drafts the content and engages in the feedback loop. | Node Name | Role in Workflow | | :--- | :--- | | AI: Draft & Revise Post | The main logic agent. It analyzes your request, applies the "System Prompt" rules, drafts the post, and handles revisions based on your feedback. | | OpenAI Chat Model | Defines the large language model (LLM) used for generating and revising the post. | | Window Buffer Memory | A memory buffer that stores the last turns of the conversation, allowing the AI to maintain context when you request changes (e.g., "Make it shorter"). | | Check if Approved | This crucial node detects the specific JSON structure the AI outputs only when you provide an approval keyword (like "ok" or "approved"). | | Post Suggestion Or Ask For Approval | Sends the AI's post draft back to your Telegram chat for review and feedback. | AI Agent System Prompt (Internal Instructions - English) The agent operates under a strict prompt that dictates its behavior and formatting (found within the AI: Draft & Revise Post node): > You are a LinkedIn Content Creator Agent for Telegram. > Keep the confirmation process, but change the output format as follows: > > Your Task > Analyze the user's message: > > * Topic > * Goal (e.g., reach, show expertise, recruiting, personal branding, leads) > * Target Audience > * Tonality (e.g., factual, personal, bold, inspiring) > > Create a LinkedIn post as ONE continuous text: > > * Strong hook in the first 1–2 lines. > * Clear main part with added value, story, example, or insight. > * Optional Call-to-Action (e.g., question to the community, invitation to exchange). > * Integrate hashtags at the end of the post (5–12 suitable hashtags, mix of niche + somewhat broader). > * Readable on LinkedIn: short paragraphs, emojis only sparingly. > > Present the suggestion to the user in the following format: > > Headline: Post Proposal: > Below that, the complete LinkedIn post (incl. hashtags at the end in the same text). > > Ask for feedback: > For example: > "Any changes? (Tone, length, formality, personal vs. professional, more technical content, different hashtags?)" > > If the user requests changes: > Adjust the post specifically based on the feedback. > Again, output only: > Post Proposal: > the revised complete post. > > If the user says “approved”, “ok”, “sounds good”, or similar: > Return exclusively this JSON, without additional text, without Markdown: > > > { > "Post": "The final LinkedIn post as one text, including hashtags at the end" > } > > > Important: > > * Never output JSON before approval, only normal suggestion text. > * The final output after approval consists of only one field: Post. 3\. Publishing & Status Check Once approved, the workflow handles the publication and monitors the post's status in real-time. | Node Name | Role in Workflow | | :--- | :--- | | Approval: Extract Final Post Text | Parses the incoming JSON, extracting only the clean text ready for publishing. | | Create post with Blotato | Uses the Blotato API to upload the finalized content to your connected LinkedIn account. | | Give Blotat 5s :) | A brief pause to allow the publishing service to start processing the request. | | Check post status | Checks back with Blotato to determine if the post is published, in progress, or failed. | | Published? | Checks if the status is "published" to send the success message. | | In Progress? | Checks if the post is still being processed. If so, it loops back to the next wait period. | | Give Blotat other 5s :) | Pauses the workflow before re-checking the post status, preventing unnecessary API calls. | 4\. Final Notification | Node Name | Role in Workflow | | :--- | :--- | | Send a confirmation message | Sends a confirmation message and the direct link to the published LinkedIn post. | | Send an error message | Sends a notification if the post failed to upload or encountered an error during processing. | 🛠️ Personalizing Your Content Bot The true power of this n8n workflow lies in its flexibility. You can easily modify key components to match your unique brand voice and technical preferences. 1\. Tweak the Content Creator Prompt The personality, tone, and formatting rules for your LinkedIn content are all defined in the System Prompt. Where to find it: Inside the AI: Draft & Revise Post node, under the System Message setting. What to personalize: Adjust the tone, change the formatting rules (e.g., number of hashtags, required emojis), or insert specific details about your industry or target audience. 2\. Switch the AI Model or Provider You can easily swap the language model used for generation. Where to find it: The OpenAI Chat Model node. What to personalize: Model: Swap out the default model for a more powerful or faster alternative (e.g., gpt-4 family, or models from other providers if you change the node). Provider: You can replace the entire Langchain block (including the AI Model and Window Buffer Memory nodes) with an equivalent block using a different provider's Chat/LLM node (e.g., Anthropic, Cohere, or Google Gemini), provided you set up the corresponding credentials and context flow. 3\. Modify Publishing Behavior (Schedule vs. Post) The final step is currently set to publish immediately, but you might prefer to schedule posts. Where to find it: The Create post with Blotato node. What to personalize: Consult the Blotato documentation for alternative operations. Instead of choosing the "Create Post" operation (which often posts immediately), you can typically select a "Schedule Post" or "Add to Queue" operation within the Blotato node. If scheduling, you will need to add a step (e.g., a Set node or another agent prompt) before publishing to calculate and pass a Scheduled Time parameter to the Blotato node.
by Oneclick AI Squad
This is an advanced n8n workflow for transforming product concepts into 3D showcase videos with AI packaging design and auto-rotation rendering. Workflow Features: 🎯 Core Capabilities: AI Product Concept Generation - Uses Claude Sonnet 4 to analyze product prompts and generate comprehensive 3D specifications Automated Packaging Design - DALL-E 3 generates professional packaging visuals Texture Map Generation - Creates PBR-ready texture maps for realistic materials 3D Scene Script Generation - Produces complete Blender Python scripts with: Product geometry based on shape Professional 3-point lighting (key, fill, rim) 360° rotation animation (8 seconds) Camera setup and render settings Preview Rendering - Generates photorealistic 3D preview images Video Processing - Handles encoding and upload to video hosting services Database Storage - Saves all showcase data for tracking Status Monitoring - Checks render progress with automatic retry logic 📋 Required Setup: API Credentials needed: Anthropic API (for Claude AI) OpenAI API (for DALL-E image generation) Replicate API (optional for additional rendering) Video hosting service (Cloudflare Stream or similar) PostgreSQL database 🔧 How to Use: Import the JSON - Copy the artifact content and import directly into n8n Configure Credentials - Add your API keys in n8n credentials manager Activate Workflow - Enable the webhook trigger Send Request to webhook endpoint: POST /product-showcase { "productPrompt": "A premium organic energy drink in a sleek aluminum can with nature-inspired graphics" } 📤 Output Includes: Product specifications (dimensions, materials, colors) Packaging design image URL Texture map URLs Downloadable Blender script 3D preview render Video showcase URL Rendering metadata
by Davide
This workflow implements an advanced AI-powered system for generating, and executing Claude Skills stored on GitHub. When creating a skill, the workflow: Uses an AI agent to generate a properly structured SKILL.md file Extracts and formats the skill content Saves it automatically into a GitHub repository under a structured /skills directory When executing a skill, the workflow: Dynamically lists available skills from GitHub Navigates directories to find the correct skill files Retrieves their content via API Executes instructions strictly based on those files using an AI agent Key Benefits 1. ✅ Dynamic Skill Execution The system doesn’t rely on hardcoded logic. It retrieves and executes skills directly from GitHub, making it highly flexible and extensible. 2. ✅ Self-Extending Architecture New capabilities can be added simply by creating new skills. The workflow automatically integrates them without requiring changes to the core system. 3. ✅Separation of Logic and Execution All instructions are stored in external skill files, keeping the workflow clean, modular, and easy to maintain. 4. ✅ Automated Skill Creation The workflow can generate complete Claude Skills (including structured documentation) and publish them to GitHub without manual intervention. 5. ✅ Multi-Model Intelligence By combining OpenAI and Anthropic models, the system leverages different strengths (reasoning, generation, structure). 6. ✅ Context-Aware Conversations Memory nodes allow the system to maintain session context, improving continuity and personalization. 7. ✅ Reliable Output Handling Structured output parsing ensures decisions (like whether to proceed or ask for more info) are deterministic and machine-readable. 8. ✅ Up-to-Date Knowledge via Context7 Before generating skills, the system fetches real documentation, reducing hallucinations and ensuring accuracy. 9. ✅ GitHub as a Skill Registry Using GitHub as a storage layer provides: Version control Collaboration Transparency Easy scaling 10. ✅ Agent-Based Orchestration The workflow uses multiple specialized AI agents, each with a clear responsibility (validation, generation, execution), improving robustness and clarity. How it works Creating new skills interactively with the help of a dedicated agent that uses Context7 for up‑to‑date documentation. Executing existing Claude skills stored in a GitHub repository (Claude Skills + Github System) Creation flow (making a new skill) The AI Conversational Agent decides if the user is trying to create a skill and whether enough information is available. If information is missing, the user is asked for clarification via the More info node. Once ready, the Claude Skills Creator Agent takes over. This agent always consults Context7 to fetch documentation for any libraries/APIs involved. It then generates a properly formatted SKILL.md file (with YAML frontmatter, imperative style, ≤500 lines). The Extract Skill MD node parses the generated output. The SKILL.md Parser converts the markdown into binary data. The Create a Skill node uploads the file to the correct path in the GitHub repository (skills/<skill‑name>/SKILL.md). Finally, the Skill created node confirms success in the chat. Execution flow (using skills) A chat message arrives → the workflow checks if the user wants to create a skill (via the AI Conversational Agent). If the request is not about creating a skill, it proceeds to the Skills Agent. The Skills Agent first receives a list of all skill directories from GitHub (via the List Skills node). It then uses two GitHub tools to explore those directories: List Files – to browse the contents of a skill folder. Get File from Skill – to fetch the actual SKILL.md or other resources. The agent follows the instructions found in the skill files (not its own general knowledge) and produces an answer. The final answer is sent back to the chat via the Respond node. A Simple Memory node maintains conversation context across turns. Set up steps Prerequisites A GitHub account and a repository for storing skills (in the workflow: https://github.com/n3witalia/my-skills). Create inside a repo a folder called skills An OpenAI or Anthropic API key (the workflow uses Anthropic Claude models, but also includes an OpenAI node for extraction). A Context7 API key (for retrieving library documentation during skill creation). Step‑by‑step configuration Import the workflow Copy the JSON definition into a new n8n workflow. Configure credentials GitHub API – add your personal access token (with repo scope). Anthropic API – add your API key. OpenAI API – add your API key (used only by the Extract Skill MD node). Context7 – add your API key (used as HTTP Header Auth). Update GitHub repository details In the List Skills, List Files, Create a Skill, and Get File from Skill nodes, replace n3witalia/my-skills with your own GitHub organisation and repository name. Adjust the chat trigger Set the Webhook URL of the When chat message received node so your front‑end can post messages to it. Review agent prompts Open the Claude Skills Creator Agent and check the system prompt (it enforces Context7 usage, skill format, and output rules). Modify if needed. Set up memory The workflow uses three Simple Memory nodes. Each is configured with a session key derived from Set chatbot vars.sessionId. Ensure your chat front‑end sends a unique sessionId to keep conversations separate. Test the workflow Send a message like “create a skill for working with PDFs” – the agent should ask questions, call Context7, and propose a skill. Send a normal request like “list all my skills” – the Skills Agent should list directories from your GitHub repo. Activate the workflow Toggle the workflow from inactive to active (top‑right corner in n8n). The webhook will start listening for chat messages. 👉 Subscribe to my new YouTube channel. Here I’ll share videos and Shorts with practical tutorials and FREE templates for n8n. Need help customizing? Contact me for consulting and support or add me on Linkedin.
by Nikan Noorafkan
📊 Google Ads + OpenAI + Sheets — Monthly AI Performance Analysis Automate monthly ad performance insights with AI-powered recommendations 🧩 Overview This workflow automatically analyzes Google Ads performance every month, using the Google Ads API and OpenAI (GPT-4o) to uncover which ad themes, categories, and messages perform best. It then generates a structured AI report, saves it to Google Sheets, and sends a Slack summary to your marketing team. 💡 Perfect for digital marketers, agencies, and growth analysts who want automated campaign insights without manually crunching numbers. ⚙️ Features ✅ Automatically runs on the 1st of each month ✅ Fetches last 30 days of ad performance via Google Ads API (GAQL) ✅ Uses GPT-4o for natural-language insights & improvement ideas ✅ Groups ads by category and theme (e.g., “Free Shipping,” “Premium”) ✅ Generates a clean, formatted markdown report ✅ Archives reports in Google Sheets for trend tracking ✅ Notifies your Slack channel with AI-driven recommendations 🧠 Architecture | Component | Purpose | | ------------------- | ------------------------------------------------ | | n8n | Workflow engine | | Google Ads API | Source of ad performance data | | OpenAI (GPT-4o) | Analyzes CTR patterns and writes recommendations | | Google Sheets | Report archiving and history tracking | | Slack | Team notifications | 🧭 Workflow Logic (Summary) Monthly Trigger (1st of Month) ⬇️ 1️⃣ Get Performance Data (Google Ads API) Fetches 30-day CTR, clicks, impressions for all responsive search ads. ⬇️ 2️⃣ Prepare Performance Data Groups data by ad group and theme keywords, builds an AI prompt. ⬇️ 3️⃣ AI Agent (LangChain) + GPT-4o Analyzes patterns and generates actionable insights. ⬇️ 4️⃣ Generate Report (Code) Formats a Markdown report with AI recommendations and KPIs. ⬇️ 5️⃣ Save to Google Sheets Archives results for long-term analytics. ⬇️ 6️⃣ Send Report to Slack Delivers the summary directly to your marketing channel. 🔑 Environment Variables | Variable | Example | Description | | ------------------------ | ----------------------------- | ------------------------------ | | GOOGLE_ADS_CUSTOMER_ID | 123-456-7890 | Google Ads customer account ID | | GOOGLE_ADS_API_VERSION | v17 | Current Ads API version | | GOOGLE_SHEET_ID | 1xA1B2c3D4EFgH... | Target spreadsheet ID | | OPENAI_API_KEY | sk-xxxxx | OpenAI API key for GPT-4o | | SLACK_WEBHOOK_URL | https://hooks.slack.com/... | Slack incoming webhook | 🔐 Credential Setup | Service | Type | Required Scopes | | ----------------- | ----------------------------- | ---------------------------------------------- | | Google Ads | OAuth2 (googleAdsOAuth2Api) | https://www.googleapis.com/auth/adwords | | OpenAI | API key (openAiApi) | Full access | | Google Sheets | OAuth2 | https://www.googleapis.com/auth/spreadsheets | | Slack | Webhook | chat:write | 🧱 Node-by-Node Breakdown | Node | Purpose | Key Configuration | | ---------------------------------- | ----------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | | Monthly Trigger | Starts workflow on 1st of every month | Cron: 0 0 1 * * | | Get Performance Data | Queries Ads data | Endpoint: https://googleads.googleapis.com/v17/customers/{id}/googleAds:searchQuery: GAQL (CTR, clicks, impressions, last 30 days) | | Prepare Performance Data | Aggregates and builds AI prompt | Groups by ad group and theme, computes CTRs | | AI Agent – Analyze Performance | Passes formatted data to GPT-4o | System message: “You are a Google Ads performance analyst…” | | OpenAI Chat Model (GPT-4o) | Analytical reasoning engine | Model: gpt-4o, Temperature 0.2 | | Generate Report | Parses AI output, formats Markdown report | Adds recommendations + next steps | | Save Report to Sheets | Archives report | Sheet name: Performance Reports | | Send Report (Slack) | Sends summary | Uses report_markdown variable | 🧠 AI Report Example 30-Day Performance Analysis Report Executive Summary Analyzed: 940 ads Period: Last 30 days Top Performing Categories Running Shoes: 9.4% CTR (120 ads) Fitness Apparel: 8.2% CTR (90 ads) Top Performing Themes "Free Shipping" messaging: 9.8% CTR (58 ads) "Premium" messaging: 8.5% CTR (44 ads) AI-Powered Recommendations [HIGH] Emphasize “Free Shipping” across more ad groups. Expected Impact: +5 % CTR [MEDIUM] Test “Premium Quality” vs. “New Arrivals.” Expected Impact: +3 % CTR Next Steps Implement new ad variations A/B test messaging Re-analyze next month 🧩 Testing Procedure 1️⃣ Temporarily disable the cron trigger. 2️⃣ Run the workflow manually. 3️⃣ Confirm: Google Ads node returns JSON with results. AI Agent output is valid JSON. Report is written to Sheets. Slack message received. 4️⃣ Re-enable the monthly trigger once verified. 🧾 Output in Google Sheets | Date | Ads Analyzed | Top Category | Top Theme | Key Recommendations | Generated At | | ---------- | ------------ | ------------- | ------------- | ---------------------------------- | ----------------- | | 2025-10-01 | 940 | Running Shoes | Free Shipping | “Add Free Shipping copy to 10 ads” | 2025-10-01T00:05Z | 🪜 Maintenance | Frequency | Task | | --------- | ----------------------------------------- | | Monthly | Review AI accuracy and update themes list | | Quarterly | Refresh Google Ads API credentials | | As needed | Update GAQL fields for new metrics | ⚙️ API Verification Endpoint: POST https://googleads.googleapis.com/v17/customers/{customer_id}/googleAds:search Scopes: https://www.googleapis.com/auth/adwords GAQL Query: SELECT ad_group_ad.ad.id, ad_group_ad.ad.responsive_search_ad.headlines, ad_group.name, metrics.impressions, metrics.clicks, metrics.ctr FROM ad_group_ad WHERE segments.date DURING LAST_30_DAYS AND metrics.impressions > 100 ORDER BY metrics.clicks DESC LIMIT 1000 ✅ Fully valid query — verified for GAQL syntax, fields, and resource joins. ✅ OAuth2 flow handled by n8n’s googleAdsOAuth2Api. ✅ Optional: add "timeout": 60000 for large accounts. 📈 Metrics of Success | KPI | Target | | -------------------------- | ---------------- | | Report accuracy | ≥ 95 % | | Monthly automation success | ≥ 99 % | | CTR improvement tracking | +3–5 % over time | 🔗 References Google Ads API Docs LangChain in n8n OpenAI API Reference Google Sheets API Slack Incoming Webhooks 🎯 Conclusion You now have a fully automated Google Ads performance analysis workflow powered by: Google Ads API** for granular metrics OpenAI GPT-4o** for intelligent recommendations Google Sheets** for archiving Slack** for team-wide updates 💡 Result: A recurring, data-driven optimization loop that improves ad performance every month — with zero manual effort.
by Artem Boiko
Upload a construction photo via web form → get a detailed cost estimate with work breakdown, resource costs, and professional HTML report. Powered by GPT-4 Vision and the open-source DDC CWICR database (55,000+ work items). Who's it for Site managers** who need quick estimates from mobile photos Renovation contractors** evaluating project scope from initial site visit Real estate inspectors** estimating repair costs Construction consultants** providing rapid ballpark figures DIY enthusiasts** planning home improvement budgets What it does Collects photo + region/language via n8n Form Analyzes photo with GPT-4 Vision (room type, elements, dimensions) Decomposes visible elements into construction work items Searches DDC CWICR vector database for matching rates Generates professional HTML report with cost breakdown Supports 9 regions: 🇩🇪 Berlin · 🇬🇧 Toronto · 🇷🇺 St. Petersburg · 🇪🇸 Barcelona · 🇫🇷 Paris · 🇧🇷 São Paulo · 🇨🇳 Shanghai · 🇦🇪 Dubai · 🇮🇳 Mumbai How it works ┌──────────────┐ ┌───────────────┐ ┌───────────────┐ ┌──────────────┐ │ Web Form │ → │ STAGE 1 │ → │ STAGE 4 │ → │ Loop Works │ │ Photo+Lang │ │ GPT-4 Vision │ │ Decompose │ │ per item │ └──────────────┘ └───────────────┘ └───────────────┘ └──────────────┘ ↓ ↓ ↓ ┌─────────────────────────────────────────────────────┐ │ Identify room, elements, fixtures, dimensions │ │ → Break down into 15-40 construction work items │ └─────────────────────────────────────────────────────┘ ↓ ┌──────────────┐ ┌───────────────┐ ┌───────────────┐ ┌──────────────┐ │ HTML Report │ ← │ STAGE 7.5 │ ← │ STAGE 5 │ ← │ Qdrant │ │ Response │ │ Aggregate │ │ Parse+Score │ │ Vector DB │ └──────────────┘ └───────────────┘ └───────────────┘ └──────────────┘ Pipeline stages: | Stage | Node | Description | |-------|------|-------------| | 1 | GPT-4 Vision | Analyzes photo: room type, elements, materials, dimensions | | 4 | GPT-4 Decompose | Breaks elements into work items with quantities | | 5 | Vector Search + Score | Finds matching rates in DDC CWICR, quality scoring | | 7.5 | Aggregate & Validate | Sums costs, groups by phase, validates results | | 9 | HTML Report | Generates professional estimate document | Prerequisites | Component | Requirement | |-----------|-------------| | n8n | v1.30+ with Form Trigger support | | OpenAI API | GPT-4 Vision + Embeddings access | | Qdrant | Vector DB with DDC CWICR collections | | DDC CWICR Data | github.com/datadrivenconstruction/DDC-CWICR | Setup 1. n8n Credentials (Settings → Credentials) OpenAI API** — required (GPT-4 Vision + text-embedding-3-large) Qdrant API** — your Qdrant instance connection 2. Qdrant Collections Load DDC CWICR embeddings for your target regions: DE_BERLIN_workitems_costs_resources_EMBEDDINGS_3072_DDC_CWICR ENG_TORONTO_workitems_costs_resources_EMBEDDINGS_3072_DDC_CWICR RU_STPETERSBURG_workitems_costs_resources_EMBEDDINGS_3072_DDC_CWICR ES_BARCELONA_workitems_costs_resources_EMBEDDINGS_3072_DDC_CWICR FR_PARIS_workitems_costs_resources_EMBEDDINGS_3072_DDC_CWICR PT_SAOPAULO_workitems_costs_resources_EMBEDDINGS_3072_DDC_CWICR ZH_SHANGHAI_workitems_costs_resources_EMBEDDINGS_3072_DDC_CWICR AR_DUBAI_workitems_costs_resources_EMBEDDINGS_3072_DDC_CWICR HI_MUMBAI_workitems_costs_resources_EMBEDDINGS_3072_DDC_CWICR 3. Activate Workflow Import JSON into n8n Link OpenAI + Qdrant credentials to respective nodes Activate workflow Access form at: https://your-n8n/form/photo-estimate-pro-v3 Features | Feature | Description | |---------|-------------| | 📸 Photo Analysis | GPT-4 Vision identifies room type, elements, fixtures | | 📏 Dimension Estimation | Uses reference objects (doors, tiles) for sizing | | 🔧 Work Decomposition | Breaks down to 15-40 specific work items | | 🎯 Quality Scoring | Rates match quality (high/medium/low/not_found) | | 📊 Phase Grouping | PREPARATION → MAIN → FINISHING → MEP | | 💰 Cost Breakdown | Labor, materials, machines per item | | ✅ Validation | Warns if <50% rates found or missing demolition | | 🌍 9 Languages | Full localization + regional pricing | Form Fields | Field | Type | Options | |-------|------|---------| | 📷 Upload Photo | File | .jpg, .png, .webp | | 🌍 Region & Language | Dropdown | 9 regions with currencies | | 🏗️ Work Type | Dropdown | New / Renovation / Repair / Auto | | 📝 Description | Textarea | Optional context | Example Output Input: Bathroom photo (renovation) Region: 🇩🇪 German - Berlin (EUR €) Generated Work Items: PREPARATION (3 items) ├── Demolition of wall tiles — 12 m² — €180 ├── Demolition of floor tiles — 4.5 m² — €95 └── Disposal of construction waste — 0.8 m³ — €120 MAIN (8 items) ├── Floor waterproofing — 4.5 m² — €225 ├── Wall waterproofing wet zone — 8 m² — €280 ├── Floor screed — 4.5 m² — €135 ├── Wall tiling — 22 m² — €880 ├── Floor tiling — 4.5 m² — €225 ├── Toilet installation — 1 pcs — €320 ├── Sink installation — 1 pcs — €185 └── Shower cabin installation — 1 pcs — €450 FINISHING (3 items) ├── Ceiling painting — 4.5 m² — €68 ├── Grouting — 26.5 m² — €133 └── Silicone sealing — 8 m — €48 MEP (4 items) ├── Socket installation — 2 pcs — €90 ├── Light point installation — 2 pcs — €120 ├── Mixer/faucet installation — 2 pcs — €160 └── Ventilation installation — 1 pcs — €85 ───────────────────────────────────── TOTAL: €3,799.00 Labor: €1,520 · Materials: €1,900 · Machines: €379 Quality: 78% high match · 18 work items Quality Scoring System | Score | Level | Meaning | |-------|-------|---------| | 60-100 | 🟢 High | Exact match with resources | | 40-59 | 🟡 Medium | Good match, minor differences | | 20-39 | 🟠 Low | Partial match, review needed | | 0-19 | 🔴 Not Found | No suitable rate found | Scoring factors: Has price in database (+30) Has resources breakdown (+25) Unit matches expected (+20) Material keywords match (+15) Work type keywords match (+10) Vector similarity >0.5 (+10) Notes & Tips Best photo angles:** Capture full room, include reference objects (doors, sockets) Renovation mode:** AI automatically adds demolition works Validation warnings:** Check if <50% rates found — may need manual additions Rate accuracy:** Depends on DDC CWICR coverage for your region Extend:** Chain with PDF generation, email delivery, or CRM integration Categories AI · Data Extraction · Document Ops · Files & Storage Tags photo-analysis, gpt-4-vision, construction, cost-estimation, qdrant, vector-search, form-trigger, html-report, multilingual Author DataDrivenConstruction.io https://DataDrivenConstruction.io info@datadrivenconstruction.io Consulting & Training We help construction, engineering, and technology firms implement: AI-powered visual estimation systems CAD/BIM data processing pipelines Vector database integration for construction data Multilingual cost database solutions Contact us to test with your data or adapt to your project requirements. Resources DDC CWICR Database:** GitHub Qdrant Documentation:** qdrant.tech/documentation n8n Form Trigger:** docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.formtrigger ⭐ Star us on GitHub! github.com/datadrivenconstruction/DDC-CWICR
by Cheng Siong Chin
How It Works This workflow automates complex data engineering operations by orchestrating multiple specialized AI agents to analyze datasets, calculate risk metrics, and route findings based on severity levels. Designed for data engineers, analytics teams, and business intelligence managers, it solves the challenge of processing diverse datasets through appropriate analytical frameworks while ensuring critical insights reach stakeholders immediately. The system receives data processing requests via webhook, deploys an orchestration agent that determines which specialized analysis agents to invoke (Anthropic Chat Model for general analysis, Risk Analysis Verification Agent, and Test Validation Agent), calculates risk scores, fetches relevant historical context, then routes results by severity. High-severity findings trigger immediate HTTP notifications to stakeholders, while all results are aggregated into comprehensive reports, formatted for clarity, and logged with appropriate priority markers before webhook response. Setup Steps Configure webhook trigger endpoint for data processing system integration Set up Anthropic API credentials for Orchestrating Orchestration Agent node Configure specialized agent tools Update Calculate Risk Score node with your risk scoring methodology Set up Fetch Historical Data node with data warehouse API credentials Configure severity threshold in Route by Severity node for alert triggering Connect HTTP Request nodes with stakeholder notification endpoints Prerequisites Active Anthropic and OpenAI API accounts, data processing system with webhook capability Use Cases ETL pipeline quality monitoring, data anomaly detection, dataset validation before production deployment Customization Modify orchestration agent logic for custom analysis pathways Benefits Accelerates data quality assessment by 70%, enables proactive issue detection before production impact
by Atha Ahsan Xavier Haris
Telegram Voice Notes to Markdown Journal with Groq Whisper and Gemini This workflow transforms Telegram voice notes and audio files into clean markdown journal entries using Groq Whisper, CloudConvert, and Google Gemini. It automatically downloads incoming Telegram audio messages, transcribes them with Groq Whisper, cleans the transcript into a readable reflective journal using Gemini, converts the result into a markdown file, and sends the journal back to Telegram. For better audio compatibility, the workflow also includes a CloudConvert fallback path. If Groq Whisper rejects the original audio file because of container or codec issues, the workflow converts the audio to MP3 with CloudConvert and retries transcription automatically. An optional Google Drive section can also archive all generated journals automatically. This workflow is useful for journaling, voice-based note-taking, personal reflection, idea capture, daily logging, and building a lightweight AI-assisted second brain. Common use cases Convert Telegram voice notes into readable journal entries Convert uploaded audio files into markdown journals Create markdown journals automatically using AI Capture thoughts, reflections, and ideas on the go Build a voice-based personal knowledge system Handle more audio formats by converting failed files to MP3 Archive AI-cleaned journals to Google Drive Learn how to combine Telegram, Groq Whisper, CloudConvert, Gemini, markdown generation, and Google Drive in n8n How it works Starts from a Telegram Trigger Detects incoming voice notes or audio files Downloads the Telegram audio file Sends the original audio to Groq Whisper for transcription If Groq rejects the file, converts the audio to MP3 with CloudConvert Retries transcription with Groq Whisper using the converted MP3 file Formats the transcript with timestamps Sends the transcript to Google Gemini for cleanup and readability improvements Preserves the original tone and meaning while removing filler words and transcription artifacts Parses the AI response into structured JSON Converts the final journal into a markdown (.md) file Sends the markdown journal back to Telegram Optionally uploads the journal to Google Drive Setup steps Connect your Telegram credentials Open the Transcribe Audio with Groq Whisper node Replace the placeholder Authorization header with your Groq API key Install the verified CloudConvert community node if it is not already installed Connect your CloudConvert credentials for the MP3 fallback path Connect your Google Gemini credentials (Optional) Connect your Google Drive credentials Test the workflow manually with a Telegram voice note or audio file Activate the workflow Send a voice note or audio file to your Telegram bot CloudConvert Audio Compatibility Fallback The CloudConvert path is included to improve reliability with different audio uploads. Groq Whisper supports common audio formats, but some files may still fail because of unusual containers, codecs, MIME types, or metadata. When that happens, this workflow converts the failed audio file to MP3 with CloudConvert, then sends the MP3 back to Groq Whisper for transcription. This fallback is especially useful for some uploaded M4A, OGG, OPUS, or recording files that may not be accepted directly. If you only want to support files that Groq accepts directly, you can disconnect the CloudConvert fallback path. Optional Google Drive Backup The Google Drive section is fully optional. If connected: The workflow searches for a Personal Journal (n8n) folder Creates the folder automatically if it does not exist Uploads generated markdown journals automatically If you do not want cloud backups, simply disconnect the Google Drive section. Notes This workflow uses: Groq Whisper (whisper-large-v3) for transcription CloudConvert for optional audio-to-MP3 fallback conversion Google Gemini for transcript cleanup and journal formatting Telegram Bot API for message delivery Markdown file generation for portable journaling The AI prompt is designed to: Preserve the speaker’s original meaning Keep the natural reflective monologue style Improve punctuation and readability Avoid summarization or hallucinated content The generated markdown journals can easily be imported into note-taking tools such as Obsidian, Logseq, Notion, or any markdown-based system. Need Help? Have questions or want to connect? Reach me on LinkedIn.
by Don Jayamaha Jr
Instantly access live OKX Spot Market data directly in Telegram! This workflow integrates the OKX REST v5 API with Telegram and optional GPT-4.1-mini formatting, delivering real-time insights such as latest prices, order book depth, candlesticks, trades, and mark prices — all in clean, structured reports. 🔎 How It Works A Telegram Trigger node listens for incoming user commands. The User Authentication node validates the Telegram ID to allow only authorized users. The workflow creates a Session ID from chat.id to manage session memory. The OKX AI Agent orchestrates data retrieval via HTTP requests to OKX endpoints: Latest Price (/api/v5/market/ticker?instId=BTC-USDT) 24h Stats (/api/v5/market/ticker?instId=BTC-USDT) Order Book Depth (/api/v5/market/books?instId=BTC-USDT&sz=50) Best Bid/Ask (book ticker snapshot) Candlesticks / Klines (/api/v5/market/candles?instId=BTC-USDT&bar=15m) Average / Mark Price (/api/v5/market/mark-price?instType=SPOT&instId=BTC-USDT) Recent Trades (/api/v5/market/trades?instId=BTC-USDT&limit=100) Utility tools refine the data: Calculator → spreads, % change, normalized volumes. Think → reshapes raw JSON into clean text. Simple Memory → stores sessionId, symbol, and state for multi-turn interactions. A message splitter ensures Telegram output stays under 4000 characters. Final results are sent to Telegram in structured, human-readable format. ✅ What You Can Do with This Agent Get latest price and 24h stats for any Spot instrument. Retrieve order book depth with configurable size (up to 400 levels). View best bid/ask snapshots instantly. Fetch candlestick OHLCV data across intervals (1m → 1M). Monitor recent trades (up to 100). Check the mark price as a fair average reference. Receive clean, Telegram-ready reports (auto-split if too long). 🛠️ Setup Steps Create a Telegram Bot Use @BotFather to generate a bot token. Configure in n8n Import OKX AI Agent v1.02.json. Replace the placeholder in User Authentication node with your Telegram ID. Add Telegram API credentials (bot token). Add your OpenAI API key for GPT-4.1-mini. Add your OKX API key optional. Deploy and Test Activate the workflow in n8n. Send a query like BTC-USDT to your bot. Instantly get structured OKX Spot data back in Telegram. 📺 Setup Video Tutorial Watch the full setup guide on YouTube: ⚡ Unlock real-time OKX Spot Market insights directly in Telegram — no private API keys required! 🧾 Licensing & Attribution © 2025 Treasurium Capital Limited Company Architecture, prompts, and trade report structure are IP-protected. No unauthorized rebranding permitted. 🔗 For support: Don Jayamaha – LinkedIn
by WeblineIndia
n8n Workflow Intelligence (RAG): Auto Indexing & Semantic AI Search with Supabase Vector DB This workflow automatically indexes your n8n workflows every 24 hours, converts them into vector embeddings using OpenAI and stores them in Supabase. It exposes a webhook that lets you query your workflows in natural language. The AI agent uses Retrieval-Augmented Generation (RAG) to fetch relevant workflow data and generate contextual answers—making it easy to understand, debug and reuse automation logic. Quick Implementation Steps Enable n8n API and configure authentication (header-based). Set up Supabase with pgvector and create the required table and function. Add OpenAI credentials (for embeddings and chat model). Import and activate the workflow in n8n. Send a POST request to /ask-workflows: { "query": "How does my webhook workflow work?" } Receive AI-powered answers based on your workflows. What It Does This workflow creates an intelligent knowledge layer on top of your n8n automations. It automatically fetches workflows from your n8n instance, processes each node and converts them into structured text chunks. These chunks are transformed into vector embeddings using OpenAI and stored in Supabase for semantic search. Once indexed, users can query workflows through a webhook endpoint using natural language. The AI agent retrieves relevant workflow data using vector similarity search and generates meaningful responses. It can also guide users directly to workflows using links. In short, it transforms your workflows into a searchable, AI-powered system. Who It's For Developers managing multiple n8n workflows Automation engineers handling complex pipelines Teams working on shared n8n environments Businesses needing faster debugging and workflow discovery Anyone looking to add AI-powered search to automation systems Requirements 1. n8n API Access Enable API in your n8n instance Example endpoint: http://YOUR_N8N_HOST:5678/api/v1/workflows Requires authentication via HTTP headers (API key/token) 2. Supabase Setups Enable Extension create extension if not exists vector; Create Table create table if not exists documents ( id uuid primary key default gen_random_uuid(), content text, metadata jsonb, embedding vector(1536) ); Create Match Function create or replace function match_documents ( query_embedding vector(1536), match_count int, filter jsonb default '{}'::jsonb ) returns table ( id uuid, content text, metadata jsonb, similarity float ) language plpgsql as $$ begin return query select documents.id, documents.content, documents.metadata, 1 - (documents.embedding <=> query_embedding) as similarity from documents where (filter = '{}'::jsonb or documents.metadata @> filter) order by documents.embedding <=> query_embedding limit match_count; end; $$; 3.Credentials Required OpenAI API key (for embeddings and chat model) Supabase API credentials n8n API authentication (header-based) How It Works & Set Up Step 1: Auto Sync Trigger Runs every 24 hours Keeps your vector database updated automatically Step 2: Fetch Workflows Calls n8n API to retrieve workflows Current limit is set to 5 (can be increased) Step 3: Split Workflows Splits API response into individual workflows Processes them one at a time Step 4: Clear Existing Data Deletes existing vector entries for each workflow Ensures no duplication Step 5: Transform into Chunks Each workflow node is converted into structured text: Workflow: "My Workflow". Node Name: "Webhook". Type: "n8n-nodes-base.webhook". Logic: {...} Step 6: Generate Embeddings Uses OpenAI embedding model Converts chunks into vector format Step 7: Store in Supabase Stores content, metadata and embeddings Enables semantic retrieval Step 8: Query via Webhook Endpoint: /ask-workflows Request: { "query": "Find workflows using webhook" } Step 9: AI Agent + RAG AI agent receives query Uses vector search tool Retrieves relevant chunks Generates contextual answer Step 10: Return Response Sends structured response back to user Includes workflow links: http://YOUR_N8N_HOST:5678/workflow/[ID] How To Customize Nodes Fetch n8n Workflows API** Increase limit Add filters for specific workflows Transform Workflow to Chunks** Include connections, credentials or triggers Embedding Model** Upgrade model for better accuracy AI Agent Prompt** Modify instructions, formatting or tone Metadata** Add fields like project name, owner or tags Add-ons (Enhancements) Real-time indexing via webhook trigger Workflow version history tracking UI dashboard for search Slack or Discord chatbot integration AI debugging assistant Workflow recommendation system Use Case Examples 1. Workflow Discovery “Do I already have a webhook + email automation?” 2. Debugging Assistance “Which workflow is calling this API?” 3. Developer Onboarding Explore workflows using natural language 4. Reuse Automation Logic Find and reuse existing patterns 5. Documentation System Automatically understand workflow structure This workflow can support many more use cases depending on your automation needs. Troubleshooting Guide | Issue | Possible Cause | Solution | |------|----------------|----------| | No workflows fetched | Incorrect API URL or authentication | Verify endpoint and headers | | Empty responses | No indexed data available | Ensure indexing process has completed successfully | | Supabase error | Missing table or function setup | Run the required SQL setup scripts properly | | Duplicate entries | Delete step failed or skipped | Check metadata filter logic in delete node | | Poor answers | Weak or improper chunking strategy | Improve workflow-to-text transformation logic | | Embedding errors | OpenAI API issue or invalid key | Check OpenAI credentials and usage limits | Need Help? If you need help setting up or extending this workflow with AI-powered workflow assistants Custom RAG implementations Advanced n8n automation systems Enterprise-grade automation solutions Contact our n8n workflow developers at WeblineIndia for expert support and custom development. We can help you scale this into a production-ready AI automation platform.