Skip to Content
CoursesSyncGTM 10109 Research with AI agents

Research With AI Agents

Outcome: one research column returning a constrained, consistent answer per row, tested against ten rows you can verify by hand.

Surface
Sync GTM app
Level
Beginner
Uses
AI agent column
Credits
~1 per row
Prerequisite
A table with a domain column

What research is for

A research column answers a question that has no database field. “Does this company sell to businesses or to consumers?” “Do they have a partner programme?” “What is the headline claim on their homepage?”

It works by reading pages and answering. That makes it powerful and makes it the column most likely to produce confident nonsense, so the whole lesson is about constraining it.

Reference: AI agents, Research enrichment.


One question, one column

The rule that fixes most bad research output: one question per column, with a constrained answer format.

BadGood
”Summarize this company""Does this company sell primarily to businesses or consumers? Answer: B2B, B2C, or Both."
"Tell me about their product""What is the main product category? Answer in three words or fewer."
"Are they a good fit?""Do they list an integration with Salesforce? Answer: Yes, No, or Unknown.”

Free-text summaries cannot be filtered, sorted, scored or reliably used in copy. Constrained answers can do all four. If you want colour for a message, take a constrained answer and a one-sentence evidence field — two columns, not one blob.


Writing the prompt

State the source

“Using the company’s website at {{domain}}…” Tell it what to read. An unanchored question invites the model to answer from memory, which is where wrong answers come from.

Ask exactly one thing

If the word “and” appears in your question, split the column.

Constrain the output

Give the allowed values explicitly. “Answer with one of: B2B, B2C, Both, Unknown.”

Provide the escape hatch

Always include Unknown, and say when to use it: “If the site does not make this clear, answer Unknown.” Without it, the model guesses, and a guess is indistinguishable from a fact in a spreadsheet cell.

Ban the padding

“Answer with the value only. No explanation.” Otherwise you get “Based on my review of their website, it appears that…” in every cell.

A template that works:

Using the company website at {{domain}}, determine whether they sell primarily to businesses or to consumers. Answer with exactly one of: B2B, B2C, Both, Unknown. Use Unknown if the website does not make this clear. Return the value only, with no explanation.

Testing it honestly

Run on ten rows where you already know the answer. This is the only test that means anything.

Then count three things:

MetricTargetIf it misses
Format compliance — is every answer one of the allowed values?100%Tighten the constraint wording
Accuracy on the rows you knowAbove 90%Re-anchor the source, or the question is genuinely ambiguous
Unknown rateUnder 20%Above that, the question cannot be answered from the source you gave it

A high Unknown rate is good news badly disguised. It means the model is declining to guess, which is exactly what you asked for. A zero Unknown rate on a hard question is the worrying result — it means every uncertain row got a confident answer.


Cost control

AI columns are among the most expensive per row, so they belong below a filter, never above one.

  • Run research after the cheap firmographic filters, on qualified rows only.
  • Ask the question once. If two columns need the same page read, ask for both facts in one column with a structured answer, or accept the second read as a cost.
  • Cache by not re-running. Research answers about what a company sells do not change monthly; set the refresh cadence to quarterly.

Do this now

Pick the one question

The single fact that would most change whether you contact an account. Not five facts — one.

Write the prompt

Source, one question, allowed values, Unknown escape, no explanation.

Pick ten rows you know

Companies you can verify by opening the site yourself.

Run and read every answer

All ten. Compare against what you know.

Measure the three numbers

Format compliance, accuracy, Unknown rate.

Fix the prompt, not the data

If accuracy is low, the prompt is wrong. Re-run the same ten rows after each change.

Widen to the qualified set

Only once the ten-row test passes.


Check your work

  • Every answer is one of your allowed values
  • You verified accuracy against rows you knew independently
  • Unknown appears in the output — if it never does, the escape hatch is not working
  • The column runs below your firmographic filters, not above them

Where this breaks

The dangerous failure is a well-formatted wrong answer. A research column that returns “B2B” for a consumer app is not visibly broken — it is a clean value in a clean column, it flows into your score and into your copy, and the first sign of trouble is a prospect replying “we don’t sell to businesses.” Verify against known rows before every widening, and re-verify a sample after any prompt change.


Further automation

Research answers become scoring inputs. Once the column is trustworthy, feed it into the fit score from GTM Engineering lesson 06 — a researched fact is usually a sharper qualifier than any firmographic filter, because nobody else’s list has it.


Next lesson

10 — Scraping a company’s own site, when you need the exact text on a page rather than a model’s reading of it.

Reference for this lesson: AI agents, Research, AI integrations, Credits.