> ## Documentation Index
> Fetch the complete documentation index at: https://docs.blitz-api.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# CRM Hygiene Playbook

# CRM Hygiene Playbook

> Dynamic enrichment and automated cleaning workflows.

<div style={{position:'absolute',width:'1px',height:'1px',padding:0,margin:'-1px',overflow:'hidden',clipPath:'inset(50%)',whiteSpace:'nowrap',border:0}}>
  > **Agents & LLMs**: a Markdown version of this page is available by appending `.md` to the URL, and the full documentation index is at [llms.txt](https://docs.blitz-api.ai/llms.txt).
</div>

Data decay is inevitable, but manual cleaning is obsolete. With BlitzAPI's **Unlimited Model**, RevOps teams can shift from "Annual Cleaning" to **"Continuous Hygiene"**.

Instead of buying static lists, you can build **Dynamic Playbooks** that trigger exactly when you need them.

***

## Playbook 1: The "Dynamic Account" Enrichment

*(The "Surgical Strike" Approach)*

**The Scenario**: A Sales Rep is working a high-priority Account in Salesforce/HubSpot. The account has potential, but the Rep lacks the *right* contacts (e.g., the VP of Sales is missing).

**The Solution**: Instead of asking the Rep to go to LinkedIn and manually copy-paste data, you give them an **"Enrich Now" button** in the CRM.

<Steps>
  <Step title="1. Trigger (The Button)">
    The Rep clicks a button in the CRM (via a Webhook/Flow). The CRM account must have either a **Company LinkedIn URL** or a **Company Domain** stored.
  </Step>

  <Step title="2. Resolve the Company LinkedIn URL">
    BlitzAPI requires a **Company LinkedIn URL** as its primary matching key — a domain alone is not a reliable identifier.

    * **If the CRM already stores the LinkedIn URL**: use it directly as `company_linkedin_url`.
    * **If only a domain is available**: first call `POST /v2/enrichment/domain-to-linkedin` to resolve the domain into a LinkedIn URL, then pass the result to the next step.
  </Step>

  <Step title="3. The Waterfall Search">
    Send the Company LinkedIn URL to BlitzAPI's **Waterfall ICP** endpoint (`POST /v2/search/waterfall-icp-keyword`).

    * *Example query*: "Find the VP Sales or CRO in the US for this company."
  </Step>

  <Step title="4. Automatic Sync">
    BlitzAPI returns the matched contact's LinkedIn URL and profile. Pass it to the enrichment endpoints to retrieve the **Verified Email** and/or **Phone**. The automation creates the Contact in the CRM and assigns it to the Rep instantly.
  </Step>
</Steps>

***

## Playbook 2: Net-New Sourcing from your ICP

*(The "Fill the Funnel" Approach)*

**The Scenario**: Cleaning what's already in the CRM is necessary, but it doesn't grow the pipeline. You also need a steady stream of **net-new** decision-makers matching your ICP — without buying static lists.

**The Solution**: A scheduled job that runs [Find People](/guide/concepts/find-people) against your ICP definition, diffs the results against existing CRM contacts (by `linkedin_url`), and inserts only the new ones.

<Steps>
  <Step title="1. Define the ICP once">
    Store your ICP as a JSON request body (industry + employee\_range + HQ + persona). See the [ICP List Building recipe](/guide/recipes/icp-list-building) for a complete template.
  </Step>

  <Step title="2. Schedule the run">
    A weekly cron in n8n/Make calls `POST /v2/search/people`, paginating with the `cursor` until exhausted.
  </Step>

  <Step title="3. Diff against the CRM">
    For each returned person, check if `linkedin_url` already exists in your CRM. Skip duplicates.
  </Step>

  <Step title="4. Enrich and insert">
    Pass each net-new `linkedin_url` to `/v2/enrichment/email` (and `/v2/enrichment/phone` for US contacts), validate, then create the Contact in the CRM.
  </Step>
</Steps>

> **RevOps Insight**: Pair this Net-New Sourcing playbook with Playbook 1 (Dynamic Account Enrichment). One *fills* the funnel from your ICP; the other *deepens* coverage on accounts already in motion.

***

## Scaling with Low-Code (n8n, Make, Clay)

The true power of BlitzAPI is unleashed when combined with automation platforms. Because our plans are **Unlimited**, you can run massive loops without worrying about per-request costs.

> **RevOps Insight**: With the Unlimited Plan, you can set up a "Weekend Job" in n8n that scans your entire CRM, re-enriches every email, and updates job titles, ensuring your team walks in on Monday to a pristine database. Emails returned by `/v2/enrichment/email` are already verified at source — re-tested against mail servers at least once every 30 days — so no separate validation step is needed.

***

## Ready to build?

<CardGroup cols={2}>
  <Card title="Get your API Key" icon="key" href="https://app.blitz-api.ai">
    Start building your dynamic playbooks today.
  </Card>

  <Card title="See Integration Guides" icon="puzzle-piece" href="/guide/integrations/clay">
    Copy-paste recipes for your favorite automation tools.
  </Card>
</CardGroup>
