# Your AI agent shouldn't act on data it can't cite

> Source: <https://dev.to/abmdev/your-ai-agent-shouldnt-act-on-data-it-cant-cite-4naj>
> Published: 2026-07-14 04:59:58+00:00

*A great rep once knew every account. An agent doesn't, unless you tell it what's true and how sure to be.*

Enrichment APIs hand your agent a value. An email. A job title. A funding round. The agent acts on it: writes the email, books the play, updates the CRM. But was that email verified, or guessed? Most APIs won't say. For a human scanning a spreadsheet, fine, you eyeball it. For an agent sending on your behalf, an unmarked guess is how it emails a made-up address with total confidence.

So we built [abm.dev](https://abm.dev) the other way round. Every field carries its own source and a confidence score. Not a blended trust rating for the record. Per field.

Eighty-nine canonical fields on an enrichment, forty-three on a person, forty-six on a company. Ten providers behind one call, LinkedIn, Companies House, Hunter, Perplexity, Tavily and five more, aggregated, deduped, reconciled. One key, one schema, no per-source bills. And every value comes back wrapped:

```
{
  "work_email": {
    "value": "jsmith@acme.com",
    "confidence": 0.94,
    "source": "hunter.io",
    "verified": true
  },
  "employee_count": {
    "value": 240,
    "confidence": 0.61,
    "source": "linkedin",
    "note": "companies-house filing says 180; both kept"
  }
}
```

When sources disagree, we don't silently pick a winner. We keep both and tell you. No fabricated data. No silent fallbacks.

That envelope is the whole point for an agent. It can gate on confidence: act on `0.94`

, hold on `0.61`

, route the low ones to a human. It can cite its own work, so when someone asks *why did you email this person*, there's a source, not a shrug. Grounding is the difference between an agent that builds pipeline and one that hallucinates it.

And the honest bit, because an agent needs the honest bit: it's near-useless on companies with no public footprint. The difference is it tells you when it's guessing, instead of guessing in a confident voice.

Three verbs sit on top of the same idea. **Search** the accounts and people. **Enrich** them into cited fields. **Create** the records and the outreach. Over a plain REST call, or as a [Claude Connector](https://abm.dev/docs/integrations/claude-connector) your agent talks to directly over MCP.

If you're building anything that acts on B2B data without a human in the loop, come make it prove itself. There's a free playground at [abm.dev](https://abm.dev), and `LAUNCHCODES`

puts about twenty in credits on your account to try it on an account you know cold. Tell me where it's wrong, that's the useful part.
