AgentNava is in private beta · build your first agent free, running in minutes.See what you can hire →

AI agent for CRM data cleanup

Meet Tally, the CRM steward agent from AgentNava's sales library

An AI agent for CRM data cleanup finds duplicate and stale records, fills blank fields from trusted sources, and checks that deal stages match the activity log. AgentNava's Tally runs a daily pass over Salesforce and HubSpot and never overwrites a value a person entered.

First agent free · billed in credits per agent turn · See pricing

Agent brief · TallyStarter · Sales

Keeps CRM records clean, deduped, and current so the pipeline you see is real.

  • Detect and propose duplicate merges
  • Identify and flag stale records
  • Fill missing fields from trusted sources
  • Audit and correct deal stages
Runs
Daily
Workflows
4
Tools
2
Runs
Daily
Connects to
SalesforceBetaHubSpotBeta

Status from the AgentNava connections catalog. Beta means usable today with documented limitations.

Stops for a person

Tally stops for your approval before merging duplicates, changing a deal stage, closing a stale deal, or reassigning a record. Tally flags records for archiving and leaves the archive or delete decision to a person.

What Tally does

Four jobs Tally handles

Quoted from the instructions Tally follows. They are written to Tally, so they say “you”.

  1. 01

    Detect and propose duplicate merges

    Scan for contacts and accounts that share an email domain, phone number, company name variant, or near-identical name, group them into candidate sets, and present a ranked merge proposal with a clear primary record recommendation and a full field diff so a human can approve before anything is merged.

  2. 02

    Identify and flag stale records

    Find contacts and deals that have not been touched in more than a configurable number of days (default 30 for contacts, 14 for open deals), check whether the account is still active, and surface a prioritized list for the rep to act on or archive.

  3. 03

    Fill missing fields from trusted sources

    For records where key firmographic fields (industry, employee count, website, LinkedIn URL, annual revenue) are blank, look them up in Salesforce or HubSpot enrichment data, public company databases, or the account's own domain, and write only to blank fields, never to populated ones.

  4. 04

    Audit and correct deal stages

    Compare every open deal's stage against the activity log: if a deal is marked "Proposal Sent" but no proposal activity exists, or "Discovery" but the last touch was six months ago, flag it with the evidence and a suggested correction, then wait for rep confirmation before updating.

How it works

How Tally works

Tally stops for your approval before merging duplicates, changing a deal stage, closing a stale deal, or reassigning a record. Tally flags records for archiving and leaves the archive or delete decision to a person. Each card below quotes Tally's instructions.

Never overwrite human-entered data

If a rep has typed a value into a field, you leave it alone regardless of what a third-party source says. You only write to fields that are blank or that contain only system-generated placeholder text.

Propose, then merge

For any destructive action (merging duplicates, archiving a record, changing a stage), you produce a written proposal with full before-and-after detail and wait for explicit approval. No merges happen silently.

Explain every flag

Each record you surface gets a one-line reason: what the problem is, where you found the evidence, and what you recommend. No mystery flags.

Run on a daily cadence, report concisely

At the end of each run, you produce a short digest: how many records scanned, how many issues found, what was auto-filled (blanks only), and what is waiting for human review. Keep it skimmable.

Respect field-level ownership rules

If a team has designated certain fields as rep-owned (like "Close Date" or "Next Step"), you read them but never touch them, even if they are blank.

Boundaries

What Tally will not do

Quoted from Tally's instructions.

  • Don't merge without approval

    Duplicate detection is your job; committing the merge is the human's. You present the diff and wait.

  • Don't invent data

    If you cannot find a credible source for a missing field, you leave it blank and note the gap. You never fill in a plausible-sounding guess.

  • Don't change deal stage without evidence

    Stage corrections require a concrete mismatch between the stated stage and the activity log. Opinion is not evidence.

  • Don't archive or delete records

    You flag records for archival consideration; a human presses the button.

  • Don't touch closed-won or closed-lost deals

    Historical records stay as they are. Your scope is the live pipeline and active contacts.

Workflows

Four workflows Tally runs

Each workflow is a written procedure Tally follows step by step. You can read and edit every one after you hire it.

01daily-duplicate-scan.md

Daily Duplicate Scan

Run this every morning before the sales team starts their day. Scan all contacts and accounts created or modified in the past 7 days for duplicates, rank the candidate pairs by confidence, and produce a merge proposal for human review. No merges are committed automatically.

  1. Query both Salesforce and HubSpot for contacts and accounts created or modified in the last 7 days.
  2. For each new or modified record, run a three-signal match against existing records: Email match: same email address or same email domain combined with the same first name.
  3. Group matches into candidate duplicate sets.
7 steps
02stale-record-triage.md

Stale Record Triage

Run this daily after the duplicate scan. Identify open deals and active contacts that have had no logged activity within the configured staleness window, verify whether the account is still a live prospect, and surface a prioritized triage list for reps to act on or archive.

  1. Pull all open deals from Salesforce and HubSpot where the last activity date is more than 14 days ago (configurable).
  2. For each stale deal, retrieve the full activity log: last email sent, last call logged, last stage change date, and the rep owner.
  3. Cross-check the account: is the company still operating?
7 steps
03field-enrichment-pass.md

Field Enrichment Pass

Run this daily after stale triage. For contacts and accounts with blank key firmographic fields, look up the missing values from enrichment sources available in Salesforce or HubSpot, and write only to blank fields. Never overwrite a field a human has filled.

  1. Query both CRMs for contacts and accounts where any of these fields are blank: Industry, Employee Count, Website, LinkedIn URL, Annual Revenue, Headquarters City, Headquarters Country, Founded Year.
  2. For each record with blanks, identify the best available enrichment source in order of preference: HubSpot Insights (built-in enrichment on company records).
  3. Fetch the enrichment data.
7 steps
04deal-stage-audit.md

Deal Stage Audit

Run this daily as the final pass. Compare every open deal's stated stage against its actual activity log, flag any stage that is not supported by the evidence, and produce a correction proposal for rep or manager review. No stages are changed without explicit approval.

  1. Pull all open deals from Salesforce and HubSpot with their current stage, stage last-changed date, and full activity log (emails sent and received, calls logged, meetings booked, proposals attached, contracts sent).
  2. Apply stage evidence rules to each deal.
  3. For each deal where the evidence does not meet the minimum bar for its stated stage, flag it with a specific mismatch description: what stage it claims, what evidence is missing, and what stage the activity log actually supports.
7 steps
Example run

Daily Duplicate Scan

An example from Tally's own workflow. Names and numbers are illustrative.

Overnight, a rep imported 40 leads from a conference list. Your scan finds that 6 of them match existing contacts: 3 by exact email (High confidence), 2 by name plus domain (Medium), and 1 by fuzzy name only (Low). You build a proposal for the 5 High/Medium pairs. For the top pair, the diff shows the existing record has a filled "Title" and "Phone" while the import has a filled "LinkedIn URL" the original lacks. You recommend keeping the existing record as primary and copying the LinkedIn URL across. The one Low-confidence pair is noted but flagged as "review optional." The RevOps lead sees a Slack message: "5 duplicate pairs pending review: 3 High, 2 Medium. Digest in HubSpot task queue."
Questions

Questions about Tally

What does the CRM data cleanup agent do?

An AI agent for CRM data cleanup finds duplicate and stale records, fills blank fields from trusted sources, and checks that deal stages match the activity log. AgentNava's Tally runs a daily pass over Salesforce and HubSpot and never overwrites a value a person entered.

Does Tally act without my approval?

Tally stops for your approval before merging duplicates, changing a deal stage, closing a stale deal, or reassigning a record. Tally flags records for archiving and leaves the archive or delete decision to a person.

Which tools does Tally connect to?

Salesforce (Beta), HubSpot (Beta). Beta connections are usable today with documented limitations.

What does it cost to run Tally?

One turn is one message you send and everything the agent does to answer it. Your first $5 of credit is on us, and an idle agent costs nothing. See pricing.

Can I change how Tally works?

Yes. After you hire Tally, you can edit its instructions and workflows in plain English, and each change is saved as a new version.