How to Run Waterfall Enrichment in Claude Code

Claude Code can operate Deepline from the terminal. Use a maintained or owned Play for multi-step work. Inspect its contract, run a pilot, and review the output.

102+
catalog integrations
1 Play
production Play contract
Pilot first
review before scale
Observable
status, usage, and errors

Install

Give Claude Code the Deepline skill

npm install -g deepline@latest
npm exec --yes --package=deepline@latest -- deepline setup --json

Then ask Claude Code:

Tell Claude Code

Find verified work emails for leads.csv with a maintained waterfall Play. Inspect the contract and run a three-row pilot before the full file.

Discover

Resolve the current workflow

Claude Code searches the live catalog and inspects the selected Play:

deepline plays search "verified work email waterfall" --json
deepline plays describe prebuilt/name-and-domain-to-email-waterfall-batch --json

Check the accepted CSV fields, output shape, current workflow identity, and pricing information. The Deepline catalog contains 102+ integrations; the described Play declares the smaller route used for this job.

Pilot

Run the production-shaped Play on representative rows

awk 'NR <= 4' leads.csv > leads-pilot.csv
deepline plays run prebuilt/name-and-domain-to-email-waterfall-batch --csv leads-pilot.csv --watch

Review:

  • accepted, ambiguous, invalid, no-result, and failed rows
  • provider provenance for accepted values
  • output columns and downstream compatibility
  • usage and pricing units for stages that executed
  • errors, retries, and validation behavior

If the result fits the job, use the same contract on the full file:

deepline plays run prebuilt/name-and-domain-to-email-waterfall-batch --csv leads.csv --watch

Own

Put a custom route in version control

Use an owned Play when you need a different provider sequence, custom validation, approvals, CRM writes, schedules, or webhooks:

deepline tools search "work email finding and validation" --json
# Claude Code authors email-waterfall.play.ts from the inspected contracts.
deepline plays check email-waterfall.play.ts
deepline plays run --file email-waterfall.play.ts --csv leads-pilot.csv --watch
deepline plays publish email-waterfall.play.ts
deepline plays describe email-waterfall --json
deepline plays versions --name email-waterfall --json

The durable artifact is the checked Play, not a remembered shell flag or provider list.

Billing

Estimate from the route that actually ran

  • BYOK: Deepline charges no platform fee for provider requests; you pay providers under your own contracts.
  • Managed billing: Some tools charge for returned results, while others charge per request or page. Attempted calls can therefore carry usage even when the row has no result.
  • Standalone examples: A successful DropLeads Email Finder result costs 0.26 Deepline credits. Hunter Email Finder costs 0.30 credits. Prospeo Enrich Person costs 0.55 credits. These rates do not define a waterfall total.

Recheck live pricing before publication or execution. Use the pilot's usage to estimate your own input mix.

Related

Keep reading

1How do I run waterfall enrichment in Claude Code?+

Install Deepline. Ask Claude Code to search the live Play catalog and inspect the selected contract. Create a representative pilot CSV. Run the maintained Play with --watch. Review its output, provenance, usage, and errors.

2Which providers are in the waterfall?+

The maintained Play contract is the source of truth for its current stages. Deepline has a broader integration catalog, but an individual waterfall uses only the providers declared by that Play. Run deepline plays describe before execution instead of relying on a fixed marketing-page list.

3How much does it cost?+

The total depends on which stages execute, the result path, and your billing mode. BYOK means you pay providers directly. Managed tools may charge per result, request, or page. Use a representative pilot and the live pricing contract rather than a universal per-row estimate.

4What match rate should I expect?+

A waterfall can fill gaps left by one provider, but the lift depends on input quality, ICP, geography, field, provider route, and validation policy. Measure accepted, ambiguous, invalid, no-result, and failed rows on representative data.

5Can I change the provider order?+

Yes. Create an owned .play.ts workflow from the inspected contracts, edit its stages, and run deepline plays check. Publish it when the route, validation, retries, and review boundaries should become a reusable team contract.