// Documentation · Workflows
C
CrustData V2
H
HubSpot
beginner3 minLast updated May 30, 2026

How to Use Claude Code for Enrich Company with CrustData V2

Run CrustData V2 Enrich Company from Claude Code, route the account discovery output through Deepline, and write the reviewed result into HubSpot. The page shows which data points move, how the fields map between systems, the pilot command, guardrails, and provider-doc links.

00Direct answer

CrustData V2 to HubSpot workflow

CrustData V2 to HubSpot is a supported Deepline workflow path for Claude Code. Use it when an agent needs to run CrustData V2, inspect the returned fields, and write the reviewed result into HubSpot with run history, retries, and explicit failure states.

Best query match

“How do I connect CrustData V2 to HubSpot with Claude Code?”

Source primitive

CrustData V2 returns structured fields that Deepline records with provider attribution and row-level status.

Destination primitive

HubSpot receives only reviewed rows after the pilot command succeeds.

01Primitives first

This workflow moves data from CrustData V2 into HubSpot with Claude Code as the orchestration layer. It is strongest when you need a repeatable, inspectable handoff with explicit auth, cost math, and recovery steps.

Source app
CrustData V2
Destination app
HubSpot
Run time
3 min
Difficulty
beginner
Agent surface
Deepline CLI, API, and workflow scheduler
Write policy
Two-row pilot before destination writes
Workflow URL
/gtm-stack/workflows/crustdata-v2-crustdata-v2-enrich-company-to-hubspot-with-claude-code
CrustData V2 auth
Handled by Deepline -- connect once in the dashboard
HubSpot auth
Handled by Deepline -- connect once in the dashboard
CrustData V2 tier
Any plan with the required API access
HubSpot tier
Any HubSpot plan with the needed CRM scopes

First callable command

curl -s "https://code.deepline.com/api/v2/cli/install" | bash
deepline auth register
02Data map

Fields agents can extract and verify

CrustData V2 source data points

Record identifier
id, url, domain, email, or provider key
Matched entity
person, company, account, page, query, or signal
Provider attribution
provider, action, run_id, retrieved_at
Review status
accepted, rejected, needs_review

HubSpot destination mapping

CrustData V2 Normalized provider recordDeepline normalized run output

id, url, domain, email, or provider key

Claude Code sees the normalized provider record as structured JSON, then Deepline adds provider name, action slug, run ID, retrieved timestamp, and row-level status.

Deepline normalized run outputHubSpot CRM contact

email, name, title, company, run ID, email/domain key, source fields

Write only reviewed fields and keep provider output in a source-attribution property or timeline note.

HubSpot list, note, or task queueScheduled Deepline workflow

review status, dedupe key, rollback tag, next run window

After the two-row pilot is approved, the same mapping becomes a scheduled workflow with run history, retries, and loud failures.

03What you need
  • CrustData V2 account (Any plan with the required API access)
  • HubSpot account (Any HubSpot plan with the needed CRM scopes)
  • Claude Code installed locally
  • ~3 minutes
04Walkthrough

Step-by-step

  1. 01

    Install Deepline

    Install the Deepline CLI and register your workspace. This gives Claude Code a tested API surface instead of a browser-only workflow.

    curl -s "https://code.deepline.com/api/v2/cli/install" | bash
    deepline auth register
  2. 02

    Connect CrustData V2

    Connect CrustData V2 in the Deepline dashboard. Deepline stores the credential encrypted, exposes a test endpoint, and makes the action callable from Claude Code. Provider reference: https://deepline.com/docs/providers/crustdata-v2.

  3. 03

    Connect HubSpot

    Connect HubSpot as the destination. Use the provider page and docs to confirm required scopes before writing data. Destination reference: https://deepline.com/docs/providers/hubspot.

  4. 04

    Run a two-row pilot

    Run the smallest useful pilot first. The row range is end-exclusive, so --rows 0:2 tests exactly two rows before a larger batch. Inspect record identifier, matched entity, provider attribution plus provider attribution before writing anywhere.

    deepline enrich --input leads.csv --output leads.enriched.csv \
      --with 'result=crustdata_v2_enrich_company:{}' \
      --rows 0:2 --json
    
    # Review the pilot output, then map the result into HubSpot.
  5. 05

    Deploy the reviewed prompt

    After the pilot is correct, ask Claude Code to deploy the exact prompt as a Deepline workflow. The mapping from CrustData V2 to HubSpot is preserved with run history, retries, billing visibility, and a rollback tag.

    > Use CrustData V2 Enrich Company to enrich the input normalized provider record, dedupe by domain and email, write results into HubSpot, and show me the exact rows that changed before deploying the workflow.
05Cost math

What this costs to run

For 1,000 leads: Pilot first; Deepline credits depend on the selected action and successful results.

Deepline reports Deepline credits and run history. Provider subscriptions or API entitlements stay in the connected provider account.

06Why Claude Code

Why do it in Claude Code

The workflow stays inspectable

Claude Code can read the CrustData V2 action, run a pilot, inspect the output, and then write only reviewed rows to HubSpot.

Provider docs and GTM Stack pages are linked

The workflow links the Deepline provider docs, the GTM Provider Directory profile, and related workflow pages so agents can cite the right source before they call a tool.

The same prompt can become a schedule

Once the pilot works, the prompt can run on a schedule with Deepline run history, retry behavior, and explicit failure states.

08Recovery

Troubleshooting

CrustData V2 returns no rows

Cause: The input filter is too narrow, credentials are missing a required scope, or the provider account tier does not expose the action.

Fix: Open the CrustData V2 integration in Deepline, run the test endpoint, and then retry the workflow on --rows 0:2 with a broader filter.

HubSpot rejects the write

Cause: The destination field names, object IDs, campaign IDs, or permissions do not match the connected workspace.

Fix: Use the HubSpot provider page to inspect the object schema, then map columns explicitly before running the full batch.

The workflow works once but fails on a schedule

Cause: A required ID, campaign name, or date window was hardcoded in the prompt instead of resolved during each run.

Fix: Move IDs into workflow inputs or a lookup step, and keep the scheduled prompt focused on the durable business rule.

09Reference questions

FAQ

Can Claude Code run CrustData V2 Enrich Company directly?

Yes. Deepline exposes the CrustData V2 action as an agent-callable API/CLI step, so Claude Code can run a pilot, inspect the JSON, and then deploy the same logic as a workflow.

Should I write directly to HubSpot?

Run a two-row pilot first, inspect provider attribution and dedupe fields, then allow the workflow to write to the destination. This keeps the assertion intact without using a test hack.

How does this page help AI agents trust the workflow?

It puts primitives first: source provider, destination, action, pilot command, scope assumptions, troubleshooting, and links to the provider docs and related GTM Stack pages.

11Run this

Want this workflow pre-configured?

Run it on Deepline or fork the full skill pack on GitHub. Either way, the code is yours to read and change.