All workflows
Sales

CRM hygiene and opportunity enrichment agent

A scheduled agent that reads meeting notes, emails, and market data, then updates Salesforce opportunities - filling fields, advancing stages, and flagging stale deals.

CRM enrichment agent: $13.4k/yr, 59% invisible across vector-DB, PitchBook/news, and change-log re-injection. Firedog joins the feeds into one per-run Salesforce P&L.

Model 22%Prompt 19%Orchestration 12%Retrieval 30%History 17%
ComponentWhy it is unattributedcalls$ / run
Model · 22%Field-update inference (GPT-4.1)For each opportunity, the model reads the assembled context and proposes a structured JSON patch of field updates, stage changes, and risk flags.tokens in: 40,000 · tokens out: 5,000Visible on the invoice.10$0.12
Prompt · 19%Salesforce schema, field rules, and enrichment taxonomyA 5,000-token prefix encoding the Salesforce object schema, field-update rules, and the enrichment taxonomy is resent on every opportunity call without caching.tokens in: 50,000 · tokens out: 0Visible on the invoice.10$0.10
Orchestration · 12%Planner-executor-verifier loop and Zapier coexistenceA planner batches opportunities, a per-opportunity executor drafts the patch, and a verifier checks the write against field rules and existing Zapier automations before committing. A 10-opp batch produces ~30 billed hops.tokens in: 20,000 · tokens out: 3,000Each planner-executor-verifier trio reads as one 'enrichment step' in logs; the three underlying calls are never surfaced as separate line items.30$0.064
Retrieval · 30%Meeting, email, and market-data lookups per accountEach account triggers retrieval of recent meeting transcripts, email threads, and PitchBook/news signals, then re-embeds them for matching. Overlapping sources are re-embedded rather than deduplicated.tokens in: 30,000 · tokens out: 0Enrichment retrieval spans the vector DB and the PitchBook/news data feed; those costs sit on two vendor invoices with no join to the Salesforce workflow P&L.40$0.16
History · 17%Prior enrichment state re-injectionEach run prepends the prior enrichment state and field-change log per account so the agent avoids re-writing the same fields, accumulating context across nightly runs.tokens in: 45,000 · tokens out: 0The change-log context is maintained by the application as 'account memory'; the re-billed tokens never appear in the per-run cost sales ops reviews.10$0.090
Keeping Salesforce clean costs ~$0.53 per pipeline run; at ~$13.4k/yr, 59% is enrichment retrieval across two vendor feeds, agent-loop hops, and change-log re-injection no single dashboard shows.
$0.53
cost per run
$13k
per year
59%
unattributed today
$2.14
per user, per day
Scenario: 20-25 rep pipeline, nightly enrichment batches. 25 active users, 4 runs/day, 250 working days. 25 documents/run. Avg doc: 2,500 tokens.

Default model: gpt-4-1

Trigger: Scheduled nightly and post-meeting per rep pipeline, plus event-driven on new emails and news. History compounds as the agent tracks what it changed on prior runs.

Who runs it: Sales operations at growth-stage SaaS companies. The agent runs across each rep's pipeline to keep Salesforce clean and enriched, coexisting with the simpler Zapier automations already in place.

What Firedog shows

  • Unified per-run view joining LLM, vector-DB, and PitchBook/news feed costs for the enrichment agent.
  • Which accounts trigger redundant retrieval because overlapping sources are re-embedded each night.
  • Projected saving from deduplicating retrieval and routing planner/verifier hops to a cheaper model.

Decisions this informs

  • Deduplicate meeting, email, and news sources before re-embedding; a large share of nightly retrieval hits already-ingested content.
  • Route planner and verifier hops to GPT-5 Mini or Claude Haiku 4; reserve GPT-4.1 for the field-update executor only.
  • Store enrichment state as a structured change-detection object instead of re-injecting the full change log each run.

Understand every AI dollar.

Book a demo to see how Firedog attributes every AI request across your organization, and what your leadership team can do with the data.