All articles
Engineering4 September 2026 10 min read

Agentic Workflows That Need Live Web Data

Five agentic workflows that only work on live web data, each mapped to a real feed with real rows, and the ask-before-it-acts pattern.

Written by

Scraper.io

Editorial

An agentic workflow is one where a model does not just answer a question but runs a loop: it gathers context, decides, acts, and checks the result. The workflows that pay for themselves almost all share one property — the context they need was published on the public web this week, which means a retrieval index built last quarter cannot serve them.

Which agentic workflows actually need live web data

Most demonstrations of agentic workflows use context the organisation already owns: its own tickets, its own repository, its own warehouse. Those are useful and they are also the easy case, because the data is already structured, already permissioned, and already fresh by construction.

The harder and more valuable case is a workflow whose trigger lives outside the company. A tender that closes in seven days. A vendor's sunset date that moved. A property that came to auction on Thursday. A funding filing that named three people. A sanctions list that changed overnight. Nothing in your warehouse knows about any of them, and by the time it does, the window has usually closed.

That is the class this piece is about. Five workflows follow, each mapped to a feed that already runs, each with two real rows lifted from the current snapshot, and each with the same structural requirement: the agent has to be able to say where the value came from and when it was read, because it is about to do something on the strength of it.

The test for whether a workflow needs live web data is simple: if the answer was true last quarter and false today, and nobody in your company would know, the context has to come from outside.

Workflow one: deciding bid or no bid on a public tender

The loop is small and the value is obvious. A notice appears on a public register; an agent reads the buyer, the value, the closing date, the classification and the delivery area; it scores the notice against a supplier's own capability and capacity rules; it either drafts the bid/no-bid note or does nothing. The work it removes is the daily reading of a national firehose that is 99.9% irrelevant to any one firm.

The reason it needs live data rather than an index is entirely in the deadline column. A notice that closed last week is not a worse lead than an open one; it is not a lead at all. The two rows below come from the Cornwall & Devon electrical tenders feed, which re-runs daily and sorts by days to deadline for exactly this reason.

Note what the second row does with an unknown. National Grid's notice does not state a value, so the value is published as withheld rather than as a zero or a guess. An agent scoring on contract size has to be able to tell “small” from “not stated”, and a dataset that flattens the second into the first will quietly teach it to discard the largest jobs on the page.

Two open opportunities, Cornwall & Devon electrical tenders, run 2 September 2026
BuyerNoticeValueClosesSource
Corserv Solutions LtdLD2 Phase 3 — Domestic Fire Detection and Alarm Upgrade of 409 Properties across Cornwall£200,0009 Sep 2026078789-2026
NATIONAL GRID UK LIMITEDExcavation, Cable Laying and Reinstatement for Isles of ScillyWithheld25 Sep 2026079979-2026

Workflow two: turning a deprecation notice into a pull request

This is the workflow engineering teams ask for first once they have an agent with repository access. A vendor announces an end-of-life date; the agent checks whether anything in the dependency graph is affected; if it is, it opens an issue or a draft pull request with the date, the source and the affected files attached.

It is a good fit for an agent because the tedium is real and the judgement is small. It is a bad fit for a static index because deprecation dates are exactly the kind of fact that moves: dates slip, severities get reclassified, and a vendor changelog entry from March is superseded by a catalogue entry in August. The rows below come from API Deprecation Watch, which runs daily across 460-plus products.

The row-type column is the part that makes the workflow safe to automate. A catalogue row is a maintained end-of-life record; a changelog row is a single vendor post that happened to state a date. Both are useful, and only one of them should be allowed to open a pull request without a human reading it first.

Two rows from API Deprecation Watch, run of 14 August 2026
ProductRow typeSunsetDays left at runSource
claude claude-opus-4-6Catalogue (CONFIRMED)5 Feb 2027175endoflife.date
Updating TypeScript version support in AWS SDK for JavaScript v3Changelog (SIGNAL)31 Mar 2027229aws.amazon.com

Workflow three: underwriting a distressed property lot

Auction catalogues are published, then amended, then withdrawn, and the useful window between a lot appearing and the room closing is measured in days. An agent that reads the lot, pulls the local comparable, computes the gap and drafts an underwriting note is doing in seconds what an analyst does in an afternoon.

Two lots from the UK Distressed Property feed show why the status field has to be live. One is available and priced roughly at its comparable; the other sold at a very large discount to it. A monthly export would show you both as listings and tell you nothing about which room has already closed.

This feed is also the one where we are most explicit about confidence: every one of its 39 published lots carries SIGNAL rather than CONFIRMED, because each lot has a single origin — the auction house's own listing. That is written on the page rather than smoothed away, and an agent underwriting on a single-origin value should be required to say so in its note.

Two lots from UK Distressed Property
LotAddressPriceVs comparableStatusSource
Clive Emson 267/1333 Pendarves Road, Camborne, Cornwall, TR14 7QB£260,000−5.3%Availablecliveemson.co.uk
Clive Emson 267/120The Byes Toll House, Salcombe Road, Sidmouth, Devon, EX10 8PR£100,00074.7%Soldcliveemson.co.uk

Lot references, addresses, prices, comparable gaps and statuses are as published in the feed's snapshot; each row links to the auction house's own lot listing. Both rows carry the feed's SIGNAL confidence, as do all 39 published lots.

Workflow four: reaching a founder before the announcement

A Form D filing with the US Securities and Exchange Commission names an issuer, names its executive officers and directors, states the total offering and states how much has been sold. It is due within 15 days of the first sale, and a great many companies file one long before they publish anything about themselves.

The agentic version is a research-and-draft loop: read the filing, check whether anything has been written about the issuer, and if not, assemble a brief with the named people and the raise shape. What it must not do is send anything on its own, which is the subject of the last section.

Two rows from the Stealth Startup Radar show why the two amount fields are not one field. Terram Lab had sold roughly £14m of a $25m offering when it filed, which is a round still open; 3852.ai had sold its entire $435,000 offering, which is a different situation and a different message. Collapsing those into “raised” loses the only piece of timing information the filing contains.

Two Form D filings, Stealth Startup Radar run of 14 August 2026
CompanyNamed on the filingOfferingSoldFiledSource
Terram Lab Corp (US-DE)Troy Swope, Jonathan Silver, Ira Ehrenpreis$24,999,961$14,000,96313 Aug 2026EDGAR CIK 2030469
3852.ai Inc (US-DE)Robert Skiff$435,000$435,00013 Aug 2026EDGAR CIK 2149162

Workflow five: diffing a sanctions list before onboarding

Screening a counterparty against a sanctions list is a compliance obligation, not a growth idea, and it is the workflow where a stale index is least forgivable. The relevant object is not the list; it is the change to the list, because a designation made this morning is precisely the one your last screening run could not have caught.

The Sanctions Diffs feed is built from the authorities' own delta files, so each row is an action rather than an entry: designated, amended or delisted, with the date the authority published it. The two rows below were both published on 7 August 2026 and point in opposite directions, which is the ordinary daily reality of these lists.

The aliases and identifiers matter more than the primary name here. Matching on a display name alone produces both false negatives, because entities trade under several names, and false positives, because names collide. A row that carries its aliases, its programme and its official identifier lets an agent produce a match an actual compliance officer can check.

Two actions from Sanctions Diffs, published 7 August 2026
SubjectTypeProgrammeActionDateSource
TITAN EXCHANGE (Dubai, United Arab Emirates)EntityIRAN-EO13902Designated7 Aug 2026OFAC recent actions
ZAZUETA GOMEZ, Leopoldo (San Ignacio, Sinaloa, Mexico)PersonSDNTKDelisted7 Aug 2026OFAC recent actions

Subject names, locations, programmes, actions and dates are as the feed published them from the authority's own recent-actions file. The feed publishes 26 rows in its current snapshot.

What an agent receives when it calls a feed

All five workflows consume the same shape. The block below is a trimmed result built from the two real tender rows above, as an agent would receive them through a tool call rather than by reading a page.

Three fields do the load-bearing work, and none of them is the value. `source_url` is where the agent gets its citation. `confidence` is a field rather than a tone, so the model can see the difference between two independent origins and one before it decides. And a null is a null: National Grid's value is unknown, so it arrives as null rather than as a number that would read as fact.

tool result (trimmed)
{
  "feed": "cornwall-devon-electrical-tenders",
  "run": "2026-09-02",
  "rows": [
    {
      "buyer": "Corserv Solutions Ltd",
      "title": "LD2 Phase 3 - Domestic Fire Detection and Alarm Upgrade of 409 Properties across Cornwall",
      "value": 200000,
      "currency": "GBP",
      "stage": "opportunity",
      "deadline": "2026-09-09",
      "district": "Cornwall & IoS",
      "cpv": "45312100",
      "register": "Find a Tender",
      "confidence": "CONFIRMED",
      "source_url": "https://www.find-tender.service.gov.uk/Notice/078789-2026"
    },
    {
      "buyer": "NATIONAL GRID UK LIMITED",
      "title": "Excavation, Cable Laying and Reinstatement for Isles of Scilly",
      "value": null,
      "currency": null,
      "stage": "opportunity",
      "deadline": "2026-09-25",
      "district": "Cornwall & IoS",
      "cpv": "45314310",
      "register": "Find a Tender",
      "confidence": "SIGNAL",
      "source_url": "https://www.find-tender.service.gov.uk/Notice/079979-2026"
    }
  ]
}

The pattern that keeps agentic workflows safe: ask before it acts

Every workflow above ends in an action with a cost: a bid decision, a pull request, an underwriting note, an outreach message, an onboarding block. The single most useful design rule we have found is to split the loop at that point, and to let the agent do everything up to it.

In practice that means the agent gathers, filters, scores and drafts — all of which are reversible — and then stops, presenting the draft together with the rows it relied on and the source URL for each. A person approves, edits or rejects. The economics still work, because the expensive part was never the click; it was the reading.

The provenance fields are what make the stop useful rather than annoying. A reviewer looking at “bid on this, closes in seven days” with the notice number beside it can approve in a few seconds. A reviewer looking at the same recommendation with no source has to redo the research, at which point the agent has saved nobody anything.

Two further rules earn their place. Let the agent refuse: a missing value should produce “I do not have this” rather than a plausible number, which is only possible if the data distinguishes empty from zero. And put the age of every value in front of the model, because an agent that can see a value was read three weeks ago can ask for a re-check, while one that cannot will simply assert it.

  • Everything reversible is automated; the first irreversible step is a human approval.
  • Every drafted action carries the rows it relied on and a source URL per row.
  • Nulls stay null, so the agent can refuse instead of inventing.
  • Observation dates are visible to the model, so staleness is a decision rather than an accident.
  • Confidence is a field the model can branch on, not a tone in the prose.

Wiring a feed into an agent

The connection itself is configuration rather than a build. The scraper.io MCP server is a remote Streamable HTTP server with ten typed tools — list_monitors, get_monitor, create_monitor, update_monitor, pause_monitor, resume_monitor, list_alerts, get_evaluation, list_channels and check_now — which covers reading a set, asking what changed, and being woken when something matches instead of polling.

Scoping follows the same split as the workflow. Read-only agents get read-only keys; creating or changing a monitor needs an explicit write scope; every call is isolated to one workspace. That maps neatly onto ask-before-it-acts, because the authority to act is withheld at the key rather than only in the prompt.

If you want to start from the data rather than the plumbing, the sets above are all on the live feeds page, and the commercial shape is on the pricing page: a one-off job starts at £150 and is quoted per job, and a feed is the same set kept running on its own cadence.

Frequently asked questions

What is an agentic workflow?
A workflow where a model runs a loop rather than answering once: it gathers context, decides, takes an action and checks the result. The useful ones are usually triggered by something outside the company, which is why their context has to be live.
Why does a RAG index not work for these workflows?
A retrieval index is a snapshot embedded at build time, and the model cannot see how old it is. That is fine for a policy handbook and wrong for deadlines, sunset dates, auction statuses and sanctions actions, where the whole question is what changed this week.
Should an agent be allowed to act on live web data automatically?
Up to the first irreversible step. Let it gather, filter, score and draft, then stop and present the draft with the rows and source URLs it used. A reviewer who can see the receipts approves in seconds; a reviewer who cannot has to redo the work.

The common thread across all five is not the model and not the tooling. It is that each workflow acts on a fact somebody else published this week, which means the fact has to arrive with the address it was read from and the date it was read, or the agent is guessing confidently on your behalf.

Make the research useful twice

Build the market once. Review only what changes next.

Scraper.io turns a defined market into an inspectable table with evidence behind every populated value.

Agentic Workflows That Need Live Web Data — Scraper.io