Use case
FirecrawlNotionGoogle DriveAGNT

Research briefings, sourced and cited

Point an agent at a question; get back a sourced briefing — market landscape, technical comparison, diligence pass — with every claim linked.

Research briefings, in brief

The jobPoint an agent at a question; get back a sourced briefing — market landscape, technical comparison, diligence pass — with every claim linked.
Tools it needsFirecrawl, Notion, Google Drive, Slack, Obsidian
Setup4 steps, about ten minutes
Runs whenSomething happens in Slack
ApprovalYours, per category — nothing is sent on your behalf unless you say so
Where it runsYour own machine. Credentials stay in a local vault.

What the agent actually does

An answer with sources, not a list of links

The agent searches, reads the promising results in full rather than skimming snippets, and reconciles what it finds. Where sources disagree it says so, which is usually the most informative sentence in the briefing.

Claims carry citations

Every substantive statement links to where it came from. You can check the ones that matter for your decision instead of accepting the whole document on trust or none of it.

Your format

Landscape scan, competitive comparison, technical evaluation, diligence memo — you specify the structure once as a template and every briefing arrives in it, which makes them comparable to each other.

The tools this job needs

Firecrawl

Where the work arrives. Clean page extraction for research-grade scraping. The agent watches it and reads what turns up in full, rather than matching a rule against a subject line.

Notion

Context the agent pulls in before deciding. The team wiki agents can actually keep current. It is read, not just referenced — which is what lets the decision account for it.

Google Drive

Context the agent pulls in before deciding. Where the documents live — and pile up. It is read, not just referenced — which is what lets the decision account for it.

Slack

Where the result lands. Team chat where operations actually surface. Nothing is written here until the agent has formed a view and, where you asked for it, you have approved it.

Get this agent

Research Analyst

Point an agent at a question; get back a sourced briefing — market landscape, technical comparison, diligence pass — with every claim linked.

Runs on your own machine. Asks for Firecrawl, Notion, Slack and nothing else — you approve the connection, and the agent inherits whichever AI model you already use.

You can see exactly what it did

Nothing happens behind your back.

Every run leaves a receipt: what the agent read, which tools it called, what it decided and why, and precisely what it changed. Anything irreversible — sending, paying, publishing, deleting — waits for you to approve it. It runs on your own machine, with your own credentials, and the whole trail is yours to read afterwards. The point is not that you trust it. The point is that you never have to.

Search results are not research

A list of ten links is the beginning of the work. Research is reading them, noticing that three are reprints of one press release, finding that the fourth contradicts the others, and forming a view about which to believe. That synthesis step is what takes an afternoon, and it is the part an agent can genuinely take on — provided it shows the work rather than asserting a conclusion.

Citations are what make it checkable

An uncited briefing has to be trusted entirely or discarded entirely, and both are bad options. When claims carry sources, you can verify the two or three that your decision actually turns on and move on. That is how human analysts have always been reviewed, and it is the only workable standard for machine-produced research too.

Where it stops and you start

An agent is strong at coverage, extraction and reconciliation, and weak at knowing which of two credible sources reflects how the market really behaves. Treat the briefing as a well-prepared analyst’s first draft: the facts assembled and cross-checked, the judgment still yours.

Build it in AGNT

  1. Write the question precisely, including what a good answer would let you decide.
  2. Give the agent its sources — the open web, a document set, an internal database, or all three.
  3. Specify the output template so briefings stay comparable over time.
  4. Read the briefing against its citations, and refine the question where the answer missed the point.

Build it: the workflow file

Here is the shape in full rather than in prose: a trigger, a decision, an action. Paste the definition below into a new workflow and it loads exactly as drawn.

Research briefings, sourced and cited: watch slack → read it and decide → act in firecrawl TRIGGER receive-slack-message Watch Slack Fires the moment it happens. ACTION agnt-agent Read it and decide Judged against your own rules. ACTION firecrawl-api Act in Firecrawl Writes the result back.
Runs on your own machine against your own Firecrawl account. Every step writes a receipt you can read afterwards.
Research briefings, sourced and citedpaste into a new workflow
{
  "id": "55539979-4088-4272-afe7-45e5f4960ce8",
  "name": "Research briefings, sourced and cited",
  "nodes": [
    {
      "id": "1fd84d09-9e20-46d3-aaa7-963889f37f46",
      "text": "Watch Slack",
      "x": 512,
      "y": 144,
      "isEditing": false,
      "type": "receive-slack-message",
      "icon": "connect",
      "category": "trigger",
      "isSelected": false,
      "parameters": {},
      "description": "Listen for incoming Slack messages in a specified channel and trigger the workflow when a new message is received.",
      "error": null,
      "isActive": false,
      "output": null,
      "outputs": {}
    },
    {
      "id": "a4af4a89-069c-4018-acad-cc698c528cb0",
      "text": "Read it and decide",
      "x": 512,
      "y": 336,
      "isEditing": false,
      "type": "agnt-agent",
      "icon": "connect",
      "category": "action",
      "isSelected": false,
      "parameters": {
        "instructions": "The agent searches, reads the promising results in full rather than skimming snippets, and reconciles what it finds. Where sources disagree it says so, which is usually the most informative sentence in the briefing."
      },
      "description": "Point an agent at a question; get back a sourced briefing — market landscape, technical comparison, diligence pass — with every claim linked.",
      "error": null,
      "isActive": false,
      "output": null,
      "outputs": {}
    },
    {
      "id": "f3fc8717-db26-416b-a4eb-7ae86e7f8656",
      "text": "Act in Firecrawl",
      "x": 512,
      "y": 528,
      "isEditing": false,
      "type": "firecrawl-api",
      "icon": "connect",
      "category": "action",
      "isSelected": false,
      "parameters": {},
      "description": "Scrape web content using Firecrawl API",
      "error": null,
      "isActive": false,
      "output": null,
      "outputs": {}
    }
  ],
  "edges": [
    {
      "id": "fc963cfb-7bb3-4326-a436-325913b7e9c0",
      "start": {
        "id": "1fd84d09-9e20-46d3-aaa7-963889f37f46",
        "type": "output"
      },
      "end": {
        "id": "a4af4a89-069c-4018-acad-cc698c528cb0",
        "type": "input"
      },
      "startX": 800,
      "startY": 168,
      "endX": 512,
      "endY": 360
    },
    {
      "id": "6f33d5b9-da3f-4401-ac0e-a40e23823bde",
      "start": {
        "id": "a4af4a89-069c-4018-acad-cc698c528cb0",
        "type": "output"
      },
      "end": {
        "id": "f3fc8717-db26-416b-a4eb-7ae86e7f8656",
        "type": "input"
      },
      "startX": 800,
      "startY": 360,
      "endX": 512,
      "endY": 552
    }
  ],
  "zoomLevel": 1,
  "canvasOffsetX": 0,
  "canvasOffsetY": 0,
  "isTinyNodeMode": false
}

Get this running today

Free, local, and it asks for Firecrawl, Notion, Google Drive, Slack, Obsidian and nothing else.

Common questions

How do I know it did not invent a source?

Citations are links to material actually retrieved during the run, and the receipt records what was fetched. A claim without a source is visible as unsupported.

Can it research private or internal material?

Yes — point it at your own documents or databases. With a local model, none of that content leaves your machine.

How long does a briefing take?

Minutes rather than the afternoon it displaces, depending on how many sources you ask it to read in full.

Give AI a job. Get the proof.