Skip to main content

Estimate construction costs from text with Telegram, OpenAI and DDC CWICR

Workflow preview

Workflow preview
100%
Estimate construction costs from text with Telegram, OpenAI and DDC CWICR preview
Open on n8n.io

1. Workflow Overview

A Telegram bot that converts natural language work descriptions into detailed cost estimates using AI parsing, vector search, and the open source DDC CWICR database with 55,000+ construction work i...

Best for

  • Document Extraction automation workflows
  • AI RAG automation workflows
  • advanced n8n builders looking for reusable templates

Tools used

n8n-nodes-base.stickynote, n8n-nodes-base.set, n8n-nodes-base.code, n8n-nodes-base.httprequest, n8n-nodes-base.splitinbatches, n8n-nodes-base.telegram, n8n-nodes-base.if, n8n-nodes-base.switch

Source and attribution

This workflow is cataloged by N8N Workflows and links back to its original n8n.io source page by Artem Boiko.

Original n8n.io source

1.1 Workflow description

Title
Estimate construction costs from text with Telegram, OpenAI and DDC CWICR
Workflow name
Estimate construction costs from text with Telegram, OpenAI and DDC CWICR

A Telegram bot that converts natural-language work descriptions into detailed cost estimates using AI parsing, vector search, and the open-source DDC CWICR database with 55,000+ construction work items.

Who's it for

  • Contractors & Estimators who need quick ballpark figures from verbal/text descriptions
  • Construction managers doing feasibility checks on-site via mobile
  • BIM/CAD professionals integrating text-based estimation into workflows
  • Developers building construction cost APIs or chatbots

What it does

  1. Receives text messages in Telegram (work lists, specifications, notes)
  2. Parses input with AI (OpenAI/Claude/Gemini) into structured work items
  3. Searches DDC CWICR vector database via Qdrant for matching rates
  4. Calculates costs with full breakdown (labor, materials, machines)
  5. Exports results as HTML report, Excel, or PDF

Supports 9 languages: 🇩🇪 DE · 🇬🇧 EN · 🇷🇺 RU · 🇪🇸 ES · 🇫🇷 FR · 🇧🇷 PT · 🇨🇳 ZH · 🇦🇪 AR · 🇮🇳 HI

How it works

┌─────────────┐ ┌──────────────┐ ┌─────────────┐ ┌──────────────┐
│ Telegram │ → │ AI Parse │ → │ Embeddings │ → │ Qdrant │
│ Text Input │ │ (GPT/Claude)│ │ (OpenAI) │ │ Search │
└─────────────┘ └──────────────┘ └─────────────┘ └──────────────┘
 ↓
┌─────────────┐ ┌──────────────┐ ┌─────────────┐ ┌──────────────┐
│ Export │ ← │ Aggregate │ ← │ Calculate │ ← │ AI Rerank │
│ HTML/XLS/PDF│ │ Results │ │ Costs │ │ Results │
└─────────────┘ └──────────────┘ └─────────────┘ └──────────────┘

Step-by-step:

  1. User sends /start → selects language → enters work description
  2. AI Parse extracts work items: name, quantity, unit, room
  3. Query Transform optimizes search terms for construction domain
  4. Embeddings API converts query to vector (OpenAI text-embedding-3-small)
  5. Qdrant Search finds top-10 matching rates from DDC CWICR
  6. AI Rerank selects best match considering context and units
  7. Calculate applies quantities, sums labor/materials/machines
  8. Report sends Telegram message + optional Excel/PDF export

Prerequisites

Component Requirement
n8n v1.30+ (AI nodes support)
Telegram Bot Token from @BotFather
OpenAI API For embeddings + LLM parsing
Qdrant Vector DB with DDC CWICR collections loaded
DDC CWICR Data github.com/datadrivenconstruction/DDC-CWICR

Setup

1. Credentials (n8n Settings → Credentials)

  • OpenAI API — required for embeddings and text parsing
  • Anthropic API — optional, for Claude models
  • Google Gemini API — optional, for Gemini models

2. Configuration (🔑 TOKEN node)

bot_token = YOUR_TELEGRAM_BOT_TOKEN
QDRANT_URL = http://localhost:6333
QDRANT_API_KEY = (if using Qdrant Cloud)

3. Qdrant Setup

Load DDC CWICR collections for your target languages:

  • DE_construction_rates — German (STLB-Bau based)
  • EN_construction_rates — English
  • RU_construction_rates — Russian (GESN/FER based)
  • ... (see DDC CWICR docs for all 9 languages)

4. Link AI Model Nodes

  1. Open OpenAI Model nodes
  2. Select your OpenAI credential
  3. (Optional) Enable Claude/Gemini nodes for alternative models

5. Telegram Webhook

  1. Activate workflow
  2. Telegram Trigger auto-registers webhook
  3. Test with /start in your bot

Features

Feature Description
🤖 Multi-LLM Swap between OpenAI, Claude, Gemini
🌍 9 Languages Full UI + database localization
📝 Smart Parsing Handles lists, tables, free-form text
🔍 Semantic Search Vector similarity + AI reranking
📊 Cost Breakdown Labor, materials, machines, hours
✏️ Inline Edit Modify quantities, delete items
📤 Export HTML report, Excel, PDF
💾 Session State Multi-turn conversation support

Example Input/Output

Input (Telegram message):

Living room renovation:
- Laminate flooring 25 m2
- Wall painting 60 m2
- Ceiling plasterboard 25 m2
- 3 electrical outlets

Output:

✅ Estimate Ready — 4 items found

1. Laminate flooring ✓
 25 m2 × €18.50 = €462.50
 └ Labor: €125 · Materials: €337.50

2. Wall painting ✓
 60 m2 × €8.20 = €492.00
 └ Labor: €312 · Materials: €180

3. Ceiling plasterboard ✓
 25 m2 × €32.00 = €800.00
 └ Labor: €425 · Materials: €375

4. Electrical outlets ✓
 3 pcs × €45.00 = €135.00
 └ Labor: €95 · Materials: €40

─────────────────────
Total: €1,889.50

[↓ Excel] [↓ PDF] [↻ Restart]

Notes & Tips

  • First run: Ensure Qdrant has DDC CWICR data loaded before testing
  • Rate accuracy: Results depend on query quality; AI reranking improves matching
  • Large lists: Bot handles 50+ items; progress shown per-item
  • Customization: Edit Config node for UI text, currencies, database mapping
  • Extend: Chain with your CRM, project management, or reporting tools

Categories

AI · Data Extraction · Communication · Files & Storage

Tags

telegram-bot, construction, cost-estimation, qdrant, vector-search, openai, multilingual, bim, cad


Author

DataDrivenConstruction.io https://DataDrivenConstruction.io [email protected]

Consulting & Training

We help construction, engineering, and technology firms implement:

  • Open data principles for construction
  • CAD/BIM processing automation
  • AI-powered estimation pipelines
  • ETL workflows for construction databases

Contact us to test with your data or adapt to your project requirements.

Resources


Star us on GitHub! github.com/datadrivenconstruction/DDC-CWICR

1.2 Logical Blocks

This catalog entry is organized from the workflow JSON. The node-level section below shows the executable blocks available for review before importing the template.

2. Block-by-Block Analysis

Block 1 - Sticky Note1

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 2 - 🔐 Credentials Setup

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 3 - Checklist

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 4 - Intro

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 5 - 🔑 TOKEN

Type / Role
n8n-nodes-base.set - set
Config choices
Version 3.4

Block 6 - UI Messages

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 7 - Route Switch

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 8 - Config & Localization

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 9 - Main Router

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 10 - Agg

Type / Role
n8n-nodes-base.code - code
Config choices
Version 2

Block 11 - 🗑️ Delete Progress Msg

Type / Role
n8n-nodes-base.httpRequest - httpRequest
Config choices
Version 4.2

Block 12 - 🗑️ Delete Work Msg

Type / Role
n8n-nodes-base.httpRequest - httpRequest
Config choices
Version 4.2

Block 13 - 🧹 Prep Cleanup

Type / Role
n8n-nodes-base.code - code
Config choices
Version 2

Block 14 - Acc

Type / Role
n8n-nodes-base.code - code
Config choices
Version 2

Block 15 - 📤 Edit Result

Type / Role
n8n-nodes-base.httpRequest - httpRequest
Config choices
Version 4.2

Block 16 - 📊 Update Result

Type / Role
n8n-nodes-base.code - code
Config choices
Version 2

Block 17 - 1️⃣ Prep Query

Type / Role
n8n-nodes-base.code - code
Config choices
Version 2

Block 18 - 💾 Save Work Msg

Type / Role
n8n-nodes-base.code - code
Config choices
Version 2

Block 19 - 📤 Send Work

Type / Role
n8n-nodes-base.httpRequest - httpRequest
Config choices
Version 4.2

Block 20 - 🗑️ Delete Prev

Type / Role
n8n-nodes-base.httpRequest - httpRequest
Config choices
Version 4.2

Block 21 - 📝 Prep Work Msg

Type / Role
n8n-nodes-base.code - code
Config choices
Version 2

Block 22 - Loop

Type / Role
n8n-nodes-base.splitInBatches - splitInBatches
Config choices
Version 3

Block 23 - Prep Works

Type / Role
n8n-nodes-base.code - code
Config choices
Version 2

Block 24 - Save Progress ID

Type / Role
n8n-nodes-base.code - code
Config choices
Version 2

Showing the first 24 of 88 workflow blocks. Download the JSON for the full node graph.

3. Summary Table

Workflow Estimate construction costs from text with Telegram, OpenAI and DDC CWICR
Complexity advanced
Nodes 88
Categories Document Extraction, AI RAG
Author Artem Boiko
Published 26 Dec 2025

4. Reproducing the Workflow from Scratch

  1. 1. Download the workflow JSON

    Use the JSON export at /data/workflows/12174/12174.json as the source template for this automation.

  2. 2. Import the template into n8n

    Open n8n, import the downloaded JSON, and review each node before activating the workflow.

  3. 3. Configure credentials and variables

    Replace placeholder credentials, API keys, webhook URLs, account IDs, and environment-specific values with your own settings.

  4. 4. Test with sample data

    Run the workflow manually or in a staging workspace, inspect node output, and confirm downstream systems receive the expected data.

  5. 5. Activate and monitor

    Enable the workflow only after testing, then monitor executions, errors, and rate limits during the first production runs.

5. General Notes & Resources

Review imported nodes carefully before activation. This catalog entry is intended to help you inspect the workflow structure, understand required services, and find related templates faster.

Node names, credentials, schedules, webhook paths, and external service limits may need adjustment for your workspace.

Frequently asked questions

What does Estimate construction costs from text with Telegram, OpenAI and DDC CWICR do?

A Telegram bot that converts natural language work descriptions into detailed cost estimates using AI parsing, vector search, and the open source DDC CWICR database with 55,000+ construction work i...

What do I need before importing this workflow?

Review the workflow JSON, configure any required credentials in n8n, and test the automation in a safe workspace before using it in production.

Can I customize this workflow?

Yes. Use the block-by-block analysis and the downloadable JSON to inspect each node, then adjust credentials, prompts, schedules, filters, or destinations for your Document Extraction, AI RAG use case.