Skip to content

Advanced multi-step enrichment and normalization via webhook and custom code

One of 565 written HubSpot workflow specs, by a collective of independent HubSpot consultants.

Enterprise

Seat pricing: Enterprise edition. To build it, a GTM Seat or an Ops Seat (an Ops Seat cannot create marketing emails or sequences). Per-hub plans: Data Hub Enterprise.

Contact2 stepsUpdated for HubSpot seat pricing
OutcomeA newly created contact gets enriched from an external data provider and has its returned fields normalized to your standard formats in the same pass, landing with a clear success or failure status, instead of enrichment and cleanup running as two disconnected steps someone has to babysit separately.
Workflow mapdata-quality-047
Contact created, email known leads to Set status: Enrichment called. Set status: Enrichment called leads to Webhook: call enrichment vendor API. Webhook: call enrichment vendor API leads to Successful match?. Successful match? leads to yes: Custom code: parse, normalize fields, store raw payload; no: Status: Failed, create task. Custom code: parse, normalize fields, store raw payload leads to Status: Normalized. yes no Contact created, email known Set status: Enrichment called Webhook: call enrichment vendor API Successful match? Custom code: parse, normalize fields, store raw payload Status: Failed, create task Status: Normalized
Contact created, email known leads to Set status: Enrichment called. Set status: Enrichment called leads to Webhook: call enrichment vendor API. Webhook: call enrichment vendor API leads to Successful match?. Successful match? leads to yes: Custom code: parse, normalize fields, store raw payload; no: Status: Failed, create task. Custom code: parse, normalize fields, store raw payload leads to Status: Normalized. yes no Contact created, email known Set status: Enrichment called Webhook: call enrichment vendor API Successful match? Custom code: parse, normalize fields, store raw payload Status: Failed, create task Status: Normalized

One of 565 written HubSpot workflow specs, by a collective of independent HubSpot consultants.

When to use it, when not to

Use it

  • Use it when you already run several of this category's simpler patterns separately, an enrichment call, a normalization pass, a fallback task, on the same contact, and want them chained into one coordinated sequence with a single status property, rather than three independent workflows each with a partial view of the record's state.
  • Use it once your enrichment vendor's API is stable and documented enough to call directly. This fiche assumes a webhook call to an external enrichment API rather than a native pre-built HubSpot integration, since a pre-built app usually already handles its own field writing without needing this level of orchestration.
Read more on when to use itShow less

Skip it

  • Do not use it as your first attempt at contact enrichment. Build and test the simpler pieces separately first, a single webhook call, a single normalization workflow, so you understand each part's failure modes before chaining them. See data-quality-023 for the simpler fallback-only version and data-quality-004 or data-quality-012 for the plain normalization pattern.
  • Do not use it if a native, pre-built enrichment integration already covers your needs. Building and maintaining a custom webhook-plus-code chain is meaningfully more work than installing an app that already does the equivalent job and keeps up with the vendor's API changes for you.
Read more on when to skip itShow less

The rest of this spec

Prerequisites · 5 items

Every property with its label, internal name, type and options, plus the assets the workflow needs.

Enrollment · 4 parts

The trigger, the criteria as ticked in the UI, the re-enrollment rule and the suppression list.

Steps · 2 numbered actions

Each action in order with its parameters, branches and delays.

Known pitfalls · 4

Traps seen in production, each with what breaks and what to do instead.

Test plan and UAT script · 2 cases, 3 variants

How to prove it works in a test portal, one case per branch, and a sign-off sheet.

Files · PDF, Markdown, JSON, CSV, code

The properties JSON creates the fields in one call. The workflow JSON documents the build. The custom coded action ships as a ready-to-paste .js file.

Install · 1 click, switched off

The installer creates the properties and the workflow, switched off, then opens a task for what it cannot create. Nothing is deleted, enabled or enrolled.

Unlock all 565 specs, 149 EUR

One-time, excl. VAT. 30-day refund. Installs in 3 portals. Founding price until 30 November.

Read the free Data quality spec

Read 12 complete specs before you pay.

One per category, same format as the paid ones. Email only, no card.

We email the link, then a short note when specs change. Nothing else.

149 EUR199

Full library, 565 specs
Get the full library