Tender Monitor
Overview
Tenders are time-boxed opportunities: found late = lost. Systematic watch on the right portals, fit-filtered, deadline-tracked.
Watch setup
- Profile: sectors/CPV-like categories, keywords (FR/EN/AR), geographies, size range, disqualifiers (required certs we lack)
- Sources per market:
- Algeria: BAOSEM, portails ministériels, ANEP press announcements
- Gulf: Etimad (KSA), national procurement portals
- EU/France: BOAMP, TED (ted.europa.eu)
- Private: target companies' procurement pages, sector newsletters
Workflow
- Build the watch profile with the user on the live desk (
tenders action=profile). The book is~/.navin/tenders/(same store as Studio#/tenders, Tauri,navin tenders, andpython -m navin.tenders.desk_cli). - Recurring hunt is the Studio Start loop (
tenders action=start/stop/schedule). Do not create a chat cron that collects or ticks. The gateway hunts collect then watch on that calendar. - Heartbeat uses
tenders action=followand stays silent whenwatch.countis 0. Never collect, start or tick from heartbeat. Do not create a chat cron that collects or ticks. - Fit-score each notice with
tenders action=qualify. Report only GO or a deadline under 7 days. - For pursued tenders:
tenders action=writethenrfp-writer. Deadline reminders stay on heartbeat, never a buyer mail. - Hand leftover public listings to
/scrapeorscrape+web_searchon official hosts only.
Alert format
## Nouveaux AO - <date>
| Réf | Acheteur | Objet | Deadline | Fit | Caution | Lien |
Rules
- Deadlines in the alert are submission deadlines minus logistics margin.
- Track outcomes (won/lost/no-bid + price when published) - the history sharpens future bid decisions.
- Portal access requiring accounts: flag to the user, don't create accounts silently.
- LinkedIn MCP (
linkedin-mcp-server, Tools > Tenders MCP) is buyer research on the live desk, never a notice source. Do not collect LinkedIn jobs or posts into the watch list.