Skip to content

ai_prospecting

ai_prospecting answers one question: who are the best people to approach at this account? It runs OnFire’s prospecting engine against one or many target companies and returns a ranked, tiered prospect list.

  • “Find buyers at Acme.” / “Who should I talk to at these 30 companies?”

Litmus test: if the request names the people or the criteria (title, persona, technology, location), that’s ask_onfire. If it asks the engine to surface the best prospects for an account, it’s this tool.

Not for identity resolution (match_company / match_person), emails and phones (contact_data_enrichment), or scoring one named person — there is no single-person action.

ParameterTypeRequiredDescription
action"run"NoThe only supported action. Defaults to "run".
company_linkedin_urlstringYes*Target company LinkedIn URL — shortcut for a single-element list.
linkedin_urlsstring[]Yes*Company LinkedIn URLs for a batch run. Takes precedence over company_linkedin_url.
use_cachebooleanNoReturn cached results from a recent identical run. Default false; ignored on shadow runs.
activate_shadow_runbooleanNoRun against the caller’s shadow schema. Ignored while impersonating tenants.
run_idsnumber[]NoRun ids from a prior still_running response — resumes polling without re-submitting.
include_field_glossarybooleanNoLegacy opt-in that inlines the ~12 KB glossary. Prefer ai_prospecting_field_glossary.
target_tenant_idstringNoSuper tenants only.

* One of linkedin_urls or company_linkedin_url is required. The tenant comes from your OAuth session — don’t pass it.

Runs take one to three minutes. The server polls internally and returns either a completed envelope or a resumable one.

Completed:

  • dataset — handle to the full ranked prospect list.
  • top_picks — the ranked “start here” subset with tier, warm-intro path, and ready-made talking points.
  • priority_summary — count histograms (tier 1 prospects, platinum/gold warm intros, alumni, tech champions).
  • preview_rows — a few projected prospect rows for a sanity check.
  • facets — distributions over tier, warm-intro tier, alumni flag, persona tags, and per-company breakdown.
  • field_index and field_glossary_resource_uri.
  • total_prospects, filtered_prospects, ranking_method, message.

Still running: {status, message, companies, run_ids} — call again, passing run_ids back.

  • The full prospect list is never inlined — it lives in a short-lived dataset. Slice it with query_datasets or inspect it with describe_dataset.
  • On a retry, prefer passing run_ids. Re-calling with the same company URLs also works — server-side dedup means you never get a duplicate run.
  • Projected rows cover identity, ranking and tier, persona classification, warm-intro path, signals and outreach payload, career momentum, and narrative reasoning. Module internals and schema internals are never returned.
  • To enrich the run’s contacts, hand its dataset_id straight to contact_data_enrichment.
  • Full playbook: load_onfire_guide("ai_prospecting").

“Run AI prospecting for linkedin.com/company/acme and linkedin.com/company/globex. Use the cache.”

“Who are the top five people to approach at Acme, and why?”