How to build an AI agent for tenders
A step-by-step guide to an agent that finds new public tenders every morning, checks whether you can win them and reads the tender documents for you. No vendor lock-in: you bring the AI assistant, Polytender brings the live tender data.
· 11 min read
What is an AI agent for tenders?
An AI agent for tenders is an AI assistant that works through the bid process on its own: it searches procurement portals, filters notices against your company profile, reads the tender documents and reports back which opportunities are worth a bid. Unlike a chatbot, it uses tools, takes several steps in a row and runs on a schedule.
The hard part is not the AI model. It is the data. Tenders are spread across hundreds of national and regional portals, in different formats and languages, many behind document downloads. An agent is only as good as the tender data it can reach, which is why this guide starts from a clean, structured data layer and adds the model on top.
Model + tender data + your company profile + human sign-off = a tender agent you can trust.
Why agents break on raw portal APIs
The obvious shortcut is to hand the agent a list of procurement portals and let it call them directly. In practice that fails within days, and usually quietly. These are the problems bid teams run into.
Every portal speaks its own format
TED publishes eForms XML, other portals OCDS JSON, CSV exports or plain HTML pages. Dates, currencies, values, CPV codes and regions are written differently everywhere, and the same field can mean different things. The agent burns most of its context on parsing and still misreads deadlines and values.
Rate limits and quotas
Portals throttle hard: a few requests per second, daily quotas, temporary blocks after a burst. An agent that fans out over dozens of searches hits 429 errors, retries in a loop or gives up halfway, and then reports "no new tenders" from an incomplete result.
Many portals have no real API
A large share of portals only offer a search form, a login, cookie walls or captchas. Tender documents sit behind per-notice registration and download flows. An agent cannot sign up, click through or keep a session alive across runs.
Volume overflows the context window
Thousands of notices are published every working day, each with long descriptions and several lots. Paginated APIs return raw pages of it. The agent reads the first page, runs out of context and decides based on whatever happened to fit.
Duplicates, corrigenda and lots
The same tender appears on TED, the national and the regional portal, then again as a corrigendum with a new deadline and later as an award notice. Without deduplication the agent counts one tender three times or misses that the deadline moved.
It breaks silently
Portals change endpoints, schemas and HTML without notice. The agent does not crash, it gets empty or odd responses, and models tend to fill the gaps with confident guesses. You only notice when a relevant tender was never reported.
What Polytender does instead
We do this work once, for every customer. Polytender reads over 300 official procurement portals and sources every day, respects each portal's rate limits and access rules, and normalises every notice into one consistent schema: dates, values, currencies, CPV codes, regions and lots. Duplicates across portals are merged into one record, corrigenda update it, and every notice links back to its source. Your agent gets a handful of clean tools instead of 300 different APIs, and when a portal changes, we fix the connector, not your prompts.
What a tender agent does for you
Most of a bid team's week goes into searching and reading, not writing. That is exactly the part an agent takes over. Each job below maps to tools the Polytender MCP server gives your assistant.
Find new tenders daily
Pulls the new tenders Polytender already matched to your company, or searches official portals across Europe, the UK and the US by keyword, CPV code, country, value and deadline, in any language.
search_tenders · semantic_search · match_company
Qualify: bid or no bid
Pulls the full notice, checks deadlines, lots, eligibility and value, and explains why a tender matched your profile so you can decide in minutes.
get_tender · explain_match · get_lot_family
Read the tender documents
Lists the tender documents and reads the text inside PDFs and ZIP archives, then extracts requirements, award criteria and required proofs into a checklist.
get_tender_documents · read_tender_document
Check the competition
Looks up who won comparable contracts before: award history, countries and sectors of any company, including the incumbent.
lookup_company
Track and share
Bookmarks promising tenders, adds notes for your team and switches on daily alerts for a search profile.
bookmark_tender · set_tender_note · set_daily_alerts
Prepare the bid
Turns the requirements into an outline and a first draft from your own material. Polytender supplies the requirements. The references, prices and claims come from you.
your content library
The four building blocks of a tender agent
Every working agent, whether built with a vendor or yourself, has the same four parts. You only have to build the last one.
The AI model
Claude, ChatGPT, Microsoft Copilot or any client that speaks MCP. Pick the one your company already licenses and switch any time.
Live tender data
The Polytender MCP server: deduplicated notices from official portals, synced daily, with documents and award history. This is the part that is hard to build yourself.
Your company profile
A search profile built from your website (sector, keywords, CPV codes, regions), plus bookmarks and notes. Polytender matches every new tender against it, so your agent starts from a ranked shortlist.
Instructions and sign-off
Your instructions define the workflow and the scoring. A person approves every bid decision and every claim that leaves the house.
Build your tender agent in 6 steps
About 15 minutes for steps 1 to 5, no code. Step 6 is optional and turns the agent into a scheduled job.
Create your company profile
Sign up for Polytender and enter your company website. Polytender reads it and builds a search profile: what you do, keywords, CPV codes, countries and regions. Review it once. From now on Polytender matches every new tender against it.
Connect the tender data via MCP
Add the Polytender MCP server to your assistant. In Claude: Settings, Connectors, Add custom connector. In ChatGPT: a custom connector in developer mode. In Copilot: an MCP connector. Paste the URL below and sign in. Your assistant can now call every tool listed above.
Connection URL
https://api.polytender.com/mcpWrite the agent's instructions
Put the workflow into a Claude Project, a custom GPT or a Copilot agent so it applies to every chat. Start from the template below. No need to describe your company, the connector already knows your profile.
tender-agent.mdYou are our tender agent.Every run:1. Call match_company to get the new tenders matching our company.2. Drop tenders that close in under 10 days.3. For the rest, call get_tender and read the tender documents.4. Score 1-5 on eligibility, effort and competition(use lookup_company on the incumbent).5. Reply with a table: title, buyer, deadline, value, score,one-line reason, link.Never invent references, figures or certificates.Mark anything you could not verify.Run discovery and qualification
Ask for the daily check. The agent pulls your new matches, drops what does not work for you, scores the rest and returns a table with links. Correct it in plain language ("we do not do maintenance-only contracts") and update the profile when a rule should stick.
Let it read the documents
For each tender on the shortlist, ask the agent to open the documents. It reads the text of the PDFs and archives and returns a requirements checklist: eligibility, required proofs and certificates, award criteria, deadlines and questions to ask the buyer.
Automate it (optional)
Create a personal API key in the app and run the same instructions headless on a schedule, for example with Claude Code and cron. The report lands in a file, Slack or your inbox before the team starts work. Not technical? The built-in daily email digest does the discovery part for you.
Scheduled run with Claude Code# once: register the server with your personal API keyclaude mcp add --transport http polytender https://api.polytender.com/mcp \--header "Authorization: Bearer $POLYTENDER_API_KEY"# crontab: every weekday at 7:000 7 * * 1-5 claude -p "$(cat ~/tender-agent.md)" \--allowedTools "mcp__polytender" > ~/tenders/$(date +\%F).md
Prompts to start with
Copy these into your assistant once the connector is active.
- “Run the daily tender check and give me the top 5 with a bid or no-bid recommendation.”
- “Find open IT services tenders in Germany and Austria above 200,000 EUR that close in the next 6 weeks.”
- “Read the documents of this tender and list every eligibility requirement and required certificate.”
- “Who won similar contracts from this buyer before, and how often?”
- “Compare these three tenders on effort, fit and chance to win.”
- “Draft five clarification questions for the buyer based on the documents.”
- “Translate the award criteria of this French notice into German and weight them.”
- “Why did this tender match our profile? Remove the keyword that caused it if it is wrong.”
AI agent vs. plain ChatGPT vs. tender software
Three ways to bring AI into tendering. They differ mostly in where the tender data comes from and who controls the workflow.
| Agent vs. ChatGPT vs. tender software | ChatGPT or Claude alone | All-in-one tender software | Your agent + Polytender |
|---|---|---|---|
| Live notices from official portals | Web search only, misses most portals | Yes | Yes, Europe, UK and US, deduplicated |
| Reads the tender documents | Only what you upload by hand | Yes | Yes, fetched and read on request |
| Your own workflow and scoring | Yes, but manual every time | Limited to the product | Yes, in your instructions |
| Choice of AI model | One | The vendor's | Claude, ChatGPT, Copilot or any MCP client |
| Runs on a schedule | No | Yes | Yes, via API key or daily digest |
| Time to first result | Minutes | Onboarding project | About 15 minutes |
Guardrails that keep the agent trustworthy
Public procurement is formal and unforgiving. These rules are built into Polytender or belong in your instructions.
A person signs off
The agent recommends, a person decides. Every bid or no-bid call and every submitted document gets a human review.
No invented evidence
A model cannot know your real references, figures or certificates. Tell it to mark gaps instead of filling them, and feed it only approved material.
Documents are untrusted input
Tender documents come from third parties. Polytender fences document text so the model treats it as content, never as instructions.
Changes need confirmation
The agent can read freely. Deleting a profile, dismissing a match or turning off alerts requires an explicit confirmation step.
Data stays in Europe
Polytender is hosted in Europe and GDPR compliant. For confidential bid content use a business plan of your AI provider with training turned off.
Frequently asked questions
What is an AI agent for tenders?
An AI assistant that works through the tender process on its own: it searches procurement portals, filters notices against your company profile, reads tender documents and recommends which tenders to bid on. It combines an AI model, access to tender data, a memory of your company and rules for when a person has to decide.
Do I need to code to build a tender agent?
No. Connecting Polytender to Claude, ChatGPT or Microsoft Copilot takes a URL and a sign-in, and the workflow is written in plain language. Code is only needed if you want the agent to run on a schedule without anyone opening a chat.
Which AI assistants work with Polytender?
Claude (web, desktop and Claude Code), ChatGPT, Microsoft Copilot and any other client that supports the Model Context Protocol (MCP), for example Cursor or VS Code. The MCP server URL is https://api.polytender.com/mcp.
Can ChatGPT find public tenders on its own?
Only partly. Web search reaches a fraction of notices, because most sit in procurement portals with their own search, filters and document downloads. Connected to Polytender, the assistant queries the official notices directly and can open the documents.
Why not connect the agent to the procurement portals directly?
Because each portal has its own format, rate limits and access rules, and many have no usable API at all. Agents that call them directly hit throttling, overflow their context with raw pages, count duplicates several times and fail silently when a portal changes. Polytender reads over 300 portals, normalises and deduplicates the notices and gives your agent one consistent set of tools.
Which countries and portals does the agent cover?
Official procurement sources across Europe, the UK and the US, with the deepest coverage in Germany, Austria and Switzerland, including TED, the German federal and state portals, Austria and simap.ch. Notices published on several portals are merged into one record.
Can the agent write my bid?
It can draft structure and text from your own material and check it against every requirement. It must not invent references, figures or certificates, so the final content and the sign-off stay with your team.
Is it secure and GDPR compliant?
Polytender is hosted in Europe and GDPR compliant. The connection is authenticated per user and organization, reading is the default, and every destructive change asks for confirmation. For confidential bid content, use a business plan of your AI provider with model training turned off.
What does it cost?
The MCP server is included in every Polytender plan, and you can try it free, without a credit card. You pay your AI assistant separately, most teams already have a licence.
Start with the data your agent needs
Enter your website. Polytender builds your company profile, matches every new tender against it and shows the ones that fit today.
Enter your website and see your matching tenders. 7 days free, no credit card.
Scaling Europe Worldwide