What the AI Can Read on the Open Web — and What It Refuses to Guess
Every small firm does research. Someone opens a competitor's service page, compares a supplier's product description, reads a public price list or checks a news item before a meeting. The work is not difficult; the problem is that it is done by hand, in a browser, and the source is usually lost before the note reaches a document.
Firmspace AI can do part of that reading. The web_fetch tool opens a public http or https page and returns its title, its meta description, the cleaned text and up to forty links. The text is cut at twelve thousand characters, and the result says when it was truncated. The links are returned so the assistant can follow a pricing, about or blog subpage instead of guessing what is behind it.
Public is enforced, not assumed. The tool accepts only http and https, refuses addresses with a login or password, refuses localhost and names ending in .local or .internal, resolves the hostname and rejects private or reserved addresses, and re-checks every redirect. It follows at most three redirects, waits fifteen seconds, reads at most 1.5 megabytes and accepts only text, HTML, XML or JSON.
The practical meaning is a short list of pages the AI cannot read. It cannot open a page behind a login, a customer portal, a bank interface or a cookie wall that requires a click. It cannot run the scripts that render a price after the page loads, so a JavaScript-only catalogue may arrive almost empty. If a site answers with a forbidden or too-many-requests status, the tool reports the status instead of inventing content. If the address points to a PDF or an image, it refuses: this tool reads text pages, not files.
The page is data, not an instruction. The assistant is told that text from e-mails, notes, documents and tool results is untrusted and that instructions found inside it must never be followed. Reading a web page is marked as an untrusted read, so after it the assistant asks for confirmation before any change in the CRM, even when the owner has switched confirmations off. A page cannot ask the AI to delete invoices, and that is the most important safety property of the whole feature.
A research job is requested in ordinary language. Ask it to check three competitor service pages and say what changed, to read a supplier's product page and list the stated delivery terms, or to compare today's public price with the report saved last week. The assistant opens the pages, follows the useful links and extracts the facts. It cannot click, scroll, log in or press a button on the site; when a page needs interaction, it says so.
The rule against invention is explicit. Facts come only from tools, and if a page does not state a price, the report must say that the price is not stated rather than estimate it. If the information sits behind a login or a paywall, the honest answer is that access is required. This is the same discipline the blog applies to its own numbers: without data, write that access is required.
When the reading is done, save_research stores the report in the research log and creates a task so the owner sees it. The report can be up to eight thousand characters, the source list up to thirty addresses, and the task title up to one hundred and sixty characters. The task includes the sources and appears in the task list and as a card in the team feed. The report is a task for a person, not an automatic decision.
The research log is useful because it is cumulative. list_research returns earlier reports newest first, up to ten at a time and three thousand characters each, filtered by a word in the title. The assistant can compare this week's page with last month's report without re-reading everything, and the reader looks at the sixty most recent reports. A price change becomes a sentence with two dates instead of a vague memory.
A good request names the page, the fact and the date. The site or the exact addresses, the fact that matters, such as a public price, a service list or delivery terms, and the instruction to return links. Find and cite is a better request than find out. With up to thirty sources in a report, every claim that matters should have an address behind it.
Sources have limits that the report should keep visible. A public page can be outdated, translated differently for another market, or show a price without tax. The AI can quote what the page said and the date it read it; it cannot know the contract, the discount or the local terms behind the number. A phone call or an e-mail is still the tool for binding conditions.
The feature has no bulk crawler: each call reads one public page, and a broad request such as research the whole market produces a broad and less useful report. Narrow pages and explicit facts produce a report that can be checked and used.
Where it fits is the ordinary homework of a small business: a competitor's services and public prices, a supplier's product page, a public news item or a tender notice, a public job ad that says something about the market. The assistant saves the source, states what it could not see and hands the result to a person who decides.
The value is not that the AI reads everything. It is that it reads a defined public page, keeps the link, admits the gaps and puts the result where work already happens. Research without sources is just another opinion; research with dates and addresses is something a small team can actually use.