Back to CRM Data Hygiene

Process Runbook / SOP

How the automation works day-to-day: what is automatic, what needs a human, how exceptions are handled, and who to contact.

4 pagesPDF · Operations
FS-DOC-03Operations

Process Runbook / SOP

CRM Data Hygiene

[YourCompany.com] · Sales Department · Prepared by FullSpec · [Today's Date]

This runbook is the operating guide for the person who owns the CRM Data Hygiene process day to day. It explains what the automation does on your behalf each week, what the single human step looks like in practice, how to handle anything that goes wrong, and what light maintenance keeps the system running well. FullSpec built, tested, and monitors the automation end to end. Your role is to review the weekly Slack digest, act on the exceptions it surfaces, and let FullSpec know when your team or data structure changes.

01Process overview

Every Monday morning, or the moment a new contact lands in the CRM, the automation kicks off a full hygiene run. The Deduplication Agent scans all contact records using email, phone, and fuzzy name-plus-company matching, merges the pairs it is confident about automatically, and queues borderline cases for your review. The Enrichment Agent then fills blank job title, company size, and industry fields using Clearbit, writing values back into the CRM without touching anything your team has already filled in. Finally, the Deal Hygiene Agent reviews every open deal, flags those with no activity in 30 or more days, marks hard bounces and unsubscribes for suppression, and posts a single Slack digest summarising everything that happened plus the exceptions that need a human decision. The full run takes under two minutes. Your weekly involvement is under 30 minutes of digest review.

Process name
CRM Data Hygiene
Trigger
Weekly schedule every Monday at 7 am, or immediately on new contact creation in HubSpot
Final output
Cleaned and enriched CRM records, a Slack exceptions digest posted to #sales-ops, and an audit log row appended in Google Sheets
Agents running
Deduplication Agent, Enrichment Agent, Deal Hygiene Agent
Tools involved
HubSpot, Clearbit, Slack, Google Sheets
Weekly volume
Approximately 300 to 600 records reviewed per month across scheduled and triggered runs
Human checkpoint
Sales rep confirms or closes their own stale deals after receiving the Slack digest
Process owner
[Your name] — Sales Ops Lead
Process Runbook / SOPPage 1 of 4
FS-DOC-03Operations

02Step-by-step: what happens and who acts

What you actually need to do: The only step that requires your attention is reviewing the Slack digest posted to #sales-ops each Monday morning. Inside the digest you will find a list of borderline duplicate pairs needing a merge decision, any stale deals where the assigned rep needs to confirm or close the deal, and a count of enrichment failures to follow up manually if needed. Everything else in the table below is handled automatically by FullSpec's automation.
Step
What happens
Who acts
Type
1
The automation fires on the Monday 7 am schedule or as soon as a new contact is created in HubSpot. Both paths feed into the same processing queue.
Automation platform
Automated
2
The automation queries HubSpot via API, pulling all contacts and open deals that were created or modified in the relevant window into a structured data object ready for processing.
Automation platform
Automated
3
The Deduplication Agent compares every contact against others using email address, phone number, and fuzzy name-plus-company matching. Each pair is scored by confidence. High-confidence pairs are marked for automatic merge; borderline pairs are queued for the digest.
Deduplication Agent
Automated
4
Duplicate pairs that score above the agreed confidence threshold are merged automatically inside HubSpot. The more complete record is kept and any unique data from the secondary record is appended. Nothing below the threshold is touched without human sign-off.
Deduplication Agent
Automated
5
The Enrichment Agent identifies every contact with one or more blank priority fields (job title, company size, or industry) and submits those records to Clearbit. Confirmed values are written back into HubSpot. Existing data is never overwritten.
Enrichment Agent
Automated
6
The Deal Hygiene Agent reviews all open deals. Any deal with no logged activity in 30 or more days is flagged as stale. Contacts identified as hard bounces or unsubscribes are marked for suppression.
Deal Hygiene Agent
Automated
7
A single Slack digest is posted to the #sales-ops channel. It lists borderline duplicate pairs needing a decision, stale deals where the assigned rep must confirm or close, and a count of enrichment failures for manual follow-up. You review this digest and take any action needed.
You (Sales Ops) and assigned Sales Reps
Human
8
A summary row is appended automatically to the hygiene audit log in Google Sheets, recording the run date, number of records processed, duplicates merged, fields enriched, and deals flagged. No manual logging is needed.
Automation platform
Automated
Process Runbook / SOPPage 2 of 4
FS-DOC-03Operations

03Handling exceptions

Situation
What the system does
What you do
A contact record is missing the email address needed for duplicate matching
The Deduplication Agent falls back to phone number and fuzzy name-plus-company matching. If no reliable match can be made, the record is flagged in the Slack digest under 'Incomplete records' with a note on the missing field.
Open the flagged record in HubSpot and add the missing email address if you can locate it. If the contact cannot be identified, mark it for deletion or archive it as an uncontactable record.
A borderline duplicate pair appears in the digest that should not be merged
The system holds both records untouched. No automatic action is taken for any pair below the confidence threshold. The pair remains in the digest until a decision is recorded.
Review the pair in the digest. If they are different people, click 'Not a duplicate' (or note this in the designated Google Sheet column) so the pair is excluded from future flagging. If they are the same person, merge them manually in HubSpot.
Clearbit cannot find enrichment data for a contact
The Enrichment Agent logs the failed lookup, leaves the CRM fields unchanged, and includes the contact in the enrichment failures count in the Slack digest. No blank field is written with incorrect data.
For contacts in active pipeline stages, attempt a manual search on LinkedIn or the company website and update the record directly in HubSpot. For contacts outside active pipeline, no action is required unless the field is business-critical.
A stale deal owner does not respond to the digest prompt within the review window
The Deal Hygiene Agent will flag the same deal again in the following week's digest. The deal remains open in HubSpot; nothing is closed or moved without rep confirmation.
Chase the deal owner directly via Slack or email. If there is still no response after two consecutive digest cycles, escalate to the Sales Manager to decide whether to close the deal or reassign it.
HubSpot is unavailable or returns an API error during the run
The automation platform retries the API call up to three times with a short delay between attempts. If all retries fail, the run is aborted and an error alert is sent automatically to the #sales-ops Slack channel. The audit log records the failed run.
Check HubSpot's status page for any reported outages. If the outage is confirmed, wait for the service to recover and then trigger a manual re-run by contacting FullSpec support at support@gofullspec.com. Do not attempt a manual hygiene sprint in the meantime, as a re-run will process the backlog.
Clearbit's API is unavailable or the monthly lookup cap is reached
The Enrichment Agent detects the failure or cap, skips enrichment for the current run, and notes the issue in the Slack digest. The Deduplication and Deal Hygiene steps complete as normal. No data is lost.
If the cap has been reached, review the enrichment priority settings with FullSpec to focus lookups on active pipeline contacts first. If the API is temporarily down, no action is needed as the next scheduled run will process the skipped records automatically.

04Who to contact and when

Fill in the rows below once your team is confirmed. Keep this table updated whenever roles change so the right person gets contacted quickly when an exception or question comes up.

Role
Name
How to reach them
Process owner (Sales Ops Lead)
[Your name]
[Your email or Slack handle]
Sales Manager (escalation for unresponded stale deals)
[Rep name]
[Rep email or Slack handle]
HubSpot admin (API access and field changes)
[Admin name]
[Admin email]
FullSpec builder (automation changes, threshold adjustments, re-runs)
FullSpec Team
support@gofullspec.com
FullSpec support (errors, alerts, anything unexpected)
FullSpec Support
support@gofullspec.com
For any change that affects the automation itself, including adjusting the duplicate confidence threshold, changing the stale deal inactivity window, adding or removing enrichment fields, or connecting a new tool, contact FullSpec at support@gofullspec.com before making any changes in HubSpot or Clearbit directly. Changes made in the tools without coordinating with FullSpec can break field mappings or cause data to be written to the wrong place.
Process Runbook / SOPPage 3 of 4
FS-DOC-03Operations

05Ongoing maintenance

When
What to do
Who
Whenever HubSpot fields are added, renamed, or removed
Notify FullSpec at support@gofullspec.com before making the change in HubSpot. Field mapping updates in the automation must be made in parallel to avoid enrichment writing to the wrong field or the deduplication agent missing a match key.
You (Sales Ops) and FullSpec
Whenever the Slack digest format or the Google Sheets audit log columns need updating
Send the requested changes to FullSpec. Do not edit the Google Sheets column headers or the Slack message template directly, as these are referenced by the automation to append data correctly.
FullSpec (you request)
Monthly spot-check (first Monday of each month)
Open the Google Sheets audit log and review the last four weekly run rows. Confirm that record counts look consistent with expected volume (300 to 600 records per month), that the duplicate merge count is not zero (which may indicate a broken run), and that enrichment failures are not climbing week on week.
You (Sales Ops)
Monthly error-log review
Check the #sales-ops Slack channel for any automated error alerts posted during the month. If any run was aborted or retried, confirm with FullSpec that the backlog was processed and that no records were skipped permanently.
You (Sales Ops) and FullSpec if alerts were raised
When a team member joins, leaves, or changes role
Update the contact table in Section 04 of this runbook. If the person had HubSpot admin access or was a deal owner on open deals, coordinate with your HubSpot admin to reassign records before removing their access, so no deals are orphaned in the pipeline.
You (Sales Ops) and HubSpot admin
Quarterly volume review (every three months)
Check whether monthly record volume has grown significantly beyond the 300 to 600 record baseline. If volume has increased, review the Clearbit monthly lookup cap and automation platform capacity with FullSpec to ensure neither is being hit or is undersized for the new load.
You (Sales Ops) and FullSpec
The most common maintenance issue for this process is a HubSpot field rename or new custom field being added without notifying FullSpec first. When a field name changes in HubSpot, the Enrichment Agent continues writing to the old field name, which means data lands in the wrong place or triggers an API error. Always confirm field changes with FullSpec before saving them in HubSpot.
Process Runbook / SOPPage 4 of 4

More documents for this process

Every document generated for CRM Data Hygiene.

Launch Plan
Operations · Owner
View
ROI and Business Case
Finance · Owner
View
Developer Handover Pack
Technical · Developer
View
Integration and API Spec
Technical · Developer
View
Test and QA Plan
Quality · Developer
View