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

# Enrichment steps

> Enrich people and companies with data from a provider or waterfall inside a workflow.

Enrichment steps add data to a lead: fill in person and company details from a provider, or a
waterfall that tries several providers in order.

<Note>
  Add a step in the **Workflows** builder with **Add Node**. The Enrich Data step uses the
  providers and waterfalls set up under **Settings → Integrations** and
  **Settings → Configurations**.
</Note>

## Enrich data

Fills in details about a person, a company, or both, using a provider or an enrichment
waterfall.

| Field                         | What it does                               | How to use it                                                                                                                                                                             |
| ----------------------------- | ------------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Enrichment target**         | What to enrich.                            | Choose **Person**, **Company**, or **Both**.                                                                                                                                              |
| **Enrichment source**         | Which provider or waterfall to use.        | Pick a single **Provider** (for example Apollo), or a **Waterfall** that tries several providers in order.                                                                                |
| **Email / Domain (optional)** | The email or domain to enrich.             | Optional. Choose an email or domain value from an earlier step. If you leave it empty, Default infers the person's email from the trigger and the company's domain from that email.       |
| **LinkedIn URL**              | An alternative way to identify the person. | Shown only when **Enrichment source** is Wiza. Optional. Choose a LinkedIn URL from an earlier step; this is Wiza's highest-performing input, so an email isn't required when you set it. |
| **Enrichment level**          | How much Wiza data to request.             | Shown only when **Enrichment source** is Wiza. Choose **None**, **Partial**, **Phone**, or **Full** (the default).                                                                        |

Person enrichment needs an email or a LinkedIn URL (Wiza only); company enrichment needs a
domain. The enriched result is available to later steps, so you can branch on it or write it to
your CRM. If a waterfall includes validation steps (such as email validation), those run too.

For example, set **Enrichment target** to **Both** and **Enrichment source** to a waterfall to
fill in the person's title and the company's size, then route enterprise-sized companies down
their own path.

## Abstract geolocation (legacy)

**Abstract Geolocation** looks up a visitor's location from the IP address on a form
submission or website intent trigger. It no longer appears in the **Add Node** picker; existing
workflows that already use it keep working. To route by visitor location in a new workflow, use
a provider or waterfall on the **Enrich Data** step that returns location data instead.

{/* verified against product:
   enrich FE → apps/default-fe/.../node-sidebar/enrichment/EnrichDataNodeConfigContent.tsx
   enrich node label + config fields (Email / Domain (optional), LinkedIn URL, Enrichment level)
     → apps/default-api/.../workflows/registry/nodes/enrichment/enrich.ts
   Wiza enrichment level options + default
     → packages/shared/src/constants/wiza-enrichment-level.ts
   Abstract Geolocation retirement (#2448) confirmed via
     apps/default-fe/.../workflows/_utils/registrySections.ts
     ADD_NODE_PALETTE_EXCLUDED_TYPES = new Set(['add_tag', 'abstract-geo'])
     (comment: "Step types hidden from the add-node pane (graphs may still contain these
     from older drafts)"). The node itself is still registered in nodeRegistry
     (apps/default-api/.../workflows/registry/nodes/validations/{abstract-geo,index}.ts and
     registry/index.ts), so this "existing workflows keep working" claim is verified, unlike
     the Get Record case noted on the CRM steps page.
   NOTE: registry-driven labels may false-flag in the lint. */}
