Field Hygiene Report

skill

Scan CRM fields for missing/malformed values and compile a normalization change list for a human to apply.

Download .md

Field Hygiene Report

Scan CRM records for missing, malformed, or inconsistent field values and compile a normalization change list for a human to apply.

When to use

  • On a recurring schedule to audit CRM data quality across contacts, companies, or deals.
  • Before a campaign or sync that depends on clean fields (e.g. email, phone, company name).
  • When a human requests a hygiene sweep after noticing bad data downstream.
  • After a bulk import, to catch malformed or missing values introduced by the import.

Tools

  • http-get: reads contact, company, and deal records from the CRM to inspect field values.
  • write-file: writes the compiled change list of proposed field corrections to a file.
  • send-message: notifies a human that the change list is ready and hands off the apply step.

Playbook

  1. Confirm scope with the requester: which object type (contacts, companies, deals) and which fields to audit.
  2. Call the CRM REST API with http-get (e.g. GET https://api.hubapi.com/crm/v3/objects/contacts) to pull the target records in pages. Authentication is injected by the org's Integration row for this host — never ask for, echo, or hardcode credentials. If the call returns 401/403 or no Integration row exists, stop and message a human via send-message asking them to create the Integration, naming the service and required scopes.
  3. For each record, check required fields for blanks, obvious placeholder values ("N/A", "test", "-"), and format issues (email missing "@", phone with wrong digit count, inconsistent casing on company names).
  4. Flag duplicate-looking values (e.g. same email on multiple records) surfaced during the scan.
  5. For each issue found, draft the proposed corrected value alongside the original, with the record ID and field name.
  6. Compile all flagged issues into a single structured change list (record ID, field, current value, proposed value, issue type).
  7. Write the change list to a file with write-file so a human can review and apply it.
  8. Note explicitly in the report that this CRM's update operations require PATCH/PUT, which this skill cannot perform — the change list is for manual or human-approved application only, never applied automatically.
  9. Message the assigned human via send-message, summarizing the count of issues found by type and pointing to the written change list file for review and application.

Failure modes

  • 401/403 on the CRM API -> missing Integration row; stop and escalate via send-message naming the service and required scopes.
  • Empty result set -> verify the endpoint and query parameters before assuming the CRM has no data; re-check pagination.
  • Rate limit hit mid-scan -> back off, resume from the last successful page, and note the interruption in memory for the next run.
  • CRM API response shape has changed unexpectedly -> stop scanning, do not guess field mappings, and escalate via send-message for a human to confirm the new schema.

Done when

  • A change list file exists (via write-file) enumerating every flagged record, field, current value, proposed value, and issue type.
  • A human has been notified via send-message with a summary count and a pointer to the file for review and manual application.
  • No CRM record was modified directly — this skill only produces a report, since updates require PATCH/PUT/DELETE and are out of scope.