The goal is not to make a system that reads the web. It is to make a research process that people can inspect, challenge, and use.
Activepieces coordinates the work, Apify collects permitted public material, an AI model extracts and compares evidence, and Google Sheets provides a familiar place to review the result.
01 / The purpose
Research needs an evidence path, not just a summary
A broad prompt such as “What are competitors doing?” can create a persuasive answer without creating a dependable one. The missing pieces are usually scope, source quality, dates, and a clear link from the conclusion back to the material that supports it.
This design treats the research agent as a controlled sequence: define the question, gather relevant material, clean it into comparable records, extract evidence, synthesise only from that evidence, and present the result for review.
Collection says what was found. Research says what the available evidence supports.
02 / The research brief
Make the question specific before automation begins
Start with an Activepieces form or webhook that records the topic, target audience, geography, date range, source types, and the decision the research should support. The flow can turn that request into a small set of answerable questions and an explicit collection plan.
{
"topic": "AI workflow automation for finance teams",
"questions": ["What pain points recur?", "Which vendors appear most often?"],
"markets": ["South Africa", "United Kingdom"],
"recency_days": 180,
"decision": "Prioritise product-page messaging"
}This brief sets useful limits. It tells collectors what to seek, lets the flow stop when sufficient evidence exists, and gives a reviewer enough context to decide whether the final answer is useful.
03 / Evidence collection
Collect sources by type, then normalise them
Use dedicated Apify Actors or tasks for company sites, official documentation, independent coverage, review platforms, and permitted public discussion. Keeping source classes separate makes it easier to apply the correct extraction fields, limits, and quality rules for each one.
Before any model sees the material, map each record into a shared structure: source_url, canonical_url, source_type, publisher, published_at, retrieved_at, title, excerpt, raw_text, and research_run_id. Remove duplicates, syndicated copies, empty pages, and stale material that falls outside the brief.
Official documentation, releases, pricing pages, and direct statements are the strongest basis for a current factual assertion.
Reputable reporting and specialist publications bring useful context and test vendor claims against outside observation.
Reviews and public discussion can surface language and recurring friction, but need corroboration before becoming fact.
Apify datasets are useful as the collection record because they store structured items for each run and are append-only. Apify’s dataset documentation explains the storage model and export options.
04 / AI analysis
Extract first. Synthesize second.
Do not give the model a large block of scraped text and ask for a conclusion. In the first pass, process one record at a time and require structured evidence: the claim, a short supporting excerpt, source URL, entity, source type, confidence, and uncertainty.
Use only the supplied source record.
Return: claim, supporting_excerpt, source_url, entity,
source_type, confidence, and uncertainty.
If the source does not support a claim, return no claim.In the second pass, give the model only those evidence records. Ask it to group themes, identify disagreement, distinguish fact from inference, and state when the evidence is insufficient. The result is more credible because the model is constrained by a visible record of what was actually collected.
Non-negotiable rule: a material conclusion must link to supporting evidence rows. If it cannot be traced, mark it as an inference or remove it.
05 / Human review
Use Google Sheets as a review surface
Google Sheets gives non-technical collaborators a place to filter, comment on, assign, and challenge research without entering the automation environment. Keep four tabs: Requests, Sources, Evidence, and Briefs. Carry the same research-run ID through all of them.
Write summaries and evidence rows in batches, rather than cell by cell. The Google Sheets API supports batch read and write operations as well as appending rows to a table. Google’s values guide covers those options.
Mark a brief ready only when it has enough source diversity, URLs for its important findings, and a stated outcome for every material conflict. A named reviewer should approve any brief that will inform an external, financial, legal, or personnel decision.
06 / Operating controls
Keep cost, privacy, and failure visible
Set maximum domains, pages, extracted text, AI tokens, and runtime. Collect deeply only where early sources justify it.
Use retries with backoff, source-specific rate limits, timeouts, and a clear failed-run state.
Store collection time and publication date. Product and pricing research can age far faster than background context.
Use only data you are permitted to collect and process, and follow platform rules and privacy obligations.
Measure source coverage, duplicate rate, cost per approved brief, reviewer edits, and unsupported claims. These show whether the system is producing useful research, rather than merely producing a high volume of output.
07 / The outcome
Build for inspectable judgment
Activepieces, Apify, and Google Sheets make the mechanics approachable. The lasting value comes from the method around them: a specific brief, an evidence record, constrained analysis, and a deliberate human decision point.
That is what turns scattered public information into a research asset a team can revisit, trust, and improve over time.
Stay up to date
Get new engineering notes by email.
Occasional, practical writing on engineering, automation, data, and product strategy.
