CasesBlogContactBook Free Audit
CASE STUDY · PROZORRO · TENDER AUTOMATION

Stop Missing Tenders. Get Alerts in 5 Minutes, Not 18 Hours.

Your team gets a structured Telegram alert — with parsed specs, key requirements, and an AI summary — within 5 minutes of a tender going live. No manual monitoring. No missed contracts. Running 24/7 for $20/month.

5 min
Alert time
$20/mo
Running cost
48 h
To deploy
Set Up Monitoring for My Team →
n8nProzorro APIPostgreSQLTelegram Bot
All cases
June 11, 2026 · 9 min read
The Bot That Reads Every Prozorro Tender So Your Team Does Not Have To

TL;DR — WHAT THE CLIENT GOT

Every Relevant Tender. In Their Telegram. Before Their Competitors See It.

A Kyiv construction company was spending 1.5+ hours daily monitoring Prozorro manually — and still missing contracts. We deployed a two-scanner n8n bot: one runs every 15 minutes against the live Prozorro API, one monitors procurement plans 30+ days before tenders are published. Every match hits the team's Telegram with a full document summary. Their monitoring headcount dropped to zero.

Monthly infrastructure cost: ~$12. Manual hours eliminated: 30+. Bids submitted per month: tripled.

THE REAL COST

2,800 Tenders a Day. One Employee. And You're Still 18 Hours Late.

Prozorro publishes 2,800–3,200 new tenders every business day. A construction company competing for government contracts must watch dozens of CPV categories simultaneously: roads, municipal buildings, infrastructure, materials. Manual monitoring means:

  • Daily grind — a manager spending 1–2 hours filtering irrelevant tenders by hand, every single day

  • Slow discovery — tenders found 12–24 hours after publication, handing competitors the preparation time you lost

  • Document blindness — reading tender metadata but skipping the actual specification PDFs where real disqualifiers hide

  • Zero advance notice — no visibility into procurement plans that signal a contract 30–90 days before it goes live

This client submitted 3–4 bids per month before automation. At 1.5 hours of daily monitoring, that's 33 hours per month of human time spent on a task that a script now handles in 4 minutes — around the clock.

THE NUMBERS

What Changed After Deployment

0 min
Time to Telegram alert
Was 12–18 hours manually
0×
Monthly bids submitted
Same team. No new headcount.
0 hrs
Manual monitoring
Fully eliminated
0+ days
Advance tender notice
Via procurement plans scanner

HOW IT WORKS

Two Scanners. One Telegram. Zero Manual Work.

SCANNER A — LIVE TENDERS (EVERY 15 MINUTES)
STEP 1
Cron Trigger
Every 15 min
STEP 2
Prozorro API
New tenders feed
STEP 3
CPV Filter
Match company codes
STEP 4
AI Scoring
0–100 relevance
PARALLEL BRANCHES
Branch A
Save to DB
bid_pipeline table
Branch B
Fetch Documents
PDF · DOC · DOCX
STEP 1
AI Doc Analysis
Claude · extract requirements
STEP 2
Telegram Alert
Score · summary · link
SCANNER B — PROCUREMENT PLANS (DAILY AT 09:00)
STEP 1
Daily Cron
09:00 UTC
STEP 2
Plans API
Upcoming tenders
STEP 3
Score & Filter
CPV + budget match
STEP 4
Early Alert
Tender in 30+ days

Error Trigger — active on every node. Sends failure details to owner via Telegram instantly.

PHASE 1

Live Tender Discovery — Every 15 Minutes, Around the Clock

The main scanner wakes up every 15 minutes and queries the Prozorro API for new publications. It doesn't scan everything — it filters immediately against the client's CPV codes, budget range, and procurement region. Tenders already in the database are skipped in a single Postgres lookup. Only genuinely new, potentially relevant tenders continue through the pipeline.

While a competitor's manager starts their morning Prozorro check at 9am, this client's bot already sent 37 overnight alerts — and their team has been reviewing documents since 6am.

PHASE 2

AI Scores the Tender and Reads the Actual Specification Documents

Most monitoring tools stop at tender metadata. This bot goes further. Two branches fire in parallel after a CPV match is confirmed:

Branch A — Relevance Scoring (0–100)

Each tender is scored against the company profile: CPV code weight, estimated budget vs. company capacity, procurement region, buyer history, and keyword matches in the title and description. Tenders scoring below 50 are logged silently. High-score tenders trigger an alert.

Branch B — Document Analysis

Specification files (PDF, DOC, DOCX) are downloaded and parsed using mammoth, pdf-parse, and antiword. Claude AI extracts key requirements: materials spec, qualification criteria, timeline, special conditions. The summary appears in the Telegram alert — no PDF-opening required.

PHASE 3

Procurement Plans: The Competitive Edge Nobody Else Is Using

Ukrainian government entities publish procurement plans before tenders go live. Most companies ignore plans entirely — they're harder to parse and feel too abstract. This scanner turns them into a concrete advantage.

  • 30–90 days early — the bot detects a planned tender before it's published, giving the team time to prepare documentation, line up subcontractors, and price the bid without rushing

  • Budget signals in advance — planned budgets are visible before the tender drops, letting the client decide early whether the contract is worth the effort

  • Repeat customer alerts — buyers from the company's win history are flagged automatically as high-priority when their plans appear

In the first month alone, the Plans scanner identified 23 upcoming tenders the client had never seen in their manual process. Preparation started 6 weeks before those tenders went live on Prozorro.

PHASE 4

Telegram Delivery — The Right Alert, to the Right Person, in the Right Format

Alerts are not raw JSON dumps. Each Telegram message is structured for a 10-second decision: pursue or skip.

Relevance Score

0–100 score with color coding. 80+ = high priority, pursue immediately. Below 50 = not sent.

Tender Summary

Title, buyer, estimated budget, submission deadline, procurement region. Everything needed to decide in one glance.

Document Extract

Requirements pulled from spec files by Claude AI: materials, qualifications, timeline, special conditions. No PDF-opening required.

One-Tap Links

Direct link to the Prozorro tender page. Direct link to download documents. No navigation, no search bar.

The Telegram bot also accepts commands: /stats shows pipeline summary, /analyze runs on-demand tender analysis, /settings adjusts scoring thresholds without touching the workflow.

FULL WORKFLOW

Complete Node Map

NodeTypeFunction
Cron Trigger (15 min)scheduleTriggerWakes the main scanner every 15 minutes, 24/7
Fetch New TendershttpRequestProzorro API — tenders published in the last 15-min window
Filter by CPV Codescode (JS)Match against company CPV list; skip tenders already in DB
Check Bid PipelinepostgresDedup check against bid_pipeline table
Score Tendercode (JS)0–100 score: CPV weight, budget, region, keyword match, buyer history
Route by ScoreifScore ≥ 50 → full analysis. Below 50 → log only, no alert.
Save to Bid PipelinepostgresINSERT into bid_pipeline with score, metadata, status
Fetch Tender DocumentshttpRequestDownload all attached specification files from Prozorro
Parse Documentscode (JS)mammoth (DOCX), pdf-parse (PDF), antiword (legacy DOC)
AI Document AnalysishttpRequest → OpenRouterClaude AI: extract requirements, qualifications, timeline, red flags
Format Telegram Alertcode (JS)Structured message: score + tender summary + doc extract + links
Send Telegram AlerttelegramPush to company group chat or individual manager
Plans Cron (daily 09:00)scheduleTriggerDaily procurement plans scan
Fetch Procurement PlanshttpRequestProzorro plans API — upcoming tender intentions by government buyers
Score Planscode (JS)Same scoring logic + repeat buyer flag from company win history
Save to Plans PipelinepostgresINSERT into plans_pipeline table
Send Early Alerttelegram"Tender planned in 30+ days" with budget estimate and buyer
Telegram Bot WebhookwebhookTriggerHandles /start /analyze /settings /stats /mycompany /help /plans
Error TriggererrorTriggerGlobal error catcher for both scanner workflows
Notify Owner (Error)telegramError details with node name and context sent instantly to owner

TECH STACK

Tools Used in This Deployment

n8n
n8n (self-hosted)
Workflow orchestration — two parallel scanners, Telegram webhook, rate limiting, error handling
PRZ
Prozorro Open API
Ukraine's public government procurement platform. Free API — no key required
AI
Claude AI (OpenRouter)
Specification document analysis: extracts requirements, qualifications, red flags from raw PDF/DOCX
PG
PostgreSQL
Stores company profile, bid pipeline, CPV cache, scan logs, plans pipeline, user rate limits
TG
Telegram Bot API
Instant alerts + interactive commands. Works on any mobile — no dashboard to check
DOC
mammoth / pdf-parse / antiword
Document parsers for DOCX, PDF, and legacy DOC formats commonly used in Prozorro specification files

BOTTOM LINE

$12/Month Running Costs. 30+ Hours Saved. First to Every Contract.

Government procurement is a volume game. The company that submits more bids — with better-prepared documentation — wins more contracts. Manual monitoring caps your bid volume at what one person can process in a day. Automation removes that ceiling entirely.

This client went from 3–4 bids per month to 10–12. Not because they hired more people — but because they stopped wasting 33 hours a month on discovery that a 15-minute cron job now handles for free.

What You Need

A VPS or cloud server to self-host n8n, an OpenRouter API key for Claude AI, a Telegram bot token (free), and your CPV codes + company profile. No Prozorro API key needed — it's a public platform.

We Configure This for Your Company

Every deployment is custom: your CPV codes, your budget thresholds, your scoring weights, your team's Telegram setup. Ukraine-only — we know every edge case in the Prozorro API.

If you're competing for government contracts and your competitor already has this running — you're already behind. Every 15 minutes they don't check manually is 15 minutes they were faster than you.

Your competitors are already watching Prozorro. Are you?

We deploy a bot like this for your company — tuned to your CPV codes, connected to your team's Telegram, live in 3–5 days. The first tender you catch pays for the whole project.

Get a Free Assessment →

Frequently Asked Questions

How quickly will we receive alerts after a tender is published?

Within 4–5 minutes. The scanner polls the Prozorro API every 15 minutes around the clock. Once a matching tender is found, it fetches the specification documents, runs Claude AI analysis, and sends a structured Telegram alert — all before a competitor's manager starts their morning review.

Which CPV codes can we monitor?

Any CPV codes relevant to your business. During deployment we configure the bot with your specific CPV code list, budget thresholds, and procurement regions. The filter runs server-side on every API call, so only genuinely relevant tenders advance to the AI scoring stage.

Does the bot read the actual specification documents?

Yes. It downloads all attached files (PDF, DOCX, legacy DOC) from Prozorro and parses them using mammoth, pdf-parse, and antiword. Claude AI then extracts key requirements: materials spec, qualification criteria, timeline, and special conditions. The full summary arrives in your Telegram alongside the alert.

What does it cost to run?

Infrastructure cost is approximately $12/month — a VPS hosting n8n, PostgreSQL, and the bot workers. The Prozorro API is free and public. OpenRouter API costs scale with usage volume but stay under $5/month for most deployments, making the total monthly cost under $20.

How long does deployment take?

48 hours. That includes setting up your n8n instance, configuring CPV codes and scoring weights, connecting the Telegram bot to your team, end-to-end testing with live Prozorro data, and handing over full documentation. Critical issues get a 2-hour response during the 30-day post-launch support window.

Anton Lavoshnyk
Anton Lavoshnyk
Founder, OpsPilots

Deploys n8n workflows, AI agents, and RAG systems for B2B teams. Turns repetitive operations into self-running systems.

LinkedInFacebook
Free 30-Min Audit — No Pitch

Skip the trial-and-error. We've already mapped what works.

We map exactly which workflows cost your team the most time and give you a specific deployment plan — in one 30-minute call.

Book Free 30-Min Process Audit →