// Documentation · Workflows
B
BetterContact
N
Notion
intermediate3 minLast updated May 30, 2026

How to Use Claude Code for Enrich with BetterContact

Run BetterContact Enrich from Claude Code, route the signal-based selling output through Deepline, and write the reviewed result into Notion. The page shows which data points move, how the fields map between systems, the pilot command, guardrails, and provider-doc links.

00Direct answer

BetterContact to Notion workflow

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

Best query match

“How do I connect BetterContact to Notion with Claude Code?”

Source primitive

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

Destination primitive

Notion receives only reviewed rows after the pilot command succeeds.

01Primitives first

This workflow moves data from BetterContact into Notion 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
BetterContact
Destination app
Notion
Run time
3 min
Difficulty
intermediate
Agent surface
Deepline CLI, API, and workflow scheduler
Write policy
Two-row pilot before destination writes
Workflow URL
/gtm-stack/workflows/bettercontact-enrich-to-notion-with-claude-code
BetterContact auth
Handled by Deepline -- connect once in the dashboard
Notion auth
Handled by Deepline -- connect once in the dashboard
BetterContact tier
Any plan with the required API access
Notion tier
Any Notion workspace with integration access

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

BetterContact source data points

Contact identity
full_name, title, company, linkedin_url
Email waterfall result
email, source_provider, confidence, validation_status
Company match
company_name, domain, industry, location
Waterfall provenance
provider_attempts, matched_at, run_id

Notion destination mapping

BetterContact PersonDeepline normalized run output

email, linkedin_url, full_name, title, company

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

Deepline normalized run outputNotion Review row

source_key, summary, mapped_fields, review_status, run ID, title, status

Use Notion when the workflow output is a research artifact rather than a structured GTM system write.

Notion database or briefScheduled 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
  • BetterContact account (Any plan with the required API access)
  • Notion account (Any Notion workspace with integration access)
  • 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 BetterContact

    Connect BetterContact 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/bettercontact.

  3. 03

    Connect Notion

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

  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 contact identity, email waterfall result, company match plus provider attribution before writing anywhere.

    deepline enrich --input leads.csv --output leads.enriched.csv --with 'result=bettercontact_enrich:{"data":"{{data}}"}' --json
  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 BetterContact to Notion is preserved with run history, retries, billing visibility, and a rollback tag.

    > Use BetterContact Enrich to find new buying signals for our target accounts, score each signal by urgency and fit, write the best person into Notion, and post anything needing human review before activation.
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 BetterContact action, run a pilot, inspect the output, and then write only reviewed rows to Notion.

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

BetterContact 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 BetterContact integration in Deepline, run the test endpoint, and then retry the workflow on --rows 0:2 with a broader filter.

Notion rejects the write

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

Fix: Use the Notion 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 BetterContact Enrich directly?

Yes. Deepline exposes the BetterContact 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 Notion?

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.